软考(系统架构师)-软件架构设计之软件架构评估
系统架构评估分类
-
基于调查问卷或检查表的方法:依赖评估人员的主观推断 -
基于场景的评估方法 -
基于度量的评估方法
系统架构评估中的概念
-
敏感点:一个或多个构件的特性 -
权衡点:影响多个质量属性的特性,是多个质量属性的敏感点
这里理解起来有点绕,但是只要我们记住如果是影响了多个质量属性,那就是权衡点。最典型的:改变加密级别会对安全性和性能产生影响,这里安全性和性能都是质量属性,因此加密级别就是一个权衡点。
在架构评估中,一般采用刺激、环境和响应三方面来对场景进行描述。
系统架构评估方法
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上构建,其根据投资回报选择架构策略
夜雨聆风