论文部分内容阅读
随着计算机技术的快速发展,软件的复用变得越来越广泛,软件进行复用时通常会产生许多的问题。为了减少这些问题的产生人们提出了软件重构技术。软件重构技术能够改善软件的内部结构,防止软件代码腐朽,同时也可以降低软件的维护成本增加软件的使用寿命。重构理论在软件的快速发展过程中得到了明显的完善,而且也逐渐成为了软件工程研究领域的一个热点。 由于当前代码重构的研究大部分集中在类与方法的水平上,关于包水平上的重构相对较少,而且由于水平的限制很少能够在包水平上把软件当作一个整体进行重构,已存在的群体检测技术主要进行随机查找,不能完全保证一些小的群落可以被检测到,本论文主要确定了检测方法,从无向权类依赖图的最低端进行检测确保了群落进行查找时不会忽视一些小的群落。对已有的一种群体检测技术进行了改进,选取了一些已经存在的开源软件,将它们运用到包水平上的软件重构中去,来建立准确的群体检测图。同时结合了Trama与Font4MySQL开源软件的实例,运用群体检测技术对这两个开源软件的代码进行了分析,建立了两个开源软件代码的无向权类依赖图(UWCDN)的分布图,再利用群体检测技术中的核心算法对分布图进行检索,找到需要移动的类,最后将类移动到对应的包中,本文的实验结果表明包水平上软件重构的检测优化了已存在的算法,改善了以往包水平上群体检测技术存在的一些检测不足的弊端,能够保证进行检测查找到的类的完整性。