基于模型驱动的J2EE Web应用代码生成系统的研究与实现

来源 :北京工业大学 | 被引量 : 0次 | 上传用户:bchen2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着社会信息化、电子化水平的不断提高,基于Web的软件技术得到了空前的发展。软件开发要处理的问题越来越复杂,传统软件开发模式本身存在的问题也越来越明显,如:项目开发周期长,开发效率低;重复性工作多,手工编码量大;不能快速响应需求变化等。因而迫切需要一种新的软件模式,帮助企业应对快速变化的市场环境。通过研究国内外在Web领域的发展状况可知,代码自动生成技术被广泛研究,在一定程度能解决上述问题。 针对Web应用系统的特点,借鉴目前最为流行的MDA(模型驱动架构)思想,确定了通过可视化建模、模型转换、代码生成三个步骤构建代码自动生成平台,最终生成Web应用目标代码的思路。这种基于模型的软件开发模式改变了传统软件开发模式的弊端,实现了模型到代码的自动转换,从而提高了开发速度。 本文主要负责代码自动生成平台中代码生成系统部分的研究与实现,确定了研究的主要内容为目标应用框架设计、代码生成系统设计和实现两大部分。 本文以基于J2EE开源框架的Web应用为研究对象。从分析目标应用框架入手,结合大量设计模式,将目标Web应用分为表现层(PresentationLayer)、业务逻辑层(BusinessLayer)、模型层(DomainLayer)、数据持久层(PersistenceLayer),框架代码结构清晰,复杂度低,易于理解,且各层间的耦合性低,有利于提高代码生成系统的通用性,提高代码生成的质量。并确定了代码生成系统需要生成的目标代码。 在代码生成系统的设计上,给出了系统整体设计方案,并确定了基于模板解析的代码生成方式。对代码生成系统的主要部分进行了详细分析和设计:根据目标系统对输入模型PSM进行分析设计,将PSM模型分为表现层、业务逻辑层和模型层三层对各功能模块进行描述,并采用XMLSchema定义书对PSM模型的语法和格式进行约束;采用JET和Xpath相结合的模板语言编写模板文件;对系统中的代码生成引擎进行了设计,即在JET代码生成引擎的基础上对其进行扩展。 在代码生成系统的实现上,以生成具备基本功能的Web信息发布后台管理系统为例,给出PSM模型文件的结构层次,设计并编写了系统中用到的各种模板文件,并介绍通过本文设计的代码生成引擎对代码生成进行控制的过程,最后,使用Ant工具对后台管理系统进行部署和应用。从代码生成质量和系统功能两个方面对本文系统进行评价,并对验证结果进行分析。 本文最后,对研究工作进行了总结,提出了下一步的工作展望。
其他文献
随着仿真技术的不断发展,越来越多的仿真系统必须采用硬件在环的方式构建,并要求采用实时仿真。目前国内半实物仿真产品应用较少,国外的产品价格昂贵,而嵌入式技术的飞速发展
本文介绍了一种基于图像处理的嵌入式灯光控制系统,适用于教室等场所的灯光控制。与传统的灯光控制相比,在监控范围、准确率与功能方面有较大提高。通过对采集的图像进行分析,运
电力用户自动集抄系统的研究具有重要的意义,国外对自动抄表技术的研究比较早,目前已经形成了多种行之有效的自动抄表方案。国内的集抄技术以载波为主,近年来在大中城市获得
多机器人协作与控制研究的基本思想前提就是将多机器人系统看作是一个群体或一个社会,从组织和系统的角度研究多个机器人之间的协作机制,从而充分发挥多机器人系统各种内在的优
自主导航技术是月球车在未知环境中稳定运行的根本保证,定位与制图是该技术的核心问题。月球车确定自身位置与姿态需要借助环境地图模型,同时,环境地图需要在车体位姿确定的前提
随着现代科技的发展,现代化企业的经营和管理与信息化技术的关系越发紧密。基于B/S(Browser/Server)模式的管理信息系统(Management Information System,MIS)成为企业信息处
边缘是图像的重要特征,其中包含了图像大量的信息。边缘检测的效果将直接影响到图像的分割和模式的识别。传统的图像边缘检测算法大多是基于点的检测算法,只能在很少的几个方
H_∞范数常作为控制系统设计中的性能指标,传统的H_∞范数是一个全频段的指标,然而,工程中往往又只需针对有限频段进行设计(例如伺服系统设计时主要考虑中低频段的跟踪性能和
电阻抗断层成像(Electrical Impedance Tomography,EIT)系统发展的最终目标是应用于临床的诊断和监测,尤其在病变的监测方面具有很明显的优势。使用EIT技术对人体肺部进行监
外转子电机作为一种结构特殊的电机(转子在外,定子在内),其特点在于转动惯量大、散热好、节省铜线、风叶等负载可直接串在转子上。尤其是外转子电动机可应用于电动汽车,直接装入轮