ウォーターフォールモデルとは(全体像)
ウォーターフォールモデルは、システム開発の進め方のひとつ。作業を段階(工程)に分けて、上流から下流へ順番に進めるのが基本だ。
工程は、おおまかに「要件定義(何を作るか決める)→ 設計(どう作るか決める)→ 実装(実際に作る)→ テスト(確かめる)→ 運用(使う)」という流れ。前の工程を終えてから、次の工程に進む。
名前の由来は「滝(ウォーターフォール)」。滝の水が上から下へ落ちるように、一方向に進み、いったん下に進むと上には戻りにくい——これがこのモデルの大きな特徴だ。
詳しく:後戻りのしにくさとV字モデル
ここが心臓部。まず、ウォーターフォールの長所と短所を表で押さえよう。
ウォーターフォールの特徴
| 内容 | |
|---|---|
| 進め方 | 工程を上から下へ、順番に1つずつ進める |
| 長所 | 計画が立てやすく、大規模で要件が安定した開発に向く |
| 短所 | 後戻りが難しく、途中の変更には弱い(変更の手間が大きい) |
ここで大事なのが、後戻りのしにくさ。前の工程に戻って直すには大きな手間がかかるため、最初の要件定義や設計をしっかり固めることが大切になる。逆に、途中でころころ要件が変わる開発には向きにくい。
そしてもう1つ、V字モデル。これは、ウォーターフォールの開発の工程と、それを確かめるテストの工程を、左右で対応づけて並べた図のこと。たとえば「要件定義」には「システムテスト」、「詳細設計」には「単体テスト」が対応する、という形だ。どのテストで、どの工程の内容を確かめるかがひと目で分かる。
なお、ウォーターフォールは最新の手法というより、昔からある基本の形。変化にすばやく対応するアジャイルと対比して問われることが多い。
わかりやすく言い換えると
身近なたとえで整理しよう。
ウォーターフォールは、「料理を、手順どおり最後まで進める」イメージ。下ごしらえ → 調理 → 盛りつけ、と順番に進め、いったん盛りつけてから下ごしらえに戻るのは大変。要するに、前の工程をしっかり終えてから次に進む、ということだ。
V字モデルは、「作るときの計画」と「確かめるときのチェック」をペアにした表のイメージ。つまり、最初に決めたことを、対応するテストで最後に確かめる、という対応関係だ。
「後戻りが自由」というのは思い込み。実際は後戻りに大きな手間がかかるので、最初をしっかり固めるのが大事、と覚えておこう。
試験のツボ
🔴 一番出る:順番に段階的に進める
①要件定義 → 設計 → 実装 → テスト → 運用の順
②前の工程を終えてから次へ。後戻りが難しい
🔴 次に出る:向き・不向き
①大規模で要件が安定した開発に向く(計画が立てやすい)
②途中で要件が変わる開発には弱い
🟡 押さえると安定:V字モデルとアジャイル
①V字モデル=開発工程とテスト工程を対応づけた図
②変化に強いアジャイルと対比される
よくある間違い
①「ウォーターフォールは、どんなときも自由に前の工程へ後戻りできる」→ ✗ 後戻りは難しく、大きな手間がかかる。だから最初の要件定義や設計を固めるのが大切。
②「ウォーターフォールは、要件が頻繁に変わる開発にいちばん向く」→ ✗ 変化に弱いので、要件が安定した大規模開発に向く。変化が多いならアジャイル向き。
③「V字モデルとは、社員の評価を5段階でつけるしくみのことだ」→ ✗ V字モデルは、開発の工程とテストの工程を対応づけた図のこと。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(進め方)
ウォーターフォールモデルに関する次の記述のうち、最も適切なものはどれか。
- 工程を分けず、すべての作業を同時に始めて一気に仕上げる進め方のことである
- 完成したシステムの不具合を、運用しながら直していく日々の作業のことである
- 社員の出退勤の時刻を記録して、毎月の給与を計算するためのしくみである
- 要件定義から設計・実装・テスト・運用へ、上から順番に進める進め方である
解答は 4 だよ。
ウォーターフォールは、要件定義から設計・実装・テスト・運用へ、上から順番に進める開発の進め方だよ。滝のように上から下へ流れるイメージだね。
選択肢1は「同時に一気に」が誤り、選択肢2は運用中の修正、選択肢3は勤怠と給与で、どれも違うよ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 工程を分けて順番に進める |
| 2 | ✗ | 運用中の不具合修正の話 |
| 3 | ✗ | 勤怠・給与のしくみの話 |
| 4 | ✓ | 上から順番に進める進め方で正しい |
オリジナル問題2(後戻りの特徴)
ウォーターフォールの後戻りに関する次の記述のうち、最も適切なものはどれか。
- 前の工程へは、手間をかけず好きなときに自由に後戻りできるのが特徴である
- 前の工程への後戻りは難しく、変更には大きな手間がかかるのが特徴である
- 後戻りすると、必ず自動でシステムが完成するしくみになっているとされる
- 後戻りという考え方はなく、工程をすべて同時並行で進めるものである
解答は 2 だよ。
ウォーターフォールは、前の工程への後戻りが難しく、変更には大きな手間がかかるのが特徴だよ。だから最初の要件定義や設計を固めるのが大切なんだ。
選択肢1の「自由に後戻り」、選択肢3の「自動で完成」、選択肢4の「同時並行」は、いずれも誤りだよ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 後戻りは難しく手間がかかる |
| 2 | ✓ | 後戻りが難しい特徴で正しい |
| 3 | ✗ | 自動で完成するわけではない |
| 4 | ✗ | 工程は順番に進める |
オリジナル問題3(V字モデル)
V字モデルに関する次の記述のうち、最も適切なものはどれか。
- 開発の工程と、それを確かめるテストの工程を対応づけて並べた図である
- 社員の一年の評価を、5段階の点数でつけるための表のことを指している
- 商品の在庫を毎日数えて、足りない分を発注するためのしくみである
- 紙の書類を倉庫に保管して、必要なときに取り出す作業のことである
解答は 1 だよ。
V字モデルは、開発の工程と、それを確かめるテストの工程を対応づけて並べた図だよ。どのテストで何を確かめるかが分かりやすくなるんだ。
選択肢2は社員の評価、選択肢3は在庫の発注、選択肢4は書類保管で、どれも違うよ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✓ | 開発工程とテスト工程の対応図で正しい |
| 2 | ✗ | 社員評価の表ではない |
| 3 | ✗ | 在庫の発注ではない |
| 4 | ✗ | 書類保管の話 |
まとめ
押さえどころ
- 🔴 進め方 = 要件定義 → 設計 → 実装 → テスト → 運用の順。前を終えてから次へ進み、後戻りが難しい。
- 🔴 向き = 大規模で要件が安定した開発に向く。途中で要件が変わる開発には弱い。
- 🟡 V字モデルとアジャイル = V字は開発工程とテスト工程の対応図。変化に強いアジャイルと対比される。
次に学ぶ
- アジャイル開発 ── 小さく作って確かめるをくり返す、変化に強い進め方。ウォーターフォールとの対比で押さえる。
- スパイラルモデル ── 試作と改良をくり返して、らせん状に完成へ近づける進め方。
執筆: SikakuQuest編集部