系统架构设计师备考站2027 上半年 · 通勤版 ⌕搜索
本页目录 · 5 节
  1. 一、知识框架
  2. 二、必背要点
  3. 8.1 软件系统质量属性
  4. 8.2 系统架构评估
  5. 8.3 ATAM 方法架构评估实践
  6. 三、易混淆概念对比
  7. 四、常见考法与出题角度
  8. 五、速记与自测

第 8 章 系统质量属性与架构评估

对应大纲:科目 1-7 系统质量属性与架构评估|教材 P271–P304|优先级 ★★★★★|综合知识估分 4~6 分
读法:先记死「6 属性 × 6 要素 × 4 个点」,再把 5 种评估方法压成一张对比表;ATAM 只背每阶段「干什么、出什么」。


一、知识框架

系统质量属性与架构评估
├─ 8.1 软件系统质量属性
│   ├─ 概念:可度量、可取舍的非功能特性
│   ├─ 6 属性:性能|可用性|安全性|可修改性|易用性|可测试性
│   └─ 场景 6 要素:刺激源|刺激|环境|制品|响应|响应度量
├─ 8.2 系统架构评估
│   ├─ 重要概念:敏感点|权衡点|风险点|非风险点
│   ├─ 评估技术:调查问卷|场景|度量
│   └─ 评估方法:SAAM|ATAM|CBAM|SAEM|SAABNet
└─ 8.3 ATAM 评估实践
    ├─ 阶段一 演示
    ├─ 阶段二 调查与分析(效用树)
    ├─ 阶段三 测试(场景)
    └─ 阶段四 报告

二、必背要点

8.1 软件系统质量属性

概念:质量属性是系统在运行、开发、维护中表现出的非功能特性,是架构设计可度量、可取舍的目标。功能需求回答「做什么」,质量属性回答「做得多好」。按关注阶段可分为运行期属性(性能、可用性、安全性、易用性)与开发期属性(可修改性、可测试性)。架构评估不追求单项最优,而是寻找属性之间的合理平衡。

六大质量属性

属性定义场景示例(六要素)提升战术
性能单位时间处理能力与响应快慢大促高峰(环)用户(源)发起 1000 并发查询(激),订单服务(制)2s 内返回(响/度)缓存、异步、并发、负载均衡
可用性系统可正常服务的时间比例单节点故障(激)时 30s 内切主(响),可用性≥99.99%(度)冗余、心跳、故障转移、重试
安全性抵抗攻击并保护数据与行为可控攻击者(源)在公网(环)越权访问(激),订单服务(制)拒绝并审计(响),拦截率 100%(度)认证、授权、加密、审计、限流
可修改性以低代价完成变更的能力业务方(源)在迭代期(环)新增支付渠道(激),订单模块(制)2 人周完成(响/度)模块化、信息隐藏、发布订阅、延迟绑定
易用性用户高效完成任务的容易程度新用户(源)首次使用(环)完成下单(激),前端(制)3 分钟内完成(响/度)任务模型、界面简化、帮助引导
可测试性发现故障、验证正确性的容易程度测试员(源)在集成环境(环)回归新接口(激),自动化覆盖≥80%(响/度)接口分离、可观测性、内置自测、日志

质量属性场景 6 要素

要素含义示例
刺激源产生刺激的实体用户、外部系统、攻击者
刺激到达系统的事件或条件并发请求、节点宕机
环境刺激发生时的系统状态正常运行、高峰、降级
制品被刺激的系统部分订单服务、数据库
响应系统做出的反应返回结果、切换节点
响应度量可测量的指标响应时间≤2s、可用性 99.99%

场景标准句式:在「环境」下,「刺激源」发起「刺激」,作用于「制品」,系统做出「响应」,并满足「响应度量」。

8.2 系统架构评估

概念:架构评估是在架构设计完成后、系统实现之前,由利益相关者依据质量目标系统分析架构,识别风险与权衡,避免后期返工。

四个必考概念

概念定义判断示例
敏感点显著影响某一个质量属性的关键决策加密算法强度影响安全性
权衡点同时影响多个质量属性、需要折中加密越强,安全性升、性能降
风险点尚未验证、可能不达标的决策自研缓存未做压测
非风险点经分析确认可满足目标的决策采用成熟消息队列

五种评估方法

