平成19年度 秋期 ソフトウェア開発技術者試験 問41−60 解答編




このページは

ソフ開

(ソフトウェア開発技術者試験)

解答と解説のページです。

問題だけで勉強したい方は目次へ戻ってください



問41 モジュール設計に関する記述のうち、モジュール強度(結束性)が最も高いものはどれか。
ある木構造データを扱う機能をデータとともに一つにまとめ、木構造データをモジュールの外から見えないようにした。
複数の機能のそれぞれに必要な初期設定の操作が、ある時点で一括して実行できるので、一つのモジュールにまとめた。
二つの機能A,Bのコードは重複する部分が多いので、A,Bを一つのモジュールとし、A,Bの機能を使い分けるための引数を設けた。
二つの機能A,Bは必ずA,Bの順番で実行され、しかもAで計算した結果をBで使うことがあるので、一つのモジュールにまとめた。
解答
解説 プログラムを機能ごとに分割したものをモジュールといいます。そしてモジュールの分け方や結合の仕方により様々な形態があります。まず、モジュール強度とモジュール間結合度を以下にまとめます。

モジュールを表示できません

選択肢アは、情報的強度の説明です。
選択肢イは、時間的強度の説明です。
選択肢ウは、論理的強度の説明です。
選択肢エは、連絡的強度の説明です。

問42 UML2.0のコミュニケーション図が表現するのはどれか。
インタフェースを介したコンポーネント同士の関係やコンポーネントの内容を表現する。
オブジェクト間の相互作用を表現し、オブジェクト間のデータリンクを強調する。
クラス間の静的な関係を表現する。
時間軸に沿って、状態遷移、時間制約、メッセージの送受信などを表現する。
解答
解説 それぞれの図を以下にまとめます。

選択肢ア:フローチャートのように、逐次的な(分岐・合流などもある)処理の流れを表すのに利用します。
選択肢イ:オブジェクト間のメッセージのやり取りを表すのに利用します。
選択肢ウ:オブジェクト間のメッセージを時間順に表すのに利用します。
選択肢エ:システムへの機能的要求を明確にする手段として、利用者とシステムとのやり取りを表すのに利用します。

問43 ボトムアップテストの特徴として、適切なものはどれか。
開発の初期の段階では、並行作業が困難である。
スタブが必要である。
テスト済みの上位モジュールが必要である。
ドライバが必要である。
解答
解説 結合テストに使われるドライバとスタブについて下にまとめます。

ドライバ:仮の上位モジュール(主にボトムアップテストで利用される)
スタブ:仮の下位モジュール(主にトップダウンテストで利用される)

問44 a〜cの説明とレビューとの対応について、適切な組合せはどれか。

a 参加者全員が持ち回りでレビュー責任者を務めながらレビューを行うので、参加者全員の参画意欲が高まる。
b レビュー対象物の作成者が説明者になり、入力データの値を仮定して、手続きをステップごとに机上でシミュレーションしながらレビューを行う。
c あらかじめ参加者の役割を決めておくとともに、進行役の議長を固定し、レビューの商店を絞って迅速にレビュー対象を評価する。
画像(問44ans)を表示できません
解答
解説 デザインレビューとは、出来上がった成果物を客観的に多人数で評価することをさします。レビューには、実際にプログラムを動かして確かめる動的テストと、プログラムを動かすことなく、ソースコードのチェックなどを行う静的テストがあります。デザインレビューの代表的な例を説明します。

インスペクション:プログラムを第三者が検証し、本人が気づかない誤りや問題点を検出すること。
ウォークスルー:開発に携わった者が集まり、誤りや問題点を発見する。
ラウンドロビン:責任者を順番に勤めながらレビューを行う。これにより、積極性が増し見落としを減す。

問45 エラー埋込み法による残存エラーの予測において、テストが十分にすすんでいると仮定する。このとき、当初の埋込みエラー数が48個、テスト期間中に発見されたエラー数のうち、埋込みエラー数が36個、真のエラー数が42個とすると、埋込みエラーを除く残存エラー数は幾つと推定されるか。
14
54
56
解答
解説 エラー埋め込み法とは、あらかじめわざと幾つかのバグをプログラムに仕込んでおき、デバッグの際にその仕込んだバグがいくつ摘出できたかで、進捗状況を調べる手法です。48個のエラーを埋め込み、36個摘出できたので、36/48=75%発見できているといえます。埋め込みエラーを除いた真のエラー数が42個でこれが75%に相当するので、A×0.75=42。つまり、42/0.75=56個が真のエラーの総数となります。よって、56−42=14個が残っていると推定できます。

