论文部分内容阅读
随着软件系统的不断发展演化,其规模和复杂性逐渐增长,同时软件质量持续降低,开发和维护成本日益加大,长期以来便形成了支撑企业核心业务的遗产系统,针对这种情况便有人提出了代码重构的解决方案。重构可以改善软件内部结构,提高软件可理解性、可维护性、而又保持软件的外部行为,传统的基于程序源码层次的重构,虽已有较多工具的支持,但在实施复杂软件重构时,工作量大且效率低下。随着MDA技术的迅速发展,模型成为软件开发的核心,UML模型重构得到深入的研究,但是由于UML本身在程序行为过程建模方面存在缺陷,无法支持过程级别重构,于是为了解决以上问题,本文提出了程序蓝图模型重构解决方案,主要从以下四个方面进行深入研究。 1.使用抽象语法树作为中间形式,建立起Java程序源码、UML类图模型、过程蓝图模型之间的映射关系,建立程序蓝图模型,提取程序标识符信息表,用于程序蓝图模型重构变换。 2.改进程序静态分析工具PMD,自定义分析规则,分别使用Java类和XPath表达式进行实现,生成Java源码程序分析重构定位报告。 3.扩展UML类图模型重构操作,完善过程蓝图重构形式化定义,定义复合重构展示序列划分过程,分别给出代表性的重构操作实例验证。 4.提出一种程序蓝图模型重构实现框架,设计实现相关模块给出实例验证,实现Rename重构手法。 经过研究和实验表明,本文的工作将传统的代码层次的重构提升到模型层以及过程级别,有效提升了抽象层次,实现了部分重构自动化,一定程度上减少了人工参与,降低了软件开发成本。