ソフトウェア開発のプロセスモデルのうち、開発サイクルごとにリスクを最小にしながら、開発サイクルを繰り返すことによって、システムの完成度を高めていくプロセスモデルはどれか。
ア インクリメンタルモデル
イ ウォータフォールモデル
ウ スパイラルモデル
エ プロトタイピングモデル
ア インクリメンタルモデルとは、システムを独立性の高いいくつかのサブシステムに分割して、サブシステムごとに順次開発、リリースしていくプロセスモデルです。サブシステムの開発が並列進行する点が、スパイラルモデルと異なります。
イ ウォータフォールモデルとは、開発工程を基本計画、外部設計、内部設計、プログラム設計、プログラミング、テストの順に開発を進めていくプロセスモデルです。大規模なシステム開発に向いています。
滝(ウォータフォール)の流れのように、上流から下流まで後戻りせず進行するのでウォータフォールモデルと呼ばれています。後戻りすればシステムの開発効率が著しく低下します。ウォータフォールモデルでは、開発全体を見通しやすいので、スケジュールの決定や資源配分を容易にできるメリットがあります。しかし、工程の後戻りが困難なために、仕様変更に柔軟に対応できないデメリットもあります。
ウ スパイラルモデルとは、独立性の高い部分ごとに、設計、プログラミング、テストを繰り返しながらシステムの完成度を高めていくプロセスモデルです。
開発サイクルがらせん状になることからスパイラルモデルと呼ばれています。大規模なシステムや未経験分野のシステム開発に有効です。スパイラルモデルでは、開発サイクルごとにコストや品質などからリスクを評価し、リスクが最小となるプロセスをとります。
エ プロトタイピングモデルとは、開発の初期段階で試作品(プロトタイプ)を作り、ユーザに評価してもらいながら開発を進めていくプロセスモデルです。小規模なシステム開発に向いています。
評価と開発が同時に行われますので、仕様変更による後戻りのリスクを防げます。しかし、ユーザが納得するまで次の段階に進めない欠点もあります。
解答は「ウ」になります。
ウォータフォールモデル、スパイラルモデル、プロトタイピングモデルは概要と長所、短所を覚えましょう。インクリメンタルモデルは今までに出題されたことはありませんので、余裕があれば覚えてください。