問46 あるプロジェクトでは、図に示すとおりに作業を実施する予定であったが、作業Aで1日の遅れが生じた。各作業の費用増加率を表の値とするとき、当初の予定日数で終了するために発生する追加費用を最も少なくするには、どの作業を短縮すべきか。ここで、費用増加率とは作業を1日短縮するのに要する増加費用のことである。

画像(問46)を表示できません
解答
解説 このプロジェクトのクリティカルパスは、A→B→E→Gとなります。このなかで最も費用増加率が小さいのはEとなります。

問47 JISで規定されるソフトウェアの品質特性(JIS X 0129−1)のうち、“効率性”の定義はどれか。
指定された条件下で利用するとき、指定された達成水準を維持するソフトウェア製品の能力
指定された条件の下で利用されるとき、明示的及び暗示的必要性に合致する機能を提供するソフトウェア製品の能力
修正のしやすさに関するソフトウェア製品の能力
明示的な条件の下で、使用する資源の量に対比して適切な性能を提供するソフトウェア製品の能力
解答
解説 ソフトウェア製品の外部及び内部品の品質特性とは、下の6つの性質を指します。さらに、()内の副特性があります。

機能性(合目的性、正確性、相互運用性、セキュリティ、機能性標準適合性):必要な機能を提供する能力
信頼性(成熟性、障害許容性、回復性、信頼性標準適合性):達成水準を維持する能力
使用性(理解性、習得性、運用性、魅力性、使用性標準適合性):利用者にとって魅力的である能力
効率性(時間効率性、資源効率性、効率性標準適合性):資源の量と対比したとき適切な性能を提供する能力
保守性(解析性、変更性、安定性、試験性、保守性標準適合性):修正、変更が容易にできる能力
移植性(環境適応性、設置性、共存性、置換性、移植性標準適合性):別の環境に移すための能力

なお、利用時の品質には、有効性、生産性、安全性、満足性の4つがあります。

選択肢アは、信頼性の説明です。
選択肢イは、機能性の説明です。
選択肢ウは、保守性の説明です。

問48 ソフトウェアの開発規模と開発工数の関係を表すグラフはどれか。
画像(問48ans)を表示できません
解答
解説 開発規模が大きくなると、開発工程はもちろん大きくなります。その数ですが、選択肢ウのように収束することはありません。規模が大きくなるにつれ、工数は指数関数的に膨大な量になっていきます。なお、選択肢イはバグの収束を表すときに用いられる信頼度成長曲線(ゴンベルツ曲線)を表しています。

問49 A社では毎日1回、電話回線を利用して、日報データを伝送している。このたび、コスト削減のために、データの圧縮伸張機能をもったソフトウェアを導入したところ、使用実績から算出されたデータ圧縮率(圧縮後のデータ量/圧縮前のデータ量)は60%であった。

回線使用料は、基本使用量が月額2,600円で、1分単位(切上げ)に40円ずつ加算されていく。ソフトウェア導入前の回線使用時間は、1日当たり平均50分30秒であった。

ソフトウェアの購入費用は、112,000円であり、回線使用時間は伝送データ量に比例する。このとき、ソフトウェアの購入費用は何か月で回収できるか。ここで、1か月の稼働日数は20日とする。

解答
解説 まずは、現在の1か月分の金額を計算します。50分30秒は1分単位切り上げにより51分で計算します。
51×20×40+2600=43400円です。

つぎに、圧縮したときの金額を計算します。
51×20×0.6×40+2600=27080円です。

この差がソフトウェア費用を上回る月数を求めます。
112000/(43400−27080)= 7か月となり、7か月で回収できるといえます

問50 ツールレス保守に該当するものはどれか。
異常が発生した場合、現場から離れた保守センタから障害状況を調査する。
故障の前兆となる現象を事前にとらえて、対象となる部品を取り替える。
サーバマシン内部の基盤などをモジュール化し、取付けをレバー式にする。
電源や磁気ディスクなどを二重化し、故障時は縮退運転して故障装置を交換する。
解答
解説 ツールレス保守とはツール=道具、レス=無しということで、道具を使わない保守法です。

選択肢アは、遠隔保守の説明です。
選択肢イは、予防保守の説明です。
選択肢エは、フォールトトレランスの説明です。

