SAAM(Software Architecture Analysis Method):Kazman 等人于 1983 年在卡内基梅隆大学 CMU-SEI 提出,是最早形成文档并得到广泛应用的架构分析方法,主要分析可修改性。主要输入:问题描述、需求说明、架构描述。
ATAM(Architecture Tradeoff Analysis Method):在系统开发之前,针对性能、可用性、安全性和可修改性等质量属性进行评价和折中。传统 ATAM 四个活动阶段:需求收集 → 架构视图描述 → 属性模型构造和分析 → 架构决策与折中(以属性为核心概念)。现代 ATAM 采用效用树对质量属性进行分类和优先级排序,分为演示、调查和分析、测试、报告四个阶段(详见下一节)。
| 对比项 | SAAM | ATAM |
|---|---|---|
| 特定目标 | 通过程序文档验证架构,注重发现潜在问题,可评价单系统或多系统比较 | 确定在多个质量属性之间折中的必要性 |
| 评估技术 | 场景技术 | 场景技术 + 启发式分析方法 |
| 质量属性 | 可修改性是主要分析内容 | 性能、可用性、安全性和可修改性 |
| 方法活动 | 场景开发、架构描述、单个场景评估、场景交互、总体评估 | 场景和需求收集、架构视图和场景实现、属性模型构造和分析、折中 |
| 知识库可复用性 | 不涉及 | 有基于属性的架构模型,可复用 |
| 验证领域 | 空中交通管制、嵌入式音频、修正控制系统 | 仍处于研究中 |
CBAM(成本效益分析法)八步:整理场景 → 对场景求精 → 确定场景优先级 → 分配效用 → 架构策略涉及的质量属性及响应级别 → 内插法确定"期望的"响应级别效用 → 计算各架构策略总收益 → 根据受成本限制影响的 ROI 选择架构策略。
其他方法(记名字+一句话):SAEM(内外部质量属性评估模型)、SAABNet(定性评估/辅助决策)、SACMM(架构修改度量,计算两个架构距离)、SASAM(预期与实际架构映射比较)、ALRRA(可靠性风险评估)、AHP(定性+定量决策)、COSMIC+UML(统一度量)。