ITパスポート 2013年 秋期 問34
問題文
ソフトウェア開発プロジェクトにおいて、上流工程から順に工程を進めることにする。要件定義、システム設計、詳細設計の工程ごとに完了判定を行い、最後にプログラミングに着手する。このプロジェクトで適用するソフトウェア開発モデルはどれか。
選択肢
ア:ウォータフォールモデル(正解)
イ:スパイラルモデル
ウ:段階的モデル
エ:プロトタイピングモデル
🔒 解説は解答すると表示されます
ソフトウェア開発モデルの選択問題【ITパスポート 解説】
正解の理由
問題文では「上流工程から順に工程を進める」「要件定義、システム設計、詳細設計ごとに完了判定を行い、最後にプログラミングに着手する」とあります。これは工程を上から下へ直線的に進め、各工程の終了を確認してから次に進む開発のやり方です。こうした特徴を持つのがウォータフォールモデル(Waterfall model:工程を順に下へ流す直線的な開発モデル)です。したがって正しい選択肢は ア です。
解法ステップ
- 問題文のキーワードを探す:「上流工程から順に」「工程ごとに完了判定」「最後にプログラミングに着手」など。
- 各開発モデルの特徴を思い出す。
- ウォータフォールモデル(Waterfall model):工程を順番に進め、各工程で一定の完了判定(ゲート)を行う直線的モデル。
- スパイラルモデル(Spiral model):リスク管理のため反復(イテレーション)を繰り返す。
- 段階的モデル(Incremental model):機能を分割して段階的に実装・納入する。
- プロトタイピングモデル(Prototyping model):試作品(プロトタイプ)を早期に作り、評価して要件を固める。
- 問題文の流れが「直線的で工程ごとに完了判定」を示しているか確認する。
- 直線的な説明に合致するのはウォータフォールモデルなので選ぶ。
選択肢別の誤答解説
-
ア ウォータフォールモデル
正答の説明と同じく、工程を順に進めて各工程で完了判定をする方式です。要件定義→システム設計→詳細設計→プログラミングといった固定された順序が特徴です。 -
イ スパイラルモデル(Spiral model:反復的に進め、毎回リスク評価と計画を行うモデル)
スパイラルは「繰り返し」を伴うモデルです。問題文のように「最後に一度だけプログラミングに着手する」という直線的説明とは異なり、幾度も設計・実装・評価を繰り返します。したがって不適切です。 -
ウ 段階的モデル(Incremental model:機能を分割し、段階的に実装・納入するモデル)
段階的モデルでは部分ごとにプログラミングやリリースを行うことが多く、問題文の「すべての設計が終わってから最後にプログラミングを行う」という記述とは合いません。 -
エ プロトタイピングモデル(Prototyping model:試作品を早く作り、利用者の意見を得て要件を確定するモデル)
プロトタイピングは早期に動くものを作ってフィードバックを得る手法です。問題文の「設計を順に完了判定してからプログラミングを行う」とは逆のアプローチなので不正解です。
よくある誤解
- 「ウォータフォールは絶対に変更できない」と考える誤解
ウォータフォールは基本的に順序を重視しますが、変更が全くできないわけではありません。変更すると手戻り(前工程に戻る)コストが大きくなる点が重要です。 - 「段階的モデル=ウォータフォールの別名」と混同する誤解
両者は工程の進め方が違います。段階的モデルは機能を分割して段階的に作るため、早い段階でプログラミングや提供が始まることが多いです。 - 「スパイラル=プロトタイピング」と考える誤解
どちらも反復や試作を含みますが、スパイラルはリスク管理を中心に反復を回す設計で、プロトタイピングは主に要件確認のための試作品作成が目的です。
補足コラム
-
ウォータフォールモデルの利点と欠点
利点:計画が立てやすく管理しやすい。ドキュメントが整備されやすい。
欠点:後戻りのコストが高い。要件変更に弱い。顧客が最初に求めたものと完成物がずれるリスクがある。
現場ではウォータフォール単独ではなく、顧客との合意形成を強化したり、一部を反復にしたりする「ハイブリッド」運用がよく使われます。 -
関連用語の簡単まとめ(初出の説明済み)
要件定義:何を作るかを明確にする工程。
システム設計:要件を満たす仕組みを上位レベルで設計する工程。
詳細設計:実際のプログラミングに落とすための詳細な設計を行う工程。
これらを順に行うのがウォータフォールの典型です。
FAQ
Q: ウォータフォールモデルは今でも使われますか?
A: はい。要件が安定していて大規模なドキュメント管理や契約が重要な案件では今も有効です。ただし、変化が激しい開発では反復的な手法(アジャイル等)が好まれることが多いです。
A: はい。要件が安定していて大規模なドキュメント管理や契約が重要な案件では今も有効です。ただし、変化が激しい開発では反復的な手法(アジャイル等)が好まれることが多いです。
Q: 「段階的モデル」はどんな場面で使うのですか?
A: 最小限の機能を早く出して、ユーザーからのフィードバックを得たい場合に向きます。部分ごとに納品や検証を行う場面で使われます。
A: 最小限の機能を早く出して、ユーザーからのフィードバックを得たい場合に向きます。部分ごとに納品や検証を行う場面で使われます。
Q: スパイラルモデルとアジャイルの違いは何ですか?
A: スパイラルは主にリスク評価を反復の中心に据える古典的モデルです。アジャイルはチームの適応性や顧客との頻繁なやり取りを重視する実践的な手法群です。どちらも「反復」を使いますが、目的と運用が異なります。
A: スパイラルは主にリスク評価を反復の中心に据える古典的モデルです。アジャイルはチームの適応性や顧客との頻繁なやり取りを重視する実践的な手法群です。どちらも「反復」を使いますが、目的と運用が異なります。
関連キーワード: ウォータフォールモデル, スパイラルモデル, 段階的モデル, プロトタイピングモデル, 要件定義, システム設計, 詳細設計, プログラミング, 上流工程, 開発工程, インクリメンタルモデル, プロトタイプ, リスク管理

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

