架构评估

3 minAdvanced2026/6/14

ATAM评估方法、CBAM成本收益分析与架构评审实践。

1. 架构评估概述

1.1 为什么需要评估

原因说明
早期发现缺陷架构缺陷修复成本极高
质量属性验证确认架构满足质量需求
决策支持为架构选择提供依据
风险识别提前发现技术风险
利益相关者对齐统一各方期望

1.2 评估时机

时机说明
架构设计完成后验证设计决策
重大变更前评估变更影响
迭代结束时验证架构演进
系统出现问题时诊断根因

2. ATAM方法

2.1 ATAM概述

ATAM(Architecture Tradeoff Analysis Method)通过质量属性场景评估架构的权衡点。

2.2 ATAM步骤

第1步: 介绍ATAM方法
第2步: 介绍业务驱动
第3步: 介绍架构
第4步: 识别架构方法
第5步: 生成质量属性效用树
第6步: 分析架构方法
第7步: 头脑风暴和优先级排序场景
第8步: 分析架构方法
第9步: 报告结果

2.3 效用树

效用
├── 性能
│   ├── P1: 99%请求响应<200ms (高)
│   └── P2: 吞吐量>10000 QPS (中)
├── 可用性
│   ├── A1: 年停机<52分钟 (高)
│   └── A2: 故障恢复<5分钟 (高)
├── 安全性
│   └── S1: 防止SQL注入 (高)
├── 可修改性
│   ├── M1: 新增支付方式<2周 (中)
│   └── M2: 数据库迁移<1月 (低)
└── 可测试性
    └── T1: 自动化测试覆盖>80% (中)

2.4 ATAM输出

输出说明
敏感点影响质量属性的架构决策
权衡点影响多个质量属性的决策
风险可能导致不良结果的决策
非风险已验证的架构决策

示例:

类型描述
敏感点缓存策略对响应时间的影响
权衡点数据冗余提高可用性但降低一致性
风险单点数据库可能成为瓶颈
非风险已验证的负载均衡策略

3. CBAM方法

3.1 CBAM概述

CBAM(Cost Benefit Analysis Method)在ATAM基础上加入经济分析,帮助选择最具成本效益的架构策略。

3.2 CBAM步骤

1. 从ATAM效用树中选择关键场景
2. 为每个场景确定架构策略
3. 评估每个策略的收益和成本
4. 计算ROI
5. 选择最优策略

3.3 ROI计算

ROI=收益−成本成本\text{ROI} = \frac{\text{收益} - \text{成本}}{\text{成本}}

策略收益成本ROI
读写分离83167%
缓存层72250%
微服务化9812.5%
CDN加速61500%

4. 架构评审实践

4.1 评审清单

维度检查项
功能性是否满足核心功能需求
性能是否满足响应时间和吞吐量要求
可用性是否满足可用性SLA
安全性是否满足安全合规要求
可扩展性是否支持未来业务增长
可维护性是否易于理解和修改
可测试性是否便于测试
可部署性是否支持持续交付

4.2 评审流程

1. 准备: 收集架构文档和评审材料
2. 预审: 评审者独立阅读材料
3. 评审会议: 集体讨论和评审
4. 输出: 评审报告和改进建议
5. 跟踪: 确保改进措施落实