平成25年度 秋期 応用情報技術者試験 問41−60 解答編




このページは

応用情報

(応用情報技術者試験)

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

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




問41 ビヘイビア法のウイルス検出手法に当たるものはどれか。
あらかじめ検査対象に付加された、ウイルスに感染していないことを保証する情報と検査対象から算出した情報とを比較する。
検査対象と安全な場所に保管していあるその原本とを比較する。
検査対象のハッシュ値と既知のウイルスファイルのハッシュ値とを比較する。
検査対象をメモリ上の仮想環境下で実行して、その挙動を監視する。
解答
解説 ビヘイビア法とは、疑いのあるプログラムを動かしてみて、その動きを監視するもので、動的ヒューリスティック法とも言います。
なお、選択肢アのようにファイルの差分を検出する方法をイングリティチェックといいます。

問42 クロスサイトスクリプティングの手口はどれか。
Webアプリケーションに用意された入力フィールドに、悪意のあるJavaScriptコードを含んだデータを入力する。
インターネットなどのネットワークを通じてサーバに不正にアクセスしたり、データの改ざん・破壊を行ったりする。
大量のデータをWebアプリケーションに送ることによって、用意されたバッファ領域をあふれさせる。
パス名を推定することによって、本来は認証された後にしかアクセスが許可されていないページに直接ジャンプする。
解答
解説 クロスサイトスクリプティング(略称 XSS)とは、Webサイトに利用者を誘導した上で、Webサイトの入力データ処理の欠陥を悪用し、利用者のブラウザで悪意のあるスクリプトを実行させる攻撃をいいます。

他の選択肢は以下のとおりです。
選択肢イ:クラッキング
選択肢ウ:DoS攻撃。場合によってはバッファオーバーフロー
選択肢エ:パストラバーサル

問43 ディジタルフォレンジックスでハッシュ値を利用する目的として、適切なものはどれか。
一方向性関数によってパスワードを変換して保存する。
改変された証拠を復元する。
証拠と原本との同一性を証明する。
パスワードの盗聴の有無を検証する。
解答
解説 フォレンジックスとは「科学捜査」や「鑑識」という意味の用語で、脅威に備えて証拠を保存したり、脅威が起こった時に、その証拠をそろえたり、分析することで、再発を防止する作業のことです。

選択肢を順に見ていきます。
選択肢ア:パスワードをハッシュ値で保存することは、証拠の保存ではなく、盗聴や漏えいに対する対策になります。
選択肢イ:ハッシュ値からもとのデータを戻すことは(一方向関数のため)できません。
選択肢ウ:フォレンジックスはオリジナルデータに対する証拠を残すことが目的です。
選択肢エ:ハッシュ値だけでは盗聴の有無は検出できません。

問44 サーバへのログイン時に用いるパスワードを不正に取得しようとする攻撃とその対策の組合せのうち、適切なものはどれか。
画像(問44ans)を表示できません
解答
解説 それぞれの攻撃と対策を以下にまとめます。

辞書攻撃:辞書に載っている単語を組み合わせてパスワードの解読を行います。対策法は辞書に載っていないランダムな値をパスワードに設定します。
スニッフィング:ネットワークのデータを盗聴し、盗聴したデータを利用してパスワードの解読を行います。対策法はパスワードを暗号化して送信します。
ブルートフォース攻撃:すべてのパスワードの組合せを検証しパスワードの解読を行います。対策法はログインに連続で失敗したらロックするようにします。

問45 E-R図の解釈として、適切なものはどれか。ここで、* *は多対多の関連を表し、自己参照は除くものとする。

画像(問45)を表示できません
ある組織の親組織の数が、子組織の数より多い可能性がある。
全ての組織は必ず子組織をもつ。
組織は2段階の階層構造である。
組織はネットワーク構造になっていない。
解答
解説 まず、*の多とは、0以上の複数という意味です。

選択肢を順に見ていきます。
選択肢ア:親1に対して、子が複数あることはありえます。(正解)
選択肢イ:多は0以上なので、0の場合には子組織はもちません。
選択肢ウ:再帰的な構造なので、2段階以上の階層構造もありえます。また、1段階構造の場合もありえます。
選択肢エ:親と子が多対多の関係なので、ネットワーク構造といえます。

問46 設計上の誤りを早期に発見することを目的として、作者と複数の関係者が設計書をレビューする方法はどれか。
ウォークスルー
机上デバッグ
トップダウンテスト
並行シミュレーション
解答
解説 出来上がった成果物を客観的に多人数で評価することをレビューといいます。これには、実際にプログラムを動かして確かめる動的テストと、プログラムを動かすことなく、ソースコードのチェックなどを行う静的テストがあります。レビューの代表的な例を説明します。

