论文部分内容阅读
随着软件开发规模的增加、技术的更新,传统软件开发流程的缺陷渐渐地暴露出来,主要表现为开发过程效率低、可移植性差、设计文档与软件本体不一致使得后续维护更新工作难以进行等方面。模型驱动框架(MDA)在这样的时代背景下应运而生,它替代了传统开发中以代码为核心的思想,将模型作为开发的中心。MDA通过平台无关模型(PIM)的建立,将设计与技术平台分离开来;通过制定相应的转换规则,实现了PIM到平台相关模型(PSM)以及PSM到代码的转换。从而MDA提高了开发效率、增强了系统的可移植性、保证了文档与软件的一致,使软件开发变为一种自动化过程。面向方面(AO)思想把开发中核心业务与非核心业务分为核心关注点与横切关注点,并将两者分离,有效地避免代码中核心业务与横切功能代码的混乱。它将同一类非功能性业务模块化,避免了代码的分散、提高代码的可重用性。为有效发挥两者优势,本文把AO思想引入到MDA中,将面向方面软件开发方法与MDA相结合,以建立一种高效的、高质量的开发模式。目前将AOP与MDA相结合的研究相对较少还存于起步阶段,已有的研究也存在一些问题,其主要体现在下面几个方面:①利用UML扩展对AOP进行模型建立,不具备灵活性;②大多使用传统开发模式对建模软件进行开发,没有定义元模型,难以对模型进行一致性约束;③建模工作采用的技术与标准不同,通用性不高;④没有元模型的支撑,难以实现MDA开发的自动化。针对以上问题,本文旨在将AOP与MDA进行结合,依据UML标准,为面向方面建模建立一套较为完整的、标准化的元模型体系。以元模型为支撑采用MDA开发流程设计并实现一个基于MDA又服务于MDA的面向方面建模工具,为之后MDA的自动化开发与AOP的编织提供保障。整个研究建立在MDA基础理论、元建模技术以及图形化模型编辑器制作技术的基础上来完成的。本文的工作集中在基于MDA开发的建模工具的研究与PIM模型的形成、导出阶段,研究内容主要包括三个方面:首先,研究MDA基础理论与元建模技术,对AOP开发所需的元素进行抽取;其次,对面向方面模型进行精化,利用MOF元建模技术进行元模型的建模;最后,基于GMF技术,对建模工具的图形模型、工具模型、映射模型等内容进行定义,设计、实现了可视化的基于MDA的面向方面的建模工具,该工具同时还支持所建模型以通用XML文档形式导出。所开发的建模工具利用RCP技术,生成可独立于原有软件开发平台运行的可执行程序,使得该程序能在装有Java虚拟机的环境下都可运行。通过对基于MDA的面向方面的建模工具的分析、研究、设计、实现,为面向方面与MDA框架的结合提供了一种新的思路。利用该工具对实验案例建模与分析的验证工作,进一步说明了本文的研究思路与方法是可行的、有效的和实用的。