平成23年度 秋期 基本情報技術者試験 問41−60 解答編




このページは

基本情報

(基本情報技術者試験)

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

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


問41 メッセージ認証符号におけるメッセージダイジェストの利用目的はどれか。
メッセージが改ざんされていないことを確認する。
メッセージの暗号化方式を確認する。
メッセージの概要を確認する。
メッセージの秘匿性を確認する。
解答
解説 メッセージダイジェストとは、与えられる元の文章からハッシュ関数を用いて生成された文字列のことです。これを送信元が元の文章と一緒に送信し、受信側で元の文章からメッセージダイジェストを生成し、比較することで、改ざんを検出することができます。

問42 入力パスワードと登録パスワードを用いて利用者を認証する方法において、パスワードファイルへの不正アクセスによる登録パスワードの盗用防止策はどれか。
パスワードに対応する利用者IDのハッシュ値を登録しておき、認証時に入力された利用者IDをハッシュ関数で変換して参照した登録パスワードと入力パスワードを比較する。
パスワードをそのまま登録したファイルを圧縮しておき、認証時に復元して、入力されたパスワードと比較する。
パスワードをそのまま登録しておき、認証時に入力されたパスワードと登録内容をともにハッシュ関数で変換して比較する。
パスワードをハッシュ値に変換しておき、認証時に入力されたパスワードをハッシュ関数で変更して比較する。
解答
解説 まず、パスワードをそのまま登録・保存しておくことはデータを盗まれたときを考えると危険です。そのため、パスワードを保存する場合には、ハッシュ化をするのが一般的です。ハッシュ関数は、入力値が少しでも変わると元の文字列を復元するのが困難であるという特性を持っています。そのため、ハッシュ値を盗まれたとしても、元のパスワードを知られる可能性は低いといえます。認証する際も、登録されているハッシュ値と、入力値をハッシュ化したものを比較すれば可能です。

利用者IDは公開されていたり、連番であったり、推察されやすいものであることが多いのであくまで、パスワードを用いて認証をします。

問43 コンピュータウイルス対策ソフトのパターンマッチング方式を説明したものはどれか。
完成前のファイルと感染後のファイルを比較し、ファイルに変更が加わったかどうかを調べウイルスを検出する。
既知ウイルスのシグネチャコードと比較して、ウイルスを検出する。
システム内でのウイルスに起因する異常現象を監視することによって、ウイルスを検出する。
ファイルのチェックサムと照合して、ウイルスを検出する。
解答
解説 パターンマッチングとは、あらかじめ登録されている文字列や、特定の規則と比較して対象のデータを分類する手法です。ウィルス検出においては、ウィルスを定義したファイルと対象のファイルを比較することで、ウィルスを発見する方法です。しかし、既存のウィルスであればほとんど発見できますが、暗号化や亜種には弱いという欠点があります。

一方で、選択肢ウのようにな手法をヒューリスティック方式といい、誤検出はあるものの、新種のウィルスなどに強い特性を持ちます。

問44 電子メール送信時に送信者に対して宛先アドレスの確認を求めるのが有効であるセキュリティ対策はどれか。
OP25Bによるスパム対策
SPFによるスパム対策
電子メールの誤送信対策
電子メールの不正中継対策
解答
解説 送信時に、送信者のアドレスの確認を行うことで、誤送信(別のあて先への間違いやあて先の入力ミス)を予防することができます。

なお、OP25B(Outbound Port 25 Blocking)とは、ネットワーク内から外部25番ポート(SMTPのポート)への通信を禁止し、プロバイダが会員が別のメールサーバでスパムなどを送信しないようにする対策のことで、SPF(Sender Policy Framework)とは、メールの送信者がIPアドレスやメールアドレスを偽造できないようにする仕組みをいいます。

問45 モジュール設計書を基にモジュール強度を評価した。適切な評価はどれか。

[モジュール設計書(抜粋)]
 上位っモジュールから渡される処理コードに対応した処理をする。処理コードが“I”のときは挿入処理、処理コード“U”のときは更新処理、処理コード“D”のときは削除処理である。
