论文部分内容阅读
随着Web应用程序的日益复杂化,出现了很多系统化、工程化的Web应用开发方法。这些方法将传统的软件工程技术和Web应用程序的超媒体特性较好的结合起来,取得了一定的成功,如在导航建模方面提供了很好的方法。然而这些开发方法对于处理复杂问题、在开发过程中与用户交互以及代码的自动生成等方面仍然存在着一定的局限性。代码自动生成的研究也在不断发展,国内外研究者提出了不少方法和思路。但是目前应用的自动生成,其生成的产品还是应用的大体框架,特别是关于行为元素的生成方面仍不完善。模型驱动架构(MDA)的出现,提高了软件开发效率,增强了软件的可移植性、协同工作能力、可维护性以及文档编制的便利性。同时提出了一种新的代码生成方式,通过在模型上添加转换规则来最终产生代码。这样,系统开发注重商业逻辑的设计,而不用过多考虑实现的复杂性。结合MDA方法出现了一些Web应用建模及其系统代码生成的工具,这些工具主要注重软件内部功能的设计和表达,缺乏对包括界面模型在内的系统整体描述。本文采用的FMP(Function-Model-Presentation)模型是在总结了大量Web用户界面开发模型后提出的一种面向软件工程的用户界面设计和自动生成的平台无关模型,包括功能模型、内部模型和基于界面模板的表示模型三个部分。模型实现了用户界面的需求表达,界面模板的使用使得用户参与了界面的设计过程,体现了用户定制界面的要求。本文主要讨论的问题是在AUI环境下根据平台无关的FMP模型生成ASP.NET项目。采用MDA的模型转换思想,对源模型和目标模型的内部结构进行深入的分析后,建立从FMP模型到ASP.NET项目的映射结构,从而实现代码的自动生成。与传统的代码生成不同,本文将MDA和软件体系结构的理论和思想引入到Web应用程序的开发方法中,提高了Web应用程序设计模型的清晰性、重用性和自动化程度。通过分析源模型和目标代码的结构框架,建立总体框架的映射关系,然后就框架中的具体元素建立映射关系,使代码生成更具有层次性,生成的代码更加结构化。这种基于MDA的方法该过程采用.NET2005环境下的VC.NET实现。