ソフトウェア開発モデルに関して、応用情報技術者試験シラバスには以下とあります。
① ソフトウェア開発モデル
ソフトウェア開発の効率化や品質向上のために用いられるソフトウェア開発モデルの考え方,必要性を理解し,ソフトウェア開発モデルの特徴を理解する。

用語例 ウォータフォールモデル,スパイラルモデル,プロトタイピングモデル,RAD(Rapid Application Development),アジャイル,DevOps,ソフトウェアプロダクトライン,繰返し型モデル,段階的モデル(Incremental Model),進展的モデル(Evolutionary Model)
たくさんの開発手法がある。

ウォーターフォールモデル
水(ウォーター)が上流から下流に流れる(フォール)ように上流工程(要件定義)~下流工程(テスト)までを行う。
・過去問では、ウォーターフォールモデルの特徴として「システムの開発全体を幾つかの工程に分割し、各工程の終了を確認してから次の工程へと進む(H18AM問13)」と述べられている。
・具体的な工程とは、過去問(H29春FE午後)では、「開発は,ウォータフォールモデルに基づいて,外部設計,内部設計,プログラム開発(単体テストを含む),結合テスト及び総合テストの五つの工程に分ける」とある。

過去問(H28春FE問56)では、「ウォータフォール型のソフトウェア開発において,運用テストで発見された誤りの修復に要するコストに関する記述として,「外部設計及び内部設計の誤りは,プログラムだけでなく,マニュアルなどにも影響を与えるので,コーディングの誤りに比べて修復コストは高い」とあります。

◆プロトタイプ
・試作品(プロトタイプ)を作る。
・過去問(H27春IP問32不正解選択肢)では、プロトタイピングモデルに関して、「システム開発の早い段階で試作品を作成し,利用者の意見を取り入れながら要求や仕様を確定する手法である。」と述べられています。
・午後2試験H10問2を参考にまとめると以下になります。
1.プロトタイプとは
・手法としてはプロトタイピング。試作品そのものはプロトタイプ。
・開発すべき機能を”早期に”実証することで、ユーザニーズに合致したシステムをより効率的に開発する。
・エンドユーザが評価するためのプロトタイプもあれば、開発者による検証のためのプロトタイプもある。
・評価後に使い捨てにされる場合や、そのまま最終システムの骨格として使われる場合もある。
・机上のレビューでも問題ないと思うが、ユーザインターフェース(特に操作性)に関してはプロトタイプが有効だと思う。
2.プロトタイピングの効果
1)ユーザニーズの正確な把握
開発の初期工程で、ユーザニーズの確認がより正確にできるので、後工程でのシステム設計の仕様変更が減少する。
2)機能・性能・操作性の検証(こっちが主かな)
これらを事前に検証できるため、開発リスクの低減に役立つ。
開発してから、「使いにくい」というクレームになる。
※紙に比べて臨場感があり、ユーザの満足感、一体感が生まれる
3.デメリット
・余分な費用、期間を要する場合がある。活用にあたっては目的や検証課題を明確にする。

◆スパイラルモデル
・Boehmが提唱
・システムを管理しやすいサブシステムに分け、サブシステム毎にウォータフォールモデルを採用すると考えている。こうすれば、開発規模を最小限にして開発するため、リスクが最小化される。開発するサブシステムを順次増やしていけば、リスクを抑えながら開発を規模を拡大できる。
・スパイラル(螺旋)の言葉通り、ウォーターフォールモデルを何度も繰り返す。
・過去問では、スパイラルモデルの特徴として「一連の開発工程を何度も繰り返しながら開発機能の規模を拡大し、開発コストの増加などのリスクを最小化する(H18AM問13)」「サブシステムごとに開発プロセスを繰り返し,利用者の要求に対応しながら改良していく手法である。(H27春IP問32不正解選択肢)」と述べられている。

◆成長モデル
・原型を早期に開発し、その後、”成長”させる。
・プロトタイプと似ているが、プロトタイプは試作品であるが、完成品を早期に作る点が違う。

クリーンルームモデル
品質保証に重点を置く

アジャイルagile)開発
こちらに記載
http://sm.seeeko.com/archives/65908985.html

おまけ
◆RAD(Rapid Application Dvelopment)
・開発期間を短縮する方法
・プロトタイピングやCASEツールなどを活用する。
・H17共通13「ライフサイクルの無期限な繰り返しを防ぐため、タイムボックスと呼ばれる一定の開発期間を設定する」