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




このページは

基本情報

(基本情報技術者試験)

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

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


問41 手順に示す電子メールの送受信によって得られるセキュリティ上の効果はどれか。

[手順]
(1) 送信者は、電子メールの本文を共通鍵暗号方式で暗号化し(暗号文)、その共通鍵を受信者の公開鍵を用いて公開鍵暗号方式で暗号化(共通鍵の暗号化データ)。
(2) 送信者は、暗号文と共通鍵の暗号化データを電子メールで送信する。
(3) 受信者は、受信した電子メールから取り出した共通鍵の暗号化データを、自分の秘密鍵を用いて公開鍵暗号方式で復号し、得た共通鍵で暗号文を復号する。
送信者による電子メールの送達確認
送信者のなりすましの検出
電子メールの本文の改ざんの有無の検出
電子メールの本文の内容の漏えいの防止
解答
解説 文章の手順は、共通鍵自体を公開鍵暗号方式を使ってやりとし、本文の暗号化は共通鍵を使うという手順です。本文を読むためには、2つの鍵を使わなければならないので、共通鍵よりも一層メール本文の漏えい防止につながるといえます。

問42 災害を想定した事業継続計画(BCP)を策定する場合に行うビジネスインパクト分析での実施事項はどれか。
BCPの有効性を検証するためのテストを実施する。
許容される最大停止時間を決定する。
大体手順や復旧手順について関係者を集め教育する。
内外の環境の変化を踏まえBCPの内容を見直す。
解答
解説 ビジネスインパクト分析とは、不測の事態(災害など)が発生した場合に業務が受けるリスクを分析するものです。よって、どれだけの損害額が出るか、どこに影響が出るかなどを調べる選択肢イのようなものが該当し、教育などは分析には含まれません。なお、BCP(business continuity plan)とは、事業継続計画のことで、災害などが発生した場合にいかにして業務を継続するかを計画したものです。

問43 リスク移転に該当するものはどれか。
損失の発生率を低下させること
保険に加入するなどで他者と損失の負担を分担すること
リスクの原因を除去すること
リスクを扱いやすい単位に分解するか集約すること
解答
解説 リスク対策をまとめると下の図のようになります。

リスク

選択肢アはリスク軽減の説明
選択肢イはリスク移転の説明
選択肢ウはリスク回避の説明
選択肢エはリスク分離・リスク集中の説明

問44 企業内ネットワークやサーバにおいて、侵入者が通常のアクセス経路以外で侵入するために組み込むものはどれか。
シンクライアントエージェント
ストリクトルーティング
バックドア
フォレンジック
解答
解説 選択肢の用語を以下にまとめます。

シンクライアントエージェント:シン(tnin)とは細い・薄いという意味で、クライアントに最小限の設備しか装備させずほとんどをサーバで行う処理形態をいいます。これを行うソフトウェアをシンクライアントエージェントといいます。
ストリクトルーティング:ネットワークにおいて、中継地点を指定して送信することをソースルーティングと呼び、その中でも主要な部分を指定する「ルーズ・ソース・ルーティング」とすべての指定を行う「ストリクト・ソース・ルーティング」があります。ストリクト(Strict)とは厳密という意味です。
バックドア:裏口を意味する名のとおり、クラッカーがシステムに再度侵入するために残しておく、不正なアクセス経路
フォレンジック:フォレンジックには「法廷の」という意味があり、ディジタルデータに法的な証拠力を持たせる技術の総称

問45 DFDの表記方法として、適切なものはどれか。
2本の平行線は同期を意味し、名前は付けない。
円には、データを蓄積するファイルの名前を付ける。
四角には、入力画面や帳票を表す名前を付ける。
矢印には、データを表す名前を付ける。
解答
解説 DFD(Data Flow Diagram)とは、データの源泉・吸収・処理・蓄積などの関係を、以下のような図を用いて、データフロー、プロセス、ファイル、外部の4つの記号によって表現します。

DFDを表示できません

問46 オブジェクト指向において、属性と振る舞いを一つにまとめた構造にすることを何というか。
カプセル化
クラス化
集約化
汎化
解答
解説 オブジェクト指向の概念について下にまとめます。

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

