平成21年度 秋期 ITパスポート試験 問33 解説 ソフトウェア詳細設計
ソフトウェア詳細設計書に関する記述として, 適切なものはどれか。
- ア ソフトウェア詳細設計書には, システム結合テストのためのテスト仕様が含まれる。
- イ ソフトウェア詳細設計書に基づいてプログラミングが実施される。 ✓ 正答
- ウ ソフトウェア詳細設計は, システム要件定義の終了を契機として作成が開始される。
- エ ソフトウェア詳細設計は, 将来のメンテナンス用として, 単体テストが完了した後で完成させる。
解説
この問題は、ソフトウェア開発の工程における「詳細設計」の役割を理解しているかを問うものです。正解を導くには、システム開発の標準的な手順であるウォーターフォールモデルにおいて、各工程が「何を作り、何のために存在するのか」を整理することが近道です。プログラミングの直前に位置する設計書が、まさにコードを書くための指示書になるという点を押さえれば、自信を持って選択肢イを選ぶことができます。
詳細設計の立ち位置と目的
ソフトウェア開発は、大きく分けて「要件定義」→「システム設計(基本設計)」→「ソフトウェア詳細設計」→「プログラミング(実装)」という流れで進みます。
詳細設計は、基本設計で決まった「どのような機能を作るか」という枠組みを、プログラミングができるレベルまで具体化する工程です。具体的には、プログラムのアルゴリズム、データの構造、変数の定義、モジュール(関数やクラス)の分割などが決定されます。この設計内容がプログラミングの設計図となるため、実装者はこのドキュメントを読み解きながらコードを書くことになります。
なぜ他の選択肢は誤りなのか
選択肢ア:テスト仕様書は、設計書とは別に作成されるのが一般的です。結合テストのための仕様書であれば、通常は設計の早い段階で検討し、設計書と並行して作成されますが、詳細設計書そのものに含まれるものではありません。
選択肢ウ:ソフトウェア詳細設計が始まるのは、システム要件定義の後ではなく、より上位の設計である基本設計(外部設計)が完了した後です。要件定義は「システムで何を実現するか」を決め、基本設計で「どう実現するか」を決め、その後に詳細な仕様に落とし込みます。
選択肢エ:詳細設計書は、プログラムを書くための「指示書」です。したがって、プログラミングやテストが終わった後に作成するのではなく、必ずプログラミングの前に完成させておく必要があります。後から作成するのでは、実装時の判断基準がなくなってしまいます。
現場で求められる設計ドキュメントの意義
ITパスポートでこの知識を問う意図は、開発工程の「後戻り防止」を理解させることにあります。もし詳細設計が曖昧なままプログラミングを始めてしまうと、コーディングの途中で矛盾が発生したり、開発者によって仕様の解釈が異なったりして、手戻りが発生するリスクが高まります。
実務においては、プログラマーは詳細設計書を熟読し、不明点があれば設計者とすり合わせた上で実装を行います。このドキュメントが正確であるほど、後のテストやメンテナンスの効率が大きく向上します。設計書は単なる記録ではなく、チーム全員が同じ仕様を共有するための「コミュニケーションツール」としても非常に重要な役割を担っています。