必ず受かる情報処理技術者試験

当サイトは、情報処理技術者試験に合格するためのWebサイトです。
ITパスポート試験,基本情報技術者,応用情報技術者,高度試験の過去問題と解答及び詳細な解説を掲載しています。
  1. トップページ
  2. システムアーキテクト
  3. 平成27年度秋季問題
  4. 平成27年度秋季解答・解説

平成27年度秋季解答

問題6

大量のデータを並列に処理するために、入力データから中間キーと値の組みを生成する処理と、同じ中間キーを持つ値を加工する処理との2段階で実行するプログラミングモデルはどれか。

2相コミット
KVS
MapReduce
マルチスレッド

解答:ウ

<解説>

× 2相コミットとは、コンピュータネットワークやデータベースにおいて、分散システム内の全ノードがトランザクションのコミットに合意するための分散アルゴリズムあるいはプロトコルである。ネットワーク障害やノード故障の場合も考慮され、結果としてトランザクションはコミットされるか失敗するかのいずれかの状態となる。
× KVSとは、記憶装置にデータを保存・管理する方法の一つ。保存するデータ(Value)と、そのデータを識別するためのキー情報(Key)をペアにして保存する。データを取り出すときは、保存するときに定義したKeyを指定して呼び出す。

MapReduce は、巨大なデータセットを持つ高度に並列可能な問題に対して、多数のコンピューター(ノード)の集合であるコンピュータ・クラスター(各ノードが同じハードウェア構成を持つ場合)もしくはグリッド(各ノードが違うハードウェア構成を持つ場合)を用いて並列処理させるためのフレームワークである。

Map ステップ
マスターノードは、入力データを受け取り、それをより細かい単位に分割し、複数のワーカーノードに配置する。受け取ったワーカーノードが、更に細かい単位に分割し、他の複数のワーカーノードに配置するという、より深い階層構造の分割を行うこともある。そして、各ワーカーノードは、その細かい単位のデータを処理し、処理結果を、マスターノードへと返す。
Reduce ステップ
マスターノードが、Mapステップでの処理結果を集約し、目的としていた問題に対する答え(結果)を何らかの方法によって出力する。

MapReduce の特徴は、MapとReduceの各ステップで並列処理が可能なことである。それぞれのMap処理は、他のMap処理と完全独立であり、理論的に全て並列実行することができる(実際には、データソースやCPUの数により制限がかかる)。続くReduceステップでは、Mapステップでの処理結果がキー毎にまとめられてReduce処理に送られることになるが、これも同様に並列処理が可能である。

× マルチスレッドとは、マルチタスク処理の発想をアプリケーションに広げたもので、単一のアプリケーションで特定の操作を個々のスレッドに分割します。各スレッドは並列に実行されます。OSによって、さまざまなアプリケーション間だけでなく、1つのアプリケーション内のスレッド間で、処理時間の分割が可能となります。

問題へ

問題7

オブジェクト指向におけるデザインパターンに関する記述として、適切なものはどれか。

幾つかのクラスに共通する性質を抽出して、一般化したクラスを定義したものである。
同じ性質をもつオブジェクト群を、更にクラスとして抽象化したものである。
オブジェクトの内部にデータを隠蔽し、オブジェクトの仕様と実装を分離したものである。
システムの構造や機能について、典型的な設計上の問題とその解決策を示し、再利用できるようにしたものである。

解答:エ

<解説>

デザインパターンとは、過去のソフトウェア設計者が発見し編み出した設計ノウハウを蓄積し、名前をつけ、再利用しやすいように特定の規約に従ってカタログ化したものである。

× スーパークラスの説明である。
× クラスもしくはクラスを作る手順の説明である。
× カプセル化の説明である。
デザインパターンの説明である。

問題へ

問題8

ブラックボックステストにおけるテストケースの設計に関する記述として、適切なものはどれか。

実データからテストデータを無作為に抽出して、テストケースを設計する。
実データのうち使用頻度が高いものを重点的に抽出して、テストケースを設計する。
プログラムがどのような機能を果たすのかを仕様書で調べて、テストケースを設計する。
プログラムの全命令が少なくとも1回は実行されるように、テストケースを設計する。

解答:ウ

<解説>

ブラックボックステストとは、システムの内部構造とは無関係に、外部から見た機能を検証するプログラムのテスト方法。入力と出力だけに着目し、様々な入力に対して仕様書通りの出力が得られるかどうかを確認する。

× ブラックボックステストにおけるテストケースではない。
× ブラックボックステストにおけるテストケースではない。
ブラックボックステストにおけるテストケースである。 ブラックボックステストでは、プログラムのソースコードを見ずに仕様書に基づいてテストデータを作成する。
× ホワイトボックステストの命令網羅の説明である。

問題へ

