本文へ移動

きのうようけん

機能要件

Functional Requirement

機能要件は、開発するシステムが実現すべき処理や機能を定義したものです。ユーザーの業務を遂行するために必要な入力、計算、データ操作などを指します。

詳しい説明

1. 定義

機能要件とは、開発するシステムがどのような処理を行い、どのような機能を提供すべきかという「システムができること」を定義した要件です。ユーザーの業務を実現するために不可欠な操作、計算、データの保存、帳票出力などがこれに含まれます。

開発プロジェクトの要件定義フェーズにおいて、システムが満たすべき核心的な要求事項であり、システム設計の出発点となります。機能要件が曖昧なまま開発を進めると、最終的にユーザーが意図した業務を処理できないシステムになるリスクがあるため、詳細な洗い出しと合意形成が不可欠です。

2. 仕組みと種類

機能要件は、システムがビジネスプロセスをどう支えるかを記述するものです。例えば、ユーザー入力のバリデーション(妥当性チェック)、検索条件に応じたデータの抽出、計算処理、データの永続化などが含まれます。これらは、ユーザーの業務手順やワークフローを具体化する形でまとめられます。

また、機能要件は大きく「ユーザーインターフェースに関する機能」「データ操作に関する機能」「外部システムとの連携機能」といったカテゴリに分類できます。これらを分解していくと、画面ごとの入力項目、帳票のレイアウト、処理のフローチャートといった詳細仕様に落とし込まれます。

3. 試験ごとの視点

ITパスポート試験では、システム開発における要求事項の一部として登場します。「システムで何をするか」という観点から、業務フローをシステム化するために必要な機能の洗い出しが重要であると理解しておく必要があります。非機能要件(性能や安全性)との区別が頻出です。

基本情報技術者試験では、要求分析や設計工程においてより詳細に問われます。要件定義書の内容を読み解き、機能要件と非機能要件を分類する問題や、機能要件に基づいたテストケース(機能テスト)の作成方法などが実務に即した形で問われます。

4. 紛らわしい語との違い

非機能要件は、機能要件の対となる重要な概念です。非機能要件は「システムがどうあるべきか」という品質や性能に関する要件であり、処理速度、可用性、セキュリティ、運用性などが含まれます。機能要件が「何ができるか」であるのに対し、非機能要件は「どの程度うまくできるか」という品質の側面です。

また、要件定義という言葉は、機能要件と非機能要件の双方を決定するプロセス全体を指します。機能要件を定義することが要件定義のすべてではなく、性能要件やセキュリティ要件を含めた全体像を設計することが、成功するシステム開発の条件です。

5. 身近な例

ネット銀行のシステムを例にすると、機能要件は「残高照会機能」「振込処理機能」「パスワード変更機能」などです。ユーザーが銀行サービスを利用するために絶対に必要となる操作がこれに該当します。

これに対し、非機能要件は「アクセス集中時でも1秒以内に応答すること」「24時間365日停止しないこと」「強固な暗号化通信を行うこと」といった、システムの品質に関わる要素です。機能が揃っていても、これら非機能要件が満たされていないと、安心して使えるシステムにはなりません。

試験で問われること

ITパスポート試験

  • システムがどのような処理を行うかという要求。
  • ユーザーの業務を実現するために必要な機能。
  • 非機能要件(性能や品質)との違い。

基本情報技術者試験

  • 機能要件と非機能要件の分類と定義の違い。
  • 要件定義工程での役割と重要性。
  • 機能要件に基づくテスト設計の基礎。