方法关注点适用阶段输出
SAAM可修改性为主,场景驱动架构早期场景结论、风险清单
ATAM多质量属性权衡,效用树加场景设计完成、实现前敏感点/权衡点/风险点/非风险点、报告
CBAM成本、收益、投资回报架构决策与投资经济分析、决策优先级
SAEM基于度量的定量评估架构各阶段度量指标与评分
SAABNet贝叶斯网络表达不确定因果数据少、不确定环境质量属性概率预测

ATAM 四阶段

阶段活动产出
演示介绍 ATAM、业务驱动因素、架构与架构方法评估共识与计划
调查与分析确定架构方法、构建效用树、分析架构效用树、四类点
测试头脑风暴场景、排序、分析高优先级场景场景清单与测试结论
报告汇总发现、形成并交付报告评估报告与改进建议

效用树构造:根为「效用」,第二层为质量属性,第三层为属性细化,叶子为可度量场景;每个叶子标注(重要性,实现难度),用 H/M/L 表示。

效用 Utility
├─ 性能(H)
│  ├─ 峰值 1000 并发下单响应≤2s(H,H)
│  └─ 报表导出≤10s(M,M)
├─ 可用性(H)
│  └─ 单节点故障 30s 内切换(H,M)
└─ 可修改性(M)
   └─ 新增支付渠道≤2 人周(M,L)

8.3 ATAM 方法架构评估实践

  • 评估输入:业务目标与驱动因素、架构描述(多视图)、质量属性需求与场景。
  • 评估角色:评估负责人、架构师、利益相关者、记录员。
  • 评估输出:架构方法清单、效用树、场景优先级、敏感点、权衡点、风险点、非风险点、风险主题与评估报告。
  • 实施节奏:通常 3 天左右,第一天演示并对齐业务目标,第二天构建效用树并分析架构方法,第三天场景测试与报告。
  • 实践要点:先对齐业务目标,再谈技术;场景必须可度量;四类点必须落到具体构件或决策上,不能空泛;评估结论要能转化为改进项和责任人。

三、易混淆概念对比

AB关键区别
质量属性功能需求前者是「做得多好」,后者是「做什么」
敏感点权衡点敏感点只影响一个属性;权衡点影响多个属性需折中
风险点非风险点风险点未验证、可能不达标;非风险点已验证可行
可用性可靠性可用性看任意时刻可服务比例;可靠性看规定时间不出失效
安全性 security安全性 safety前者防攻击与数据泄露;后者指失效不造成人员财产危害
SAAMATAMSAAM 早期、偏可修改性;ATAM 多属性权衡、产出四类点
ATAMCBAMATAM 评质量权衡;CBAM 在 ATAM 上加成本收益与 ROI
场景用例场景描述质量刺激与响应;用例描述功能交互
效用树质量属性场景效用树是场景的层次化组织与排序工具
性能可伸缩性性能是当前能力;可伸缩性是增加资源后的扩展能力

四、常见考法与出题角度

题型出题角度典型问法答题要点
单选概念辨析「既影响安全又影响性能的是什么点」权衡点
单选场景要素「响应度量指什么」可测量的指标,如 2s、99.99%
单选方法匹配「关注成本效益比的方法是」CBAM
单选ATAM 阶段「构建效用树在哪个阶段」调查与分析阶段
单选评估输出「下列不属于 ATAM 输出的是」四类点与报告属输出,代码不算
简答质量战术「如何提升系统可用性」冗余、心跳检测、故障转移、重试
简答场景描述「写出一个可测试性场景」严格按六要素齐全作答
案例题角度质量属性权衡给出架构方案问「满足哪些属性、有何风险」逐属性列敏感点与权衡点,再给改进战术
论文可用角度正文举例「论文写高可用架构时怎么用本章」可写:「围绕 99.99% 可用性目标,我们按六要素定义场景,采用双机热备与心跳切换,将单点故障恢复时间控制在 30s 内。」

五、速记与自测

速记

  • 六属性:性、可、安、改、易、测
  • 场景六要素:源、激、环、品、响、度
  • 四个点:敏、权、风、非
  • 评估方法:S、A、C、S、S(SAAM、ATAM、CBAM、SAEM、SAABNet)
  • ATAM 四阶段:演、调、测、报

自测

  1. 质量属性场景的六个要素是什么?
  2. 敏感点与权衡点的本质区别是什么?
  3. ATAM 的四个阶段分别产出什么核心成果?

答案:1. 刺激源、刺激、环境、制品、响应、响应度量;2. 敏感点影响单一属性,权衡点同时影响多个属性需折中;3. 演示出共识、调查分析出效用树与四类点、测试出场景结论、报告出评估报告。