论文部分内容阅读
随着社会信息化程度的提高,分布式技术以及网络技术在社会的多个领域都得到了充分的利用。在我实际工作过程中,如资产管理系统,客户自身需求日渐多样化,对资产管理系统自身的重用性、灵活性、开放性和反应速度都有了更高的要求。如何高质量、高效地开发出可以满足不同用户需求的资产管系统,同时能够很好地应对较为频繁的客户需求改变情况,面对系统结构与系统代码在开发过程中不断凌乱腐化的现象该如何处理。面对种种挑战,我们如何构建一个良好的系统开发环境,引入软件重构技术是能够解决这些挑战的最佳方法。开发软件我们首先得做好设计,然后再进行系统编码。但是系统的代码以及系统结构并不是一成不变的,而是随着环境、时间等各种因素而变更的,这就造成了系统代码结构以及整体结构不断衰弱,代码质量越来越差,维护成本越来越高。为了改进逐渐变的杂乱无章的程序代码,重构因此而诞生了。重构通过找出程序代码中的坏味道,进而对这些坏味道出现的地方进行调整以改进程序的内部结构。但是一个软件可能由数以万行的程序代码所组成,由人工的方式来嗅出这些坏味道将会耗费相当大的人力以及成本。通过统计及人工智能的科学技术,数据挖掘将资料做深入分析,能在庞大的资料库中寻找出有价值的隐藏事件,其在各个领域方面有越来越多的应用,且成果显著。因此本研究利用数据挖掘技术中的关联规则,嗅出挖掘出隐藏于程序代码中的坏味道,来帮助重构者进行软件重构。本文在了解当前重构技术国内外现状和资产管理系统特点的基础上确立了主要研究目的,即利用数据挖掘技术挖掘出系统中的潜在设计缺陷和代码坏味道,根据不同的坏味道特性,采取对应的软件重构技术进行系统各个模块的重构。结合系统自身遇到的问题,以数据挖掘的建模方法和系统中用到的关联规则进行了详细分析,确定系统经需要重构的位置。如系统中的权限管理模块、车辆管理模块、消耗品管理模块,为这些对象进行坏味道的挖掘,将模块中的典型类进行挖掘模式转换,借助关联规则挖掘出了系统中的依恋情结、霰弹式修改、冗赘类、中间人等坏味道。根据各个模块自身的特性和坏味道的不同,我们分别采取了Command、State、Mediator等不同的模式重构。从而使得代码冗余性、类间的依赖性等得到解决,有利于系统的后期扩展,增强系统的灵活性。本文着重说明了重构技术在进行各个模块重构过程中的灵活运用,并对应用后的系统进行了分析和对比验证。重构后的系统整体性能得到提升,同时具备了更高的可维护性和可扩展性。最后总结了所做工作以及对软件重构技术的展望。