ソフトウェア開発モデル
ソフトウェア開発モデルとは、開発工程の作業内容やその手順を標準化したものである。代表的な開発モデルには、ウォーターフォール・モデル、プロトタイプモデル、スパイラルモデルがある。
過去問題 |
ウォーターフォール・モデル
プロジェクト全体をいくつかの工程に分割し、各工程での成果物(仕様書や設計書などのドキュメント)を明確に定義し、その成果物に基づいて後工程の作業を順次行っていく開発モデルである。
利点
- 基本計画、外部設計、内部設計、プログラム設計・・・の順に作業を進めていくので、全体を見通すことができ、スケジュールの決定や資源配布が容易
- 開発作業の一貫性が保障される。
欠点
- ユーザ要求の変化への対応がしにくい
- 下流工程で生じた不都合を修正するための工数が大きくなる
プロトタイプモデル
システム開発の初期の段階(プログラム設計以前の段階)で、そのシステムの機能の一部やユーザインタフェースなどを試作し、エンドユーザや設計担当者がこれを吟味、評価する開発モデルである。
利点
- 設計者がきづかなかったミスなどが早急に発見でき、より良いシステムが構築可能
- 要求仕様の漏れやエンドユーザの潜在ニーズを早期に確認できる。
- ユーザ部門のシステム開発への参加意識が高まる
欠点
- ユーザ部門と開発部門との間で意見の食い違いが生じると調整に手間がかかる。
- ユーザ部門と開発部門とのスケジュール調整に時間を要する。
スパイラルモデル
ウォータフォールモデルとプロトタイプモデルの両方の手法を取り入れたモデルである。
開発の初期段階で独立性の高い部分単位に分けられる場合に、その部分単位ごとに、設計、プログラミング、テストを、順次繰り返していく開発モデルである。
利点
- 同時に開発するシステム規模を抑えることができ、結果的に開発要員の人数削減ができる
- 部分ごとにユーザによる評価・確認を行ないながら進めるため、最終段階での調整がしやすい
欠点
- 大規模なシステムの場合でも、互いの独立性の高い部分に分割できない場合には適用できない。