模型切片技术及其在软件演化领域的应用
作者单位:沈阳化工大学
学位级别:硕士
导师姓名:关慧
授予年度:2018年
学科分类:08[工学] 0835[工学-软件工程] 081202[工学-计算机软件与理论] 0812[工学-计算机科学与技术(可授工学、理学学位)]
摘 要:软件演化是高质量软件开发的重要课题。随着互联网的爆炸式发展,软件系统也随之飞速发展。然而,随着软件系统复杂性不断增加,计算机软件系统变得越来越难以理解和维护,更多的节点和边被添加到图中,这将导致遗留系统的规模很可能超出其图形模型可以表示的范围,这必将导致遗留系统对应的图形模型的可读性降低。而一些研究人员在对大规模程序进行调试时发现:当一个规模巨大的软件系统按照一定的规则划分为若干个规模较小的程序时,可以很容易被理解和维护。因此,本文首先对程序切片的研究背景、国内外研究现状、主要技术、应用场景等进行了简要概括;接着对软件演化,程序切片,模型切片技术进行了介绍,然后对UML进行了研究分析,领会切片技术在软件演化领域的思想及实现过程;最后在对遗留系统演进策略进行研究的基础上,将程序切片引入到模型切片中,提出了一种动态模型切片方法来促进遗留系统演化。其主要过程为:首先理解遗留软件系统,并从遗留系统中提取更高代表性的模型。然后利用类图和通信图的依赖性分析构建CSDG类场景依赖图,为切片打下基础,然后根据给定的切片条件对依赖关系图(CSDG)进行切片,输出切片图。最后通过实例来说明提出的动态模型切片方法的可行性,用实例进一步说明了算法的过程与结果。最终通过案例来说明提出的方法通过减少不相关或独立的元素来简化系统模型,同时考虑模型中指定的给定元素。这将有助于系统在模型层面上对系统进行演化,从而有助于系统演进。案例研究表明,提出的方法是有用和高效的。