ソフトウェア開発プロジェクトにおいて, 上流工程から順に工程を進めることにする。要件定義, システム設計, 詳細設計の工程ごとに完了判定を行い, 最後にプログラミングに着手する。このプロジェクトで適用するソフトウェア開発モデルはどれか。
平成25年度 秋期 ITパスポート試験 問34
マネジメント系ソフトウェア開発管理技術 › 開発プロセス・手法
この問題の解説と、これまでの解答の記録です。
問34
頻出度★★★
解説
問 34
- ア
正解 正解は「ア ウォータフォールモデル」。ウォータフォールモデルは、要件定義 → システム設計 → 詳細設計 → プログラミング → テスト のように、開発工程を上流から下流へ一方向に (滝が流れ落ちるように) 順番に進める開発モデルである。各工程の終わりで成果物のレビューを行い、完了判定に合格してから次の工程へ進むため、原則として前の工程へ後戻りしない。設問の「上流工程から順に工程を進める」「工程ごとに完了判定を行う」「最後にプログラミングに着手する」という3つの特徴は、いずれもウォータフォールモデルの典型的な進め方を述べたものなので、アが適切である。
不正解イ
スパイラルモデルは、システムを部分 (サブシステム) に分割し、「設計 → 開発 → 評価」というサイクルを螺旋状に何度も繰り返しながら、リスクを評価しつつ完成度を高めていく開発モデル。設問のように全工程を一度だけ上流から順に流し、最後にまとめてプログラミングに着手する進め方ではないので誤り。
不正解ウ
段階的モデル (増分型・インクリメンタルモデル) は、システムを機能単位に分割し、動作する部分から段階的に開発・リリースして、少しずつ完成形に近づけていく開発モデル。プログラミングは最初の段階から始まり、全体の詳細設計完了を待たない。設問は「最後にプログラミングに着手する」と明記しているので該当しない。
不正解エ
プロトタイピングモデルは、開発の早い段階で試作品 (プロトタイプ) を作成し、利用者に確認してもらって要求を明確にしながら開発を進めるモデル。要件定義の段階で既に試作という形のプログラミングが発生するため、「最後にプログラミングに着手する」という設問の条件と矛盾する。
ここがポイント
- ウォータフォールモデル = 上流工程から下流工程へ後戻りせず一方向に進め、各工程末の完了判定 (レビュー) に合格してから次工程へ移る開発モデル。プログラミングは設計工程がすべて終わった後に始まる。
- 主要な開発モデルの識別ポイント: 反復の有無と、プログラミング開始の早さで区別する。ウォータフォール=反復なし・実装は最後、スパイラル=サイクルを螺旋状に反復、段階的 (増分型)=機能単位に分けて順次リリース、プロトタイピング=早期に試作品を作り要求を確認。
用語