これは“暗号的強度”のモジュールである。モジュール内の機能間に特別な関係はなく、むしろ他のモジュールとの強い関係性をもつ可能性が高いので、モジュール分割をやり直した方がよい。
これは“情報的強度”のモジュールである。同一の情報を扱う複数の機能を、一つのモジュールにまとめている。モジュール内に各処理の入口点を設けているので、制御の結びつきがなく、これ以上のモジュール分割は不要である。
これは“連絡的強度”のモジュールである。モジュール内でデータの受渡し又は参照を行いながら、複数の機能を逐次的に実行している。再度見直しを図り、必要に応じて更にモジュール分割を行った方がよい。
これは“論理的強度”のモジュールである。関連した幾つかの機能を含み、パラメタによっていずれかの機能を選択して実行している。現状では大きな問題となっていないとしても、仕様変更に伴うパラメタの変更による影響を最小限に抑えるために、機能ごとにモジュールを分割するか、機能ごとの入口点を設けるほうがよい。
解答
解説 まず、モジュール強度とモジュール間結合度について以下にまとめます。

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

今回は独立させることができる複数の機能をもち、パラメタによって機能を選択しいているため、論理的強度といえます。

問46 オブジェクト指向の基本概念の組合せとして、適切なものはどれか。
仮想化、構造化、投影、クラス
具体化、構造化、連続、クラス
正規化、カプセル化、分割、クラス
抽象化、カプセル化、継承、クラス
解答
解説 オブジェクト指向の概念について下にまとめます。

クラス:データとメソッドを1つにまとめたもの
メソッド:オブジェクトがもっている手続のこと
メッセージ:オブジェクト間でやり取りされる情報のこと
カプセル化:データにメソッドを通じてのみアクセスできること。このため、内容を知らなくてもブラックボックス的に利用できます。
インスタンス:型であるクラスに実際の値を入れて、具現化すること
集約化:複数のオブジェクトを構成して、ひとつのオブジェクトにすること。(例:タイヤ、ハンドル、ドア・・・などから車を定義する)
抽象化(汎化):共通の性質をまとめて定義したもの、一般的にスーパークラスとして定義される。
継承:スーパークラスを取り込み、再利用すること。(例:人間クラスを継承して学生クラスを作る)
多相性(多態性):同じメッセージに対して別の振る舞いをすること(例『鳴く』というメッセージに対して、『ワンワン・ニャーニャー』など別の振る舞いをする)

問47 モジュールの内部構造を考慮することなく、仕様書どおりに機能するかどうかをテストする手法はどれか。
トップダウンテスト
ブラックボックステスト
ボトムアップテスト
ホワイトボックステスト
解答
解説 それぞれの用語を以下にまとめます。

トップダウンテスト:上位のモジュールから順に開発していく、テストには仮の下位モジュール『スタブ』が利用される。
ボトムアップテスト:下位のモジュールから順に開発していく、テストには仮の上位モジュール『ドライバ』が利用される。
ホワイトボックステストは、内部構造に着目し論理がきちんとできているかを調べるテスト。単体テストなどに用いられ、条件網羅率などを調べる。
ブラックボックステストは、入力と出力の関係が仕様書通りにできているかを調べるテスト。結合テストなどに用いられ、限界値分析、同値分析などを行う。

問48 ソフトウェアのテストの種類のうち、ソフトウェア保守のために行った変更によって、影響を受けないはずの箇所に影響を及ぼしていないかどうかを確認する目的で行うものはどれか。
運用テスト
結合テスト
システムテスト
リグレッションテスト
解答
解説 それぞれの用語を以下にまとめます。

運用テスト:システム開発の最終テストとして、運用に適応できるかどうかを調べるテストです。
結合テスト:単体テストが終わったモジュールを複数結合して、インタフェースなどを調べるテストです。
システムテスト:結合テストが終わったモジュール群をすべて結合して、1つのシステムとして正しく動作するかを調べるテストです。
リグレッションテスト:退行テストとも呼ばれ、いままで正常に動作していた部分が、別の箇所の変更によって動作しなくなっていないかを調べるテストです。

問49 Webサービスを利用する時のSOAPの役割として、適切なものはどれか。
Webサービスのインタフェースを記述して、プログラムからサービスを利用できるようにする。
Webサービスの情報を登録しておき、利用者がそのサービスを検索できるようにする。
Webサービスの送受信プログラム間で、XML形式のメッセージを受け渡す。
Webサービスプログラム間の配信保証や重複防止など、データ転送の信憑性を確保する。
解答
解説 SOAP(Simple Object Access Protocol)とは、RPC(リモートプロシージャコール)やソフトウェア同士がメッセージ(オブジェクト)を交換するためのプロトコルで、XMLベースのデータをソフトウェア間でやりとりします(ヘッダはオプション)

