论文部分内容阅读
精确分析软件变更的影响是软件工程中极富挑战性的课题。随着软件规模和复杂性的急剧增加,面向对象技术以其在处理客观世界复杂事务、提高软件可重用性、以及增强软件应对变更能力等方面的优秀表现,已经成为软件行业事实上的标准。但面向对象技术并未从根本上消除精确控制软件变更的难度。因而,面向对象软件变更影响的分析也就越来越受到人们的关注。面向对象软件变更影响分析模型的研究,对于定量的分析面向对象软件变更的影响范围,进而更准确地对软件过程进行控制具有重要的理论意义和实用价值。本文详细分析和总结了面向对象软件变更的特点,提出了一种基于代码视图的软件变更正交分解方法,其思想是将原始的软件变更分解为独立的元变更,将原始变更对软件所造成的影响视为其元变更影响的线性和。通过对面向对象软件系统中依赖关系特性的定性分析,文中给出了对象依赖关系传递性存在的条件以及具体的传递性质,阐述了变更影响在软件系统中的传播规律。在结合变更传播规律和国内外既有研究成果的基础上,提出了一种改进的面向对象软件变更影响分析模型。模型采用多边有向伪图来描述面向对象软件系统中各模型元素间的依赖关系,并在有向伪图的结构中引入了可递归的节点定义(即图的节点可以是另一个图),用以描述面向对象软件系统中不同粒度的代码单元间的关系。该模型的工作机制为:通过扫描面向对象软件源代码获取不同粒度的代码模型间依赖关系,以正交分解的元变更为输入,利用预先分析得出的依赖敏感变更及依赖传递性规则,计算出变更对软件系统的影响范围。为了进一步更精确的描述变更影响的程度,本文还提出了一套变更影响量度以及两组面向变更的软件设计量度,用以对变更的具体工作量以及设计变更的质量做出基本的评判。最后,针对面向对象软件变更影响分析模型,进行了自动化分析工具的设计与原型系统实现。并从实验的角度验证了变更影响分析模型的有效性。