← 返回首页
必考质量属性

质量属性 & 质量属性战术

案例分析第 1 题 80% 概率考,与架构风格组合,15~25 分的核心考点

必考 · 每年 分值 15~25 论文核心主线
⭐ 必背:6 大质量属性

运行期 3 个:性能(Performance)、可用性(Availability)、安全性(Security)

开发期 3 个:可修改性(Modifiability)、可测试性(Testability)、易用性(Usability)

口诀:「性可安 · 改测易」

注:部分教材把"可靠性"独立列出,常考的还有 可靠性、互操作性、功能性。

一、质量属性场景:6 元素描述法 ⭐⭐⭐

案例分析 必考的画图/填空 题,口诀:「源激环 · 制响度」

元素英文说明例
刺激源Source谁产生刺激用户、外部系统、内部模块
刺激Stimulus到达系统的事件请求、故障、攻击、变更需求
环境Environment刺激发生时的系统状态正常运行、过载、降级
制品Artifact被刺激的部分整体系统、特定模块、通信链路
响应Response系统的反应活动处理请求、记录、报警、降级
响应度量Response Measure响应的可测指标延迟 ≤ 200ms、可用度 99.99%
📝 答题模板(必背)

"当 [刺激源] 在 [环境] 下向 [制品] 发出 [刺激] 时,系统应做出 [响应],并在 [响应度量] 范围内完成"

例:用户(源)在 系统满载(环境)下向 商品搜索接口(制品)发出 查询请求(刺激),系统应 返回结果(响应),平均响应时间 ≤500ms,P99 ≤ 1s(响应度量)。

二、6 大质量属性 · 战术大全 ⭐⭐⭐

1. 性能(Performance)

关注处理事件的时间、吞吐、延迟 指标响应时间、吞吐量(TPS)、并发数、资源利用率

三大类战术:

口诀:性能 = 需求(降)+ 管理(加)+ 仲裁(调)

2. 可用性(Availability)

关注系统持续提供服务的能力,故障容忍 指标可用度 = MTBF / (MTBF + MTTR)、999... 个 9

三大类战术:

口诀:可用性 = 检测 + 恢复 + 预防 · "测·修·防"
9 的可用度对照表 ⭐
  • 2 个 9 = 99% = 年宕机 87.6 小时
  • 3 个 9 = 99.9% = 年宕机 8.76 小时
  • 4 个 9 = 99.99% = 年宕机 52.6 分钟
  • 5 个 9 = 99.999% = 年宕机 5.26 分钟(电信级)

3. 安全性(Security)

关注CIA 三性 = 机密性、完整性、可用性 + 抗抵赖

三大类战术:

口诀:安全 = 抵抗 + 检测 + 恢复 · "抗·测·复"

4. 可修改性(Modifiability)

关注变更代价、变更生效时间

三大类战术:

口诀:可修改性 = 局部 + 防连锁 + 延迟绑定

5. 可测试性(Testability)

关注通过测试发现错误的难易程度

两大类战术:

6. 易用性(Usability)

关注用户完成任务的容易程度、系统给予的支持

三大类战术:

三、案例分析答题大法

题型 1:给场景,判断这是什么质量属性?

关键词速查表(必背!):

关键词 / 指标质量属性
响应时间、TPS、吞吐量、延迟性能
宕机、恢复、MTBF、99.99%、心跳、冗余可用性
加密、认证、授权、防攻击、防篡改、CIA安全性
未来扩展、新增功能、变更代价、解耦可修改性
测试用例、回归测试、单元测试、覆盖率可测试性
用户操作、学习曲线、撤销、向导易用性
故障率、MTBF、错误率(不要求恢复)可靠性
对接外系统、协议、数据交换互操作性
题型 2:给一段设计描述,问采用了什么战术?
设计手段战术 → 属性
缓存 / CDN资源仲裁 → 性能
负载均衡 / 集群引入并发 → 性能 / 可用性
主备热切换主动冗余 → 可用性
心跳检测错误检测 → 可用性
HTTPS / SSL加密 → 安全性
OAuth / 单点登录身份认证 → 安全性
IDS 入侵检测检测攻击 → 安全性
配置文件 / 反射延迟绑定 → 可修改性
接口 / 抽象类信息隐藏 → 可修改性
分层架构 / MVC限制通信 → 可修改性
Mock / Stub记录回放 → 可测试性
限流 / 熔断资源管理 → 性能 / 可用性
降级从故障恢复 → 可用性
题型 3:针对某质量属性提出 3 个具体设计方案

万能答题套路:战术 + 技术 + 收益

例:针对"性能"提出 3 个方案 →

  1. 引入缓存(Redis):把热点数据放在内存,减少数据库压力,响应时间从 200ms → 30ms。
  2. 负载均衡 + 水平扩展:用 Nginx 把请求分发到多个应用服务器,提升吞吐量 5 倍。
  3. 异步消息队列(Kafka):将耗时的非核心操作异步化,主流程 TPS 从 500 → 3000。

四、必背口诀总览

六大质量属性:性·可·安 + 改·测·易

场景六元素:源激环 · 制响度

性能战术:需求(降)· 管理(加)· 仲裁(调)

可用性战术:测 · 修 · 防

安全性战术:抗 · 测 · 复

可修改性战术:局部 · 防连锁 · 延迟绑定

✅ 自测 3 连

1. 描述质量属性场景的 6 个元素是什么?

2. 引入缓存属于哪个属性的哪类战术?

3. 99.99% 可用度对应一年宕机多长时间?

答:1) 刺激源·刺激·环境·制品·响应·响应度量 2) 性能 · 资源仲裁 3) 约 52.6 分钟。

📕 必考章节 2/3 · 质量属性 完