论文部分内容阅读
在当前互联网应用激增的背景下,基于Web的应用系统软件在社会生活的各个领域都得到了广泛的应用。政府和企业为提高工作效率、节省工作成本,将信息化建设作为重点工作内容,投入大量资金和人力致力于自动化办公系统的开发,基于Web的自动化办公系统在国内得到了广泛的应用[1]。与大量的应用需求相比,软件制造企业在开发Web系统时却遇到了很大的困难:从技术角度考虑,当前主流的开发方法遵循J2EE规范,为提高系统交互体验一般还会使用RIA技术,J2EE的框架结构虽然降低了软件系统内的耦合度,但由于缺乏有效的开发辅助工具,开发人员必须严格按照软件层次结构逐层人工编写代码,人工编码量大、重复性工作多的问题成为了软件制作企业提高工作效率的瓶颈。
本文以《天津市经济和信息化委员会项目报评审核过程管理系统》为研究平台,结合业务需求实例,分析提炼出项目流程、环节、数据结构、软件结构、功能等存在的相似性特征,将系统体系结构划分为模型层、数据持久层、业务逻辑接口层、控制层、展示层。通过项目开发实例总结各层次代码中的共性,结合软件组件技术思想提出了基于J2EE结构的软件代码生成技术。
本文的研究思路首先是提炼各层次代码的关键部分,将可以完成基本业务功能的基础代码和框架代码通过模板的形式保存在代码生成器的文件系统中,以此建立脱离具体业务的“知识代码库”;知识库建立后,根据具体业务需求将该业务数据模型注入到代码模板中,生成产品代码。本文采用XML技术衔接业务数据模型和知识库代码,通过定义XML文件描述代码生成配置信息,由基于分层结构的XML解析器分析提取相应信息并将其注入模板文件。在具体实现中,本文以XML DOM树结构的形式自定义了代码生成数据描述规则,并根据DOM结构设计了程序XML解析器和层次信息存储结构,使用FreeMarker作为模板引擎进行目标代码的注入生成。
本文通过代码生成技术的实现,能够自动生成过程管理系统中出现的大部分业务需求代码。软件开发人员可直接应用结果代码,也可根据具体需要简单修改后应用结果代码。本文代码生成技术的实现在很大程度上解决了J2EE项目开发中存在的人工编码量大、工作重复性高的问题。