ウォークスルー:開発に携わった者が集まり、誤りや問題点を発見する。
机上デバッグ:静的テストの一種で紙の上でどこが悪いのかを検証するものです。
トップダウンテスト:結合テストの一種で上位モジュールから下位モジュールに向かって行うテスト手法です。
並行シミュレーションとは、システム監査技法の一種で、監査人が準備したデータを実際に与えて本番と同じ結果になるかを調べるものです。

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

問47 オブジェクト指向言語のクラスに関する記述のうち、適切なものはどれか。
インスタンス変数には共通データが保存されているので、クラス全体で使用できる。
オブジェクトに共通する性質を定義したものがクラスであり、クラスを集めたものがクラスライブラリである。
オブジェクトはクラスによって定義され、クラスにはメソッドと呼ばれる共有データが保存されている。
スーパクラスはサブクラスから独立して定義し、サブクラスの性質を継承する。
解答
解説 オブジェクト指向の概念について下にまとめます。

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

オブジェクト指向の代表的な言語にJavaやRuby、C#などが挙げられます。
なお、インスタンス変数とはインスタンスごとに利用できる変数で、同じクラスから生成された全てのインスタンスから共用される変数はクラス変数と呼ばれます。

問48 表は、現行プロジェクトにおけるソフトウェア誤りの発生・除去の実績、及び次期プロジェクトにおける誤り除去の目標を記述したものである。誤りは、設計とコーディングの作業で埋め込まれ、デザインレビュー、コードレビュー及びテストで全て除去されるものとする。次期プロジェクトにおいても、ソフトウェアの規模と誤りの発生状況は変わらないものと仮定したときに、テストで除去すべきソフトウェア誤りの比率は全体の何%となるか。

画像(問48)を表示できません
17.5
25
30
32.5
解答
解説 順番に計算していきます。

まず、今回も次回もバグは、設計とコーディングで50%ずつ含まれると予想されています。
今回のデザインレビューでは、設計の50%の誤りを検出でき、次回はその1.5倍なので、50×1.5=75%が摘出できると予想されます。
今回のコードレビューでは、コーディングの40%の誤りを検出でき、次回はその1.5倍なので、40×1.5=60%が摘出できると予想されます。

つまり、次回の全体では、50%の75%+50%の60%=0.5×0.75+0.5×0.6=0.375+0.3=0.675が摘出できる計算になります。
よって、余りは1−0.675=0.325=32.5%程度バグが残っていることになります。

問49 流れ図において、分岐網羅を満たし、かつ、条件網羅を満たすテストデータの組はどれか。

画像(問49)を表示できません
画像(問49ans)を表示できません
解答
解説 まずホワイトボックスの網羅の種類についてまとめます。
命令網羅:命令が必ず1度は実行されるようにする。つまり、if文(if-elseではない)では真だけ通過すればよい。
判定条件網羅(分岐網羅):すべての判定条件で、真と偽を1回以上行うようにする。
条件網羅(分岐条件網羅):すべての判定条件で、条件文の中のANDやORも真と偽のすべての組み合わせを行うようにする。
複数条件網羅:すべての条件の真と偽の組み合わせを1度は実行するようにする。

選択肢のテストケースを順に見ていきます。
選択肢ア:NOのルートを通らないため、不適切です。分岐網羅、条件網羅ともに満たしていません。
選択肢イ:1つ目の条件式のy=1が真になることがないため、不適切です。条件網羅を満たしていません。
選択肢ウ:1つ目の条件のNOのルートを通らないため、不適切です。分岐網羅を満たしていません。
選択肢エ:分岐網羅及び条件網羅が可能なテストケースです。(正解)

問50 マッシュアップを利用してWebコンテンツを表示している例として、最も適切なものはどれか。
Webブラウザにプラグインを組み込み、動画やアニメーションを表示する。
地図上のカーソル移動に伴い、ページを切り替えずにスクロール表示する。
電車経路の検索結果上に、各路線会社のWebページへのリンクを表示する。
店舗案内のページ上に、他のサイトが提供する地図情報を表示する。
解答
解説 マッシュアップとは、混ぜ合わせるという意味で、既存の技術を組み合わせて新しい技術を作り出すことをいいます。Web2.0の浸透とともに盛んになってきました。Amazon、Google、YouTube、ニコニコ動画などがサービスを無料で利用できるAPIを提供しているので、それと自分のコンテンツを複合して利用することがマッシュアップに相当するといえます。


問51 アプリケーションにおける外部入力、外部出力、内部論理ファイル、外部インタフェースファイル、外部照会の五つの要素の個数を求め、それぞれを重み付けして集計する。集計した値がソフトウェアの規模に相関するという考え方に基づいて、開発規模の見積りに利用されるものはどれか。
COCOMO
Dotyモデル
Putnamモデル
ファンクションポイント法
解答
解説 それぞれの開発規模の見積方法を以下にまとめます。

