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) |
能力成熟度モデル統合 | |
初期 | |
管理 | |
定義 | |
定量的、管理 | |
最適化 |