论文部分内容阅读
随着软件系统的不断演进,软件系统会变得越来越复杂,软件设计的变更和文档的缺失导致维护人员越来越难以理解软件系统,维护成本也变得越来越高。针对这样的软件系统,开发人员需要对其进行重构。最基本的重构是代码重构,代码重构能够解决软件源代码在结构上的不良设计等问题,但是代码重构不能解决软件在架构层面上的问题,不能够有效地提高软件的性能。因此出现了架构重构,架构重构旨在解决软件在架构层面上出现的各种坏味道,架构重构的关注点是架构各个模块之间的依赖结构信息,没有关注软件各个模块之间的功能信息,架构重构有可能会导致软件功能的变化。因此需要面向模式对软件进行重构,软件架构模式从功能的角度描述了软件架构,面向模式进行重构的前提是要了解软件系统的架构模式,因此需要进行架构模式识别。MVC架构模式是软件架构模式的一种,在web信息系统和桌面应用程序中应用得十分范围广泛,对于MVC架构模式进行识别和重构是有价值的。本文主要研究MVC架构模式识别和重构,MVC架构模式识别是前提,MVC架构模式重构是落脚点,重构的开展是基于MVC模式识别结果,最终的目的是使得软件朝着健康的方向演进,降低软件维护的成本。本论文的主要工作包括:(1)针对特定目标系统的MVC架构模式进行模式识别。模式识别方法是基于本体,首先构造可复用的MVC架构模式本体,然后针对特定目标系统进行信息提取,利用提取的基本信息结合MVC架构模式本体构造特定目标系统本体,最后针对特定目标系统本体采用推理机进行本体推理,获得模式识别结果。(2)针对特定目标系统进行基于MVC模式识别结果的重构。首先根据MVC架构模式应用规范生成重构需求,其次在重构需求的基础上结合模式识别的结果生成重构方案,重构方案包括重构点的获取、重构方案的实施以及重构点实施后的有效性验证,有效性验证主要是采用人工的方式在特定目标系统中实施重构方案的具体操作,通过对比前后MVC架构模式图的变化来检测重构点是否消失,从而验证重构方案的有效性。(3)针对基于本体的MVC架构模式识别和重构技术实现了MVC架构模式识别和重构原型工具,包括业务逻辑、数据库、可视化三大模块的设计与实现,最后在原型工具上对优秀开源软件进行实验与分析,验证MVC架构模式识别和重构技术的有效性。