問47 オブジェクト指向におけるクラスとインスタンスとの関係のうち、適切なものはどれか。
インスタンスはクラスの仕様を定義したものである。
クラスの定義に基づいてインスタンスが生成される。
一つのインスタンスに対して、複数のクラスが対応する。
一つのクラスに対して、インスタンスはただ一つ存在する。
解答
解説 クラスとはデータ構造の雛形で、インスタンスとはクラスに実際の値をいれて具現化したものです。イメージ図を下に図示します。

インスタンスを表示できません

選択肢ア:クラスのほうがインスタンスの仕様を定義したものです。
選択肢ウ:一つのクラスに対して、複数のインスタンスが対応します。
選択肢エ:一つのクラスに対して、複数のインスタンスが対応します。

ただし、シングルトン設計を用いるとインスタンスをただ一つに制限することができます。

問48 ブラックボックステストにおけるテストケースの設計方法として、適切なものはどれか。
プログラム仕様書の作成又はコーディングが終了した段階で、仕様書やソースリストを参照して、テストケースを設計する。
プログラムの機能仕様やインタフェースの仕様に基づき、テストケースを設計する。
プログラムの処理手順、すなわちロジック経路に基づき、テストケースを設計する。
プログラムのすべての条件判定で、真と偽をそれぞれ1回以上実行させることを基準にテストケースを設計する。
解答
解説 ブラックボックステストは、入力と出力の関係が仕様書通りにできているかを調べるテストです。ホワイトボックステストは、内部構造に着目し論理がきちんとできているかを調べるチェックです。基本的に内部構造のテストにホワイトボックステストを行い、外部仕様のテストにはブラックボックステストを用いるのが一般的です。

選択肢ア、ウ、エはホワイトボックステストの説明です。

問49 JavaScriptの非同期通信機能を使うことによって、動的なユーザインタフェースを画面遷移を伴わずに実現する技術はどれか。
Ajax
CSS
RSS
SNS
解答
解説 Ajax(Asynchronous JavaScript + XML)とは、JavaScriptを利用してサーバーとXML形式のデータを非同期にやり取りし、再描画する仕組みです。本来サーバとのやりとりは、同期を取ってページ単位で行われます。しかし、Ajaxでは、ページを移動することなく一部分を再描画することができます。つまり、テキストボックスに数式を入力しただけで、その合計がすぐに下に表示されるというようなことができます。

CSS(Cascading Style Sheets):HTMLによる文章のレイアウトを、細かく指定できるフォーマット
RSS(Really Simple Syndication 正式名称はバージョンによって異なります):HPの更新などのメタデータを構造化して記述するXMLベースのフォーマット
SNS(Social Network Service):mixiなどの会員制のユーザが閲覧できる、閉じたコミュニティを形成するインターネット上のサービス

問50 組込みシステムの特許におけるライセンスに関する記述として、適切なものはどれか。
新規開発した組込み製品のハードウェア部分だけが、他社の特許に抵触している場合、その部分のライセンスを得ないと権利侵害になる。
他社の特許がハードウェアとソフトウェアとの両方を権利範囲に含む場合、ハードウェア部分のライセンスを得れば、ソフトウェア部分は模倣として製品化できる。
ハードウェア部分の特許とソフトウェア部分の特許をそれぞれ異なる会社が保有している場合、ライセンスを得て製品化することはできない。
ハードウェアの特許のライセンスを得て、ソフトウェア部分だけは社内で独自に新規開発した場合、このソフトウェアを特許出願することはできない。
解答
解説 組込みシステムの特許は、ハードウェアとソフトウェアで別々の対象となります。よって、他者のライセンスを利用する場合は、ハードウェアとソフトウェアの両方の利用許諾が必要で、どちらか一方であっても特許出願はできます。

選択肢イ:ハードウェアとソフトウェアの両方のライセンスを得る必要があります。
選択肢ウ:それぞれのライセンスを得ることができれば、製品化することができます。
選択肢エ:ハードウェアとソフトウェアのライセンスは別々なので、ソフトウェアの特許出願は可能です。

問51 図のように、プロジェクトチームが実行すべき作業を上位の階層から下位の階層へ段階的に分解したものを何と呼ぶか。

画像(問51)を表示できません
CPM
EVM
PERT
WBS
解答
解説 選択肢の用語を以下にまとめます。