問51 IPの上位プロトコルとして、コネクションレスのデータグラム通信を実現し、信頼性のための確認応答や順序制御などの機能をもたないプロトコルはどれか。
ICMP
PPP
TCP
UDP
解答
解説 それぞれのプロトコルを以下にまとめます。

ICMP(Internet Control Message Protocol):IPプロトコルのエラー通知及び情報通知のために使用されるプロトコル
PPP(Point to Point Protocol):ダイヤルアップ認証などに利用されるプロトコルで、これをイーサネットに拡張したPPPoEなどもあります。
TCP(Transmission Control Protocol):コネクション型で、信頼性を保証する分、UDPより遅い。インターネットで一般的に利用されている。
UDP(User Datagram Protocol):コネクションレス型で、信頼性は保証されない分高速に通信ができる。多少の誤りが許される場合や、自分自身でプログラムするときなどに用いられることが多い。

問52 ネットワークアドレス192.168.10.192/28のサブネットにおけるブロードキャストアドレスはどれか。
192.168.10.199
192.168.10.207
192.168.10.223
192.168.10.255
解答
解説 「/28」のように記述する手法をCIDR(Classless INter Domain Routing)といい、ネットワーク部のビット数を表します。これによりクラスよりも柔軟にネットワークを区分けすることができます。

まず、IPアドレスを2進数に直します。2進数にすると、「11000000 10101000 00001010 11000000」となり、上位28ビットがネットワークアドレス、下位4ビットがホストアドレスになります。ブロードキャストアドレスは、ホスト部が全て1のアドレスなので、下位4ビットを1に変えると「11000000 10101000 00001010 11001111」となります。最後に、これを10進数に戻すと192.168.10.207がブロードキャストアドレスであることが分かります。

問53 LANに接続されている複数のPCをFTTHを使って、インターネットに接続するシステムがあり、装置AのWAN側インタフェースには1個のグローバルIPアドレスが割り当てられている。この1個のグローバルIPアドレスを使って複数のPCがインターネットを利用するのに必要となる装置Aの機能はどれか。

画像(問53)を表示できません
DHCP
NAPT(IPマスカレード)
PPPoE
パケットフィルタリング
解答
解説 それぞれの用語を以下にまとめます。

DHCP(Dynamic Host Configuration Protocol):動的にIPアドレスを割り振るや設定を行うプロトコルです。
NAPT( Network Address Port Translation):IPとポート番号をを組み合わせて、1つのグローバルIPアドレスと複数のプライベートIPアドレスを相互変換するものです。
PPPoE(Point to Point Protocol over Ethernet):PPP(2点間通信のプロトコル)をLNAの規格であるEthernetに拡張したものです。ADSLに応用されています。
パケットフィルタリング:ルータやファイアウォールで提供される機能で、ルールに従ってパケットを通すか通さないを決める機能です。

問54 OSI基本参照モデルにおいて、アプリケーションプロセス間での会話を構築し、同期をとり、データ交換を管理するために必要な手段を提供する層はどれか。
アプリケーション層
セション層
トランスポート層
プレゼンテーション層
解答
解説 OSI基本参照モデルを以下にまとめます。

OSI基本参照モデルを表示できません

問55 PCM伝送方式によって音声をサンプリング(標本化)して8ビットのディジタルデータに変換し、圧縮処理しないで転送したところ、転送速度は64,000ビット/秒であった。このときサンプリング間隔は何マイクロ秒か。
15.6
46.8
125
128
解答
解説 PCM(Pulse Code Modulation:パルス符号変調)とは音声などのアナログ信号をディジタル信号に変換する手法の一つです。
まず、アナログデータ(時間も振幅も連続)をディジタルデータに変換するためには、標本化→量子化→符号化という作業を行います。各作業を簡単に以下にまとめます。

標本化:時間を離散化する。(一般的には最大周波数の2倍で行います)
量子化:振幅を離散化する。
符号化:量子化したデータを特定の符号に対応付けする。

符号化と量子化は、多くのサンプリングポイントを取ることで、よりオリジナルに近いデータを作り出すことができます(データ量は多くなります)

それでは、計算していきます。
64000/8=8000回サンプリングポイントがあります。、
つまり、1/8000=0.000125=125マイクロ秒となります。

