ウォータフォールモデル
旧型の開発プロセス
- 分析(要求分析・定義)
- 設計(内部・外部)
- 実装(プログラミング)
- テスト
- 運用・保守
の順番でシステム(ソフトウェア)を開発
順番を守らなければならない。
利点
- 全ての工程が順番通り
- 全体の見通しがつく
- スケジュール、資源配分が計画通りにいく
- 工程が理解しやすい
- 大規模のシステム開発に向いている
欠点
- 開発工程の初期段階で要求仕様の確定は難
- UIの要求はシステムが完成してからじゃないと確立できない
トップダウン開発方式、段階的詳細化技法
プロトタイプモデル
- 要求分析
- とりあえずプロトタイプ(試作)を作る
- ユーザに使ってもらって、フィードバックを得る(評価)
- 設計
- プログラミング
- テスト
- 運用・保守
比較的小規模
利点
- 早い段階でユーザの要求を把握できる
- 開発期間、開発コストを小さくできる
- ユーザからの積極的な協力
欠点
- 開発スケジュールの調整が難
現代的開発プロセスの基本形
反復型(iterative)
- 各イテレーションごとにシステムの完成度を高めていく
- 明確なモジュール分割なし
- 管理しにくい
例: ver1 -> ver2 -> ver3 -> ...
漸近型(incremental)
- 各イテレーションごとに明確に分割されたモジュール単位で開発
- 明確なモジュール分割
- 管理しやすい
スパイラルモデル
ウォータフォールとプロトタイプの利点を抽出
反復型+漸近型
- 要求定義
- 要求分析
- 設計
- 実装・テスト
- 評価・計画(2へ戻る)
- 保守
アジャイル開発プロセス
スパイラル型プロセスの亜種
- 極小のイテレーション
- 堅実な小規模リリースと変更への俊敏な対応
- 開発者間のface-to-faceでの意思疎通を重視
ICONIX(アイコニクス)
- ユースケース中心に実装まで行う
軽量オブジェクト指向開発プロセス- わかりやすい
- 属人性が低い(と考えられる)