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




このページは

ソフ開

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

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

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



問41 基底クラスと派生クラスの関係にあるものはどれか。
“会社”と“社員”
“自動車”と“エンジン”
“図形”と“三角形”
“人間”と“頭”
解答
解説 継承とは、オブジェクト指向の再利用技術の一種で、基底クラス(親クラス)を派生クラス(子クラス)で再利用する技術です。以下に概念図を示します。

継承を表示できません

派生クラスは、基底クラスの性質をすべて受け継ぐことになりますので、選択肢の中では図形(基底クラス)と三角形(派生クラス)の関係が継承の関係にあるといえます。

問42 図は、デマルコが提唱している構造化技法を基本としたシステム開発プロジェクトのライフサイクルを表現したものである。図中のaに入れる適切なものはどれか。

画像(問42)を表示できません
機能設計
構造化設計
プログラム設計
プロトタイピング
解答
解説 [ a ]の部分において、入力が構造化仕様書、システム構造データ。出力がテスト計画、パッケージ化した設計となっています。構造化仕様書を入力とし、テスト計画を出力するので、構造化設計が適切であるといえます。

問43 ある企業では、顧客マスタファイル、商品マスタファイル、担当者マスタファイル及び当月受注ファイルを基にして、月次で受注実績を把握している。各ファイルの項目が次の通りであるとき、これら四つのファイルを使用して当月分と直前の3か月分の出力が可能な受注実績はどれか。

画像(問43)を表示できません
顧客別の商品別受注実績
商品別の顧客別受注実績
商品別の担当者別受注実績
担当者別の顧客別受注実績
解答
解説 各顧客の担当者は1人なので、、担当者と顧客は1対多で結合されています。顧客マスタファイルには、3か月分のデータがあるので、担当者別の顧客別受注実績は計算することができます。商品コードが当月受注ファイルにしかないので、商品別の処理を3ヶ月前までさかのぼることはできません。

問44 テストで使用されるドライバ又はスタブの機能のうち、適切なものはどれか。
スタブは、テスト対象モジュールからの戻り値を表示・印刷する。
スタブは、テスト対象モジュールかを呼び出すモジュールである。
ドライバは、テスト対象モジュールから呼び出されるモジュールである。
ドライバは、テスト対象モジュールに引数を渡して呼び出す。
解答
解説 テストと仮モジュールについてまとめます。

トップダウンテスト:上位のモジュールから順に開発していく、テストには仮の下位モジュール『スタブ』が利用される。
ボトムアップテスト:下位のモジュールから順に開発していく、テストには仮の上位モジュール『ドライバ』が利用される。

テストするモジュールを呼び出す上位のモジュールがドライバ、テストするモジュールから呼び出される下位のモジュールがスタブです。
よって、選択肢ア、イ、エがドライバ。選択肢ウがスタブの説明です。

問45 データが昇順に並ぶようにリストへデータを挿入するサブルーチンを作成した。このサブルーチンのテストに用いるデータの組合せとして、網羅性の観点から適切なものはどれか。ここで、データは左側から順にサブルーチンへ入力する。
1,3,2,4
3,1,4,2
3,4,2,1
4,3,2,1
解答
解説 テストデータを作成する際には、網羅性(いろいろな場合をテストできる)を考慮する必要があります。今回の場合では、データを挿入する場所ができるだけばらばらになるようにデータを入力するべきであるといえます。

選択肢ア:[1]→[1,3](末尾に追加)→[1,2,3](途中に追加)→[1,2,3,4](末尾に追加)
選択肢イ:[3]→[1,3](先頭に追加)→[1,3,4](末尾に追加)→[1,2,3,4](途中に追加)
選択肢ウ:[3]→[3,4](末尾に追加)→[2,3,4](先頭に追加)→[1,2,3,4](先頭に追加)
選択肢エ:[4]→[3,4](先頭に追加)→[2,3,4](先頭に追加)→[1,2,3,4](先頭に追加)

よって、先頭、途中、末尾のそれぞれに追加が行われる選択肢イのテストデータが一番網羅性が高いといえます。

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

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

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

