これから導入するシステムに対して、システムの要求を洗い出し分析することを要求分析という。

要求分析では、ユーザーニーズの調査、前提条件・制約条件の整理などを行い、ステークホルダ(利害関係者)から提示されたユーザーニーズや要望を識別し、要求仕様書にまとめる。

そして、要求分析の結果から、システム要件を明確にまとめ定義することを要件定義という。

要件定義

要件定義は、機能要件非機能要件と大きく二つに分けられる。

機能要件は、主に業務に関する要件を実現するために必要な機能のことを指す。

主に、画面や帳票作成機能、自動処理などのバッチ機能などが機能要件として挙げられる。

要件定義の手法

DFD(データフローダイアグラム)を用いてデータの流れをビジュアル化する構造化分析手法や、エンティティベースのE-R図を記述してデータの全体像を把握するデータ中心分析手法、UML(統一モデリング言語)を利用するオブジェクト指向分析手法など、要件定義には様々な手法が用意されている。

利害関係者への要件の確認

利害関係者はステークホルダと呼ばれるが、要件定義を行う者は定義された要件の実現可能性を検討した上で、ステークホルダに合意と承認を得る必要がある。

非機能要件

要件定義には機能要件と非機能要件に大別されると先述した。

非機能要件は機能要件以外の要件を指し、顧客の意識に上がりづらいことが多いため、システム納品後など後々トラブルの原因になりがちだ。

非機能要件には次の6つのカテゴリに分けられる。

  • 可用性
  • 性能、拡張性
  • 運用、保守性
  • 移行性
  • セキュリティ
  • システム環境、エコロジー

例えば「運用、保守性」では、データのバックアップやシステムのサポート体制などが、また「セキュリティ」ではログインなどの認証機能や、データの暗号化などが非機能要件として挙げられる。

要件定義の際には、システムの機能面だけでなく、これらの非機能要件も十分に踏まえた上で検討し、次のステップ「システムの調達」にあたらなければならない。