ATAM软件架构评估方法

一. 为什么要评估?

  1. ⼤型项⽬经常迟交和超支
  2. 项目进行过程中有时候要重新设计
  3. 能够帮助尽早发现问题,尽早发现的解决成本是很低的
  4. 传播架构设计的最佳实践
  5. 提供优秀项目技术管理

二. 如何评估?

  1. 发现风险点
  2. 识别出错误的架构选择
  3. 保证解决了质量属性

有很多成型的方法来解决这个问题,大部分都是基于场景进行的。

可以帮助涉众(stakeholder)去尽早的问出合适的问题来:

  1. 找到风险, 找到对所需质量属性有消极影响的架构决定
  2. 找到敏感点: 对于特定质量属性敏感的架构决定(小改动、造成很大影响)
  3. 找到权衡点(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 输出

架构简要介绍

业务目标

以质量属性场景表示的带优先级的质量属性需求

效用树

一系列风险点和非风险点

风险主题

架构决定与质量需求之间的映射

敏感点、权衡点

最终评估报告

posted @ 2020-02-09 15:36  TO_BE_HEALING  阅读(3240)  评论(0编辑  收藏  举报