選択肢イは、使用性の説明です。
選択肢ウは、効率性の説明です。
選択肢エは、信頼性の説明です。

問47 教育技法の説明のうち、適切なものはどれか。
インバスケットは、一定時間内に数多くの問題を処理させることによって、問題の関連性、緊急性、重要性などに対する総合的判断力を高める技法である。
ケーススタディは、日常の開発業務の中で、先輩や上司が個別に指導し、実体験から知識を習得させる技法である。
ブレーンストーミングは、参加者に特定の役割を演技させることによって、各立場の理解や問題解決力を高める技法である。
ロールプレイングは、アイディアへの批判禁止の下で会議を進める。創造的問題解決に適した技法である。
解答
解説 代表的な教育技法について下にまとめます。

インバスケット:一定時間に多くの問題を処理させることで、処理能力の向上を中心に、判断力などを鍛える手法です。
ケーススタディ:実際にあった事例や具体的な事例をもとに、自分ならどうするかの具体的な判断をする練習をします。
ロールプレイング:ロールとは役割を演じるという意味で、参加者がその役割りを演じ、立場を理解し問題を解決する能力を高めます。
OJT(On the Job Training):上司や先輩から実際の具体的な仕事を通して、能力を高める技法です。

なお、ブレーンストーミングは教育技法ではなく、アイディア創造法の一つです。以下のような原則があります。
@質より量:内容よりも数を重視してアイディアを出す。
A批判厳禁:他人のアイディアの批判をしてはいけない。
B自由奔放:奇抜・斬新・ユニークなアイディアを歓迎する。
C結合・便乗:他人の意見を結合したり、加えたりすることを認める。

問48 DA(Data Administrator)とDBA(Database Administrator)を別々に任命し場合のDAの役割として、適切なものはどれか。
業務データ量の増加傾向を把握し、ディスク装置の増設などを計画・実施する。
システム開発の設計工程では、主に論理データベース設計を行い、データ項目を管理し標準化する。
システム開発のテスト工程では、主にパフォーマンスチューニングを担当する。
システム障害が発生した場合には、データの復旧や整合性のチェックなどを行う。
解答
解説 2つの役割を下にまとめます。

DA:データの設計、項目の管理を行う。
DBA:データベースの運用や、管理、保守を行う。

よって、選択肢ア、ウ、エは、DBAの役割といえます。

問49 自社で開発した大規模なアプリケーションソフトウェアの保守費用の推移を表したグラフとして、適切なものはどれか。ここで、グラフの横軸は使用開始から使用停止までの経過時間、縦軸は単位期間当たりの保守費用とする。
画像(問49ans)を表示できません
解答
解説 導入時は初期不良などが発生しますので、保守費用は上昇します。その後徐々に低下していきますが、年月の経過とともに徐々に不良が発生し、保守費用が必要になるといえます。

また、製品の障害率と時間を表したバスタブ曲線も例示しておきます。

バスタブ曲線を表示できません

問50 ITILにおけるサービスサポートのプロセスはどれか。
可用性管理
キャパシティ管理
サービスレベル管理
変更管理
解答
解説 サービスサポートプロセスは、一つの機能と五つのプロセスで構成されています。下に内容をまとめます。

インシデント管理:障害時の迅速な回復を行い、影響を最小限にする
問題管理:インシデントや障害の原因の解明と対策・再発防止を行う
構成管理:構成アイテム情報の収集や維持・管理・確認・検査を行う
変更管理:構成アイテムの変更を安全かつ効率的に実施する
リリース管理:変更管理プロセスで承認された内容を本番環境に反映させる
サービスデスク:顧客との窓口の役割をし、サポート業務を行う

また、主に中長期的なITサービスの計画と改善手法について記載されているサービスデリバリプロセスは、五つのプロセスで構成されています。

