← 返回首页
必考架构评估

软件架构评估

案例分析高频考点,常考"敏感点/权衡点/风险点/非风险点"四类点判定

必考 · 4 概念 分值 15 左右 论文常作章节
⭐ 4 个核心评估方法

SAAM · Software Architecture Analysis Method 最早,基于场景

ATAM · Architecture Trade-off Analysis Method 最常考,多属性权衡

CBAM · Cost Benefit Analysis Method 成本收益,经济分析

ARID · Active Reviews for Intermediate Designs 中间设计评估

口诀:"SAAM 早 · ATAM 多 · CBAM 钱 · ARID 中"

一、4 个核心概念 ⭐⭐⭐⭐⭐

案例分析最爱出:给若干设计决策,要求判定属于哪类点。务必背死!

概念定义判定要点
敏感点
Sensitivity Point
影响 某一个 质量属性的属性/决策点 只影响 1 个 质量属性
权衡点
Trade-off Point
同时影响 多个 质量属性,且对它们有相反作用 影响 2 个或以上 质量属性
风险点
Risk
架构决策中潜在的、有问题的、可能造成失败的点 "可能…""未确定…""影响…未达标"
非风险点
Non-Risk
不需要担心、已经验证或不会引起问题 "已采用…成熟方案""不会影响…"
🎯 案例判定 3 步法(必背)
  1. 看影响几个属性:1 个 → 敏感点; 多个 → 可能是权衡点
  2. 看作用方向:多个属性中,作用相反 → 权衡点; 全正向 → 都是敏感点
  3. 看可控性:有"风险/可能/未达标"等不确定语 → 风险点; 否则非风险点

典型例题

题:某系统要求 P99 响应时间 ≤ 1s,使用 Redis 缓存。下列哪些是敏感点 / 权衡点?

  1. 缓存命中率 → 影响响应时间 → 敏感点(性能)
  2. 缓存过期策略 → 影响 性能 + 数据一致性 → 权衡点
  3. 使用 HTTPS → 安全性 ↑,性能 ↓ → 权衡点
  4. 主从复制延迟可能超 5s → 影响一致性 → 风险点
  5. 已使用成熟的 Nginx 负载均衡 → 非风险点

二、ATAM 详解(最常考)

Architecture Trade-off Analysis Method:架构权衡分析法,基于场景的评估,关注多质量属性间的权衡。

ATAM 阶段 / 9 个步骤

分 4 个阶段(口诀:呈/调/分/报),共 9 步:

  1. ATAM 方法的呈现
  2. 商业动机的描述
  3. 架构的描述
  4. 对架构方法分类
  5. 生成质量属性效用树(核心步骤!)
  6. 分析架构方法
  7. 讨论和分级场景
  8. 再次分析架构方法
  9. 结果呈现

质量属性效用树(Utility Tree)⭐⭐

ATAM 的核心产物,自顶向下:根 → 质量属性 → 属性细分 → 场景 → 重要性 / 难度

效用(Utility)
├─ 性能
│  ├─ 响应时间 → 场景 A (H, M)
│  └─ 吞吐量    → 场景 B (M, L)
├─ 可用性
│  └─ 故障恢复 → 场景 C (H, H)
└─ 安全性
   └─ 抗攻击   → 场景 D (H, M)

(H=高 重要/难度 · M=中 · L=低)
考点提示
效用树叶子上的两个评级 = (重要性, 实现难度)。优先关注 (H, H) 的场景。

ATAM 的输出

三、SAAM 详解

Software Architecture Analysis Method,最早的、基于场景的评估方法。

SAAM 5 个步骤

  1. 形成场景
  2. 描述体系结构
  3. 对场景进行分类和确定优先级(直接场景 + 间接场景)
  4. 对间接场景的单个评估
  5. 评估场景的相互作用
SAAM vs ATAM(常考对比)

SAAM: 单属性(主要关注可修改性)、5 步骤、最早出现

ATAM: 多属性 + 权衡分析、9 步骤、用效用树

SAAM 是 非功能质量评估 的开创者; ATAM 在 SAAM 基础上扩展为多属性权衡。

四、CBAM / ARID 速览

CBAM(Cost Benefit Analysis Method)

核心成本-收益分析,在 ATAM 之后做,选择投资回报率最高的架构方案 关键概念效用-响应曲线、收益、成本、ROI 考法论文中"如何在多个架构方案中权衡选择"

ARID(Active Reviews for Intermediate Designs)

核心针对 部分(中间)设计 的评估,SAAM 的扩展 特点主动式参与,通过场景驱动模拟使用过程

五、案例分析答题模板

模板 1:判定四类点(必背)

答题三段式:

  1. 引用决策原文:""使用 HTTPS 协议"这一决策"
  2. 分析影响:"提升了安全性(机密性),但引入加解密开销,降低性能"
  3. 给出结论:"同时影响安全性和性能,且作用相反,属于权衡点"
模板 2:ATAM 步骤简述

"系统采用 ATAM 方法,分 呈现、调查分析、测试、报告 四阶段:首先 呈现 ATAM 方法,然后 描述商业动机和架构,接着 构建质量属性效用树并对场景排序,逐一 分析架构方法对场景的支持,识别出 风险/非风险/敏感点/权衡点,最后 形成评估报告。"

模板 3:为什么要做架构评估?

三大价值(背):

  1. 降低风险 —— 在架构设计早期发现潜在问题,避免后期返工
  2. 验证设计 —— 确认架构能满足关键质量属性需求
  3. 提升沟通 —— 让利益相关者达成共识,形成文档化决策

六、必背口诀总览

四方法:SAAM 早 · ATAM 多 · CBAM 钱 · ARID 中

四类点:1 属性 = 敏感; 多属性反向 = 权衡; 不确定/未达标 = 风险; 已验证/不影响 = 非风险

ATAM 4 阶段:呈/调/分/报

ATAM 输出 4 件套:效用树 · 风险与非风险 · 敏感点与权衡点 · 风险主题

✅ 自测 4 连

1. ATAM 的核心产物是什么?

2. "使用 HTTPS"通常属于哪类点?为什么?

3. SAAM 与 ATAM 最大的区别?

4. 给 4 个决策,各自判断点类型 → 答题三段式过一遍

答:1) 质量属性效用树 2) 权衡点,安全性 ↑ 但性能 ↓ 3) SAAM 单属性5步、ATAM 多属性权衡9步 4) 略

📕 必考章节 3/3 · 架构评估 完 · 三大必考全部攻克