本页目录 · 8 节
- 一、这个域在考试里值多少分
- 二、考点地图(7 个考点簇)
- 考点簇 1:质量属性的分类与定义
- 考点簇 2:质量属性场景的六要素
- 考点簇 3:质量属性战术(案例填空的弹药库)
- 考点簇 4:敏感点 / 权衡点 / 风险点 / 非风险点
- 考点簇 5:效用树(Utility Tree)
- 考点簇 6:架构评估方法对比
- 考点簇 7:质量属性"响应度量"速查
- 三、跨年真题定位索引(综合知识)
- 四、案例分析定位(本域是"必做题常客")
- 五、典型陷阱清单(考前 10 分钟看这一页)
- 六、答题模板
- 模板 A:综合知识"这句话对应哪个质量属性"(30 秒判定)
- 模板 B:案例"识别质量属性 + 给出策略"(三步成段)
- 模板 C:效用树填写(案例必做标准流程)
- 模板 D:论文(若选"架构评估"类题)
- 七、自测清单(能全部答出再进入下一域)
- 八、来源与可信度
知识域 01 · 质量属性与架构评估
本文件是「按知识域」复习的入口之一。所有题号均指向
../01-年份索引/<年份>-套卷.md中的同名题号,答案与逐题解析以套卷为准;本文件只做归类、规律与陷阱的提炼。
标注含义:〔核〕=官方或机构答案,可直接背;〔推〕=本库推导;〔存疑〕=题面/答案有争议,只记考点不背选项。
一、这个域在考试里值多少分
| 科目 | 出现频率 | 典型形态 | 备考定位 |
|---|---|---|---|
| 综合知识 | 每套 5—10 题(约 7—13 分) | 属性判断、场景六要素、敏感点/权衡点、效用树、评估方法对比 | 必须全对,属于"送分区",但陷阱极密 |
| 案例分析 | 必做题几乎年年考(25 分) | 给一段需求 → 填效用树 / 判断质量属性 / 选架构策略 / 比较两种风格 | 决定案例能否过线,模板化程度最高 |
| 论文 | 偶考(如 2019 下论文二"论软件系统架构评估及其应用") | 评估方法 + 项目实践 | 可作为论文备选素材库 |
结论:这是投入产出比最高的一个域。案例必做题的骨架(读需求 → 判属性 → 配策略 → 写权衡)必须练到条件反射。
二、考点地图(7 个考点簇)
考点簇 1:质量属性的分类与定义
两分法(最高频):
| 类别 | 含义 | 成员 |
|---|---|---|
| 开发期质量属性 | 影响开发、维护、演化 | 可维护性、可扩展性、可重用性、可测试性、可移植性、易理解性 |
| 运行期质量属性 | 系统运行时的表现 | 性能、安全性、可用性、可靠性、鲁棒性、易用性、互操作性、可伸缩性 |
六个常考属性的"一句话定义"(判断题型全靠这个):
| 属性 | 一句话定义 | 识别关键词 |
|---|---|---|
| 性能 | 单位时间内完成规定任务的能力 | 响应时间、吞吐量、并发数、时延、TPS/QPS |
| 可用性 | 系统在需要时可用的比例(正常运行时间) | 宕机、切换、热备、故障恢复时间、99.9% |
| 可靠性 | 规定条件下规定时间内无故障运行的能力 | 平均无故障时间 MTBF、失效率、连续运行 |
| 安全性 | 抵抗攻击、保护机密/完整/可用、可审计 | 攻击、防篡改、加密、认证、审计日志 |
| 可修改性 | 修改(功能/平台/环境)的代价 | "X 人·月内完成"、"不超过 N 天"、二次开发 |
| 易用性 | 用户完成任务的容易程度 | 学习时间、操作步骤、界面友好 |
| 可测试性 | 通过测试发现缺陷的容易程度 | 测试用例、可观测、记录/回放 |
| 互操作性 | 与其它系统交换信息并正确使用的能力 | 接口、协议、数据格式兼容 |
判断口诀:看到时间/比率先分"性能 vs 可用性 vs 可靠性"——
讲"多快"→性能;讲"多久能用/多久恢复"→可用性;讲"多久不出错"→可靠性。
看到"人·月/人·周/天内完成修改"→可修改性;看到"学习成本"→易用性。
考点簇 2:质量属性场景的六要素
| 要素 | 英文 | 含义 | 常见考法 |
|---|---|---|---|
| 刺激源 | Source | 产生刺激的实体(人、系统、时钟) | 区分"用户"与"系统内部定时器" |
| 刺激 | Stimulus | 到达系统时需要考虑的条件 | 与"刺激源"配对出现 |
| 环境 | Environment | 刺激发生时系统的状态(正常/过载/降级) | 最易与"制品"混淆 |
| 制品 | Artifact | 被刺激的对象(整个系统/某构件/某数据) | 被问"作用于谁" |
| 响应 | Response | 刺激到达后采取的行动 | 结果性描述 |
| 响应度量 | Response Measure | 可测量的结果(秒、百分比、金额) | 判断"这句话属于哪个要素" |
例:"在正常负载下(环境),用户(刺激源)发起商品查询(刺激),系统(制品)应在 0.5 秒内返回结果(响应+度量)。"
考点簇 3:质量属性战术(案例填空的弹药库)
| 属性 | 战术族 | 具体战术(教材表述) |
|---|---|---|
| 可用性 | 错误检测 | 命令/响应、心跳、异常检测 |
| 错误恢复 | 主动冗余(双机热备/主备同时在线)、被动冗余、备用件、检查点/回滚、降级 | |
| 错误预防 | 服务移除、事务、进程监视器 | |
| 性能 | 资源需求 | 减少计算开销、减少资源争用、事件仲裁 |
| 资源管理 | 引入并发、维持数据多副本、增加计算资源、限制执行时间、资源调度(含资源仲裁/优先级) | |
| 安全性 | 抵抗攻击 | 认证、授权、限制访问、数据加密、完整性校验、限制暴露 |
| 检测攻击 | 入侵检测、追踪审计 | |
| 从攻击中恢复 | 审计信息、恢复 | |
| 可修改性 | 局部化修改 | 减少模块规模、增加内聚、降低耦合、信息隐藏、抽象接口、限制依赖 |
| 防止连锁反应 | 中介(Mediator)、延迟绑定 | |
| 推迟绑定时间 | 配置文件、发布-订阅、多态 | |
| 可测试性 | — | 记录/回放、内置监视器、抽象数据访问、接口-实现分离、沙箱 |
| 易用性 | 运行时 | 任务模型、用户模型、系统模型;撤销/取消、用户个性化、系统主动帮助 |
记忆抓手:"心跳/冗余/检查点"→可用性;"并发/调度/加机器"→性能;"认证/加密/审计"→安全性;"抽象接口/信息隐藏/中介"→可修改性。
考点簇 4:敏感点 / 权衡点 / 风险点 / 非风险点
| 概念 | 定义 | 判定口径 |
|---|---|---|
| 敏感点(Sensitivity Point) | 影响某一个质量属性的构件(或构件关系)特性 | 一个决策 → 一个属性变 |
| 权衡点(Tradeoff Point) | 影响多个质量属性的敏感点 | 一个决策 → 至少两个属性此消彼长 |
| 风险点(Risk) | 可能带来风险的架构决策 | 有隐患、尚未验证 |
| 非风险点(Non-risk) | 可接受的架构决策 | 明确、可控 |
母题(2020 下 48—50,〔核〕答案 B、A、B):
"()是影响多个质量属性的特性,是多个质量属性的();如有严格时延要求,加密级别可能成为一个()。"
→ 权衡点 / 敏感点 / 权衡点。"权衡点 = 多个质量属性的敏感点" 这句话本身就是一个填空陷阱。
母题(2025 下 9—10,〔核〕答案 D、B):增加加密算法影响安全性和性能,这体现的是权衡点。
考点簇 5:效用树(Utility Tree)
结构(2024 下 16〔推〕答案 A,2023 下 34 同考点):
树根(效用 Utility)
└─ 质量属性(性能/可用性/可修改性/安全性 …)
└─ 属性分类/细化(如"性能 → 数据延迟")
└─ 质量属性场景(叶子,可度量)
标注:(重要性,实现难度)→ H / M / L
填写三步法(案例必做标准动作):
- 把题干 (a)~(l) 逐条打标:抽"刺激源+刺激+制品+响应度量"四件套;
- 归到四大属性下的某个分支,分支名必须与题干给的树图节点语义吻合;
- 叶子场景编号回填,同一场景只填一次,且必须与节点属性一致("可修改性"分支下不能填"响应时间"类场景)。
排序维度(2025 下 61,〔推〕答案 A):纵轴"对系统成功的重要性"、横轴"从架构师视角的实现难度",各分 H/M/L。优先做"高重要 + 低难度"。
考点簇 6:架构评估方法对比
| 方法 | 全称 | 关注点 | 活动/步骤 | 特点 |
|---|---|---|---|---|
| SAAM | 基于场景的架构分析方法 | 可修改性(后扩展到可移植、可扩充) | 场景开发、架构描述、单个场景评估、场景交互、总体评估(5 步) | 最早的评估方法;输入=问题描述、需求声明、体系结构描述 |
| ATAM | 架构权衡分析方法 | 性能、可用性、安全性、可修改性的折中 | 场景和需求收集、体系结构视图和场景实现、属性模型构造和分析、折中(4 个活动领域) | 在 SAAM 基础上发展;产出风险点/敏感点/权衡点 |
| CBAM | 成本效益分析方法 | 在 ATAM 之后做经济决策 | 在 ATAM 结果上量化成本、收益、投资回报 | 回答"改哪个划算" |
| SAEM | 体系结构评估模型方法 | 将评估过程形式化 | — | 较少单独考 |
| ARID | 活动评审与增量设计 | 部分设计的评审 | — | 用于设计进行中 |
易错点:ATAM 第三项活动是"属性模型构造和分析"(2018 下 47〔推〕答案 C),不是"问题分析与建模";SAAM 的第三项输入是"体系结构描述"(2018 下 48〔推〕答案 C),不是"问题建模"。
考点簇 7:质量属性"响应度量"速查
| 属性 | 可度量指标 |
|---|---|
| 性能 | 响应时间、吞吐量、并发用户数、资源利用率 |
| 可用性 | 可用时间比例(99.9%)、故障恢复时间、切换时间 |
| 可靠性 | MTBF、MTTR、失效率、N 版本表决 |
| 安全性 | 攻击拦截率、审计覆盖率、加密强度 |
| 可修改性 | 人·月/人·天、变更影响模块数 |
| 易用性 | 学习时间、任务完成时间、错误率 |
三、跨年真题定位索引(综合知识)
用法:第一轮按年份刷套卷;第二轮按本表"横向串"同一考点,看命题人如何换皮。
| 年份 | 题号 | 考点 | 考法/陷阱提示 |
|---|---|---|---|
| 2026 下 | 29 | ATAM 场景类型 | 区分"用例场景/增长场景/探索场景" |
| 2026 上 | 33 / 34 | 易用性 / 容错性 | 属性定义辨析 |
| 2026 上 | 38 | 开发期 vs 运行期 | 属性归类 |
| 2026 上 | 56 | 可用性度量 | 指标归属 |
| 2026 上 | 57 / 63—64 | 架构评估基本概念、方法对比 | SAAM/ATAM/CBAM 特征匹配 |
| 2025 下 | 9—10 | 敏感点/权衡点 | 加密 → 安全 vs 性能 |
| 2025 下 | 39 | CBAM | 经济决策定位 |
| 2025 下 | 46 | 场景分类 | 六要素识别 |
| 2025 下 | 61 | 效用树排序维度 | 重要性与实现难度 |
| 2025 下 | 71 | 可移植性 | 开发期属性 |
| 2025 上 | 5 | 安全性 | 场景 → 属性 |
| 2024 下 | 1—2 | 安全性 | 六空式属性+策略 |
| 2024 下 | 16 / 46 | 效用树结构 | 层次顺序 |
| 2024 下 | 18 / 27 / 37 | 易用性 / 可用性 / 可扩展性 | 定义辨析 |
| 2024 下 | 20 / 40 | ATAM / ATAM 场景 | 活动领域与场景类型 |
| 2024 下 | 33 / 34 | 权衡点 / 质量属性场景 | 高频双考点 |
| 2024 上 | 36—48 | 属性全家桶(8 连问) | 开发期运行期、四属性、可用性定义、互操作性、场景作用、响应、优先级排序、最早方法、多属性折中、性能度量、性能手段、机密性、不可否认性 |
| 2023 下 | 23 | 静态架构评估 | 评估时机 |
| 2023 下 | 27—28 | 质量属性判断 | 需求句 → 属性 |
| 2023 下 | 34 | 效用树结构 | 层次顺序 |
| 2023 下 | 49—50 | 场景要素 | 环境 vs 制品 |
| 2023 下 | 51 | SAAM 输入 | 三项输入 |
| 2023 下 | 55 | 批处理 vs 管道-过滤器 | 风格与属性关联(跨域,见 02 域) |
| 2022 下 | 54—57 | 质量属性 + 场景 | 属性判断 + 六要素 |
| 2021 下 | 53—54 | 性能 | 性能度量与战术 |
| 2021 下 | 55 | 可用性 | 冗余策略 |
| 2021 下 | 56—57 | 安全性子属性 | 机密性/完整性/可用性 |
| 2021 下 | 58—59 | 场景 | 六要素 |
| 2021 下 | 60—61 | 敏感点/权衡点 | 定义链 |
| 2020 下 | 48—50 | 敏感点/权衡点 | 三空连锁 |
| 2020 下 | 59—63 | 属性+策略(在线教育平台) | 六空:属性、策略、属性、策略、属性 |
| 2019 下 | 58—63 | 属性+策略(电子交易清算) | 六空:性能/资源仲裁、可用性/心跳、安全性/检测攻击 |
| 2018 下 | 47—48 | ATAM 活动 / SAAM 输入 | 名称精确匹配 |
| 2018 下 | 51—53 | 解释器风格 + 性能 + 可修改性 | "二次开发 3 个月"→可修改性 |
| 2018 下 | 58—63 | 属性+策略(人员管理系统) | 可用性/主动冗余、性能/资源调度、安全性/追踪审计 |
四、案例分析定位(本域是"必做题常客")
| 年份 | 案例 | 本域考法 | 关键动作 |
|---|---|---|---|
| 2026 下 | 案例一(必做)城市空气质量监测 AQI | 质量属性识别 + 场景 | 先从指标反推属性 |
| 2026 上 | 案例一(必做)园区入侵检测 | 质量属性 + 架构风格选择 | 属性决定风格 |
| 2025 下 | 试题 1(必做)电动车充电管理 | 质量属性 + 加密 | 属性与安全技术挂钩 |
| 2025 上 | 试题 1(必做)深度学习模型平台 | 质量属性 + 解释器风格 | 属性与风格匹配 |
| 2024 下 | 试题 1(必做)AI 系统 | 质量属性 + 心跳检测 | 心跳=可用性战术 |
| 2024 上 | 必做题(微服务架构) | 质量属性场景 + 评估 | 场景六要素拆解 |
| 2022 下 | 试题一(必做)会员与促销管理 | 效用树 + 解释器风格 | 效用树填写 |
| 2021 下 | 试题一(必做)机器学习平台 | 效用树 + 风格对比 | 效用树 + 三维对比 |
| 2020 下 | 试题一(必做)在线软件开发系统 | 仓库 vs 管道-过滤器 + 效用树 | 风格对比 + 效用树 |
| 2019 下 | 试题一(必做)用户管理系统 | 规则 vs 面向对象 + 效用树 | 同上(母题) |
| 2018 下 | 案例一(必做)文化用品商城 | 非功能需求四分类 | 8+8+9 三问 |
规律:必做题 = "质量属性判断" + "风格/策略选择" + "效用树"。2018—2022 连续 5 年出现效用树,2023 后转向"指标+场景"更灵活的写法,但底层拆解方式完全一样。
五、典型陷阱清单(考前 10 分钟看这一页)
- 性能 vs 可用性:"1 秒内响应"是性能;"断电 15 秒内切到备用"是可用性。凡是出现"切换/备用/恢复"一律可用性。
- 可用性 vs 可靠性:可用性讲"服务可用的时间比例";可靠性讲"不出故障的概率/MTBF"。"双机热备"是可用的手段,但不等于可靠性指标。
- 可修改性 vs 可扩展性:题干给"人·月/人·周"量化变更成本 → 可修改性;只讲"要能加新功能" → 可扩展性(可修改性的子类,选项中若两者同时出现,按题干是否量化判断)。
- 敏感点 vs 权衡点:一个决策影响 1 个属性=敏感点;影响 ≥2 个且冲突=权衡点。"加密影响安全与性能"是教科书级权衡点。
- 场景"环境" vs "制品":环境=当时系统状态;制品=被作用的对象。填错这一空很常见。
- ATAM 第三活动名称:属性模型构造和分析(不是"问题分析与建模")。
- SAAM 是"最早"的方法,不是 ATAM;ATAM 是"折中"导向。
- 效用树叶子必须可度量:填"系统要好用"必错,要填"新用户 1 小时内完成首次下单"。
- 战术与属性错配:把"心跳"填到性能、"资源调度"填到可用性,是最常见的失分点。
- 开发期/运行期混淆:可测试性、可移植性属开发期;易用性、互操作性属运行期。
六、答题模板
模板 A:综合知识"这句话对应哪个质量属性"(30 秒判定)
第 1 步 找度量词:秒/毫秒/百分比/人·月/小时
第 2 步 找动作词:
切换/热备/恢复 → 可用性
响应/吞吐/并发 → 性能
攻击/加密/审计 → 安全性
修改/新增/替换/人·月 → 可修改性
学习/操作步骤 → 易用性
不出故障/MTBF → 可靠性
第 3 步 若两个属性同时出现,判"是否此消彼长" → 是则答"权衡点"
模板 B:案例"识别质量属性 + 给出策略"(三步成段)
① 定性:该需求关注的是【属性名】,因为题干给出了【度量:如 0.5 秒/99.9%/10 人·月】。
② 给策略:可采用【战术 1】+【战术 2】。例如为提高可用性采用主动冗余(双机热备)+
心跳检测;为降低切换时间采用检查点/回滚。
③ 说权衡(拿满分的关键):该策略会带来【副作用:成本上升/一致性复杂度/性能开销】,
因此需在【属性 A】与【属性 B】之间折中,本项目的取舍是【结论 + 理由】。
模板 C:效用树填写(案例必做标准流程)
① 抄树:把题干给出的树图节点(根→属性→分类)原样抄到答题纸,防止漏层。
② 编号:把题干 (a)(b)(c)… 逐条写成"刺激源 + 刺激 + 制品 + 响应度量"。
③ 归类:按属性语义挂到对应分支;一条需求只能挂一个分支。
④ 回填:叶子写场景编号;每片叶子标注(重要性 H/M/L,难度 H/M/L)。
⑤ 自检:同一分支下的场景是否同属性?是否有场景漏填?度量是否可量化?
模板 D:论文(若选"架构评估"类题)
一、项目背景(300 字):系统规模、并发量、我的角色(架构师)、评估诉求。
二、方法论述(500 字):SAAM 五步 / ATAM 四活动 + 敏感点、权衡点、风险点定义。
三、实践(900 字):按"评估准备 → 场景开发(给 3 个真实场景)→ 场景优先级排序
→ 评估结论(列出 2 个风险点、1 个权衡点)→ 改进措施与效果(量化)"写。
四、收尾(200 字):不足与改进(如评估依赖专家经验、场景覆盖不全)。
七、自测清单(能全部答出再进入下一域)
- [ ] 不看资料说出 6 个运行期质量属性、5 个开发期质量属性
- [ ] 写出质量属性场景六要素,并给"断电切换"造一个完整场景
- [ ] 说出可用性 3 类战术、每类至少 2 个具体战术
- [ ] 说出性能 2 类战术、每类至少 3 个具体战术
- [ ] 准确区分敏感点/权衡点/风险点,并各举一例
- [ ] 画出效用树四层结构,说明叶子标注的两个维度
- [ ] 说出 SAAM 五步、ATAM 四个活动领域、CBAM 与 ATAM 的差别
- [ ] 说出 SAAM 的三个输入
- [ ] 用模板 B 在 8 分钟内写完一道"属性+策略+权衡"的案例小问
八、来源与可信度
- 题目定位来自本库 12 套卷(2018 下—2026 下),套卷内每题均标注来源与可信度。
- 教材口径以《系统架构设计师教程(第 2 版)》第 12 章"系统架构设计"相关章节为准;不同版次对"战术"名称略有差异,考试以题干给出的选项表述为准。
- 本文件中标注〔核〕的答案为公开源机构答案;〔推〕为本库推导,已与教材定义交叉验证。