---
title: "ウォーターフォールモデルとは？工程を順番に進める開発手法【基本情報技術者試験】"
description: "ウォーターフォールモデルを「要求定義・設計・実装・テストを上流から下流へ順番に進める開発手法」として整理し、開発工程を反復するスパイラルモデルや、試作品で要求を確認するプロトタイピングモデルとの違いをFE試験向けに解説します。"
last_modified_at: "2026-07-25"
canonical_url: "https://stemtazoo.github.io/fe/waterfall-model/"
section: "fe"
---

## まず結論

ウォーターフォールモデルとは、**要求定義、設計、実装、テストなどの工程を、上流から下流へ順番に進める開発手法**です。

基本情報技術者試験では、次の表現が判断の手掛かりになります。

```text
前の工程を完了してから次へ進む
工程ごとに成果物を確認する
上流から下流へ順番に開発する
```

「繰り返す」「試作品を見せる」といった説明が中心なら、別の開発モデルを疑います。

## 直感的な説明

ウォーターフォールは、滝の水が上から下へ流れるように、工程を順番に進めるイメージです。

```text
要求定義
↓
外部設計
↓
内部設計
↓
実装
↓
テスト
↓
運用
```

例えば、要求定義で「何を作るか」を決め、その内容を基に設計し、設計書を基にプログラムを作ります。

各工程の成果物を確認してから次へ進むため、計画や進捗を管理しやすい一方、後になって大きな要求変更が見つかると、前の工程まで戻る影響が大きくなります。

## 定義・仕組み

ウォーターフォールモデルでは、開発工程を明確に分け、前の工程で作成した成果物を次の工程へ引き渡します。

| 工程 | 主な内容 | 主な成果物の例 |
|---|---|---|
| 要求定義 | 利用者が必要とする機能や条件を整理する | 要求仕様書 |
| 設計 | システムの構造や画面、処理方法を決める | 設計書 |
| 実装 | 設計に基づいてプログラムを作成する | ソースコード |
| テスト | 要求や設計どおりに動くか確認する | テスト結果 |
| 運用・保守 | 稼働後の監視や修正を行う | 運用記録、変更記録 |

計画を立てやすく、工程や責任範囲を明確にしやすい点が特徴です。

一方で、要求が曖昧なまま後工程へ進むと、実装やテストの段階で大きな手戻りが発生することがあります。

### 代表的な開発モデルの比較

| 開発モデル | 中心となる考え方 | 問題文の手掛かり |
|---|---|---|
| ウォーターフォールモデル | 工程を上流から下流へ順番に進める | 前工程を完了、成果物を承認、順次進行 |
| スパイラルモデル | 一連の開発工程を部分ごとに繰り返す | 要求分析から実装までを反復、段階的に開発 |
| プロトタイピングモデル | 試作品を使って要求を確認する | 試作品、利用者に提示、要求の明確化 |

開発工程を繰り返すモデルとの違いは、[スパイラルモデルとは？プロトタイピングとの違いを切り分ける](https://stemtazoo.github.io/fe/spiral-model/)で確認できます。

試作品を使うモデルとの違いは、[プロトタイピングモデルとは？スパイラルモデルとの違い](https://stemtazoo.github.io/fe/prototyping-model/)もあわせて確認してください。

このテーマは、基本情報技術者試験の「システム開発技術」と関係する内容です。公式の出題範囲やシラバスは、[IPA：基本情報技術者試験](https://www.ipa.go.jp/shiken/kubun/fe.html) から確認できます。

## 科目Aでどう出る？

科目Aでは、開発モデルの特徴を示した説明文から名称を選ぶ問題として出題されます。

次の表現があれば、ウォーターフォールモデルを疑います。

- 開発工程を順番に進める
- 前の工程を完了してから次へ進む
- 工程ごとに文書や成果物を承認する
- 計画や進捗を管理しやすい
- 後工程での変更は手戻りが大きくなりやすい

一方で、次の表現は別のモデルの手掛かりです。

```text
要求分析・設計・実装・評価を繰り返す
→ スパイラルモデル

試作品を利用者に見せて要求を確認する
→ プロトタイピングモデル
```

また、ウォーターフォールモデルについて「絶対に前工程へ戻らない」と断定する選択肢には注意が必要です。

基本は順番に進めますが、誤りや変更が見つかれば、実務では前工程の成果物を修正することがあります。

## どんな場面で使う？


例えば、次のような説明があるとします。

```text
要求仕様書の承認後に設計を開始し、
設計書の承認後にプログラム作成へ進む。
```

これは、工程ごとの成果物を確認しながら順番に進めているため、ウォーターフォールモデルに近い流れです。

問題文では、次の点を確認すると読みやすくなります。

```text
現在はどの工程か
前工程の成果物は何か
変更によってどの工程まで影響するか
```

要求変更が発生した場合は、設計書、プログラム、テスト項目など、後続工程への影響を順番に追うことが大切です。

## よくある誤解・混同

| 誤解 | 正しい理解 |
|---|---|
| ウォーターフォールでは絶対に前工程へ戻れない | 原則は順番に進むが、必要なら前工程の成果物も修正する |
| 工程を繰り返すのがウォーターフォール | 開発工程を部分ごとに繰り返すのはスパイラルモデル |
| 試作品を利用者に見せるのがウォーターフォール | 試作品で要求を確認するのはプロトタイピングモデル |
| 古い手法なので現在は使われない | 要求が安定し、工程や成果物を管理しやすい案件では利用される |
| 設計後は要求変更の影響が小さい | 後工程ほど手戻りの影響が大きくなりやすい |

最も重要な切り分けは次のとおりです。

```text
工程を順番に進める
→ ウォーターフォール

開発工程全体を反復する
→ スパイラル

試作品で要求を確認する
→ プロトタイピング
```

## まとめ（試験直前用）

- ウォーターフォールモデルは、工程を上流から下流へ順番に進める
- 前工程の成果物を確認してから次の工程へ進む
- 計画や進捗を管理しやすい一方、後工程での変更は手戻りが大きくなりやすい
- 「絶対に前工程へ戻れない」と断定しない
- 開発工程を反復するのはスパイラル、試作品で要求確認するのはプロトタイピング
