软件架构评估

敏感点 敏感点是为了实现某种特定质量属性,一个或多个构件的特性
权衡点 权衡点是影响多个质量属性的特性,是多个敏感点的综合。
风险点 架构设计中潜在的、存在问题的架构决策带来的隐患
风险承担者(利益相关人) 系统架构涉及到许多利益相关者的利益,这些利益相关者会试图影响架构决策,以实现自己的目标。不同利益相关者关注的问题不尽相同,架构师需要平衡考虑他们的需求
场景 场景是从风险承担者的角度对与系统的交互的简短描述。在架构评估中,一般采用刺激、环境和响应三方面来对场景进行描述
架构评估方法
  • 基于调查问卷(检查表)的方式
  • 基于度量的方式
  • 基于场景的方式
评估方式 调查问卷 检查表 场景 度量
通用性 通用 特定领域 特定系统 通用或特定领域
评估者对架构的了解程度 粗略了解 无限制 中等了解 精确了解
实施阶段
客观性 主观 主观 较主观 较客观

场景

【场景】是从风险承担者的角度与系统交互的简短描述

六个方面
  • 刺激源
  • 刺激
  • 制品
  • 环境
  • 响应
  • 响应度量

评估方法

软件架构分析法【SAAM】

最初用于分析架构可修改性,后扩展对其他质量属性

image-20241007225942057

从图中可以观察到SAAM的素材包含 问题、需求说明和架构描述,本质还是对架构能否实现需求的诉求的职能

架构权衡分析法【ATAM】

SAAM的基础上发展起来的,主要针对性能、可用性、安全性和可修改性,在系统开发之前,对这些质量属性进行评价和折中

最初四个场景
  • 场景和需求收集
    • 收集场景
    • 收集需求/约束/环境
  • 架构视图和场景实现
    • 描述架构视图
    • 实现场景
  • 属性模型构造和分析
    • 特定属性分析
  • 折中
    • 标志折中
    • 标志敏感度