ONEPSOFT | 软考学习知识库
deepread18|案例18 质量属性与架构评估(场景六要素-效用树-ATAM敏感权衡点)详解
一、知识点定位
一句话定位:质量属性分运行期(性能/安全/可用/可靠/可伸缩/互操作/鲁棒)和开发期(易理解/可扩展/可重用/可测试/可维护/可移植);用场景六要素描述需求;用 ATAM 效用树分类排序;关键决策是敏感点(单属性关键)/权衡点(多属性冲突)/风险点(问题)/非风险点(优势)。
二、教材原文精摘(第 8 章,原封不动)
【质量属性分类】原文:
基于生命周期分为开发期质量属性(易理解性/可扩展性/可重用性/可测试性/可维护性/可移植性)与运行期质量属性(性能/安全性/可伸缩性/互操作性/可靠性/可用性/鲁棒性)。
【质量属性场景六要素】原文:
质量属性场景由 6 部分组成:①刺激源 Source(生成刺激的实体);②刺激 Stimulus(刺激到达系统时需考虑的条件);③环境 Environment(刺激发生时的条件,如过载/运行);④制品 Artifact(被激励的制品,系统或一部分);⑤响应 Response(激励到达后采取的行动);⑥响应度量 Measurement(响应发生时可度量以测试需求)。
【ATAM 关注 4 类 & 效用树】原文:
ATAM 主要针对性能、实用性 (可用性)、安全性和可修改性,在开发前评价折中。采用效用树 Utility tree 对质量属性分类和优先级排序。效用树结构:树根—质量属性—属性分类—质量属性场景 (叶)。ATAM 关注 4 类:性能、安全性、可修改性、可用性(最关心)。得到效用树后修剪保留重要场景 (≤50),按重要性 (H/M/L) 和难易度 (H/M/L) 排优先级,形成优先级对如 (H,L)。
【敏感点/权衡点/风险】原文:
敏感点:一个或多个构件 (及关系) 的特性,实现给定质量属性至关重要。权衡点:影响多个质量属性的特性,是多个质量属性的敏感点(如改变加密级别对安全性和性能都重要——提高安全性耗更多处理时间影响性能,若有严格时间延迟要求则加密级别成为权衡点)。
风险:架构中不支持给定优先级质量属性的问题点。非风险:实现特定优先级质量属性的优势。
【ATAM 四阶段】原文:
ATAM 4 阶段:阶段 1 演示 (介绍 ATAM/业务驱动/架构);阶段 2 调查和分析 (确定架构方法/生成效用树/分析架构方法找风险非风险敏感点权衡点);阶段 3 测试 (头脑风暴优先场景/再分析);阶段 4 报告 ATAM(效用树/场景/风险非风险/架构方法)。
三、系统解读(逐段讲透)
核心一句话总结:用场景六要素 (源/刺激/环境/制品/响应/度量) 描述质量需求;效用树 (效用→属性→分类→场景) 分类排序打 H/M/L;ATAM 四阶段找敏感点 (单属性关键)/权衡点 (多属性冲突)/风险点 (问题)/非风险点 (优势);关注性能/安全/可修改/可用四类。
四、工程实践举例(土木工程视角)
你做土木工程," 工况描述/评估树/多目标冲突 " 与质量属性评估同构:
知识点 ↔ 工程实践 对照表
| 教材知识点要素 | 你的实践场景对应 | 映射说明 |
|---|---|---|
| 运行期/开发期属性 | 工程运行/建造期质量 | 二分法 |
| 场景六要素 | 工况六要素 | 源/刺激/环境/制品/响应/度量 |
| 效用树 | 评估树 | 效用→属性→分类→场景 |
| 敏感点 | 关键构件 | 单属性关键 |
| 权衡点 | 多目标冲突 | 安全 vs 工期 |
| 风险/非风险点 | 隐患/优势 | 问题/优势 |
当知识点涉及效用树与权衡点时,补充结构:
流程图(结构化呈现)
对应关系
| 节点A | 关系 | 节点B |
|---|---|---|
| 加密场景·权衡点 | 影响 | 响应时间场景·H/L |
| 加密场景·权衡点 | 影响 | 安全性 |
运维视角提示:敏感点/权衡点正是运维要盯的 " 架构命门 "——改动敏感点 (如缓存策略) 直接影响性能 (运维指标);权衡点 (如加密级别) 在运维加固时最常见:加安全常牺牲性能/延迟,运维要量化边界。质量属性评估不是纸上谈兵,效用树里的 " 可用性/性能 " 场景就是 SLA 来源,敏感点就是监控重点,权衡点就是运维调优的取舍依据。