要件定義
ようけんていぎ
ひとことで言うと
システム開発の最上流工程で、利用者の要求をもとにシステムの機能・性能・制約を定義するプロセス。
解説
システム開発の最上流工程で、利用者の要求を分析し、システムに必要な機能や性能、制約条件を明確に定義するプロセス。機能要件(システムが実現すべき機能)と非機能要件(性能、信頼性、セキュリティなど)を文書化する。この工程の品質がプロジェクト全体の成否を大きく左右するため、最も重要な工程の一つとされる。
くわしく解説
要件定義とは、システム開発ライフサイクルの最上流に位置する工程であり、業務上の課題や利用者の要求を分析し、開発するシステムが実現すべき内容を明確に文書化するプロセスである。要件は機能要件と非機能要件に大別される。機能要件はシステムが実現すべき具体的な機能(受注処理・在庫照会など)を指し、非機能要件は性能・信頼性・セキュリティ・拡張性・可用性など品質特性を指す。要件定義の品質はプロジェクト全体のコスト・品質・スケジュールを左右する最重要工程とされる。この工程の成果物は要件定義書であり、ユースケース図やDFD、ER図などのモデリング手法が活用される。ウォーターフォールモデルでは後戻りが困難なため、この工程での手戻りを防ぐことが特に重視される。
具体例で考えよう
小売業者が新たなECサイトを構築する場合、「商品検索機能」「カート機能」などの機能要件と、「同時接続1000人でも3秒以内に応答する」などの非機能要件を洗い出し、文書化する作業が要件定義にあたる。
試験対策ポイント
機能要件と非機能要件の区別が頻出。非機能要件の例(性能・信頼性・セキュリティ)を具体的に答えられるようにする。「最上流工程」であり手戻りコストが最大になる点も重要。