论文部分内容阅读
传统的面向对象软件系统中,横切关注点通常散乱分布在核心关注点模块中,给软件的维护和复用带来了困难。面向方面程序设计作为一种新的程序设计范型正努力改善横切关注点的编码方式,将散乱分布改善为集中管理,从而提高软件的可维护性与可复用性。从97年最初提出AOP至今,面向方面思想已经渗透到软件开发生命周期的每个阶段,并形成了面向方面的软件开发,以保持横切关注点与核心模块的持续分离。近十年来,人们对AOP进行了广泛而深入的研究,取得了许多研究成果,使得它在软件调试、测试、维护、重构、再工程等领域得到广泛应用,受到了广大软件研究、开发人员的高度重视。
论文对横切点的若干问题进行了深入研究,包括横切点的.UML扩展建模、识别与重构,并介绍了相关辅助工具的研制情况。论文工作的主要成果表现在提出了横切点的两种不同抽象级别的静态模型,能够保持关注点在设计阶段的分离,同时满足概要设计和详细设计不同场合的建模需求;建立了横切点的动态模型,能够简洁、有效、完备地在UML顺序图上表达横切点的动态语义;提出了函数调用横切点的识别算法,实现了识别工具CCDetector,能够根据调用次数以及分散程度识别系统中散乱分布的函数调用横切点;综合运用基于符号和抽象语法树的重复代码识别方法,提出一种改进的匹配方法,能够识别稍作修改的重复代码,并能过滤参数类型、变量名称、代码格式差异;提出了横切点的重构方法及重构辅助工具AUnit,设计了重构的验证、交互测试方法,保证重构的正确性。