平成29年度 秋期 ITパスポート試験 公開問題 問19 解説 要件定義プロセスの内容
ソフトウェアライフサイクルの主プロセスを, 企画, 要件定義, 開発, 運用, 保守に分けたとき, 要件定義プロセスで実施する作業として, 適切なものはどれか。
- ア. 開発されたシステムが決められた仕様に合っており, 実際の稼働環境で利用可能であることを確認するためのテストを行う。
- イ. システム開発の外部委託の内容と条件を委託先に提示し, 具体的な実施内容と費用見積りを入手する。
- ウ. ソフトウェアの開発作業が実施できるように, システム内で使用する各種データの書式やデータベースの構造を詳細に決定する。
- エ. どのようなシステムを構築するかを, 機能, 性能, 利用方法などの観点で, 利用者側と開発者側で明確にする。 ✓ 正答
解説
要件定義プロセスとは、システムに求められる機能や性能を利用者と開発者が合意する工程です。選択肢の中から、「何を(機能)」「どのくらい(性能)」「どう使うか(利用方法)」という、システム開発の設計図を作るための土台作りを行っているものを選べば正解にたどり着けます。
要件定義は、システム開発における最上流工程に位置します。この段階で、利用者側の「こういうことがしたい」という要望を整理し、開発側が「それならこの技術で実現可能です」と合意することで、後工程での認識のズレを防ぎます。もし要件定義が曖昧なまま開発に進んでしまうと、完成したシステムが利用者の期待と異なっていたり、予算や納期を大幅に超えてしまったりする原因となります。
今回の問題の選択肢を、ライフサイクルのプロセスごとに整理してみましょう。
アのテスト作業は、開発プロセスの最後に行う「運用テスト」や「受入れテスト」に該当します。システムが完成した後の作業であるため、要件定義ではありません。
イの外部委託の内容提示や見積り依頼は、システム化計画や調達プロセスの活動です。開発を始める前の準備段階、あるいは発注に向けた契約準備の段階にあたります。
ウのデータベースの構造や詳細な書式の決定は、「開発プロセス」に含まれる「外部設計(基本設計)」や「内部設計(詳細設計)」の工程で行う作業です。要件定義で決めた「何をするか」という方針を、「どう実現するか」という具体的な仕様に落とし込む作業となります。
エが正解である理由は、まさに要件定義の目的である「利用者の要求」と「実現可能な仕様」のすり合わせを定義しているからです。試験では、要件定義=「やりたいことの合意」、設計=「具体的な作り方の決定」、テスト=「正しく動くかの確認」という分類を意識しておくと、迷わずに解答できます。
この知識は、実務においても非常に重要です。システム開発の失敗事例の多くは、この要件定義での認識不一致に端を発します。試験問題としても、各工程で「誰が」「何のために」「何を決めるのか」というポイントが頻繁に問われるため、ライフサイクルの流れを順序立てて把握しておくことが合格への近道です。