ユーティリティツリーとは何ですか?アーキテクチャトレードオフ分析方法(ATAM)の場合の目的は何ですか?
ありがとう
ソフトウェアアーキテクチャは一種の設計です。「通常の」設計は主に機能要件に関するものですが、アーキテクチャは主に「非機能」または「-illities」またはより適切な名前の「品質属性」に関するものです。
利害関係者のところに行き、品質属性について尋ねると、パフォーマンス、可用性、スケーラビリティなどが必要だと言われますが、それはあまり役に立ちません。ATAM(およびその他の方法)は、コンテキスト内のシナリオとして品質属性を表現することを促進します。例えば
可用性->修復時間->通常の状態では、システムは5秒以内にコンポーネントの障害を検出します。
適応性->機能の追加/削除->本番環境に入ると、インターフェースの変更は少なくとも1つのバージョンで互換性があります
ユーティリティツリーは、これらの品質属性を整理する方法です。ATAMに関しては、品質属性に優先順位を付け、後で候補アーキテクチャと要件の適合性を評価する方法として機能します。また、アジャイル開発のバックログの一部として、参照要件やストーリー(またはサイズによってはテーマ)としてそれらを使用するのも好きです。
品質属性とユーティリティトレスについては、私がしばらく前に書いたいくつかの投稿でもう少し読むことができます: 品質属性の紹介とユーティリティツリー-ハッチング品質属性。ATAMのコンテキストでそれらについて読みたい場合は、ソフトウェアアーキテクチャの評価:メソッドとケーススタディPaul Clements、Rick Kazman、Mark Kleinを読む必要があります(このテーマについては古いプレゼンテーションがあります)。
編集:上記の説明を拡張したブログ投稿を追加しました。
基本的に、効用ツリーは、ATAM座標での効用メジャーに関するツリーです。提案されたアーキテクチャオプションを介して、適切な非機能要件が保持されているかどうかを示します。それぞれの溶岩には、関連するレベルの自信があります。