平成28年度 秋期 ITパスポート試験 公開問題 問46 解説 開発モデル
ソフトウェア開発モデルには,ウォータフォールモデル,スパイラルモデル,プ ロトタイピングモデル,RADなどがある。ウォータフォールモデルの特徴の説明と して,最も適切なものはどれか。
- ア 開発工程ごとの実施すべき作業が全て完了してから次の工程に進む。 ✓ 正答
- イ 開発する機能を分割し,開発ツールや部品などを利用して,分割した機能ごと に効率よく迅速に開発を進める。
- ウ システム開発の早い段階で,目に見える形で要求を利用者が確認できるように 試作品を作成する。
- エ システムの機能を分割し,利用者からのフィードバックに対応するように,分 割した機能ごとに設計や開発を繰り返しながらシステムを徐々に完成させていく。
解説
この問題は、ソフトウェア開発における代表的なモデルの一つであるウォータフォールモデルの特徴を問うものです。開発モデルに関する知識は、ITパスポート試験で頻繁に出題される重要なテーマです。
解き方
選択肢アが、ウォータフォールモデルの最も基本的な特徴を正確に説明しています。 ウォータフォールモデルは、システム開発の工程を「要件定義」「設計」「開発」「テスト」「運用」のように順序立てて進め、各工程での作業が完全に完了するまで次の工程には進まないという考え方をします。まるで滝の水が一方向に流れるかのように、一度下流に流れた水は上流には戻らない(後戻りしない)というイメージからこの名前がついています。
他の選択肢は、それぞれ別の開発モデルの特徴を述べています。
- 選択肢イ: 開発する機能を分割し、開発ツールや部品などを利用して、分割した機能ごとに効率よく迅速に開発を進める。 これは**RAD(Rapid Application Development)**のような、迅速な開発を重視するモデルの特徴です。
- 選択肢ウ: システム開発の早い段階で、目に見える形で要求を利用者が確認できるように試作品を作成する。 これはプロトタイピングモデルの特徴です。試作品(プロトタイプ)を作り、利用者のフィードバックを得ながら開発を進めます。
- 選択肢エ: システムの機能を分割し、利用者からのフィードバックに対応するように、分割した機能ごとに設計や開発を繰り返しながらシステムを徐々に完成させていく。 これはスパイラルモデルやアジャイル開発の特徴に近いです。開発を小さなサイクルに分け、反復(イテレーション)を通じて機能を徐々に積み上げていきます。
ウォータフォールモデルとは
ウォータフォールモデルは、ソフトウェア開発における最も伝統的で基本的な開発モデルの一つです。その名の通り、開発工程が上流から下流へ、まるで滝の水が流れるように一方通行に進むのが特徴です。
ウォータフォールモデルの主な工程
一般的なウォータフォールモデルの工程は以下のようになります。
- 要件定義: どのようなシステムを開発するのか、利用者からの要求を明確にする。
- 外部設計(基本設計): 定義された要件をもとに、システムの全体像や外部インターフェース(利用者から見える部分)を設計する。
- 内部設計(詳細設計): 外部設計に基づき、システムの内部構造や各モジュールの機能、データ構造などを詳細に設計する。
- プログラミング(開発): 設計書に基づいて実際にプログラムをコーディングする。
- テスト: 開発されたプログラムが設計通りに動作するか、要件を満たしているかを確認する。単体テスト、結合テスト、システムテスト、受け入れテストなどがある。
- 運用・保守: システムを本番稼働させ、利用者のサポートやシステムの維持管理を行う。
ウォータフォールモデルの特徴とメリット・デメリット
このモデルの最大の特徴は、「各工程が完全に完了しない限り、次の工程に進まない」という点と、「原則として前の工程に戻ることはしない」という点です。
メリット:
- 計画性と管理のしやすさ: 各工程の開始と終了が明確なため、プロジェクトの進捗や品質を管理しやすい。
- 品質の安定性: 上流工程で要件や設計を十分に固めるため、大規模システムや安定性が重視されるシステム開発に適している。
- 文書化の徹底: 各工程で詳細なドキュメントを作成するため、引き継ぎや将来の保守がしやすい。
デメリット:
- 変更への弱さ: 開発途中で要件の変更が発生すると、前工程に戻ることが困難なため、手戻りによるコストや遅延が大きくなる。
- 手戻りの困難さ: 問題が下流工程(テストなど)で発見された場合、原因が上流工程(設計や要件定義)にあると、修正が非常に困難になる。
- 利用者の要求との乖離: システムが完成するまで利用者が実際に触れる機会が少ないため、完成したシステムが利用者の真の要求とずれてしまうリスクがある。
他の開発モデルの重要性
ウォータフォールモデルのデメリットを補うために、様々な開発モデルが考案されてきました。ITパスポート試験では、ウォータフォールモデルだけでなく、選択肢に示されたRAD、プロトタイピングモデル、スパイラルモデル、アジャイル開発といった他の開発モデルについても、それぞれの特徴やメリット・デメリットを理解しておくことが重要です。
システム開発において、どのモデルを選択するかは、プロジェクトの規模、要件の明確さ、予算、期間、リスクなど、多くの要因を考慮して決定されます。それぞれのモデルの特性を理解することは、システム開発プロジェクトを円滑に進め、成功に導くために不可欠な知識です。ITパスポート試験でこれらの知識が問われるのは、ITを活用するビジネスパーソンとして、システム開発の基本的な流れや手法を理解しておく必要があるからです。