第10小时 · 系统质量属性与架构评估

软考案例题高频章节 · 核心考点:质量属性分类、场景六要素、提升策略、ATAM 评估方法

目录

一、软件系统质量属性

1.1 两大分类

质量是软件系统与明确定义的和隐含定义的需求相一致的程度。

开发期质量属性
程序员 / 维护者在开发阶段关注
口诀:易扩重测维移
运行期质量属性
用户 / 运维在系统运行时关注
口诀:性安伸互可鲁

1.2 质量属性场景描述六要素

案例题必考——给一段场景描述让你标出各要素。

刺激源
Source
刺激
Stimulus
环境
Environment
制品
Artifact
响应
Response
响应度量
Measurement
要素说明案例
刺激源生成刺激的实体用户、外部系统、攻击者
刺激到达系统时需考虑的条件用户请求、攻击行为
环境刺激发生时的系统状态正常 / 过载 / 降级运行
制品被刺激的对象整个系统或某个构件
响应刺激到达后采取的行动处理请求、拒绝服务
响应度量对响应的可度量结果响应时间 ≤ 2s
案例
用户(刺激源)在系统正常运行时(环境)向服务器(制品)发起请求(刺激),系统进行处理并返回结果(响应),平均响应时间不超过 2 秒(响应度量)。

二、四大核心质量属性的提升策略

案例题最常考——给场景让你判断采用了什么策略。

2.1 性能

资源的需求
资源管理
资源仲裁

2.2 可用性(错误三部曲)

错误检测
错误恢复
错误避免

2.3 安全性(攻击三阶段)

抵抗攻击
检测攻击
从攻击中恢复

2.4 可修改性

局部化修改
防止连锁反应
推迟绑定时间

三、系统架构评估核心概念

3.1 评估方法的三种类型

方法类型特点代表
基于调查问卷或检查表很大程度依赖评估人员的主观判断
基于场景的评估方法客观可操作,主流方法SAAM、ATAM
基于度量的评估方法建立质量属性与度量的映射,量化评估CBAM 等

3.2 四个核心概念(案例题最爱考)

敏感点 Sensitivity Point
权衡点 Tradeoff Point
风险承担者 Stakeholder
场景 Scenario
辨析关键

敏感点「连接池大小设置为 100」——只影响性能这一个属性

权衡点「采用加密传输」——同时影响安全性(↑)和性能(↓)

四、三大评估方法对比

对比维度SAAMATAMCBAM
中文名软件架构分析方法架构权衡分析法成本效益分析法
核心目标分析架构满足需求多属性权衡折中经济效益(ROI)决策
关注属性主要是可修改性性能 / 可用性 / 安全性 / 可修改性成本与收益
基础方法基于场景基于场景 + 效用树基于场景 + 量化
步骤数5 步4 阶段8 步

4.1 SAAM 五步骤

输入:问题描述、需求说明、架构描述

  1. 场景开发
  2. 架构描述
  3. 单个场景评估
  4. 场景交互
  5. 总体评估

4.2 ATAM 四阶段(重点)

阶段一 · 演示 Presentation
介绍 ATAM 过程 描述商业目标 介绍待评估架构
阶段二 · 调查与评估 Investigation
确定架构方法 生成质量属性效用树 分析体系结构方法
阶段三 · 测试 Testing
头脑风暴和优先场景 再次分析架构方法
阶段四 · 提交结果 Reporting
输出评估报告:敏感点、权衡点、风险、非风险
ATAM 核心
以质量属性作为架构评估的核心概念,重点关注 性能、可用性、安全性、可修改性 四个属性的折中。

4.3 CBAM 八步骤

  1. 整理场景
  2. 对场景进行求精
  3. 确定场景的优先级
  4. 分配效用
  5. 架构策略涉及哪些质量属性及响应级别
  6. 使用内插法确定「期望的」质量属性响应级别的效用
  7. 计算各架构策略的总收益
  8. 根据受成本限制影响的 ROI 选择架构策略

特点:在 ATAM 基础上引入经济模型,量化成本与收益。

4.4 其他评估方法(了解)

方法简介
SAEM将软件架构视为最终产品和中间产品,从内外部质量属性建立评估模型
SAABNet辅助架构的定性评估,基于贝叶斯网络
SACMM软件架构修改的度量方法
SASAM通过预期架构与实际架构映射比较来静态评估
ALRRA软件架构可靠性风险评估方法
AHP层次分析法,把定性分析与定量计算结合
COSMIC+UML采用统一的软件度量方法 COSMIC 进行评估

五、常考题型速查

1
判断质量属性分类
例:「可移植性属于哪一类质量属性?」→ 开发期
2
识别场景六要素
给一段场景描述,让你标出刺激源、刺激、环境、制品、响应、响应度量。
3
识别敏感点与权衡点
关键看影响的属性数量:单一 → 敏感点,多个 → 权衡点。
4
判断提升策略类型
「心跳机制」→ 可用性 · 错误检测 「多态」→ 可修改性 · 推迟绑定时间 「入侵检测」→ 安全性 · 检测攻击
5
ATAM 阶段判断
「生成质量属性效用树」→ 阶段二 「头脑风暴优先场景」→ 阶段三