サービスレベル管理:サービス提供者と利用顧客の間で合意したサービスレベルを管理する
ITサービス財務管理:サービスの提供に必要なコストとサービス利用に伴う収益性を管理する
可用性管理:サービスの提供に必要なシステムとマンパワーに関する可用性を管理する
ITサービス継続性管理:ITサービスの提供が停止した場合の顧客への影響を最小限に防ぐ
キャパシティ管理:利用顧客が要求するサービスレベルに対し、システムに必要とされるリソースを管理する

問51 TCP/IPネットワークにおけるRARPの機能として、適切なものはどれか。
IPパケットが通信先のIPアドレスに到達するかどうかを調べる。
MACアドレスからIPアドレスを求める。
ドメイン名とホスト名からIPアドレスを求める。
プライベートIPアドレスとグローバルIPアドレスを相互に変換する。
解答
解説 ARP(Address Resolution Protocol)とはMACアドレス(データリンク層)から対応するIPアドレス(ネットワーク層)を得るプロトコルで、その対応表のことをARP表といいます。逆に、IPアドレスから、MACアドレスを得るプロトコルをRARP(Reverse ARP)といいます。

選択肢アは、ICMP(Internet Control Message Protocol)の説明です。
選択肢ウは、DNS(Domain Name System)の説明です。
選択肢エは、NAT(Network Address Translation)の説明です。

問52 IPネットワークプロトコルのうち、OSI基本参照モデルのトランスポート層に位置するものはどれか。
HTTP
ICMP
SMTP
UDP
解答
解説 まず、OSI基本参照モデルを以下に図示します。

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

それぞれの選択肢をOSI基本参照モデルに対応させると以下のようになります。
HTTP:アプリケーション層
ICMP:ネットワーク層
SMTP:アプリケーション層
UDP:トランスポート層

問53 図のTCP/IPネットワークにおいて、クライアントAをLAN1に接続するに当たって、サブネットを、誤って255.255.0.0と設定してしまった。このとき、クライアントAで発生する事象はどれか。ここで、ADSLモデムはクライアントAにUSBで接続し、ほかの機器はサブネットマスクを正しく255.255.255.0と設定してあるとする。また、ルータではプロキシARPは動作していないものとする。

画像(問53)を表示できません
ADSLモデムを経由してインターネットにアクセスできなくなる。
クライアントBと通信できなくなる。
データベースサーバDにアクセスできなくなる。
プリントサーバCに出力できなくなる。
解答
解説 サブネットマスクを255.255.0.0にしてしまうと、LAN1とLAN2のネットワーク部が10.1.0.0になり同じネットワークだと判断され、ルータ越しに正しい通信ができないと考えられます。

問54 クラスCのプライベートIPアドレスとして利用できる範囲はどれか。
10.0.0.0〜10.255.255.255
128.0.0.0〜128.255.255.255
172.16.0.0〜172.31.255.255
192.168.0.0〜192.168.255.255
解答
解説 主に使用される3つのクラスとそのホストの振り分けを以下にしめします。

クラスA:ネットワーク部8ビット(先頭は0)、ホスト部24ビット。範囲は10.0.0.0〜10.255.255.255。利用できるホスト数は224-2=16,777,214個
クラスB:ネットワーク部16ビット(先頭は10)、ホスト部16ビット。範囲は172.16.0.0〜172.31.255.255。利用できるホスト数は212-2=65,534個
クラスC:ネットワーク部24ビット(先頭は110)、ホスト部8ビット。範囲は192.168.0.0〜192.268.255.255。利用できるホスト数は28-2=254個

クラスにとらわれないで、任意のビット数で分けるCIDRというのもあります。

問55 電子メールの内容の機密性を高めるために用いられるプロトコルはどれか。
IMAP4
POP3
SMTP
S/MIME
解答
解説 まず、メールの送受信は下の図のようになります。

メール

そして、MIME(Multipurpose Internet Mail Extensions)とは、本来アスキーコードしか電子メールで様々なフォーマットを取り扱えるようにしたものです。さらに、MIMEにセキュリティ機能を追加したものをS/MIMEといいます。

なお、IMAP(Internet Message Access Protocol)は、メールサーバ上の電子メールにアクセスして操作するプロトコルです。

