架构评估

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. 跟踪: 确保改进措施落实