基本情報技術者 2009年 秋期 午前(科目A) 問49
問題文
ウォータフォールモデルによるシステム開発工程の作業内容a〜fを、実施する順序で並べたものはどれか。
〔作業内容〕
a 現状の問題点を調査・分析し、対象システムへの要求を定義する。
b システムとして必要な機能をプログラムに分割し、処理の流れを明確にする。
c 詳細な処理手順を設計し、コーディングする。
d テストを行う。
e 各プログラム内の構造設計を行う。
f システムの要求仕様を基に、システムとして必要な機能を定義する。
選択肢
ア:a, b, f, c, e, d
イ:a, f, b, e, c, d(正解)
ウ:a, f, b, e, d, c
エ:a, f, e, b, c, d
ウォータフォールモデルによるシステム開発工程の作業順序【午前2 解説】
要点まとめ
- 結論: 正しい順序は a→f→b→e→c→d です。要求分析で課題を明確化し要件定義→基本設計→詳細設計・実装→テストへと順に進めます。
- 根拠: ウォータフォールモデルは上流工程で仕様を確定し、下流工程で具体化・実装・検証する直線的な流れを前提とするためです。
- 差がつくポイント: b(機能分割)とe(プログラム内部の構造設計)の役割を区別できること。論理的な機能分割→個々の構造設計が正解の鍵です。
正解の理由
正解: イ(a, f, b, e, c, d)。
各作業をウォータフォールの工程に対応させると次の通りです。
各作業をウォータフォールの工程に対応させると次の通りです。
- a: 現状調査・要求抽出(要求分析/要件定義の前段階)
- f: システム要求の定義(要件定義)
- b: システム機能の定義とプログラム分割(基本設計/アーキテクチャ設計)
- e: 各プログラムの構造設計(詳細設計/モジュール設計)
- c: 詳細処理手順設計・コーディング(実装)
- d: テスト(単体→結合→システム→受入など)
上流で「何を作るか」を固め、下流で「どのように作るか」を細かく定義して実装・検証する流れが保持されています。
よくある誤解
- 「b=詳細設計」「e=基本設計」と混同しやすい点に注意。bは機能分割・処理フロー、eはプログラム内部の詳細設計です。
- テスト(d)は実装(c)の後に段階的に行われるため、テストと実装の順序を逆にするのは誤りです。
解法ステップ
- 各作業 a〜f を「目的(何を決めるか)」で分類する(要求定義、設計、実装、テスト)。
- 要求関連(現状調査・要求定義)を上流、実装・検証を下流に配置する。
- 「機能を決める工程」と「プログラム内部を決める工程」を区別する(前者が先)。
- 各選択肢の並びが上流→下流の順になっているかを確認する。
- 上流が前、下流が後の順序と一致する選択肢を正解とする(イ)。
- 間違えた場合は b と e の役割の差を再確認する。
選択肢別の誤答解説
- ア: a, b, f, c, e, d — b(機能分割)が要件確定前に来ており順序が不適切。f(システム要求)が後になっているため論理が逆転しています。
- イ: イ a, f, b, e, c, d — 正解。要求定義→基本設計→詳細設計→実装→テストの流れに一致します。
- ウ: a, f, b, e, d, c — テスト(d)が実装(c)の前に来ており、実施順序として誤りです(テストは実装後に行う)。
- エ: a, f, e, b, c, d — e(プログラム内部の構造設計)が b(機能分割)より先に来ており、まず機能を定義してから各プログラムの構造を設計すべき点で逆転しています。
補足コラム
- ウォータフォールモデルは工程間の順序が固定的で、要件変更に弱い点が知られています。要件や仕様が明確で安定しているプロジェクトに適しています。
- 各テスト段階の位置づけ:c(コーディング)後に単体テスト→結合テスト→システムテスト→受入テストの順で行います。
- b(機能分割)は外部設計や基本設計に相当し、システム全体の機能分割やデータ・処理の流れを決めます。eは内部設計に相当し、アルゴリズム・データ構造・モジュール間インターフェースなどを詳細化します。
FAQ
Q: 要件定義と基本設計の違いは何ですか?
A: 要件定義(a,f)は「何を実現するか」を定義し、基本設計(b)は「その要件を満たすために何をどのように分割・構成するか」を決めます。
A: 要件定義(a,f)は「何を実現するか」を定義し、基本設計(b)は「その要件を満たすために何をどのように分割・構成するか」を決めます。
Q: ウォータフォールでのテストはどの段階から始めますか?
A: 実装(コーディング)後に単体テストから開始し、順次結合→システム→受入テストへと進めます。
A: 実装(コーディング)後に単体テストから開始し、順次結合→システム→受入テストへと進めます。
Q: アジャイルと比べてウォータフォールの利点は?
A: 仕様が安定している場合に計画が立てやすく、工程管理や文書化がしやすい点が利点です。
A: 仕様が安定している場合に計画が立てやすく、工程管理や文書化がしやすい点が利点です。
関連キーワード: ウォータフォールモデル、要求定義、基本設計、詳細設計、実装、テスト、単体テスト、結合テスト、システムテスト、受入テスト、機能分割、モジュール設計、上流工程、下流工程

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

