これから導入するシステムに対して、システムの要求を洗い出し分析することを要求分析という。
要求分析では、ユーザーニーズの調査、前提条件・制約条件の整理などを行い、ステークホルダ(利害関係者)から提示されたユーザーニーズや要望を識別し、要求仕様書にまとめる。
そして、要求分析の結果から、システム要件を明確にまとめ定義することを要件定義という。
コンテンツ
要件定義
要件定義は、機能要件、非機能要件と大きく二つに分けられる。
機能要件は、主に業務に関する要件を実現するために必要な機能のことを指す。
主に、画面や帳票作成機能、自動処理などのバッチ機能などが機能要件として挙げられる。
要件定義の手法
DFD(データフローダイアグラム)を用いてデータの流れをビジュアル化する構造化分析手法や、エンティティベースのE-R図を記述してデータの全体像を把握するデータ中心分析手法、UML(統一モデリング言語)を利用するオブジェクト指向分析手法など、要件定義には様々な手法が用意されている。
利害関係者への要件の確認
利害関係者はステークホルダと呼ばれるが、要件定義を行う者は定義された要件の実現可能性を検討した上で、ステークホルダに合意と承認を得る必要がある。
非機能要件
要件定義には機能要件と非機能要件に大別されると先述した。
非機能要件は機能要件以外の要件を指し、顧客の意識に上がりづらいことが多いため、システム納品後など後々トラブルの原因になりがちだ。
非機能要件には次の6つのカテゴリに分けられる。
- 可用性
- 性能、拡張性
- 運用、保守性
- 移行性
- セキュリティ
- システム環境、エコロジー
例えば「運用、保守性」では、データのバックアップやシステムのサポート体制などが、また「セキュリティ」ではログインなどの認証機能や、データの暗号化などが非機能要件として挙げられる。
要件定義の際には、システムの機能面だけでなく、これらの非機能要件も十分に踏まえた上で検討し、次のステップ「システムの調達」にあたらなければならない。