11-2 ウォータフォールモデルの開発工程

開発工程の流れ

(1)基本計画

 要件定義書に基づき、プログラムの設計を行います。基本設計では主に画面やイメージなど外部から見える部分を、詳細設計では実際にプログラムが動く内容など内部動作を設計していきます。

(2)外部設計

  利用者から見た設計です。利用者がわかりやすいようなレイアウトを提示することです。(開発者ではなくてもわかりやすい)
 主な作業として、システムに必要な機能を洗い出し、関連性の強いものをまとめ、これを元にシステム全体をサビシステムに分割して定義します。
・論理データ設計 〜 システムに記録するための要素を洗い出し、その属性(数字型/文字型など)や桁数を決定する。
・入出力設計 〜 システムに必要な画面および報告書のレイアウトを設計する。
・コード設計 〜 データを識別するためのコードを設計する。

(3)内部設計

 開発者から見た設計です。(開発者の立場で考えたものです。)サブシステムを機能分割し詳細化を行います。
・物理データ設計 〜 外部設計で行った論理データ設計の結果を受けて、具体的なファイル編成やレコードレイアウトなどの設計を行う。
・入出力詳細設計 〜 外部設計で行った画面および報告書の設計を受けて、それらの詳細な設計を行う。

(4)プログラム設計

 プログラムに必要な機能を洗い出し、それらをモジュールとして定義して、モジュール分割を行います。
 モジュールはシステムを構成する最小単位で、ソフトウェアの部品に相当します。プログラム設計では、各モジュールの処理内容やデータ形式を形式的に記述します。また、モジュール間のデータのやり取りを明確化するためにモジュール間インターフェイスを定義します。またモジュール間の関係を表すモジュール間の関係を表すモジュール階層図を作成します。

(5)プログラミング

 プログラム設計で定義されたモジュールの内容を具体的に設計します。
 具体的には、モジュール内部の論理的な構造(ロジック)を決定し、流れ図や擬似言語などを用いて記述します。内部構造を明らかにしたのち、テストに必要なテスト項目やテストデータを設計します。次に実際のプログラミング言語を用いてコーディングを行います。

(6)テスト
 設計工程では、システムをモジュールにまで分割し、段階的に詳細化を行います。これとは逆に、テスト工程ではモジュールを結合しながらシステムまで組み上げる段階でその動作や機能をテストします。

 単体テスト → 結合テスト → システムテスト → 運用テスト