ITパスポート 2012年 春期 問32
問題文
システム開発においてソフトウェア詳細設計の次に行う作業はどれか。
選択肢
ア:システム方式設計
イ:ソフトウェア方式設計
ウ:ソフトウェア要件定義
エ:プログラミング(正解)
🔒 解説は解答すると表示されます
システム開発においてソフトウェア詳細設計の次に行う作業はどれか【ITパスポート 解説】
正解の理由
ソフトウェア詳細設計は「作るべき中身を細かく決める工程」です。ここでは関数や画面ごとの入出力、データ構造、アルゴリズムの仕様やインターフェースを具体的に記述します。詳細設計の成果物をもとに実際にプログラムを作る作業が続くため、ソフトウェア詳細設計の次に行う作業はプログラミングです。したがって選択肢のうち正しいのは エ(プログラミング)です。
(用語補足)
- プログラミング:設計書に従ってソースコードを書く作業
- ソフトウェア詳細設計:機能ごとの処理手順やデータ定義を詳しくまとめた設計
解法ステップ
- 「詳細設計」が何をする工程かを確認する
- 詳細設計は実装(プログラミング)に必要なすべての仕様を決める工程です。
- 選択肢を時系列(工程の流れ)で並べ替えるイメージを作る
- 要件定義 → 方式設計 → 詳細設計 → プログラミング → テスト、の流れを思い浮かべます。
- 各選択肢が「詳細設計の前」か「後」かを判定する
- 前工程に当たるもの(システム方式設計、ソフトウェア方式設計、ソフトウェア要件定義)は詳細設計より前。プログラミングが詳細設計の次の工程。
- 最後に該当する選択肢を選ぶ(ここでは エ)。
選択肢別の誤答解説
- ア: システム方式設計
- 誤り。システム方式設計はシステム全体の構成や技術方針を決める工程で、プロジェクトの早い段階(詳細設計より前)に行います。
- イ: ソフトウェア方式設計
- 誤り。ソフトウェア方式設計はソフト全体の構成(モジュール分割、主要なインターフェース、使用するミドルウェアなど)を決める工程で、詳細設計の前段階です。
- ウ: ソフトウェア要件定義
- 誤り。要件定義は「何を作るか」を明確にする工程で最も早い段階にあります。設計より前です。
- エ: プログラミング
- 正解。詳細設計で決めた仕様を実際にコード(ソース)として書く工程です。詳細設計の直後に行われます。
よくある誤解
- 「詳細設計=プログラミング」と混同する
- 詳細設計は「何をどう作るか」を書く工程、プログラミングはその設計を「実際に書く」工程です。設計は実装の設計図、プログラミングは設計図から家を建てる作業に例えられます。
- アジャイル開発なら順序が変わると思い込む
- アジャイルでは短いイテレーション(反復)で設計→実装を行うので工程の境目があいまいになりますが、局所的には「詳細設計の後にその部分をプログラミングする」流れは基本的に同じです。
補足コラム
主な開発モデル(例)
- ウォーターフォールモデル:要件定義 → 基本設計(方式設計) → 詳細設計 → プログラミング → テスト。工程が順番に進む。
- Vモデル:ウォーターフォールにテスト工程を対応付け、各設計工程に対応するテスト計画を立てる考え方。
- アジャイル:設計と実装を短いサイクルで繰り返す。大枠の流れは同じでも頻繁に行き来する。
設計書とコードの違いの例(簡単な関数)
- 詳細設計(擬似コード・仕様)
- 関数名:add_tax
- 入力:price(整数、円)
- 処理:税率10%を乗じ、小数点以下は切り捨て
- 出力:税込価格(整数、円)
- プログラミング(実際のコード例)
def add_tax(price):
# 税率10%で計算し、小数点以下切り捨て
return int(price * 1.10)
FAQ
Q1. 詳細設計が終わったら必ずすぐプログラミングするのですか?
A1. 多くの場合はそうですが、レビューや承認、テスト計画の準備などが間に入ることがあります。工程の順序は基本的に同じです。
A1. 多くの場合はそうですが、レビューや承認、テスト計画の準備などが間に入ることがあります。工程の順序は基本的に同じです。
Q2. 「方式設計」と「詳細設計」の違いは何ですか?
A2. 方式設計はシステムやソフトの大きな構成(どの機能をどのモジュールにするか、外部連携の方法など)を決めます。詳細設計は方式設計で決めた枠組みの中で、各モジュールの内部処理やデータの細かい定義を決めます。
A2. 方式設計はシステムやソフトの大きな構成(どの機能をどのモジュールにするか、外部連携の方法など)を決めます。詳細設計は方式設計で決めた枠組みの中で、各モジュールの内部処理やデータの細かい定義を決めます。
Q3. プログラミングの後は何をしますか?
A3. 単体テスト、結合テスト、システムテストなどのテスト工程が続きます。最後にユーザー受け入れテストやリリース作業があります。
A3. 単体テスト、結合テスト、システムテストなどのテスト工程が続きます。最後にユーザー受け入れテストやリリース作業があります。
関連キーワード: システム開発、ソフトウェア詳細設計、プログラミング、要件定義、方式設計、ウォーターフォール、Vモデル、ソフトウェア設計、実装、テスト

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

