论文部分内容阅读
面向方面编程(Asepct-Oriented Programming,AOP)是一种分离面向对象软件横切关注点的编程范型。AOP从编程方法学的角度对横切关注点进行了有效分离,避免了面向对象软件中存在的代码纠缠和分散,因此成为面向对象编程的有效补充。随着 AOP 研究的发展,面向方面编程已开始影响软件开发的各个阶段,形成了面向方面软件开发(Asepct-Oriented Software Development,AOSD)技术。AOSD允许开发人员在软件开发的各个阶段运用面向方面的思想,保持横切关注点的持续分离,以此获得更好的体系结构,并降低模块间的耦合度,从而提高软件系统的可重用性和可维护性。
在AOSD中,建模和测试是两个非常重要的阶段,但目前这方面的研究还不够成熟。本文深入剖析了支持AOP的语言——AspectJ的语法结构,探讨了LIML的可扩展性,利用原型对类元模型等进行扩展以描述方面(aspect)的概念和结构,建立了面向方面系统静态模型和动态模型,并提出了一种从面向对象系统协作图生成面向方面系统协作图的算法。另外根据面向方面系统的特征,提出了一种基于协作的增量式面向方面系统集成测试策略,最后给出了一种基于协作图的测试场景生成算法和详细的测试用例生成方法。
本研究对于AOSD中建模和测试进行了有益的尝试,随着面向方面思想的不断完善,以及AspectJ语言的不断发展,建模和测试的方法也需要不断地改进。