選択肢アは、WebAPIの説明です。
選択肢イは、UDDI(Universal Description, Discovery, and Integration)の説明です。
選択肢エは、WS−RM(Web Services Reliable Messaging)の説明です。

問50 要求分析から実装までの開発プロセスを繰り返しながら、システムを構築していくソフトウェア開発手法はどれか。
ウォータフォールモデル
スパイラルモデル
プロトタイピングモデル
リレーショナルモデル
解答
解説 代表的なソフトウェア開発モデルを以下にまとめます。

ソフトウェアを作るための開発手段にはいくつかの種類があり、ウォータフォールモデル、スパイラルモデル、プロトタイピングモデルはその中でも最も代表的な3つです。3つの特徴を下にまとめます。
ウォータフォールモデル:前工程の成果物が確実であるとみなして、工程の後退をせずにその名の通り水が上から下へ流れる滝のように、順序に開発を進めます。しかし実際には、前の工程で不備が見つかることが多く、古典的であるといわれます。
スパイラルモデル:要求定義から実際に実装までを繰り返しながら開発を進めます。ウォータフォールモデルとプロトタイピングモデルの中間のような感じで、大規模システム開発に向いています。
プロトタイピングモデル:プロトタイプ(試作品)を作って、実際にどんなものかをクライアントに確認を取りながら開発を進めるため、クライアントと開発部の認識の誤差を少なくできます。

なお、リレーショナルモデルは、関係データベースを表現するモデルで、開発手法のモデルではありません。

問51 次のアローダイアグラムで表されるプロジェクトがある。結合点5の最早結合点時刻は第何日か。

画像(問51)を表示できません
解答
解説 それぞれの最早結合点(最も早く作業を開始できる時刻)を計算していくと以下のようになります。

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

よって、1→2→4→5が最も時間が掛かる作業で7日となります。点線はダミーの作業で同期を取るために用いられ、作業日数0の実線と同じです。

問52 表の機能と特性をもったプログラムのファンクションポイント値は幾らか。ここで、複雑さの補正係数は0.75とする。

画像(問52)を表示できません
18
24
30
32
解答
解説 それぞれを重み付けしながら計算していきます。

1×4+2×5+1×10=4+10+10=24

補正係数が0.75なので、24×0.75=18となります。

問53 テストの進捗管理に使用する指標として、最も適切なものはどれか。
テスト項目の消化件数
テストデータの作成量
プログラムの起動回数
プログラムの修正量
解答
解説 進捗管理とは、工程がいまどの程度進んでいるかを管理するものです。テストがどのくらい進んでいるかは、事前に準備したテスト項目がどの程度終了したかを調べることで、進捗を調べることが可能です。

選択肢イ、ウ、エでは、テスト工程の進捗度合いを調べるには不十分です。

問54 生産物の品質を時系列に表し、生産工程が管理限界内で安定した状態にあるかどうかを判断するための図はどれか。
管理図
散布図
特性要因図
パレート図
解答
解説 それぞれの図を以下にまとめます。

管理図は以下のような図で、工程の状態や品質を時系列に表した図であり、工程が安定した状態にあるかどうかを判断するために用いる図です。

管理図を表示できません

散布図は、以下のような図で、2つの要素間に、正の相関(比例関係)、無相関(関係がない)、負の相関(反比例)を見つけるために用いる図です。

散布図を表示できません

特性要因図(フィッシュボーン)は以下のような図で、矢印付き大枝の先端に特性、枝に要因を表した図であり、影響の関係を分析するために用いる

特性要因図を表示できません

パレート図は下のような図で、値を表す棒グラフと累積比率を表す折れ線グラフで構成されています。値が全体に占める割合などを調べることができ、重要度の高い項目を探すABC分析などを行うのに適している図です。

パレート図を表示できません

問55 アプリケーションの保守に関する記述として、適切なものはどれか。
テスト終了後は速やかに本稼働中のライブラリにプログラムを登録し、保守承認者に報告する。
変更内容が簡単であると判断できるときは、本稼動用のライブラリを直接更新する。
保守作業が完了しないまま放置されるものを防ぐためにも、保守の完了を記録する。
保守作業は、保守作業担当者によるテストが終了した時点で完了とする。
解答
解説 選択肢を順に見ていきます。

選択肢ア:保守承認者に報告・承認を受けてから本稼働中のライブラリにプログラムを登録します。
選択肢イ:簡単であったとしても、一度本番と同等の環境でテストをしてから反映させるべきです。
選択肢ウ:保守作業の管理もテストなどと同様に、発見、進捗、完了の記録をとります。
選択肢エ:保守作業は、テスト後のリリースまで担当します。

