一. 為什么要評估?
- ⼤型項⽬經常遲交和超支
- 項目進行過程中有時候要重新設計
- 能夠幫助盡早發現問題,盡早發現的解決成本是很低的
- 傳播架構設計的最佳實踐
- 提供優秀項目技術管理
二. 如何評估?
- 發現風險點
- 識別出錯誤的架構選擇
- 保證解決了質量屬性
有很多成型的方法來解決這個問題,大部分都是基於場景進行的。
可以幫助涉眾(stakeholder)去盡早的問出合適的問題來:
- 找到風險, 找到對所需質量屬性有消極影響的架構決定
- 找到敏感點: 對於特定質量屬性敏感的架構決定(小改動、造成很大影響)
- 找到權衡點(tradeoffs): 影響多個質量屬性的架構決定
三. ATAM過程:
Phase 0 :參與者和准備階段
參與者: 評估小組長和關鍵的項⽬決策者
輸⼊:架構文檔
輸出: 評估計划: 誰、什么時間、提供什么樣子的評估報告
Phase 1:評估(1)
參與者:評估小組和項目設計決策者(肯定包括了項目經理和架構師)
輸出: 架構簡要展示、業務目標、質量屬性和相關場景、效用樹、風險和非風險點、敏感點、權衡點
Step 1: 介紹ATAM方法(評估小組長)
Step 2: 介紹商業動機(項目經理或系統客戶)
Step 3: 介紹架構(首席架構師)
Step 4:識別使用的架構方法(評估小組)
Step 5:生成質量屬性效用樹(評估小組和項目設計決策者) 決定性的一步
Step 6:分析架構方法(評估小組) 確保方法是正確的 獲得風險點、非風險點、敏感點和權衡點列表
Phase 2:評估(2)
參與者: 評估小組、項目設計決策者和架構涉眾
輸出: 從涉眾群體獲得的一個優先級場景列表、風險主題和商業動機
Step 1: 介紹ATAM方法和之前的結果(評估小組長) 重復以確保涉眾也知道方法並回顧分享之前2~6步的結果
Step 7:頭腦風暴、場景划分優先級(評估小組問涉眾) 與質量屬性效用樹進行比對
Step 8:分析架構方法(評估小組、架構師) 使用新產生的優先級靠前的場景、架構師解釋與之相關的架構決定
Step 9:展示結果(評估小組)
Phase 3:后續工作 Follow up
參與者:評估小組和主要涉眾
輸出:最終的評估報告
ATAM 輸出
架構簡要介紹
業務目標
以質量屬性場景表示的帶優先級的質量屬性需求
效用樹
一系列風險點和非風險點
風險主題
架構決定與質量需求之間的映射
敏感點、權衡點
最終評估報告