ソフトウェア システムの設計における機能要件と非機能要件の違いは何ですか?
それぞれのケースの例を挙げてください。
ベストアンサー1
機能要件はソフトウェア システムが実行すべきことを記述しますが、非機能要件はシステムがどのように実行するかについて制約を課します。
詳しく説明しましょう。
機能要件の例は次のようになります。
- システムは、特定の条件が満たされるたびに (注文が行われる、顧客がサインアップするなど) 電子メールを送信する必要があります。
システムに関連する非機能要件としては次のようなものが考えられます。
- 電子メールは、このようなアクティビティから 12 時間以内の遅延で送信する必要があります。
機能要件は、システムの機能性に関連するシステムの動作を記述します。非機能要件は、システムのパフォーマンス特性を詳しく説明します。
通常、非機能要件は次のような領域に分類されます。
- アクセシビリティ
- 容量、現在および予測
- コンプライアンス
- ドキュメンテーション
- 災害からの回復
- 効率
- 効果
- 拡張性
- フォールトトレランス
- 相互運用性
- 保守性
- プライバシー
- ポータビリティ
- 品質
- 信頼性
- 回復力
- 反応時間
- 堅牢性
- スケーラビリティ
- 安全
- 安定性
- サポート性
- テスト可能性
より完全なリストはWikipediaの非機能要件。
非機能要件は、より具体的にするために、メトリック (つまり、システムについて測定できるもの) の観点から定義されることがあります。非機能要件は、システムの実行に関係するのではなく、時間の経過に伴う進化 (保守性、拡張性、ドキュメントなど) に関連するシステムの側面を説明することもあります。