問56 セキュリティ関連のプロトコルに関する記述のうち、適切なものはどれか。
IPsecは、PPPの認証用プロトコルの一つである。
PAPは、LAN間接続やダイヤルアップ接続を行う際のユーザ認証に、暗号を使用したプロトコルである。
PPPは、暗号技術を導入してセキュリティを強化した電子メールシステムのプロトコルである。
SSLは、Webサーバとブラウザとの間でデータを暗号化して転送する場合に使用することができるプロトコルである。
解答
解説 それぞれのセキュリティプロトコルを以下にまとめます。

IPsec(Security Architecture for Internet Protocol):IPパケットを暗号化するプロトコル。パケット単位で暗号化を行う。IPv4、IPv6の両方で利用できる。
PAP(Password Authentication Protocol):ダイヤルアップ接続などのパスワード認証を行うプロトコル。内容は暗号化されずにサーバに送信される。
PPP(Point to Point Protocol)はダイヤルアップなどで使われるデータリンク層のプロトコルで、LANなどのイーサネットで利用できるようにしたPPPoEが有名。
SSL(Secure Sockets Layer):トランスポート層で暗号化通信を行ない、上位層の安全な通信を行う。HTTPS通信を行う場合などに用いられる。

問57 図のように16ビットのデータを4×4の正方形状に並べ、行と列にパリティを付加することによて何ビットまで誤りを訂正できるか。ここで、図の網掛け部分がパリティを表している。

画像(問57)を表示できません
解答
解説 1ビットの誤りの場合は問題なく訂正できますが、以下のような2ビットの誤りはどちらも、同じパリティの状態になってしまうので、2ビットは誤り検出はできますが、訂正はできない場合があります。

画像(問57kai)を表示できません

問58 0〜20kHzの帯域幅のオーディオ信号をディジタル信号に変換するのに必要な最大のサンプル周期を標本化定理によって求めると、何マイクロ秒か。
2.5
25
50
解答
解説 まず、アナログデータ(時間も振幅も連続)をディジタルデータに変換するためには、標本化→量子化→符号化という作業を行います。各作業を簡単に以下にまとめます。

標本化:時間を離散化する。
量子化:振幅を離散化する。
符号化:量子化したデータを特定の符号に対応付けする。

標本化定理とは、『標本化において、アナログ信号をディジタル信号に変換し、もとに戻す際に完全にもとのアナログ信号を復元するためには、もとの最大周波数の2倍でサンプリングするとよい』というものです。つまり、20kHzの2倍40kHzで標本化するといいので、1/40×1000=0.025×10-3=25×10-6=25マイクロ秒となります。

問59 ATMとパケット交換方式とを比較した場合、ATMの特徴として適切なものはどれか。
画像(問59ans)を表示できません
解答
解説 2つの方式を以下にまとめます。

ATM(Asynchronous Transfer Mode):セルと呼ばれる、48バイトのデータ(ペイロード)と5バイトのヘッダで構成された、53バイトの固定長のブロックを伝送する方式
パケット交換方式:データを幾つかのブロックに分割し、各ブロックに制御情報を付加して送信する方式

データを固定長にし、ハードウェアで処理することで高速化しています。一方でパケット交換は誤り制御などに比較的時間がかかります。

問60 10Mビット/秒のLANで接続された4台のノード(A,B,C,D)のうち、2組(AとB,CとD)のノード間でそれぞれ次のファイル転送を行った場合、LANの利用率はおよそ何%か。ここで、転送時にはファイルの大きさの30%に当たる各種制御情報が付加されているものとする。また、LANではリピータハブが使用されており、衝突は考えないものとする。

ファイルの大きさ:平均1,000バイト
ファイルの転送頻度:平均60回/秒(1組当たり)
10
12
解答
解説 まず、転送データ量をもとめます。(1000バイト(データ本体)+300バイト(各種制御情報))×60(転送頻度)×2(組)=156,000バイト。つぎに、転送回線は10Mビット/秒なので、1.25Mバイト/秒となり、156kバイト/1250kバイト=0.1248となり、約12%使用していることが分かります。