機能要件は、システムが何をしなければならないかを説明します:ビジネスオペレーション、プロセス、ユーザーシナリオ—つまり、機能。
非機能要件は、システムがどのように動作しなければならないかを定義します:制限、品質のパラメーター、パフォーマンス、安全性、使いやすさなど。これらの要件は、技術の選択、スケーラビリティ、ソリューションの耐障害性に影響を与えることがよくあります。
なぜ重要なのか:
主な特徴:
「インターフェースの使いやすさ」は機能要件に含まれますか?
いいえ、これは非機能パラメーター(usability)です。機能要件は、たとえば「保存」ボタンの存在であり、非機能要件はその応答速度と使いやすさです。
顧客が明示的に指定しない場合、非機能要件を無視してもよいですか?
いいえ。アナリストは明示的でない非機能要件も議論し、形式化する義務があります。そうしないと、稼働の遅延、ユーザーからの苦情、追加コストのリスクが高まります。
「システムは毎分1000件のリクエストを処理できる必要があります」。これは機能要件ですか?
いいえ、これは非機能要件であり、パフォーマンスの特性です。
ネガティブケース: システムは要求されたビジネス機能を完全に実装しましたが、大きな負荷がかかったときに「遅く」なり始めました。なぜなら、パフォーマンスが全く考慮されていなかったからです。 利点:
ポジティブケース: アナリストはアーキテクトと顧客と共に、要件として最大負荷、応答基準を文書化し、負荷テストを実施しました。 利点: