Title:ソフトウェア開発モデル
| ソフトウェアライフサイクル(SLC) | 計画(Plan)、開発(Do)、運用・保守(See) |
| ウォータフォールモデル | 上流から下流へ、比較的大規模なシステム開発 |
| 要求定義、外部設計、内部設計、プログラム設計、プログラミング、テスト | |
| プロトタイプモデル | 試作品の作成、ユーザ部門の参画 |
| スパイラルモデル | 開発範囲を徐々に拡大、アジャイル(スピード優先) |
その他の開発手法
| 成長モデル | エボリューショナルモデル(evolutional model) |
| 核から周辺へ 同じ工程をサイクリックに繰り返す。 | |
| RAD(Rapid Application Development) | 短期(2~3か月)タイムボックスを設定 |
| ラウンドトリップ | オブジェクト指向開発、トライアンドエラー |
開発プロセス
| システム要件定義 | システム化の目的と対象範囲を定め、システムの機能要件や性能要件(レスポンスタイム、スループット)を定義する。 |
| システム方式設計 | 業務効率、作業負荷、作業コストから、システム要件をハードウェア、ソフトウェア、手作業の機能に分割し、システム構成を決定する。 |
| ハードウェア構成、ソフトウェア構成、アプリケーション方式、データべース構成 | |
| ソフトウェア要件定義 | 業務分析には、DFD、E-R図、UMLなどを用いる。 |
| ソフトウェア方式設計 | ソフトウェアコンポーネントに分割し機能、インターフェースを設計。 |
| ソフトウェア詳細設計 | 詳細化し文書化する。 |
V字モデル
| システム要件定義 | システム適格性確認テスト(システムテスト) | |
| システム方式設計 | システム結合テスト | |
| ソフトウェア要件定義 | ソフトウェア適格性確認テスト | |
| ソフトウェア方式設計 | ソフトウェア結合テスト | |
| ソフトウェア詳細設計 | ソフトウェアユニットテスト(単体テスト) | |
| ソフトウェアユニットの作成 |
ソフトウェアの再利用
| リエンジニアリング | 既存ソフト→仕様 | |
| フォワードエンジニアリング | 仕様→新規ソフト | |
| コンカレント開発 | コデザイン | ハード同時設計 |
| コベリフィケーション | シュミュレーション | |
| マッシュアップ | APIの組合せ、単独機能提供サイトの利用 |
ソフトウェアプロセスの評価
| SPA | ソフトウェアプロセスを評価すること |
| CMMI | (Capability Maturity Moel Integration) |
| 能力成熟度モデル統合 | |
| 初期 | |
| 管理 | |
| 定義 | |
| 定量的、管理 | |
| 最適化 |