要件定義
システム開発で必要な機能や条件を文書化し、関係者で合意する工程です。
用語解説
要件定義とは
要件定義とは、システム開発の初期段階に、利用者がシステムに求めることを明確にし、関係者で合意する工程です。
利用者(ユーザー)や発注者の要望を整理し、開発側が実現できる形の要件にします。
目的
要件定義の目的は、何を作るか、何を作らないかを決め、後続工程で迷いが出ない状態にすることです。
定義が不十分だと、完成後に利用者の期待と合わない、追加開発や手戻りが発生するなどの問題が起きる可能性があります。
要件の種類
要件定義では、主に次を整理します。
-
業務要件
現状業務の課題、業務の流れ、実現したい業務改善などです。
-
機能要件
画面、入力、処理、出力、検索、帳票、外部連携など、システムが何をできるようにするかです。
-
非機能要件
性能、可用性、信頼性、セキュリティ、運用、保守、移行、拡張性など、どの程度の品質や条件で動くかです。
-
制約条件
予算、納期、使用する製品やOS、法令・規程、既存システムとの整合など、守るべき前提条件です。
成果物の例
試験では、成果物名の暗記より、要件定義で何を決めるかが問われやすいです。
-
要件定義書
-
機能一覧、画面一覧、帳票一覧
-
データ項目定義のたたき台
-
外部システムとの連携方式の概要
-
非機能要件の一覧(例、同時利用者数、応答時間、ログ保存期間など)
設計との違い
要件定義は必要なことを決める工程で、設計は実現方法を決める工程です。
| 区分 | 主な内容 | 例 |
|---|---|---|
| 要件定義 | 何を実現するか | 受注登録、在庫引当、権限管理が必要です。 |
| 設計 | どう実現するか | DBのテーブル構造、画面レイアウト、API仕様を決めます。 |
理解のポイント
- 要件定義は、後工程(設計、実装、テスト)の判断材料になる工程です。
- 機能要件と非機能要件の両方を整理することが重要です。
-
要件定義は開発者だけでは完結せず、利用者や発注者が内容確認と合意に関与するのが原則です。
- 制約条件(予算、納期、環境)も要件として扱われます。
発展知識
関連用語
| 用語 | 概要 |
|---|---|
| 機能要件 | システムが実現すべき具体的な機能や動作を定めた要件です。 |
| 非機能要件 | 性能、信頼性、セキュリティなど機能以外の条件を定めた要件です。 |
| RFP(提案依頼書) | 発注者がベンダーに対して要求事項を提示する文書です。 |
| ウォーターフォールモデル | 要件定義から順に工程を進める開発手法です。 |
| アジャイル開発 | 短い反復で開発し、要件変更に対応しやすい開発手法です。 |
| 共通フレーム(SLCP) | 開発工程の作業内容を標準化した枠組みです。 |
| 外部設計(基本設計) | 要件定義をもとに、画面、帳票、外部仕様を設計する工程です。 |
| ステークホルダー | システムの開発や利用に関わる関係者のことです。 |
※本解説は生成AIによる学習支援用の参考情報です。内容の正確性や最新性は保証されません。生成された回答を再確認するようにしてください。