论文部分内容阅读
“关注点分离”一直都是软件开发的一个重要目标和原则。针对面向对象技术在处理分散于系统各处的横切关注点上的不足,业界提出了面向方面的方法。由于面向方面方法在处理关注点分离上有优势,所以它被越来越多的软件系统引入来处理诸如安全性、授权、验证和异常处理等横切需求,因此业界又提出了面向方面软件开发过程。目前,有关面向方面软件开发过程的研究和应用可谓百花齐放;可是大部分研究和应用都只是局限于某个子问题或某个应用领域,缺乏适合一般应用领域的针对整个开发过程的一套详细的规范化方法,特别是对软件开发的建模阶段缺少具有指导性意义的整套方法。
针对业界对完整的面向方面开发方法的需求,本人在已有研究成果的基础上,综合各种关于面向方面开发过程特别是建模阶段的方法,设计出一套具有通用性的面向方面建模方法。这套方法主要包括两部分:一是用形式化语言和图形化符号来描述面向方面的元素;二是定义面向方面建模过程各个阶段的流程和制品。为了更方便地进行面向方面建模,本人设计了一个面向方面建模工具的框架,并开发了一个简易的初级版本,软件设计者可以在上面进行简单的面向方面设计。另外,为了减轻开发人员的工作量和保持从设计到代码的一致性,本人还开发了一个代码生成器,能把面向方面设计的形式化语言描述转换为基于Java的面向方面程序设计语言AspectJ。为了证明整套方法的可用性,在可重构的ERP项目中,本人运用了这套建模方法对缓存、参数检测和日志等横切关注点进行面向方面设计。最后,本人通过与面向对象方法及已有面向方面建模方法进行对比和分析从理论和实际应用上对这套建模方法进行了客观的评价。