EPM(Critical Path Method):PERT図において、クリティカルパスをもとめ効率的に管理を行う手法です。
EVM(Earned Value Management):プロジェクト全体のスケジュールの遅れやコスト超過を可視化する進捗管理手法である。
PERT(Program Evaluation and Review Technique):アローダイアグラムとも呼び、以下のような図です。プロジェクト上の最短経路や求めたりするのに利用されます。

PERT図を表示できません

WBS(Work Breakdown Structure):WBSは、仕事を分割して作業のしやすい量にすることです。この分割の最下位の仕事の単位をワークパッケージといいます。これをそれぞれの人員に割り当てることで、OBS(organization breakdown structure:組織分割構成)を作成することができます。

問52 図のアローダイアグラムで表されるプロジェクトは、完了までに最短で何日を要するか。

画像(問52)を表示できません
115
120
125
130
解答
解説 点線は、ダミーの作業で同期を取るための線です。作業時間0の実線と考えかまいません。各結合点の最早結合点を計算すると以下のようになります。

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

また、クリティカルパスは、1 ⇒ 2 ⇒ 4 ⇒ 5 ⇒ 6 ⇒ 7となります。

問53 システムを構成するプログラムの本数とプログラム1本当たりのコーディング所要工数が表のとき、システムを95日間で開発するには少なくとも何人の要員が必要か。ここで、コーディングのほかに、設計やテストの作業が必要であり、それらの作業遂行にはコーディング所要工数の8倍の工数がかかるものとする。

画像(問53)を表示できません
12
13
解答
解説 まず、コーディングにかかる人日を考えてみます。人日とは、1人で1日かかる作業を1人日とした単位です。

入力処理:20×1=20人日
出力処理:10×3=30人日
計算処理:5×9=45人日

つまり、コーディングには95人日かかる=1人で行うと95日ちょうどかかるということです。
このほかに、設計やテストの作業に8倍の工数がかかるので、全体では(1+8)×95人日かかることになります。
よって、95日で終わらせるためには、9人必要だといえます。

問54 リスク識別に使用する技法の一つであるデルファイ法の説明はどれか。
確率分布を使用したシミュレーションを行う。
過去の情報や知識を基にして、あらかじめ想定されるリスクをチェックリストにまとめておき、チェックリストと照らし合わせることでリスクを識別する。
何人かが集まって、他人のアイディアを批判することなく、自由に多くのアイディアを出し合う。
複数の専門家から得られた匿名の見解を要約して、再配布することを何度か繰り返して収束させる。
解答
解説 デルファイ法とは、専門家の経験的判断などを反復アンケートなどを使って、意見を収束させていく定性的将来予測分析法です。

選択肢アは、モンテカルロ法等の説明です。
選択肢イは、チェックリスト法の説明です。
選択肢ウは、ブレーンストーミングの説明です。

問55 EUCの説明として、最も適切なものはどれか。
エディタ、コンパイラ、デバッガなどプログラミングツールに必要なツールが一つに統合され、一つのインタフェースで扱えるようになっている開発環境である。
簡易なGUI構築、ウィザードによるプログラムスケルトンの作成、ASP(Active Server Pages)の利用などによって、Web環境で稼動するシステムを開発することである。
簡易なGUI構築ツールを使って、システム開発の初期の段階で画面を作成し、機能や操作性などを確認しながら、開発を行う手法である。
利用者自身が、表計算ソフトや簡易データベースソフトなどを活用し、業務を遂行することである。
解答
解説 EUC(End User Computing)とは、実際にパソコンを使うユーザが自分で設定等をカスタマイズして業務を行うことです。システム開発などの要素はありません。

選択肢アは、IDE(統合開発環境)の説明です。
選択肢イは、フレームワークなどによる開発の説明です。
選択肢ウは、プロトタイプモデルの説明です。

問56 データベースのロールバック処理の説明はどれか。
更新後ジャーナルを用いて、トランザクション開始後の障害直前の状態にまでデータを復旧させる。
更新後ジャーナルを用いて、トランザクション開始直前の状態までデータを復旧させる。
更新前ジャーナルを用いて、トランザクション開始後の障害直前の状態にまでデータを復旧させる。
更新前ジャーナルを用いて、トランザクション開始直前の状態にまでデータを復旧させる。
解答
解説 障害復旧の基本的な手法であるロールバックとロールフォワードについて下にまとめます。