問題9

製品を出荷前に全数検査することによって,出荷後の故陳数を減少させ,全体の費用を低滅したい。次の条件で全数検査を行ったときに低減できる費用は何万円か。ここで,検査時に故障が発見された製品は修理して出荷するものとする。

〔条件〕

(1)製造する個数:500個

(2)全数検査を実施しなかった場合の,出荷個数に対する故障率:3%

(3)全数検査で発見される製造個数に対する故障率:2%

(4)全数検査を実施した場合の,出荷個数に対する故障率:1%

(5)検査費用;1万円/個

(6)出荷以前の故障修理費用;50万円/個

(7)出荷後の故障修理費用:200万/個

1,000
1,500
2,000
2,250

解答:ア

<解説>

問題に与えられた条件にしたがって,以下の計算を行う。

(a)全数検査をしない場合に必要な費用

出荷後の修理費用:

(1)製造する個数:500個×(2)全数検査を実施しなかった場合の出荷個数に対する故障率:3%=15個(★)

(7)出荷後の故障修理費用:200万円/個×15個(★)=3,000万円(●)

(b)全数検査をする場合に必安な費用

検査費用:

(1)製造する個数:500個×(5)検査費用:1万円/個=500万円(■)

検査後の修理費用:

(1)製造する個数:500個×(3)全数検査で発見される製造個数に対する故障率:2%=10個(◆)

(6)出荷以前の故障修理費用:50万円/個×10個(◆)=500万円(▲)

出荷後の修理費用:

(1)製造する個数:500個×(4)全数検査を実施した場合の出荷個数に対する故障率:1%=5個(▼)

(7)出荷後の故障修理費用:200万円/個×5個(▼)=1.000万円(◎)

合計500万円(■)+500万円(▲)+1000万円(◎)=2000万円(△)

(c)全数検査をする場合に低減できる費用

3,000万円(●)-2,000万円(△)=1,000万円

問題へ

問題10

学生レコードを処理するプログラムをテストするために、実験計画法を用いてテストケースを決定する。 学生レコード中のデータ項目(学生番号、科目コード、得点)を二つの状態をとる。 テスト対象のデータ項目から任意に二つのデータ項目を選び、二つのデータ項目がとる状態の全ての組合せが必ず同一回数ずつ存在するように基準を設けた場合に、次の8通りのテストケースの候補のうち、最小で幾つを採択すればよいか。

2
3
4
6

解答:ウ

<解説>

開題文の"学生レコード中のデータ項目(学生番号,科目コード,得点)を二つの状態で表す。テスト対象のデータ項目から任意に二つのデータ項目を選び,二つのテータ項目がとる状態のすべての組合せが必ず同一回数ずつ存在するように基準を設けた場合"に着目し、以下のように検討する。

(1)データ項目(学生番弓,科目コード,得点)の二つの状態

開題に示された表から,データ項目の二つの状態は,次の通りである。

学生番号={存在する/存在しない}

科目コード={存在する/存在しない}

得点={数字でする/数字でない}

(2)データ項目から任意の二つを選んだすべての組合せ

データ項目(学生番号,科Hコード.得点)の中から二つを選んだすべての組合せは次の通りである。

 (a)【学生番号,利目コード】

 (b)【学生番号,得点】

 (c)【科目コード,得点】

(3)上記(2)のデータ項目の状態のすべての紳合せ

(a)1【学生番号=存在しない,利目コード=存在しない】

2【学生番号=存在する.利目コード=存在しない】

3【学生番号=存在しない.利目コード=存在する】

4【学生香号=存在する.利目コード=存在する】

(b)1【学生番号=存在しない,得点=数字でない】

2【学生番号=存在する.得点=数字でない】

3【学生香号=存在しない,得点=数字である】

4【学生番号=存在する.得点=数字である】

(c)1【利目コード=存在しない,得点=数字でない】

2【利目コード=存在する,得点=数字でない】

3【利目コード=存在しない,得点=数字である】

1【利目コード=存在する,得点=数字である】

(4)問題の表と上記(3)との対応

問題のテストケースNo1~3と上記(3)は、次のように対応づく。

テストケースNo1

{学生番号=存在する,科目コード=存在する,得点=数字である}

(a):4.(b):4.(c):4

テストケースNo.2

{学生番号=存在する,科目コード=存在する,得点=数字でない}

(a):4.(b):2.(c):2

テストケースNo.3

{学生番号=存在する,科目コード=存在しない,得点=数字である}

(a):2.(b):4.(c):3

上記のように,1つのテストケースは(3)の3つの状態を示せる。したがって

(3)の(a)4つ+(b)4つ+(c)4つ=12個の状態は,12÷3=4のテストケースがあれば,すべて存在しえる。

したがって、正解はウです。

問題へ