問題本文
システムが実現すべき応答時間などのシステムの品質を明確にする工程として,適切なものはどれか。
選択肢
- ア.システムテスト
- イ.システム要件定義
- ウ.ソフトウェア詳細設計
- エ.プログラミング
解説
システム要件定義は,業務要件を受けて,システムが満たすべき機能要件(機能・処理)と非機能要件(応答時間・可用性・拡張性・セキュリティ等の品質特性)を明確にする工程です。応答時間などの品質特性はこの段階で具体化されます。混同しやすい工程として,システムテストは要件を満たすか検証する段階,ソフトウェア詳細設計はプログラム単位の設計段階,プログラミングはコード実装の段階で,いずれも品質要件を初めて明確化する工程ではありません。要件定義で品質を明確化する重要性を問う頻出問題で,以降の工程の基準となります。
選択肢ごとの解説
- ア.システムテストは要件を満たすかを検証する下流段階であり,品質要件をここで初めて明確にするわけではない。品質要件はもっと上流で定義されているのが前提のため誤り。品質基準なくしてテスト設計はできない。
- イ.正解。システム要件定義は応答時間など品質要件(非機能要件)を明確化する工程。機能要件と非機能要件の両方をシステムが満たすべき条件として定義する上流工程の中核で,以降の設計・実装・テストの基準となる。
- ウ.ソフトウェア詳細設計はプログラム実装単位の設計段階であり,個別プログラムの内部設計を行う。品質要件を初めて明確化する工程ではないため誤り。下流工程の細部設計で,品質要件は前提として与えられる。
- エ.プログラミングはコード実装の段階であり,設計に従いコーディングする。品質要件の明確化工程ではないため誤り。プログラム言語による実装フェーズで,品質要件はすでに上流で確定している前提。
ITパスポート 2013年 (平成25年 秋期) の過去問一覧へ戻る・問31