ITパスポート 2009年 春期 問38
問題文
ソフトウェア開発プロセスを“要件定義”、 “システム設計”、 “プログラミング”、 “テスト”の各工程に区切って、この順に進める手法の長所はどれか。
選択肢
ア:開発工程のどの時点でも、ソフトウェアの仕様変更に柔軟に対応できる。
イ:開発の進捗状況の把握が容易である。(正解)
ウ:上流工程におけるレビューの工数が少なくて済む。
エ:利用者が、開発の早い時期にソフトウェアを試用できる。
🔒 解説は解答すると表示されます
ソフトウェア開発プロセスを工程に区切って順に進める手法の長所【ITパスポート 解説】
正解の理由
ソフトウェアを「要件定義 → システム設計 → プログラミング → テスト」の順に進める手法は、一般に「ウォーターフォールモデル(逐次的に工程を進める手法)」と呼ばれます。各工程が順番に完了していくため、どの工程まで終わっているか、どこで止まっているかが明確になります。したがって、進捗(仕事の進み具合)の把握が容易になる点がこの手法の長所です。これが選択肢の イ が正しい理由です。
※ 用語補足:
- ウォーターフォールモデル:設計図を順に実行するように、工程を一方向に進める開発手法。
- 進捗(しんちょく):仕事や作業がどれだけ進んでいるかの状態。
解法ステップ
- 問題の手法がどの開発モデルを指すかを考える(「順に進める」=ウォーターフォールを想起)。
- ウォーターフォールの特性を短く思い出す(順序が固定、工程ごとに完了基準がある)。
- 各選択肢をウォーターフォールの特性と照らし合わせる。
- 柔軟性が高いか?(いいえ、ウォーターフォールは変更に弱い)
- 進捗把握は容易か?(はい、明確な工程区切りで把握しやすい)
- 上流レビューが少ないか?(いいえ、むしろ計画や設計のレビューは重要で工数がかかる)
- 利用者が早期に試用できるか?(いいえ、完成に近い段階まで試用は難しい)
- 最も当てはまる選択肢を選ぶ(イ)。
選択肢別の誤答解説
-
ア: 「どの時点でも仕様変更に柔軟に対応できる」
誤り。ウォーターフォールは各工程が固まってから次に進むため、後半での仕様変更は手戻り(前工程に戻ってやり直すこと)が大きく、柔軟性は低いです。仕様変更に強いのはアジャイル(Agile:反復的・適応的に開発する手法)です。 -
イ: 「開発の進捗状況の把握が容易である」
正しい。工程が段階的に区切られ、各工程の完了基準が明確なため、進捗管理(どこまで終わったかの管理)がしやすく、スケジュール管理や責任範囲の明確化に向きます。 -
ウ: 「上流工程におけるレビューの工数が少なくて済む」
誤り。むしろ要件定義や設計など上流工程でのレビューや検討をしっかり行う必要があります。上流での不備を放置すると後工程での手戻りコストが高くなるため、ウォーターフォールでは上流レビューが重要で工数も大きくなりがちです。 -
エ: 「利用者が、開発の早い時期にソフトウェアを試用できる」
誤り。ウォーターフォールは設計・実装が一定まで進まないと実物ができないため、利用者による早期の試用(プロトタイプやベータ利用)は難しいです。これもアジャイルやプロトタイピング手法が得意とする点です。
よくある誤解
-
誤解1:ウォーターフォールは「絶対に変更不可」だと思う
実際は変更は可能です。ただし後工程での変更は時間とコストが大きくなるため、変更を避ける設計・管理が前提になります。 -
誤解2:「進捗が分かりやすい=品質も高い」と混同する
進捗把握がしやすくても、要件の曖昧さや設計ミスがあると品質に問題が出ます。進捗管理と品質管理は別の観点です。 -
誤解3:ウォーターフォールはいつでも最良の選択だと思う
要件が安定しているプロジェクトや契約で範囲が固定された案件には向きますが、要件が変わりやすい開発やユーザーのフィードバックを重視する案件には不向きです。
補足コラム
-
いつウォーターフォールを選ぶか?
要件が初めから明確で変更が少ない場合、法規制や契約で仕様が固定されている場合、または大規模で工程を厳密に管理したい場合に向きます。逆に、短い周期で動きを見ながら作る必要がある場合はアジャイルがよく使われます。 -
進捗把握に良く使われる手法・用語
- ガントチャート:作業と期間を横棒で表す図(進捗の見える化に便利)。
- マイルストーン:節目となる重要な工程の完了ポイント。
これらを使えばウォーターフォールの「どこまで進んだか」がさらに分かりやすくなります。
FAQ
Q1: 要件定義、システム設計、プログラミング、テストって何ですか?
A1:
A1:
- 要件定義:利用者が何を求めているかを明確にする工程(例:販売管理で必要な機能一覧を決める)。
- システム設計:その要件を満たすしくみ(設計図)を作る工程。
- プログラミング:設計図に従って実際にソフトを書いて動くようにする工程。
- テスト:作ったソフトが正しく動くか確認する工程。
Q2: ウォーターフォールはもう使われないのですか?
A2: いいえ。今でも要件が安定している案件や、契約・規制上の理由で工程を厳密に管理する必要がある場合には有効です。
A2: いいえ。今でも要件が安定している案件や、契約・規制上の理由で工程を厳密に管理する必要がある場合には有効です。
Q3: 進捗が把握しやすいと何が良いですか?
A3: スケジュール管理がしやすくなり、関係者(発注者・管理者)が今の状況を理解して意思決定しやすくなります。納期やコスト管理が重要なプロジェクトで役立ちます。
A3: スケジュール管理がしやすくなり、関係者(発注者・管理者)が今の状況を理解して意思決定しやすくなります。納期やコスト管理が重要なプロジェクトで役立ちます。
関連キーワード: ウォーターフォールモデル、アジャイル、ソフトウェア開発プロセス、要件定義、システム設計、進捗管理、ガントチャート、マイルストーン、テスト、プログラミング

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