COCOMO:予想コード数や能力係数などを用いて、開発に必要な工数や要員を算出するものです。自社における生産性のデータ収集が不可欠でとなります。
Dotyモデル:システム規模はプログラムの行数に指数比例するという考え方を基に、見積もりを行うものです。比較的小規模のシステムを見積もる時に利用される。
putnumモデル:開発に投入すべき要員に注目し、規模に応じて指数的に工数が膨れ上がるというモデルです。
ファンクションポイント法:入力や出力の関数(ファンクション)に複雑さの重みを点数(ポイント)を付けていくことで、開発の工数を見積もる手法をいいます。

問52 過去のプロジェクトの開発実績から構築した作業配分モデルがある。要件定義からシステム内部設計までをモデルどおりに228日で完了してプログラム開発を開始した。現在、200本のプログラムのうち100本のプログラム開発を完了し、残りの100本は未着手の状況である。プログラム開発以降もモデルどおりに進捗すると仮定するとき、プロジェクト完了まで、あと何日掛かるか。

画像(問52)を表示できません
140
150
161
172
解答
解説 まず期間比の要件定義、システム外部設計、内部設計の合計は、0.25+0.21+0.11=0.57です。
0.57が228日なので、全体は、1:0.57=x:228よりx=228/0.57=400日となります。

現在プログラム開発が100/200で半分終わっています。期間比でいうと0.11/2=0.055となります。
すなわち、0.57+0.055=0.625が終了しています。

残日数に直すと、400日のうち、残りの比率である0.375なので、400×0.375=150日となります。

問53 予算が4千万円、予定期間が1年の開発プロジェクトをEVMで管理している。半年が経過した時点でEVが1千万円、PVが2千万円、ACが3千万円であった。このプロジェクトが今後も同じコスト効率で実行される場合、EACは何千万円になるか。
6
8
9
12
解答
解説 EVM(Earned Value Management)は、以下のようなコストを用いて、プロジェクト全体のスケジュールの遅れやコスト超過を可視化する進捗管理手法です。

プランド・バリュー(PV):当該期間末までに完了しているものとして計画された作業の予算
アーンド・バリュー(EV):当該期間末までに進捗した作業を、その作業の計画価値に対する比から評価した価値
実コスト(AC):当該期間末までに実際に投入した総コスト
完成時総予算 (BAC):プロジェクトの完了時点におけるPV

これらをもとに以下のような指標が計算できます。

コスト差異 (CV):EV−AC
スケジュール差異 (SV):EV−PV
コスト効率指数 (CPI):EV/AC
スケジュール効率指数(SPI):EV/PV
完成時総コスト見積り (EAC):AC+(BAC−EV)/CPI
残作業のコスト見積り (ETC):(BAC−EV)/CPI=EAC−AC

これを基に、計算を行います。
CPI=1千万円/3千万円=1/3
EAC=3千万円+(4千万円−1千万円)/(1/3)3千万円+3千万円×3=12千万円

問54 プロジェクトマネジメントにおけるリスクの対応例のうち、PMBOKの分類における転嫁に該当するものはどれか。
あるサブプロジェクトの損失を、他のサブプロジェクトの利益で相殺する。
個人情報の漏えいが起こらないように、システムテストで使用する本番データの個人情報部分はマスキングする。
損害の発生に備えて、損害賠償保険を掛ける。
取引先の業績が悪化して、信用に不安があるので、新規取引を止める。
解答
解説 まず、リスクの大まかの分類を以下にまとめます。

リスクを表示できません

他の選択肢は以下のとおりです。
選択肢ア:リスク保有
選択肢イ:リスク軽減
選択肢エ:リスク回避

問55 ITILによれば、障害が発生した場合にインシデント管理プロセスで行う活動はどれか。
ITサービス迅速に復旧させるために回復策を実施する。
既知のエラーレコードを作成して、データベースに登録する。
障害対策として、RFCに基づいてシステムの構成を変更する。
障害の根本原因を追究し、解決策を見つけ出して実施する。
解答
解説 インシデント管理は、サービスサポートプロセスのひとつで、サービスサポートプロセスは、一つの機能と五つのプロセスで構成されています。下に内容をまとめます。

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

他の選択肢は以下のように対応します。
選択肢イ:構成管理
選択肢ウ:変更管理
選択肢エ:問題管理

問56 データベースのバックアップ処理には、フルバックアップ方式と差分バックアップ方式がある。差分バックアップ方式による運用に関する記述のうち、適切なものはどれか。
障害からの回復時に差分だけ処理すればよいので、フルバックアップ方式に比べて復旧時間が短い。
フルバックアップのデータで復元した後に、差分を加えて復旧する。
フルバックアップと交互に運用することはできない。
フルバックアップ方式に比べ、バックアップに要する時間が長い。
解答
解説 フルバックアップと差分バックアップを下にまとめます。

