機能要件と非機能要件の違いは何ですか?[閉まっている]


282

違いは何である機能非機能ソフトウェアシステムの設計の文脈での要件は?

それぞれの例を挙げてください。



@TravisJ繰り返しますが、タグの焼き付けの最初のフェーズが完了するまで、質問にタグを付け続けましょう。
TylerH 2017

回答:


524

機能要件は、ソフトウェアシステムが何をすべきかを説明しますが、非機能要件は、システムがどのように機能するかを制限します

詳しく説明しましょう。

機能要件の例は次のとおりです。

  • システムは、特定の条件が満たされた場合(注文、顧客のサインアップなど)にメールを送信する必要があります。

システムの関連する非機能要件は次のとおりです。

  • そのようなアクティビティから12時間以内の待ち時間でメールを送信する必要があります。

機能要件は、システムの機能に関連するシステムの動作を説明しています。非機能要件は、システムのパフォーマンス特性詳しく説明します。

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

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

より完全なリストは、非機能要件に関するウィキペディアのエントリで入手できます

非機能要件は、より具体的にするために、メトリック(つまり、システムについて測定できるもの)の観点から定義される場合があります。非機能要件は、システムの実行とは関係なく、時間の経過に伴うシステムの側面(たとえば、保守性、拡張性、文書化など)を記述する場合もあります。


もちろん、あなたの評判と専門職歴(私がこれを書く前に調べた)を考慮して、あなたに任せます:非機能要件の例は動作と見なすことができませんでしたか?それとも、機能以外の要件が行動に関する制約を記述しているという事実にもっとあなたのポイントはありますか?
トーマス

1
私の質問を少し明確にするために(そしてそれは答えられないかもしれません):行動を構成するものの境界をよりよく解明する方法はありますか?
トーマス

プラス1は、電子メールシステムの良い例です。:)
アフティシャム

33

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

非機能要件は、システムの要件を単純明快にするのではなく、使いやすさに関連しています(ある意味で)たとえば、銀行アプリケーションの場合、主要な非機能要件が利用可能であり、アプリケーションはダウンタイムなしで24時間年中無休で利用できるはずです。可能なら。


27

機能要件

  1. 機能要件は、システムまたはシステムコンポーネントが実行できる必要がある機能を指定します。さまざまな方法で文書化できます。最も一般的なものは、ドキュメントの記述と使用例です。

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

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

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

非機能要件

LBushkinは、非機能要件についてすでに説明しています。さらに追加します。

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

  2. 非機能要件は、「システムは次のようにする」の形式であり、システム全体または特定の側面のシステム全体の特性であり、特定の機能ではありません。システムの全体的なプロパティは、通常、開発プロジェクトが成功したか失敗したかの違いを示します。

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

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

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

  • 要件ドキュメントに含まれる詳細レベル
  • システム顧客とシステム開発者の間に存在する信頼度。

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

参照:

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

1
よく説明しました。ありがとう!
Arslan Ramay 2017年

1
良い参考文献といい答え。IEEE 830-1993が廃止されたので、私はより更新された規格を追加したいだけです。2018年、「システムとソフトウェア工学-ライフサイクルプロセス-要求工学」(:最新の標準であるISO / IEC / IEEE 29148 iso.org/standard/72089.html
ログオフ

8

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

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

たとえば、ショッピングサイトを検討する場合、カートへのアイテムの追加、さまざまなアイテムの閲覧、オファーとディールの適用、および注文の成功は、機能要件のもとになります。

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


すばらしい答えです。
Iftekhar

3

システムが実行しなければならないアクティビティの機能要件

  • ビジネスは、ユーザーが実行する機能を使用します
  • 給与計算システムに必要な機能を開発している場合の使用例
  • 電子送金を生成する
  • 計算手数料額
  • 給与税を計算する
  • 税控除をIRSに報告する

2

私が思うに、機能要件は、クライアントからのソフトウェアとすることにより、ユーザへの機能に関するされ、開発者側にある非機能要件スムーズ例えばシステムを実行するための要件は、クライアントによって指定されていないが、それは開発者によって提供される、つまりクライアントに開発者からです安全性、セキュリティ、柔軟性、スケーラビリティ、可用性など

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.