ロールバックとロールフォワードを表示できません

ロールバック:主に、論理的な障害に使われる。
トランザクションの開始から完了の間に障害が発生した際、更新後のジャーナルファイルを使って更新を無効にしトランザクション開始直前までもどす。

ロールフォワード:主に、物理的な障害に使われる。
ハードディスクに障害が発生した場合に、バックアップデータと更新前のジャーナルファイルを使って復元します。

ジャーナルファイルはログファイルとも呼ばれ、更新情報が記録されているファイルです。

選択肢エがロールバックの説明です。
選択肢アがロールフォワードの説明です。

問57 ニューメリックチェックの説明として、適切なものはどれか。
一定の規則に従ってデータから検査文字を算出し、付加されている検査文字と比較することによって、入力データに誤りがないかどうかをチェックする。
数値として扱う必要のあるデータに、数値として扱えない文字のようなものが含まれていないかどうかをチェックする。
販売数と在庫数と仕入れ数の関係など、関連のある項目の値に矛盾がないかどうかをチェックする。
マスタファイル作成時の入力データ中に、キーの値が同じレコードが複数件含まれていないかどうかをチェックする。
解答
解説 ニューメリックとは数字という意味で、入力されたものが数字かどうかを判定するチェックをニューメリックチェックと言います。

選択肢アは、チェックディジットの説明です。
選択肢ウは、バランスチェックなどの説明です。
選択肢エは、重複チェックの説明です。

問58 システム監査におけるヒアリングを実施する際に、システム監査人の対処として、適切なものはどれか。
ヒアリングの結果、監査対象の現状に問題があると判断した場合は、その調査対象のあるべき姿について被監査部門の専門的な相談に応じる。
ヒアリングの結果、問題と思われる事項を発見した場合は、その裏付けとなる記録の入手や現場確認を行う。
ヒアリングを行っている際に、被監査部門との間で見解の相違が生じた場合は、相手が納得するまで十分に議論を行う。
被監査部門のヒアリング対象者が複数の場合は、職制上の上位者から集中的に話を聞く。
解答
解説 ヒアリングとは意見を聞きだすことで、聞いた結果問題があると思われる場合は、その根拠となる証拠を得たうえで適切な指導や相談に応じるのが一般的です。根拠がない場合は、その発言内容に誤りや誇大がある可能性があるので、裏づけをします。あくまでヒアリングとは問題点を発見する初期段階だということです。

ヒアリングの段階では議論などはまだ早いといえます。また、上位者だけからではなく、さまざまな立場の人から話を聞き多角的に評価できるようにするべきだといえます。

問59 経営者が社内のシステム監査人の外観上の独立性を担保するために講じる措置として、適切なものはどれか。
システム監査人にITに関する継続的学習を義務付ける。
システム監査人に必要な知識や経験を定め、公表する。
システム監査人の監査技法修得制度を設ける。
システム監査人の所属部署を経営者の直轄とする。
解答
解説 監査の基本は、監査機関と被監査機関の独立と、専門的で中立的な立場からの客観的指摘です。そして、証拠資料はかならずコピーなどを取り複数保管しておくのが基本です。また、企業の監査部門が行う内部監査と第三者機関に依頼する外部監査の二つがあります。加えて、独立性にも外観上の独立(身分や立場が独立している)と精神上の独立(偏見や主観がまじらない)が必要です。

問60 ユーザ受入れテストの監査において、指摘事項に該当するものはどれか。
システム部門だけでテストを行い、テスト結果をその責任者が承認した。
当該業務に精通したユーザが参画してテストを行った。
ユーザ受入れテストの実施環境は本番環境と隔離させた。
ユーザ要求をすべてテスト対象としたテストケースを設定した。
解答
解説 受入れテストは、システムの開発を依頼した側(依頼者・受諾者・ユーザ部門)がそのシステムを受け取る際に、きちんと依頼した内容の機能が満たされているかを調べるテストのことです。よって、できるだけ受諾者が受け入れテストを作成し、実施するべきです。(開発側はこれを積極的に協力するべきです。)

一般的に、要求定義と受け入れテストはクライアント(依頼者)が立会い、開発自体は開発部門に任せるのが普通です。