知识卡片
ATAM架构评估法的敏感点与权衡点
内容
架构权衡分析法(ATAM)是一种从架构需求出发做评估的方法,评估者需要了解架构、识别使用的架构参数及其影响——由于评估只在架构层面而非现有系统上进行,输入输出本质上是不精确的。ATAM要评估和确定的核心问题区域是两类点:敏感点是架构中对实现特定质量场景至关重要的组件集合;权衡点是对实现多个质量需求同时至关重要的敏感点,即改善一个质量属性会导致另一个质量属性变差、需要权衡这种改变是否值得的那个位置。一个完整的ATAM实施通常需要3天,围绕场景提出、架构提出、场景映射到架构、模型建立与分析这几个过程展开——但ATAM不是瀑布过程,评估师会根据需要在步骤间往返迭代,而不是严格按顺序推进;随时间推进,第1-2天更强调早期步骤(场景提出/架构提出/场景映射),第2-3天更强调后续步骤(模型建立分析、敏感点权衡点识别)。寻找权衡点和敏感点可以借助AHP(层次分析法):先给每种质量需求准则赋权重,再计算架构变更对各质量需求的综合影响值——当某个质量需求Qk使得该影响值达到最小时,Qk本身就是整个架构的”敏感点”,应给予最高优先级;类似地,当某组决策使某个固定质量需求Qk的影响值达到最小时,这组决策就是Qk的”敏感点”。权衡点的寻找可用绝对值或相对值衡量:例如为满足可移植性需求,数据传输性能从4500TPS降到3000TPS,下降的1500TPS就是性能与可移植性之间的权衡值;当无法求出绝对值时则用相对值(如”性能对可修改性的权衡值为0.346”)。理解ATAM的关键在于:它不是在找”最好的架构”,而是在系统性地暴露”改善A必然牺牲B”这种此消彼长的关系,把原本凭直觉判断的取舍变成有据可依的量化比较。
参考来源
- 位置:《软件架构理论与实践》第7章《架构驱动的软件开发》"7.3.3 从架构需求出发的评估"及"7.3.4 寻找ATAM中的'权衡点'和'敏感点'"节(源文件:_epub-src/OEBPS/text00058.html)
- 结论依据:原文明确"'敏感点'是架构中对实现特定质量场景至关重要的组件的集合,'权衡点'指的是对实现多个质量需求至关重要的敏感点",并给出可移植性对可扩展性权衡值1500TPS的具体计算示例,以及AHP寻找敏感点的判定规则("当Dk,i,j的值最小时……质量需求Qk是整个架构中的'敏感点'"),直接支撑本卡片结论。
- 原始内容:所谓的"敏感点"是架构中对实现特定质量场景至关重要的组件的集合,"权衡点"指的是对实现多个质量需求至关重要的敏感点……为了实现架构所要求的可移植的质量需求,这就导致了数据的传输性能需要从4500TPS(每秒的传输速率)下降到3000TPS,下降的值1500TPS可以作为性能和可移植性这两个质量需求的权衡值。