论文部分内容阅读
重构技术由于其在构造灵活代码方面的实用价值已经获得了普遍应用。重构旨在提高软件质量,增强可理解性和可维护性。面向方面编程(AOP)是一种新的编程范式,将横切关注点封装在方面中。在初始情况中,功能跨越多个模块,并相互纠缠在一起成为单独的单元——方面。重构允许在保持外部行为不变的同时重组代码,同时系统中AOP通过使用新的功能模块——方面,来实现模块化横切关注点的功能。面向方面的重构就是重构技术和AOP范型的组合,它将有助于重组代码,进一步提高模块化,解决遗留系统中的代码缠结和散布现象。设计不佳的程序代码,通过方面导向的重构来产生更好的代码。目前,国内外基于AOP范型的软件重构已经取得了一些可喜的研究成果,但是对AOP重构的理论研究工作还比较少。本文提出了一种人工指导的基于集成迁移策略的AOP重构方法将OOP编程的遗留系统重构成AOP形式,从而有效地将现有的OOP编程的代码迁移到AOP范型下。要迁移应用程序到一个新范例,就必须对横切关注点进行初步识别进行方面挖掘。应用重构将散布于遗留系统中的关注点转换为方面。同时,该方法是基于迭代应用的四步:挖掘,分类,建树和重构。挖掘出横切关注,对候选横切关注点筛选分类,将分类结果建立树形结构,给出适用的特定重构。最后,在重构阶段我们将选定的代码转换成一个新的方面。本文用LoC程序(JHotDraw)重构的结果来验证和评价所给出的理论,建立了一个恰当的遗留系统代码重构过程。实验结果表明,本文提出的研究方法可以正确地重构遗留系统代码,具有较好的可行性。