問56 サービスデスク組織の構造の特徴のうち、ローカルサービスデスクの特徴はどれか。
サービスデスクを1拠点又は少数の場所に集中することによって、サービス要員を効率的に配置したり、大量のコールに対応したりすることができる。
サービスデスクを利用者の近くに配置することによって、言語や文化の異なる利用者への対応、専用要員によるVIP対応などができる。
サービス要員は複数の地域や部門に分散しているが、通信技術を利用することによって、単一のサービスデスクであるかのようなサービスが提供できる。
分散拠点のサービス要員を含めた全員を中央で統括して管理することによって、統制の取れたサービスが提供できる。
解答
解説 まず、サービスデスクとは、顧客との窓口の役割をし、ITIL(ITサービスマネジメントにおけるベストプラクティス)の一つであるサービスサポートプロセスの一つです。そして、ローカルサービスデスクは、その土地土地で言語・文化・認識が近い要員をサービスデスクとして配置することで、対応の品質を上げるものです。

選択肢アは、中央サービスデスクの説明です。
選択肢ウは、バーチャルサービスデスクの説明です。
選択肢エは、フォロー・ザ・サンの説明です。

問57 次の条件でITサービスを提供している。SLAを満たすためには、サービス時間帯中の停止時間は1か月に最大で何時間以内であればよいか。ここで、1か月の営業日は30日とする。

[SLAの条件]
・サービス時間帯は営業日の午前8時から午後10時まで。
・可用性99.5%以上とすること。
解答
解説 SLA(Service Level Agreement)とは、サービス品質保証契約ともよばれ、サービスに関する取り決めを行うものです。利用者と提供者が取り交わす契約事項であり、課金項目、問合せ受付時間、システム障害時の復旧時間などの項目が盛り込まれます。また、契約事項が実行されなかった場合の補償規定も盛り込まれることもあります。

1ヶ月の総稼働時間は、30日×19時間=570時間となります。このうち99.5%以上稼動しなければならないので、570×0.995=567.15時間稼動している必要があります。つまり、2.85時間までの停止がゆるされることになります。よって正解はイとなります。

問58 システム設計の段階において、ユーザ要件が充足されないリスクを低減するコントロールを監視するときのチェックポイントはどれか。
システム設計書に基づき、プログラム仕様書を作成していること
システムテスト要件に基づいてテスト計画を作成し、システム運用部門の責任者の承認を得ていること
プログラミングは定められた標準に従っていること
利用部門が参画して、システム設計書のレビューを行っていること
解答
解説 回りくどい表現になっていますが、つまり、「システム設計でユーザが欲しい機能が実装されるようにするにはどうすればいいか」という問題です。通常は要求定義において、ユーザからの要件が定義され、順次これを実現するための方法を決めていきますが、途中で見落としてしまったり、解釈が変わってしまうリスクがあります。そこで、システム設計書のレビューにおいて、ユーザとなる利用部門が参加し、正しく要求が設計されているかを監視することで、このリスクを低減することができるといえます。


問59 プログラムの信頼性の監査において、指摘事項に該当するものはどれか。
プログラマは、プログラム設計書に基づいてプログラミングを行っている。
プログラマは、プログラムの全てのロジックパスの中から、サンプリングで単体テスト項目を設定している。
プログラミングチームのリーダは、単体テストの実施結果を記録し保管している。
プログラムを作成したプログラマ以外の第三者が、単体テストを行っている。
解答
解説 通常単体テストは、ホワイトボックステストで行われ、全てのロジックを通過するようなテストケースを作成します。サンプリングでは抽出されなかったパスにバグがある可能性があります。

単体テストはプログラマが行うのが通常ですが、品質管理部門などの第三者がテストを行うこともあります。

問60 IT統制を予防統制と発見統制に分類した場合、発見統制に該当するものはどれか。
データ入力画面を、操作ミスを起こしにくいように設計する。
データ入力結果の出力リストと入力伝票とを照合する。
データ入力担当者を限定し、アクセス権限を付与する。
データ入力マニュアルを作成し、入力担当者に教育する。
解答
解説 予防統制とはあらかじめミスが発生しにくいようにしておくことで、発見統制はミスをいかにして発見するかというものです。今回の場合は、出力リストと元の入力伝票を比較するということが、発見統制に分類できるといえます。残りの選択肢ア、ウ、エは予防統制に分類されます。