web-dev-qa-db-ja.com

機能要件と非機能要件の違いは何ですか?

ソフトウェアシステムの設計において、 機能的 非機能的 の要件の違いは何ですか?

それぞれの場合について例を挙げてください。

240
Omid7

機能要件はソフトウェアシステムが実行すべきwhatを記述し、非機能要件はシステムがそうするであろうhowに制約を課します。

詳しく説明しましょう。

機能要件 の例は次のようになります。

  • システムは、特定の条件が満たされるたびに電子メールを送信する必要があります(たとえば、発注、顧客の登録など)。

システムの関連する 非機能要件 は次のようになります。

  • そのような活動から12時間以内の待ち時間で電子メールを送信する必要があります。

機能要件は システムの動作を記述する システムの機能に関連するためです。非機能要件 はシステムの性能特性 を詳しく説明します。

通常、非機能要件は次のような分野に分類されます。

  • アクセシビリティ
  • 容量、現在および予測
  • コンプライアンス
  • ドキュメンテーション
  • 災害からの回復
  • 効率
  • 効果
  • 拡張性
  • フォールトトレランス
  • 相互運用性
  • 保守性
  • プライバシー
  • 移植性
  • 品質
  • 信頼性
  • 弾力性
  • 反応時間
  • 堅牢性
  • スケーラビリティ
  • セキュリティ
  • 安定
  • サポータビリティ
  • テスト容易性

ウィキペディアの non-functional requirements に、より完全なリストがあります。

非機能的要件は、それらをより明確にするために、メトリック(すなわち、システムに関して測定できるもの)に関して定義されることがある。非機能的要件はまた、その実行に関連しないが、むしろその経時的な進化に関連するシステムの側面(例えば、保守性、拡張性、文書化など)を記述することもできる。

459
LBushkin

機能要件は、アプリケーションが新しいアカウントの作成、アカウントの更新、アカウントの削除などが可能な銀行アプリケーションである場合など、ユーザーがソフトウェアに期待する主なものです。機能要件は詳細で指定されます。システム設計において

機能的でない取得はシステムの直接的な要件ではなく、むしろユーザビリティに関連しています(たとえば、銀行業務アプリケーションの場合、機能的でない主な要件は可用性です。アプリケーションは24時間365日使用可能です)可能なら。

30
pulasthi

機能要件

  1. 機能要件は、システムまたはシステムコンポーネントが実行できなければならない機能を指定します。それはさまざまな方法で文書化することができます。最も一般的なものはドキュメントに書かれた説明とユースケースです。

  2. ユースケースは、ユーザーの操作を説明する図だけでなく、テキストの列挙リストにすることもできます。各ユースケースは、1つ以上の機能要件を通じた行動シナリオを示しています。しかし、多くの場合、アナリストは一連のユースケースを引き出すことから始め、そこからアナリストはユーザーが各ユースケースを実行できるようにするために実装する必要がある機能要件を導出できます。

  3. 機能要件はシステムが何であるか 達成することになっている です。そうかも知れない

    • 計算
    • 技術的な詳細
    • データ操作
    • 情報処理
    • その他の特定の機能
  4. 典型的な機能要件には、固有の名前と番号、簡単な要約、および理論的根拠が含まれます。この情報は、読者が要件が必要な理由を理解し、システムの開発を通じて要件を追跡するのに役立ちます。

非機能要件

LBushkin は既に非機能的な要求についてもっと説明しています。さらに追加します。

  1. 非機能要件は、機能要件以外の要件です。これはに使用することができる基準を指定する要件です 特定の振舞いよりむしろシステムの操作を判断する

  2. 非機能要件は "システムは"とします の形をしています - システム全体の特性、または特定の機能の特性ではなく全体の特性システムの全体的な特性は、開発プロジェクトが成功したか失敗したかの違いを示すものです。

  3. 非機能要件 - 2つの主なカテゴリに分類できます。

    • 実行品質 セキュリティやユーザビリティなど、実行時に確認できます。
    • Evolution quality テスト容易性、保守容易性、拡張性、およびスケーラビリティなど。ソフトウェアシステムの静的構造に組み込まれています。
  4. 非機能要件は、開発中の製品、開発プロセスに制限を課し、製品が満たさなければならない外部の制約を指定します。
  5. IEEE-Std 830 - 1993 は、ソフトウェア要件文書に含まれるべき13の非機能要件をリストしています。
  1. 性能要件
  2. インターフェース要件
  3. 運用要件
  4. リソース要件
  5. 検証要件
  6. 受け入れ要件
  7. ドキュメント要件
  8. セキュリティ要件
  9. 移植性の要件
  10. 品質要件
  11. 信頼性の要件
  12. 保守性の要件
  13. 安全要件

要件が機能的要件または非機能的要件として表現されるかどうかは、次の要素によって異なります。

  • 要件文書に含める詳細レベル
  • システムの顧客とシステム開発者の間に存在する信頼度。

例システムは、データベース内のレコード数の表示をユーザに提示することを要求され得る。これは機能上の要件です。この数字がどれだけ最新の[更新]である必要があるかは、機能しない要件です。数をリアルタイムで更新する必要がある場合、システム設計者は、システムが変更可能なレコード数の許容できる短い間隔内で[表示される]レコード数を更新できることを確認する必要があります。

参考文献:

  1. 機能要件
  2. 非機能要件
  3. 要件の定量化とトレーサビリティ
20
Somnath Muluk

機能要件は、システムの技術的機能に関連するものです。

非機能要件とは、特定の動作ではなく、特定の条件でシステムの動作を判断するために使用できる基準を指定する要件です。

たとえば、ショッピングサイトを検討している場合、商品をカートに追加する、さまざまな商品を閲覧する、オファーとディールを適用する、そして正常に注文を行うという機能要件があります。

ピーク時のシステムのパフォーマンス、DBからデータを取得するのにかかる時間、ユーザーデータのセキュリティ、多数のユーザーがログインした場合のシステムの処理能力は、機能的要件以外のものになります。

6

機能要件 システムが実行しなければならない活動

  • ユーザーが実行する機能
  • 給与計算システムを開発する場合の使用例
  • 電子送金を生成する
  • 計算手数料額
  • 給与税を計算する
  • 税額控除をIRSに報告する
3
ABDUL

機能要件 ソフトウェアによるユーザーへの機能性に関するクライアントから開発者側へのものであり、 非機能要件 開発者からクライアントへのものである、すなわち要件はクライアントによっては与えられないスムーズにシステムを実行するために開発者によって安全性、セキュリティ、柔軟性、スケーラビリティ、可用性など.

2
Rajnor D S