上篇文章我们介绍了了基于场景的软件系统架构评估方法ATAM(架构权衡分析方法 ),大家可能已经注意到,这种方法好是好,就是太复杂了一点,耗时也比较长,完整评估下来要一两个月的时间。
那有没有比较简单易操作一点的方法呢,当然是有的。
那就是SAAM(软件系统架构分析方法),它也是一种基于场景的评估方法,最早用于分析体系结构的可修改性,后来也用于其他质量属性的评估。相比于SAAM,要简单许多,主要包括如下6个步骤:
1. 形成场景
2. 描述体系结构
3. 对场景进行分类和确定优先级
4. 对间接场景进行单个评估
5. 评估场景的相互作用
6. 形成总体评价
下面分别给大家说明一下。
1.形成场景
指的是风险承担者们集中在一起,集体讨论,提出一个个系统需求场景。记录人员把这些场景记录在册,形成文档的过程。
2.描述体系结构
指的是体现结构设计师,对待评估的体系结构进行适当的描述,包括静态属性和动态特征,可以用自然语言也可以用形式化手段,以让参加评估的所有人员都能充分理解。
这一步骤和上一个形成场景的步骤可以合并在一起,重复进行多次。
3.对场景进行分类和确定优先级
系统可分为直接场景和间接场景,直接场景指的是本体系结构可以直接支持的场景,即不需要对体系结构做任何修改即可直接实现。
另外一种间接场景则是需要对现有体系结构做些更改才能支持的场景。
最后用投票的方法,确定间接场景的重要性优先级,以便大家将有限的时间花在最重要的事情上。
4.对间接场景进行单个评估
就是将选出来的重要场景与体系结构描述对应起来。体系结构设计师具体说明体系结构需要做哪些修改变更才能适用间接场景的要求,并估计这些变更的代价。
最后形成一份全部场景的总结性列表。
列表字段包括:场景编号、场景描述、直接/间接、需要做的更改、更改/新增构建数量、更改工作量估计
5.评估场景的相互作用
当两个或多个间接场景需要修改到同一个构建时,这时场景就在这个构件上出现了相互作用,需要特别评估。
出现这种情况,往往是设计方案中功能分配不合理,或者是设计文档未能充分说明体系结构。
6.形成总体评价
最后,评估人员对场景和场景间的相互作用做一个总体的权衡和评价。通过各个场景权重与分值得出一个总体的评价,从多个体系结构,或者一个体系结构的不同设计方案选择出一个最优的方案。
这个方法是不是很简单?