← 返回导航
质量属性
六大质量属性与战术、效用树:案例必考
综合知识必考 / 案例必考(效用树)/ 论文"论质量属性"高频
案例套路:场景描述 -> 判定质量属性 -> 给战术 -> 指出权衡
六大质量属性
| 属性 | 关键词 | 度量示例 |
|---|
| 性能 | 响应时间、吞吐量、并发数 | 99%请求<200ms |
| 可用性 | 故障间隔、恢复时间、9的个数 | 年停机<5分钟(99.999%) |
| 可修改性 | 修改成本、影响范围 | 加新报表2人日 |
| 安全性 | 机密性/完整性/不可否认 | 抗SQL注入、权限控制 |
| 可测试性 | 可控输入+可观测输出 | 覆盖率80%+ |
| 易用性 | 学习成本、操作效率 | 新手30分钟上手 |
性能战术(三类)
- 资源需求:减少计算开销(改算法)、控制事件率/采样率、限制执行时间与队列长度
- 资源管理:引入并发、增加资源、缓存(空间换时间)、多副本
- 资源仲裁:调度策略——FIFO/优先级/最短作业/轮转/时间片
可用性战术(三类)
- 错误检测:ping/echo、心跳、异常捕获、超时
- 错误恢复:主动冗余(热备,双写)、被动冗余(温备/冷备)、备件、检查点+回滚、状态再同步、事务、补偿事务
- 错误预防:从服务中删除(重启策略)、事务原子性、进程监视器
可修改性战术(三类)
- 局部化变更:维持语义一致性、预期变更、泛化模块、抽象公共服务
- 防止涟漪效应:封装、使用中介、限制依赖、接口与实现分离、适配器
- 推迟绑定时间:运行时注册、配置文件、多态、组件替换
安全战术(三类)
- 抵抗攻击:身份认证、用户授权、数据加密、限制访问、限制暴露、确认参与方
- 检测攻击:检测入侵、检测拒绝服务
- 从攻击中恢复:审计追踪、恢复到已知状态
效用树(ATAM核心工具)
树根"效用"-> 中间层质量属性(性能/可用性/...) -> 叶子场景(带重要度I和难度M标注,如 I:高 M:中)
速记
性能"需管裁"、可用"检恢防"、可修改"局推防涟漪"、安全"抗检复"
一切战术题:先说战术类别 -> 再给具体手段 -> 最后提一句对其他属性的权衡