论文部分内容阅读
随着Web应用程序的日益复杂化,出现了很多系统化、工程化的Web应用开发方法。然而传统的Web系统开发方法存在着各种方面的不足。它们或是只面向简单的Web应用结构,或是在分析过程中采用过于简单的信息元索作为分析对象,或是只支持规定的活动以及与用户界面同等重要的应用功能的交互,而更高抽象层次的导航、展示、用户界面等的处理能力受到限制。2001年对象管理组织(OMG)提出了一种全新的软件开发框架—模型驱动架构(MDA),它不仅解决了传统软件开发所存在的问题,而且与其他新方法相辅相成,为软件开发业揭开了一个新的篇章。MDA通过提高抽象层次来应对软件开发的复杂性,将业务逻辑设计与不同的软件平台分离,先建立与具体技术无关的平台无关模型(Plafform Independent Model,PIM),然后通过模型转换得到加入了平台信息细节的平台相关模型(Platform Specific Model,PSM),最后由代码生成器根据PSM生成可执行的代码。鉴于MDA的上述特点和已有Web应用程序开发方法的不足,有人提出了基于MDA的支持代码自动生成的Web应用程序开发方法:从模型转换的角度建立Web应用模型,将平台无关的Web应用模型转换为平台相关的Web应用模型,再根据平台相关模型生成最终代码,实现基于特定平台的Web应用。这种Web开发方法提高了Web应用的抽象层次,使开发过程更加系统化。ASLP(Architecture,Staic,Logic,Presentation)模型是一种面向软件工程的用户界面设计和自动生成的平台无关的Web应用模型,它由体系结构模型(Architecture)、静态视图(Static)、逻辑视图(Logic)和界面展示视图(Presentation)组成,通过几种模型的配合实现界面的自动生成。ASLP模型的逻辑视图和界面展示视图提供了对Web软件特性的支持,比如组合式页面的表达,导航的描述等,因此它可以实现Web界面自动生成。OMG的MDA的主要挑战是定义和执行模型转换,其中,平台无关模型到平台相关模型的自动转换是一个关键技术。本文从软件工程的实施出发,通过对.Net平台的体系架构的分析和研究,提出了一种基于.Net平台框架的PCF模型,通过目标结构驱动的方法建立了ASLP模型(平台无关模型)到PCF模型(平台相关模型)的映射关系,并使用MTrans-DSL描述了两者之间的转换规则。上述转换实现的过程已在工作中得到实现。这个过程体现了模型驱动开发的特点,提升了转换规则的抽象层次。