10.5 软件架构演化评估方法 ★★★☆☆
10.5.1 演化过程已知的评估
目的在于通过对架构演化过程进行度量,比较架构内部结构上的差异以及由此导致的外部质量属性上的变化,对该演化过程中相关质量属性进行评估。
1.评估流程
架构演化评估的基本思路是将架构度量应用到演化过程中,通过对演化前后的不同版本的 架构分别进行度量,得到度量结果的差值及其变化趋势,并计算架构间质量属性距离,进而对 相关质量属性进行评估。
2.架构演化中间版本度量
主要度量的是 架构的可维护性和可靠性
对于可靠性,架 构质量属性度量结果 Q,是一个实数值;
对于可维护性,它包含圈复杂度、扇入扇出度、模块 间耦合度、模块的响应、紧内聚度、松内聚度这6个子度量指标,度量结果 Q,是这6个指标的 度量值形成的六元组
3.架构质量属性距离
架构质量属性距离D(i- 1, i) 用来评估相邻版本架构间质量属性的差异。
1)可维护性距离计算方法
2)可靠性距离计算方法
3)非相邻版本的架构质量属性距离
4.架构演化评估
基本思路在于通过对演化前后的软件架构进行度量,比 较架构内部结构上的差异以及由此导致的外部质量属性上的变化。
具体体现:
①架构修改影响分析
②监控演化 过程
③分析关键演化过程
10.5.2 演化过程未知的评估
无法追踪架构在演化过程中的变化,只能根据架构演化前后的度量结果逆向推测出架构发生了哪些改变,并分析这些改变与架构相关质量属性的关联关系。
评估过程:
1.使用评估方法对演化前后的架构进行度量,得到度量结果
2.对比度量结果的差异,计算质量属性距离
3.分析质量属性的变化及距离,推测可能的演化操作
4.分析导致演化操作发生的高层驱动原因