- トップページ
- 応用情報技術者
- 平成29年度秋季問題
- 平成29年度秋季解答・解説
平成29年度秋季解答
問題46
モジュール設計に関する記述のうち、モジュール強度(結束性)が最も強いものはどれか。
ア | ある木構造データを扱う機能をデータとともに一つにまとめ、木構造データをモジュールの外から見えないようにした。 |
イ | 複数の機能のそれぞれに必要な初期化設定の操作が、ある時点で一括して実行できるので、一つのモジュールにまとめた。 |
ウ | 二つの機能A、Bのコードは重複する部分が多いので、A、Bを一つのモジュールとし、A、Bの機能を使い分けるために引数を設けた。 |
エ | 二つの機能A、Bは必ずA、Bの順番に実行され、しかもAで計算した結果をBで使うことがあるので、一つのモジュールにまとめた。 |
解答:ア
<解説>
モジュール強度とは、モジュール内部の関連性の強さを表すものである。モジュール強度が強いほうがモジュールの独立性が高くなる。
機能的強度が最も強度が強く,順に弱くなっていきます。
モジュール強度 | 名称 | 内容 |
---|---|---|
強い(良い) ↑ ↓ 弱い(悪い) |
機能的強度 | 1つの機能だけを実行するモジュール |
情報的強度 | 特定のデータに関するモジュール | |
連絡的強度 | モジュー内でデータのやりとりをおこない、逐次的な複数の機能をまとめたモジュール | |
手順的強度 | モジュール内ではデータの受け渡しがなく、逐次的な複数の機能をまとめたモジュール | |
時間的強度 | あるタイミングで実行される機能を集めたモジュール | |
論理的強度 | 論理的な関連がある機能を1つのモジュールとしてまとめたもの | |
暗号的強度 | モジュールを単純に分割したもの |
ア | ○ | 情報的強度に関する説明である。 |
イ | × | 時間的強度に関する説明である。 |
ウ | × | 論理的強度に関する説明である。 |
エ | × | 手順的強度に関する説明である。 |
問題47
テストで使用されるドライバ又はスタブの機能のうち、適切なものはどれか。
ア | スタブは、テスト対象のモジュールからの戻り値を表示・印刷する。 |
イ | スタブは、テスト対象モジュールを呼び出すモジュールである。 |
ウ | ドライバは、テスト対象モジュールから呼び出されるモジュールである。 |
エ | ドライバは、引数を渡してテスト対象モジュールを呼び出す。 |
解答:エ
<解説>
- ドライバ
- ドライバとは、複数のモジュールからなるプログラムのテストのとき、上位層のモジュールが完成する前に下位層のモジュールをテストするときに、上位層のモジュールを擬似的に代用するモジュールである。
ボトムアップテストで必要となる。 - スタブ
- スタブとは、複数のモジュールからなるプログラムのテストのとき、下位層のモジュールが完成する前に上位層のモジュールをテストするときに、下位層のモジュールを擬似的に代用するモジュールである。
トップダウンテストで必要となる。
ア | × | ドライバは、テスト対象モジュールからの戻り値を表示・印刷する。 |
イ | × | ドライバは、テスト対象モジュールを呼び出すモジュールである。 |
ウ | × | スタブはテスト対象モジュールから呼び出されるモジュールである。 |
エ | ○ | ドライバはテスト対象モジュールに引数を渡して呼び出す。 |
問題48
アジャイル開発のプラクティスのうち、回帰テストを行うことを前提とするものはどれか。
ア | 日次ミーティング |
イ | ふりかえり |
ウ | ペアプログラミング |
エ | リファクタリング |
解答:エ
<解説>
回帰テストとは、前にテストしたソフトウェアが変更後もまだ動作するかどうかを確認するテストのことである。退行テスト、リグレッションテストとも呼ばれる
回帰テストを前提とするのはリファクタリングである。リファクタリングは,外部から見たプログラムの振る舞い(画面構成,インタフェース及び処理内容)を変えずに,プログラムの保守性を向上させ,デバッグや保守を容易にする技法である。
リファクタリングでは,ソースコードを修正するので,回帰テストを行って別のモジュールが正常に動作するかを確認する必要がある。
したがって、エが正解である。
問題49
CMMIを説明したものはどれか。
ア | ソフトウェア開発組織及びプロジェクトのプロセスの成熟度を評価するためのモデルである。 |
イ | ソフトウェア開発のプロセスモデルの一種である。 |
ウ | ソフトウェアを中心としたシステム開発及び取引のための共通フレームのことある。 |
エ | プロジェクトの成熟度に応じてソフトウェア開発の手順を定義したモデルである。 |
解答:ア
<解説>
CMMI(Capability Maturity Model Integration:能力成熟度モデル統合版)とは、ソフトウェア開発を中心としたプロセスの成熟度を評価するための指標のことである。1999年、カーネギーメロン大学ソフトウェアエンジニアリングインスティテュート(SEI)によって開発された。
CMMIは5つのモデルから構成されている。より高いレベルのCMMIに準拠することによって開発プロセスがより成熟してゆく仕組みになっている。CMMIは開発プロセスの国際標準的モデルとして普及している。
なお、5つのモデルは次のものである。
成熟度 | 内容 |
---|---|
レベル1 初期レベル |
開発プロセスが管理されず、場当たり的で混沌としておりプロジェクトの繰り返し能力がない。 |
レベル2 管理されたレベル |
開発プロセスが管理され、スケジュールと予算が容認できる範囲内に収まっている。 |
レベル3 定義されたレベル |
開発プロセスが明示的に定義され、組織内でそれを共有し利用している。 |
レベル4 定量的に管理されたレベル |
実績が定量的に把握され、プロセスが定量的に管理されている。 |
レベル5 最適化しているレベル |
組織的にプロセスを改善する仕組みがあり、最適化している。 |
ア | ○ | CMMIの説明である。 |
イ | × | CMMIは特定のソフトウェア開発のプロセスモデルを想定していない。 |
ウ | × | 共通フレーム2007の説明である。 |
エ | × | OPM3(Organizational Project Management Maturity Model:組織的プロジェクトマネジメント成熟度モデル)の説明である。 |
問題50
アジャイル開発におけるプラクティスの一つであるバーンダウンチャートはどれか。 ここで、図中の破線は予定又は予想を、自洗は実績を表す。
解答:ア
<解説>
バーンダウンチャートとは、残りの作業とそれに必要な時間が一目でわかるチャートです。タスクや課題、テストにかかる時間を推定することで、プロジェクトの完了日を決定できます。
ア | 〇 | バーンダウンチャートの説明である。 |
イ | × | バスタブ曲線の説明である。 |
ウ | × | ソフトウェア信用度成長曲線の説明である。 |
エ | × | プロジェクトマネジメントにおける時間と割り当て要員数との関係を表すグラフである。 |
お問い合わせ