フルバックアップとは、現在記録されているデータを完全にバックアップする手法で、比較的時間がかかります。
差分バックアップとは、定期的にフルバックアップされていることを仮定して、特定の瞬間からの差分だけをバックアップします。

例を挙げると、毎週日曜日にフルバックアップを行い月〜土曜日は前日からの差分バックアップを毎朝行うとする。このとき、水曜日の午後に障害が発生した場合は、日曜日のフルバックアップ+月曜日の差分バックアップ+火曜日の差分バックアップ+水曜日の差分バックアップから、水曜日の朝の状態を復元することができます。

フルバックアップと差分バックアップをうまく組み合わせて適切な期間を復元できるようにするのが基本です。

問57 ミッションクリティカルシステムの意味として、適切なものはどれか。
OSなどのように、業務システムを稼働させる上で必要不可欠なシステム
システム運用条件が、性能の限界に近い状態の下で稼働するシステム
障害が起きると、企業活動に重大な影響を及ぼすシステム
先行して試験導入され、成功すると本格的に導入されるシステム
解答
解説 ミッションクリティカルとは、常に使用されるために、停止することが許されず、停止した際に与える影響が大きいシステムをいいます。一般的に金融・交通システムはミッションクリティカルであるとされます。信頼性・可用性・冗長性などの保守技術を組み合わせて構築されます。

問58 システム監査体制のうち、システム監査人の独立性の観点から避けるものはどれか。
監査チームメンバに任命された総務部のAさんが、他のメンバと一緒に、総務部の入退室管理の状況を監査する。
監査部のBさんが、個人情報を取り扱う業務を委託している外部企業の個人情報管理状況を監査する。
情報システム部の開発管理者から5年前に監査部に異動したCさんが、マーケティング部におけるインターネットの利用状況を監査する。
法務部のDさんが、監査部からの依頼によって、外部委託契約の妥当性の監査において、監査人に協力する。
解答
解説 監査の基本は、監査機関と被監査機関の独立と、専門的で中立的な立場からの客観的指摘です。そして、証拠資料はかならずコピーなどを取り複数保管しておくのが基本です。また、企業の監査部門が行う内部監査と第三者機関に依頼する外部監査の二つがあります。加えて、独立性にも外観上の独立(身分や立場が独立している)と精神上の独立(偏見や主観がまじらない)が必要です。

選択アでは、総務部のAさんが自分の所属する総務部の入退室を調べるのは、外観上の独立に反しているといえます。

問59 販売管理システムにおいて、起票された受注伝票が漏れなく、重複することなく入力されていることを確かめる監査手続きのうち、適切なものはどれか。
受注データから値引取引データなどの例外取引データを抽出し、承認の記録を確かめる。
受注伝票の入力時に論理チェック及びフォーマットチェックが行われているか、テストデータ法で確かめる。
ブルーフリストと受注伝票との照合が行われているか、プルーフリスト又は受注伝票上の照合印を確かめる。
並行シミュレーション法を用いて、受注伝票を処理するプログラムの論理の正当性を確かめる。
解答
解説 人間が伝票を入力する際には、どうしても入力ミスや操作ミスなどが発生します。そこで、出力結果(プルーフリスト)と照合することで確認を行います。できる限り入力者とは別の人物が担当するのが望ましいです。

他の選択肢は以下のとおりです。 選択肢ア:例外が認識されていないリスクを監査する場合に有効です。
選択肢イ:プログラムの機能が正しく動作しているかを監査する場合に有効です。
選択肢エ:出力結果が正しいかを監査する場合に有効です。

問60 システム開発計画の策定におけるコントロールのうち、適切なものはどれか。
システムの機能が利用者の立場に基づいて実装されるよう、全体最適よりも業務上の利便性を優先し、利用部門の要望に基づいて策定する。
状況の変化に合わせて柔軟に内容の変更が行われるよう、開発計画は開発作業に着手してから組織内での承認を得て策定する。
不必要なシステムコストを抑制するよう、情報システムの目的を達成するための複数の代替案を作成し、比較検討する。
利用部門、システム部門の分け隔てなく自由な議論が行われるよう、開発計画の策定は、利用部門とシステム部門の役割分担を決めずに実行する。
解答
解説 選択肢を順に見ていきます。
選択肢ア:全体最適と業務システムは、整合性をとる必要があります。
選択肢イ:開発計画が承認されてから、開発作業に着手します。
選択肢ウ:コスト面もですが、実現可能性や効果の面からも案は複数作成し、比較後もっともよいものを採用します。(正解)
選択肢エ:自由な議論や横断的な検討は必要ですが、役割分担は明確にしておきます。