ITパスポート 2013年 秋期 問40
問題文
システム開発を、システム要件定義、システム方式設計、ソフトウェア要件定義、ソフトウェア方式設計、ソフトウェア詳細設計の順で実施するとき、ソフトウェア詳細設計で初めて決定する項目として、適切なものはどれか。
選択肢
ア:コーディングを行う単位となる個々のプログラムの仕様(正解)
イ:ソフトウェアに必要な機能と応答時間
ウ:対象ソフトウェアの最上位レベルの構造
エ:複数のソフトウェア間のインタフェースに関する仕様
🔒 解説は解答すると表示されます
システム開発工程の設計段階で、詳細に決めるものは何か【ITパスポート 解説】
正解の理由
ソフトウェア詳細設計は、実際にプログラムを書くための「設計の最も細かいレベル」です。ここでは「どの処理をどのプログラム(またはモジュール)で実装するか」「そのプログラムの入出力や処理手順、変数・データ構造」など、コーディング単位で必要な仕様を確定します。したがって、コーディングを行う単位となる個々のプログラムの仕様である ア が適切です。
(補足:要件定義や方式設計は「何を作るか」「大まかな構造や方式」を決める工程で、詳細なプログラム単位の仕様は通常ここでは決まりません。)
解法ステップ
- 各工程の目的をざっくり整理する
- 要件定義(requirements definition:何を作るか、どんな条件かを決める工程)
- 方式設計(architecture/way design:全体のやり方や構成を決める工程)
- ソフトウェア要件定義(software requirements:ソフトに必要な機能や性能を決める)
- ソフトウェア方式設計(software architecture design:ソフト全体の大きな構造・モジュール分割を決める)
- ソフトウェア詳細設計(detailed design:プログラム単位で実装方法を決める)
- 各選択肢を上の工程に当てはめる
- 「機能と応答時間」→ 要件(ソフトウェア要件定義)
- 「最上位レベルの構造」→ 方式設計(ソフトウェア方式設計)
- 「複数ソフト間のインタフェース」→ システムや方式レベルで決めるべき事項
- 「個々のプログラムの仕様」→ 詳細設計で決定(=正解)
- 「どの段階で決まるか」を基準に選ぶ
この流れで考えれば、最も細かい単位を扱う ア が正しいと判断できます。
選択肢別の誤答解説
- ア:コーディングを行う単位となる個々のプログラムの仕様
- 正解。詳細設計はプログラム単位の処理手順、入出力、内部データなどを決めます。ここで決めた仕様を基に実際にコーディング(プログラムを書く作業)を行います。
- イ:ソフトウェアに必要な機能と応答時間
- 誤り。これは機能面と性能面(応答時間は性能要件)の話で、ソフトウェア要件定義や非機能要件の領域です。詳細設計より前の段階で定義します。
- ウ:対象ソフトウェアの最上位レベルの構造
- 誤り。ソフトウェア全体をどのようなモジュールに分けるか、主要コンポーネントの関係を決めるのはソフトウェア方式設計(アーキテクチャ設計)です。詳細設計はその下位レベルになります。
- エ:複数のソフトウェア間のインタフェースに関する仕様
- 誤り。システム全体やソフトウェア間のデータのやり取りやプロトコルは、方式設計やシステム設計の段階で決定することが一般的です。詳細設計で内部モジュール間の細かいインタフェースを詰めることはありますが、複数ソフト間のインタフェースはより上位の工程で扱います。
よくある誤解
- 「詳細設計は単にコードを書くための下準備だけ」と思う誤解
- 詳細設計は単なる下書きではなく、テストや保守のしやすさ、モジュールの再利用性なども考慮して設計します。ここでの決定は品質や開発効率に直結します。
- 「インタフェース仕様は全部詳細設計で決める」と考える誤解
- インタフェースには「システム間の大枠(プロトコルやデータ形式)」と「モジュール間の具体的入出力」があります。前者は方式設計、後者は詳細設計で扱う、という区別が一般的です。
- 「要件(何を作るか)と詳細設計(どう作るか)が同じだ」と混同する誤解
- 要件は“何を実現するか”、設計は“どのように実現するか”です。問題文では工程の順序が示されているので、どの工程で決まるかを意識してください。
補足コラム
建物に例えると分かりやすいです。
- 要件定義:何のための建物か(住宅・店舗)、部屋数、予算を決める段階です。
- 方式設計:間取りや構造(耐震、どの階に何を置くか)、配管や電気の大まかなルートを設計します。
- 詳細設計:各部屋のドアの種類、コンセントの位置、壁の厚さ、使用する窓のサイズなど、職人が作業できるレベルの図面を作る段階です。ソフトウェア詳細設計はこれに当たります。
詳細設計の成果物は「プログラム仕様書」「モジュール設計書」などで、これをもとにコーディング→単体テストへ進みます。
FAQ
Q1: 詳細設計でアルゴリズムまで決めますか?
A1: はい。個々の処理をどう実装するか(アルゴリズムやデータ構造、入出力の順序)は詳細設計で具体化します。
A1: はい。個々の処理をどう実装するか(アルゴリズムやデータ構造、入出力の順序)は詳細設計で具体化します。
Q2: 複数ソフト間の細かいやり取りは詳細設計で完全に決められませんか?
A2: システム間で合意したプロトコルの範囲内で、実装側の細かいデータフォーマットや呼び出し方は詳細設計で詰めることがあります。ただし、全体のインタフェース方針自体は上位工程で定義されるのが普通です。
A2: システム間で合意したプロトコルの範囲内で、実装側の細かいデータフォーマットや呼び出し方は詳細設計で詰めることがあります。ただし、全体のインタフェース方針自体は上位工程で定義されるのが普通です。
Q3: 詳細設計書は誰が使いますか?
A3: 主にプログラマ(コーディング担当者)と単体テスト担当者が使います。保守担当者も後から参照します。
A3: 主にプログラマ(コーディング担当者)と単体テスト担当者が使います。保守担当者も後から参照します。
関連キーワード: システム開発工程、要件定義、方式設計、詳細設計、ソフトウェア設計、コーディング、インタフェース仕様、モジュール設計、アーキテクチャ, 単体テスト

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

