設計 : ウォーターフォールモデル擁護

[id:lethevert:20060505:p2](コメント欄含む)の続き。
おそらく、最も批判の対象とされる開発手法のひとつだと思いますが、ソフトウェア設計のことを考える上では、非常に重要な概念を多く含んでいるものだと思います。
ソフトウェアの開発サイクルを『「要求分析・要件定義」「設計」「プログラミング」「テスト」「運用」』などのフェーズに分ける。設計工程を『「外部設計」「内部設計」「詳細設計」』に細分化する。テストの重視。テスト工程が細かいレベルのテストから統合的なテストに段階的に(「単体テスト」「結合テスト」「システムテスト」「運用テスト」)進み、それが「要件定義」「外部設計」「内部設計」「詳細設計」の各段階に対応付けられる。開発工程が基本的に「サイクル」であり、無節操な後戻りを許さないことで品質管理を可能にする。各段階ごとに成果を文書化し、レビューを行う。
思いつくままに挙げても、ソフトウェア設計・開発の重要な基礎概念ばかりです。ウォーターフォールモデルでこれらの重要概念の整理がされたことで、その発展として各種の開発・設計モデルが存在するわけで、ウォーターフォールモデルの学習なしに、その他の開発モデルの学習はありえないと思うのです。