IT

アーキテクチャ非機能要件(プリンシプル オブ プログラミングより)

【非機能要件の観点】

  • ・変更容易性
  • ・相互運用性
  • ・効率性
  • ・信頼性
  • ・テスト容易性
  • ・再利用性

【非機能要件がなぜ重要か】
 非機能的な特性は、開発や保守、運用、コンピュータリソースの効率活用に大きな影響を及ぼす。リリース後の運用の「大きな」トラブルのほとんが、パフォーマンスやシステムダウンなど、非機能的な特性に起因する。
それほど重要な事項にも関わらず、機能に比べると非機能は軽視され、後回しにされる傾向がある。(実際自身の職場でも非機能要件を全く検討段階で入れられずに開発が進んでいた)本来は、開発の最初、つまりアーキテクチャn設計時点から、考慮されるべき観点。

【非機能観点で設計する】
・要件定義において、それぞれの観点について、どの程度必要とされるのかを確認する
・開発において、アーキテクチャ設計時点で、要件を考慮に入れた構造を検討する
・テストにおいて、要件を満たしているか確認する

【非機能のテスト】
 機能のテストは「何をするか」の「What」を観点とするが、非機能は「どのように動作するか」の「How」に着目する。
 ソフトウェアの目的は、機能を作ることではなく、ユーザーが目的を果たせるようにすること。そのため、非機能要件が大きな割合を占めるを認識する。(使用した機能が備わっていようと、動作が遅すぎてやりたい業務を思い通りに進められなければ意味がない)