软件架构评估
| 敏感点 | 敏感点是为了实现某种特定质量属性,一个或多个构件的特性 |
| 权衡点 | 权衡点是影响多个质量属性的特性,是多个敏感点的综合。 |
| 风险点 | 架构设计中潜在的、存在问题的架构决策带来的隐患 |
| 风险承担者(利益相关人) | 系统架构涉及到许多利益相关者的利益,这些利益相关者会试图影响架构决策,以实现自己的目标。不同利益相关者关注的问题不尽相同,架构师需要平衡考虑他们的需求 |
| 场景 | 场景是从风险承担者的角度对与系统的交互的简短描述。在架构评估中,一般采用刺激、环境和响应三方面来对场景进行描述 |
架构评估方法
- 基于调查问卷(检查表)的方式
- 基于度量的方式
- 基于场景的方式
| 评估方式 | 调查问卷 | 检查表 | 场景 | 度量 |
|---|---|---|---|---|
| 通用性 | 通用 | 特定领域 | 特定系统 | 通用或特定领域 |
| 评估者对架构的了解程度 | 粗略了解 | 无限制 | 中等了解 | 精确了解 |
| 实施阶段 | 早 | 中 | 中 | 中 |
| 客观性 | 主观 | 主观 | 较主观 | 较客观 |
场景
【场景】是从风险承担者的角度与系统交互的简短描述
六个方面
- 刺激源
- 刺激
- 制品
- 环境
- 响应
- 响应度量
评估方法
软件架构分析法【SAAM】
最初用于分析架构可修改性,后扩展对其他质量属性
从图中可以观察到SAAM的素材包含 问题、需求说明和架构描述,本质还是对架构能否实现需求的诉求的职能
架构权衡分析法【ATAM】
在SAAM的基础上发展起来的,主要针对性能、可用性、安全性和可修改性,在系统开发之前,对这些质量属性进行评价和折中
最初四个场景
- 场景和需求收集
- 收集场景
- 收集需求/约束/环境
- 架构视图和场景实现
- 描述架构视图
- 实现场景
- 属性模型构造和分析
- 特定属性分析
- 折中
- 标志折中
- 标志敏感度