乐于分享
好东西不私藏

软考(系统架构师)-软件架构设计之软件架构评估

软考(系统架构师)-软件架构设计之软件架构评估

系统架构评估分类

  • 基于调查问卷或检查表的方法:依赖评估人员的主观推断
  • 基于场景的评估方法
  • 基于度量的评估方法

系统架构评估中的概念

  • 敏感点:一个或多个构件的特性
  • 权衡点:影响多个质量属性的特性,是多个质量属性的敏感点

这里理解起来有点绕,但是只要我们记住如果是影响了多个质量属性,那就是权衡点。最典型的:改变加密级别会对安全性和性能产生影响,这里安全性和性能都是质量属性,因此加密级别就是一个权衡点。

场景:场景是从风险承担者的角度对于系统的交互的简短描述。

在架构评估中,一般采用刺激环境响应三方面来对场景进行描述。

系统架构评估方法

SAAM(Scenarios-bases Architecture Analysis method)

SAAM是最早形成文档并得到广泛使用的软件架构分析方法

SAAM的主要输入包括:问题描述需求声明架构描述

SAAM分析评估架构的过程包括:场景开发架构描述单个场景评估场景交互评估总体评估

ATAM(Architecture Tradeoff Analysis Method)架构权衡分析方法

ATAM是在SAAM的基础上发展起来的

ATAM分析评估过程包括:场景和需求收集、架构视图和场景实现、属性模型构造和分析、折中

ATAM方法采用效用树这一工具来对质量属性进行分类和优先级排序。效用树的结构包括:树根-质量属性-属性分类-质量属性场景(叶子结点)

采用效用树对质量属性进行分类和优先级排序需要考虑:每个场景对系统成功的重要性每个场景从架构师视角来看的实现难度

ATAM评估实践阶段划分包括:演示调查和分析测试报告

  • 演示:第一步介绍ATAM、第二步介绍业务驱动因素、第三步介绍要评估的体系结构
  • 调查与分析:第四步确定架构方法、第五步生成质量属性效用树、第六步分析体系结构方法
  • 测试:第七步头脑风暴和优先场景、第八步分析架构方法
    • 头脑风暴的场景
      • 用例场景:在这种情况下,利益相关者就是最终用户
      • 增长情景:代表了架构发展的方式
      • 探索性场景:代表架构中极端的增长形式
  • 报告ATAM:ATAM团队的主要发现包括:一种效用树、一组生成的场景、一组分析问题、一套确定的风险和非风险、确定的架构方法

CBAM(The Cost Benefit Analysis Method)成本效益分析法

CBAM是在ATAM上构建,其根据投资回报选择架构策略