知识点详解
一、质量属性两大类:开发期 vs 运行期(必背)
记忆:开发期 6 个都是"开发阶段的事"(理解/扩展/重用/测试/维护/移植);运行期 7 个里最常考的辨析——可靠性=不坏(无故障),可用性=能用(时间比例);可伸缩性=规模变大还行;鲁棒性=出事不崩(容错/健壮性)。
二、质量属性场景六要素(案例必考)
质量属性场景是面向特定质量属性的需求,由六个部分组成:
- 刺激源:生成刺激的实体(人、计算机系统或其他刺激器);
- 刺激:刺激到达系统时需要考虑的条件;
- 环境:刺激发生的条件(过载、正常运行等);
- 制品:被激励的对象(整个系统或系统的一部分);
- 响应:激励到达后采取的行动;
- 响应度量:以某种方式度量响应,以便对需求进行测试。
三、提升质量属性的策略(选择题高频)
| 属性 | 策略三分组 |
| 可用性 | 错误检测(心跳 Ping/Echo、异常);错误恢复(表决、主动冗余、被动冗余、重新同步、内测、检查点/回滚);错误避免(服务下线、事务、进程监控器) |
| 性能 | 资源需求(减少处理事件占用资源/数量、控制资源使用);资源管理(并发机制、增加资源);资源仲裁(先来先服务、固定优先级、动态优先级、静态调度) |
| 可修改性 | 局部化修改(高内聚低耦合、预测变更、使模块通用);防止连锁反应(信息隐藏、维持现有接口、限制通信路径、使用中介);推迟绑定时间(运行时注册、多态、配置文件) |
| 安全性 | 抵抗攻击(身份验证、授权、维护机密性完整性、限制暴露、限制访问);检测攻击(入侵检测系统);从攻击中恢复(恢复状态、识别攻击者) |
案例判题技巧:题干中出现"××秒内响应/××并发量"→性能;"99.99%可用/分钟内切换备用"→可用性;"加密/防篡改"→安全性;"×人月内完成修改/添加中间件"→可修改性;"数据量增长×倍仍正常"→可伸缩性。
考法:选择题直接考策略归属(如"心跳/表决/检查点回滚属于提升可用性");案例题给一列需求(a)(b)…让你判断质量属性并写场景六要素——2022/2023 年案例真题反复出现。