web-dev-qa-db-ja.com

非機能要件と品質属性の違いは何ですか?

非機能要件と品質属性の違いを理解しようとしています。それらは同じものですか?

ISO9126標準には、一連の品質属性があります。

各システムは一連の機能要件によって定義されており、この要件のすべてに1つ以上の品質属性が関連付けられています。たとえば、システムのログイン機能を説明する要件があるとします。その要件に、セキュリティとパフォーマンスの属性を関連付けることができます。

システムが応答するのに1秒以上かかることができないと私が言う場合、私は制約について話しています。

では、非機能要件のコンセプトはどこから始まるのでしょうか。それらはユーザーによって定義されていますか?どうすればそれらを識別できますか?

13
Hugo Assanti

これについて少し考えすぎていると思います。機能的要件と非機能的要件は、提案されているほど実際には分離できません。たとえば、ログインの場合を考えてみてください。

ユーザーは、Webインターフェースを介してログインできる必要があります。技術的には、これは機能要件です。

システムは、1秒以内にログイン要求に応答する必要があります。技術的には、これは機能以外の要件です。

どちらにしても、特定の分類に関係なく、どちらも同じくらい重要です。

要件はいくつもの場所から来ることができます。競合他社よりも優れたパフォーマンスが必要な場合があります。顧客には特定のニーズがあるかもしれません。マーケティングや営業からの依頼があるかもしれません。彼らの出身地は1つではありません。ただし、さまざまなソースをすべて抽象化して、それらを顧客と呼ぶこともできます。結局のところ、それが彼らなのです。

次のメトリックを使用して違いを識別できます。機能要件は、システムが何をするかを説明します。非機能要件は、それがどのように行われるかを指定します。

9
Pemdas

ルールはシンプルで明確です。

機能要件は、システムが行うことです。

非機能要件は、システムの設計、構築、実装方法の品質属性または側面です。

  • パフォーマンス(1秒)
  • 保守性
  • 順応性
  • 費用
  • 安心
  • 使いやすさ(システム全体の特性)
  • テスト容易性
  • スケーラビリティ

これを読む。それは非常に明確です。 http://en.wikipedia.org/wiki/Non-functional_requirement

非機能要件は、機能要件と同じ方法で表示されます。ユーザー。システムが実装されるコンテキスト。たくさんの場所。管理。他の組織。ネットワーク管理者、システム管理者、データベース管理者。利害関係者または単に傍観者であるすべての人が、機能以外の要件に貢献します。

過去30年間の「要件文書」を見ると、このことが言えます。大規模な社内IT組織が作成した多くの要件ドキュメントは、おそらく80%が非機能要件であり、20%未満が機能要件である政治的声明です。

私は、機能要件である単一の文を含むものを読みました。 30ページのドキュメントの残りの部分では、プラットフォームとサポート、バックアップと復元、オペレーティングシステムとデータベース、標準と操作、システムが実行しなかった多くのことについて説明しましたdo

9
S.Lott

非機能要件と品質属性はまったく同じです

最近の名前変更の背景にある考え方は、これらのいわゆる非機能要件は、実際にはシステムに横断的な影響を与えるシステム機能(またはシステム機能のセット)であるということです。つまり、この種の「特殊機能」がシステムに与える横方向の影響により、システムの品質属性になります。例として:

5つのコンポーネントを持つシステムは、10msでリクエストを処理する必要があります。 1つのコンポーネントに、処理に関与するために5ミリ秒かかる欠陥がある場合、システム全体のパフォーマンスに影響します。

セキュリティがログインだけでなく、影響を受けるとシステム全体に影響するのと同じように。

要約すると、品質属性(つまり、非機能要件)は、機能性、何かを実装する方法、およびこの実装がシステムに与える影響に関するすべてです。通常、「通常の要件」との違いは、その影響、範囲、可視性です。

構造化された方法でそれらを識別する方法に関する興味深いリンクを次に示します。

そして、それらを文書化して正しく定義する方法に関する本:

4
mimsugara