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