Type of requirement in systems engineering

システム工学要件工学 において非機能要件NFR)とは、システムの特定の動作ではなく、システムの動作を判断するための基準を規定する要件である。これは、特定の動作や機能を定義する機能要件とは対照的である。機能要件の実装計画は、システム設計書に詳細に記述される。非機能要件の実装計画は、通常、アーキテクチャ的に重要な要件であるため、システムアーキテクチャ書に詳細に記述される[ 1 ]非機能要件は、クロスファンクショナル要件と呼ばれることもある。[ 2 ]

ソフトウェアアーキテクチャにおいて、非機能要件は「アーキテクチャ特性」と呼ばれます。ソフトウェアアーキテクチャコンポーネント間の同期通信はそれらを絡み合わせ、同じアーキテクチャ特性を共有する必要があることに注意してください。[ 3 ]

意味

[編集]

一般的に、機能要件はシステムが何をすべきかを定義し非機能要件はシステムがどうあるべきかを定義します機能 要件は通常、「システムは<要件>を行わなければならない」という形式をとり、これはシステムの個々のアクションまたは一部を指し、数学的関数ブラックボックス記述の入力、出力、プロセスおよび制御機能モデル、またはIPOモデルといった意味で明示的に表される場合もあります。一方、非機能要件は「システムは<要件>でなければならない」という形式をとり、これはシステム全体または特定の側面の全体的な特性であり、特定の機能ではありません。システムの全体的な特性は、開発プロジェクトの成否を分ける要因となることがよくあります。

非機能要件は、しばしばシステムの「品質属性」と呼ばれます。システムの創発特性[注1 ]は、非機能要件に分類されます。非機能要件は、「品質」、「品質目標」、「サービス品質要件」、「制約」、「非動作要件」[ 4 ]、または「技術要件」などとも呼ばれます。[ 5 ]非公式には、安定性や移植性といった属性から「性能」と呼ばれることもあります。品質、つまり非機能要件は、主に2つのカテゴリーに分類できます。

  1. 安全性、セキュリティ、使いやすさなど、操作中(実行時)に観察可能な実行品質。
  2. テスト可能性、保守性、拡張性、スケーラビリティなどの進化の特性は、システムの静的な構造に具体化されます。[ 6 ] [ 7 ]

非機能要件は機能要件の範疇に入らないすべての要件であるため、法令、規制、標準、プロトコルなどの設計外の事項や、その他の外部要件など、機能の特性とシステムに対する制約も含まれます。

非機能要件を具体的かつ測定可能な方法で指定することが重要です。[ 8 ] [ 9 ]

非機能要件の分類

[編集]

あらゆるタイプのシステムに関連する一般的な非機能分類には以下が含まれる[ 10 ]

特定の種類のシステムでは、標準規格に非機能要件のカテゴリが明示的に列挙されている未定

  • ハードウェアシステム
  • 組み込みシステム
  • 安全性が重要なシステム
  • ソフトウェアシステム

[編集]

システムでは、データベース内のレコード数をユーザーに表示することが求められる場合があります。これは機能要件です。この数値がどの程度最新である必要があるかは、非機能要件です。レコード数をリアルタイムで更新する必要がある場合、システムアーキテクトは、レコード数の変化に対して許容範囲内で短い間隔でシステムがレコード数を表示できることを保証する必要があります。

十分なネットワーク帯域幅は、システムの非機能要件となる場合があります。その他の例としては、以下のようなものが挙げられます。

批判

[編集]

「非機能要件」という用語は、それがカバーする要件セットの重要性を軽視する誤った呼称であると批判されている。 [ 11 ] [ 12 ]その代わりに、「クロス機能要件」(CFR)という用語がThoughtWorksで提案され採用された。[ 2 ]

参照

[編集]

参考文献

[編集]
  1. ^ Chen, Lianping; Ali Babar, Muhammad; Nuseibeh, Bashar (2013). 「アーキテクチャ的に重要な要件の特徴づけ」. IEEE Software . 30 (2): 38– 45. doi : 10.1109/MS.2012.174 . hdl : 10344/3061 . S2CID  17399565 .
  2. ^ a b 「部門横断的要件(CFR)の10年 - Sarah Taraporewalla」 sarahtaraporewalla.com . 2025年11月8日閲覧
  3. ^ リチャーズ、マーク、フォード、ニール (2020).ソフトウェアアーキテクチャの基礎:エンジニアリングアプローチ. O'Reilly Media, Incorporated. ISBN 978-1492043454
  4. ^ ステルマン、アンドリュー、グリーン、ジェニファー (2005). 『応用ソフトウェアプロジェクトマネジメントオライリーメディア. p. 113. ISBN 978-0-596-00948-92015年2月9日時点のオリジナルよりアーカイブ。
  5. ^ Ambler, Scott. 「技術要件(非機能要件):アジャイル入門」 .アジャイルモデリング. Ambysoft Inc. 2018年10月5日閲覧
  6. ^ Wiegers, Karl; Beatty, Joy (2013).ソフトウェア要件 第3版. Microsoft Press. ISBN 978-0-7356-7966-5
  7. ^ ヤング、ラルフ・R. (2001). 『効果的な要件定義の実践』アディソン・ウェズレー. ISBN 978-0-201-70912-4
  8. ^ ツィンマーマン、オラフ、ストッカー、ミルコ (2021).デザインプラクティスリポジトリ. LeanPub.
  9. ^ Glinz, Martin (2008). 「品質要件に対するリスクベース、価値指向アプローチ」(PDF) . IEEE Software . 25 (2): 34– 41. doi : 10.1109/MS.2008.31 . S2CID 19015424 .  
  10. ^ 「システムエンジニアリングと品質特性KA」sebokwiki.org . 2025年5月24日閲覧
  11. ^ 「私はNFRを信じない - Sarah Taraporewalla」 sarahtaraporewalla.com . 2025年11月8日閲覧
  12. ^ ニューマン、サム (2015). 『マイクロサービスの構築:細粒度システムの設計』(第1版). セバストポル、カリフォルニア州: オライリーメディア. p. 151. ISBN 978-1-4919-5035-7

注記

[編集]
  1. ^ SeBoK用語集の定義を参照
[編集]