[系统架构设计师]系统质量属性与架构评估(八)
一.软件系统质量属性
1.基本概念
软件系统质量属性:可测量或可测试的属性
开发期质量属性,运行期质量属性
面向架构评估的质量属性:
1.可用性:
提升策略
错误检测:心跳,Pin/Echo,异常
错误恢复:表决,主动冗余,被动冗余,重新同步,内测,检查点/回滚
错误避免:服务下线,事务,进程监控器
2.性能:
提升性能策略:
资源的需求:减少处理资源时对资源的占用,减少处理事件的数量,控制资源的使用
资源管理:并发机制,增加资源
资源仲裁:先来先服务,固定优先级,动态优先级,静态调度
3.可修改性:
提升策略:
局部化修改:高内聚低耦合,预测变更,使模块通用
防止连锁反应:信息隐藏,维持现有接口,限制通信路径,使用中介
推迟绑定时间:运行时注册,多态,配置文件
4.安全性:
抵抗攻击:用户身份验证,用户授权,维护数据机密性与完整性,限制暴露,限制访问,
检测攻击:入侵检测系统
从攻击中恢复:恢复状态,识别攻击者
5.质量属性场景:刺激源,刺激,环境,制品,响应,响应度量
二.系统架构评估
1.系统架构评估中的重要概念
敏感点,权衡点,风险承担者或利益相关人,场景
2.软件架构分析方法(SAAM)
主要输入:问题描述,需求说明,架构描述
分析过程:场景开发,架构描述,单个场景评估,场景交互,总体评估
SAAM的输入与评估过程:
3.架构权衡分析法(ATAM)
性能,可用性,安全性,可修改性等评价和折中
活动阶段:需求收集,架构视图描述,属性模型构造和分析,架构决策与折中。属性作为架构评估的核心概念
现代ATAM方法的评估实践阶段划分:
4.评估方法对比
5.成本效益分析法(CBAM)
6.其他评估方法
对比
[外链图片转存中…(img-bLf9pwnB-1755335901511)]
5.成本效益分析法(CBAM)
6.其他评估方法
SAEM,SAABNet,SACMM,SASAM,ALRRA,AHP,COSMIC+UML