システム開発においてソフトウェア詳細設計の次に行う作業はどれか。
平成24年度 春期 ITパスポート試験 問32
この問題の解説と、これまでの解答の記録です。
問 32
不正解ア
システム方式設計は、システム要件定義で定めた要求事項を、ハードウェア構成・ソフトウェア構成・手作業のどれで実現するかに振り分け、システム全体の構成を決める工程である。ソフトウェアに何を担わせるかを決める段階なので、ソフトウェア要件定義よりもさらに前にあたる最上流の設計工程であり、ソフトウェア詳細設計の次に戻って行う作業ではない。
不正解イ
ソフトウェア方式設計 (外部設計・基本設計に相当) は、ソフトウェア要件定義の内容を受けて、ソフトウェアをプログラムという単位に分割し、各プログラムの機能・画面や帳票などのインタフェース・データベースの構造といった全体構成を決める工程である。ソフトウェア詳細設計はこの方式設計の結果をさらにモジュール単位まで具体化したものなので、方式設計は詳細設計の一つ前の工程であり、次に行う作業ではない。
不正解ウ
ソフトウェア要件定義は、システム方式設計でソフトウェアに割り当てられた部分について、必要な機能・性能・インタフェースなどの要求事項を利用者の立場から明確にする工程である。何を作るかを決める段階であって、どう作るかを決める設計工程よりも前に位置する。ソフトウェア方式設計・ソフトウェア詳細設計はいずれもこの要件定義を入力として行われるため、詳細設計の次に来ることはない。
- エ
正解 正解はエ「プログラミング」。システム開発の工程は、共通フレーム (JIS X 0160 に基づくソフトウェアライフサイクルプロセス) では大きな単位から小さな単位へ、抽象的な決定から具体的な実装へと順に詳細化していく。開発工程の並びは、システム要件定義 (システム全体で何を実現するかを決める) → システム方式設計 (その機能をハードウェア・ソフトウェア・手作業のどれに割り当てるかを決める) → ソフトウェア要件定義 (ソフトウェアに割り当てられた部分の要求事項を明確にする) → ソフトウェア方式設計 (ソフトウェアをプログラム単位に分割し、各単位の役割とインタフェースを決める。外部設計・基本設計に相当) → ソフトウェア詳細設計 (プログラム単位の内部をモジュールに分け、処理手順やデータ構造をコードが書ける粒度まで具体化する。内部設計・詳細設計に相当) → ソフトウェアコード作成及びテスト、となる。ソフトウェア詳細設計はこの並びで設計工程の最終段階であり、ここで処理手順がプログラム言語に翻訳できるところまで詰められる。したがって、その次に行うのは詳細設計書に従って実際にソースコードを書く作業、すなわちプログラミング (コーディング) であり、エが正しい。なお、この後はソフトウェア結合 → ソフトウェア適格性確認テスト → システム結合 → システム適格性確認テストと、設計工程を逆にたどるようにテスト工程が進む (V字モデル)。
- 共通フレーム (JIS X 0160) の開発工程の順序 — システム要件定義 → システム方式設計 → ソフトウェア要件定義 → ソフトウェア方式設計 → ソフトウェア詳細設計 → プログラミング (コード作成) → ソフトウェア結合 → ソフトウェア適格性確認テスト → システム結合 → システム適格性確認テスト。要件定義から詳細設計へ向かって対象が大→小、抽象→具体と詳細化され、詳細設計の完了時点でコードが書ける粒度に到達する。
- 設計工程の呼び名の対応関係 — ソフトウェア方式設計は外部設計 (基本設計)、ソフトウェア詳細設計は内部設計 (詳細設計) にほぼ対応する。「方式」と「詳細」のどちらが先かを取り違えないことが要点で、方式設計でプログラム単位への分割と全体構成を決め、詳細設計でモジュール内部の処理手順とデータ構造を決める。また各設計工程は対応するテスト工程と対をなす (V字モデル) 点も併せて押さえる。