ソフトウェア開発プロセスを“要件定義”, “システム設計”, “プログラミング”, “テスト”の各工程に区切って, この順に進める手法の長所はどれか。
平成21年度 春期 ITパスポート試験 問38
この問題の解説と、これまでの解答の記録です。
問 38
不正解ア
ウォーターフォールモデルの短所であって長所ではない。前工程を確定させてから次へ進むため、後の工程に入ってから仕様変更が出ると、要件定義や設計まで戻ってやり直す手戻りが発生し、費用も期間も大きく膨らむ。開発工程のどの時点でも柔軟に仕様変更へ対応できるのは、短い開発サイクルを繰り返すアジャイル開発などの特徴である。
- イ
正解 正解は イ。工程を「要件定義 → システム設計 → プログラミング → テスト」と区切り、前の工程を完了させてから次へ進む手法をウォーターフォールモデルという。滝の水が上から下へ流れるように後戻りしないのが特徴で、各工程の終わりに成果物 (要件定義書・設計書・プログラム・テスト報告書など) と完了判定のレビューが置かれる。そのため「今どの工程まで終わっているか」「全体のどれくらいが済んだか」が節目ごとにはっきり分かり、開発の進捗状況を把握しやすい。これがウォーターフォールモデルの代表的な長所であり、大規模開発や計画重視の開発で採用される理由でもある。
不正解ウ
実態と逆である。ウォーターフォールモデルは後戻りを前提としないので、上流工程 (要件定義・システム設計) の誤りを下流で直すと手戻りが甚大になる。そのため上流工程ほど入念にレビューを行い、そこに多くの工数を掛けて品質を作り込む。上流のレビュー工数が少なくて済むという説明は当てはまらない。
不正解エ
ウォーターフォールモデルでは、動くソフトウェアが利用者の目に触れるのはプログラミング・テストが進んだ開発の終盤である。開発の早い時期に利用者が試用できるのは、試作品を作って評価してもらうプロトタイピングモデルや、短い反復ごとに動くソフトウェアを提供するアジャイル開発の長所であり、本問の手法の長所ではない。
- ウォーターフォールモデル = 開発工程を要件定義・システム設計・プログラミング・テストに区切り、後戻りせず順に進める開発手法。工程の区切りと成果物が明確なので、長所は進捗管理・工程管理がしやすいこと、短所は後工程での仕様変更に弱く手戻りの影響が大きいことである。
- 開発モデルは長所と短所を対で覚える。ウォーターフォール = 進捗が見えやすいが変更に弱い、プロトタイピング = 試作品で早期に利用者の評価を得られる、アジャイル = 短い反復で変更に柔軟に対応でき早期から動くソフトウェアを提供できる。