問56 ATM交換方式の特徴として、適切なものはどれか。
ATMのプロトコルには、音声・データ・画像のディジタル符号化方式が含まれる。
LANとWANのそれぞれに対応する機器が販売されており、LANとWANで共通に使用できるプロトコルとして、TCP/IPに代わるものと期待される。
広帯域ISDNを実現する技術であり、網インタフェースには数kビット/秒の低速から100Mビット/秒を超える高速まで様々な速度が使用できる。
情報をセルと呼ばれる固定長のブロックに分割して送受信する。
解答
解説 ATM(Asynchronous Transfer Mode)交換方式はセルと呼ばれる、48バイトのデータ(ペイロード)と5バイトのヘッダで構成された、53バイトの固定長のブロックを伝送する方式です。データを固定長にし、ハードウェアで処理することで高速化しています。

問57 伝送速度が128kビット/秒の回線を用いて、128×103バイトのデータを転送するために必要な時間はおよそ何秒か。ここで、1件の電文の長さは128バイトであり、100バイトのデータを含む。電文の送信間隔(電文の末尾から次の電文の始まりまで)は、平均1ミリ秒とする。
2.6
10
12
解答
解説 データは全部で128×103バイトあります。これを100バイトのデータに分割すると、1280件の電文に分割する必要があります。1件の電文は、128バイトで128kビット/秒の回線では、(128×8)/(128×1000)=8ミリ秒かかります。そして、送信間隔が1ミリ秒かかるので、1件の伝送に掛かる時間は9ミリ秒です。これを1280件送るので、1280×9=115230秒≒12秒程度かかります。

厳密には、送信間隔は1279回発生しますが、ここでは許容誤差として計算を簡略化するために、1280として計算しています。

問58 LANのノード(制御装置、端末など)を接続する配線の形態の説明のうち、バス形配線に該当するものはどれか。
ケーブルを環状に敷設し、それに全ノードが接続されている。
中央に制御用のノードを配置し、それに全ノードが接続されている。
中央のノードに幾つかのノードが接続され、それらに更に別のノードが接続されている。
同軸ケーブルなどの1本のケーブルに、全ノードが接続されている。
解答
解説 選択肢のLANの形状(トポロジー)をまとめると以下のようになります。

選択肢ア:リング型
選択肢イ:スター型
選択肢ウ:ツリー型
選択肢エ:バス型

問59 インターネットを使ってVPNを構築する際に利用されるネットワーク層(IP層)のセキュリティプロトコルはどれか。
IPsec
S/MIME
WEP
WPA
解答
解説 それぞれの用語を以下にまとめます。

IPsec(Security Architecture for Internet Protocol):IPパケットを暗号化するプロトコル。パケット単位で暗号化を行うもので、VPNなどに利用される。
S/MIME(Secure / Multipurpose Internet Mail Extensions):MIMEという電子メールで様々な情報を扱うものに、セキュリティ機能を追加したもので、暗号化やディジタル署名をすることができます。
WEP(Wired Equivalent Privacy):無線LANでの、暗号通信技術の一種
WPA(Wi-Fi Protected Access):WEPのセキュリティを強化したもので、TKIP(Temporal Key Integrity Protocol)と呼ばれるアルゴリズムが採用されています。

問60 図で示したネットワーク構成において、アプリケーションサーバA上のDBMSのデーモンが異常終了したという事象とその理由を、監視用サーバXで検知するのに有効な手段はどれか。

画像(問60)を表示できません
アプリケーションサーバAから監視用サーバXへのICMPあて先到達不能(Destination Unreachable)メッセージ
アプリケーションサーバAから監視用サーバXへのSNMP Trap PDU
監視用サーバXからアプリケーションサーバAへのfinger
監視用サーバXからアプリケーションサーバAへのping
解答
解説 まず、デーモンとはメモリに常駐してバックグラウンドで作業を行うプロセスをいいます。デーモンは特定のイベントや処理要求を待ち、必要になったら実行されます。サーバなどでよく利用され、プロトコルの後にdをつける慣例があります。(httpd、sshdなど)デーモンは、基本的に制御端末から切り離されています。

それでは、それぞれの選択肢を見ていきます。
選択肢ア:あて先到達不能は、パケットが目的のコンピュータにたどり着かなかった場合に送信元に送られるメッセージです。
選択肢イ:SNMPのTrapは、特定の条件が発生したときにメッセージを送信する仕組みです。PDU(Protocol Data Unit)とは、通信でのデータのことです。
選択肢ウ:Fingerプロトコルとは、ユーザ情報などを取得、交換するためのプロトコルです。
選択肢エ:pingはICMPの機能の一種で、目的のコンピュータへの接続を確認するためのプロトコルです。