面向水利信息化项目的自动代码生成器的设计与实现.doc

面向水利信息化项目的自动代码生成器的设计与实现.doc

ID:21903465

大小:73.50 KB

页数:9页

时间:2018-10-25

面向水利信息化项目的自动代码生成器的设计与实现.doc_第1页
面向水利信息化项目的自动代码生成器的设计与实现.doc_第2页
面向水利信息化项目的自动代码生成器的设计与实现.doc_第3页
面向水利信息化项目的自动代码生成器的设计与实现.doc_第4页
面向水利信息化项目的自动代码生成器的设计与实现.doc_第5页
资源描述:

《面向水利信息化项目的自动代码生成器的设计与实现.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、面向水利信息化项目的自动代码生成器的设计与实现徐朝辉金斌斌蔡华王云龙职业学院摘要:面向特定领域的产品类软件工程研发中,良好的功能复用和逻辑嵌套调用等功能能够很大程度上减少设计人员和开发人员的劳动成木。当前的主要研究集中在通用软件的功能复用和扩展上,忽略了特定业务领域具有鲜明的业务模式的共性。本文在建设南京市水务局信息系统数据资源项目过程屮,充分挖掘以往积累的水务信息系统构建过程,实现了一套而向水利信息化项目的代码生成器。该代码生成器基于面向对象的数据模型来生成代码,允许用户根据软件系统的不同业务架构自定义

2、代码生成模版。项目结果显示自动代码生成器大大减小了项目开发周期,在水利项目开发领域具有较好的应用价值。关键词:代码生成;数据模型;水利佶息化;业务模式;自动代码生成技术0是软件工程中可以为诸多功能复制性函数0带来巨大的便捷。木文依托南京市水利规划设计院股份有限公司信息中心承担的南京市水务局信息系统数据资源建设项0,研发-套水利信息化软件系统对全南京市的水利工程数据安装实现动态实时维护。按照《水利部防洪工程数据库表结构详细设计》规范的要求0,南京市共涉及二十种类型的水利工程,要实现对二十种水利工程的数据维护

3、涉及150余张数据库表结构。数据维护软件的开发工作量巨大,为了解决这一问题,信息中心研发团队充分分析了水利工程数据维护项目的业务需求特点以后,自行研发-套适合本项0的代码生成器,减少手写代码的工作量和提高软件产品的质量。一、源代码生成技术介绍代码生成(CodeGeneration)0是一项利用计算机程序来产生程序代码的技术,这类计算机程序即为代码生成器(CodeGenerator,或称代码生成工具)。代码生成器主要具有代码质量均衡、代码一致性高、生产效率高和高度抽象的特性0。代码生成器对于不同角色的软件开

4、发参与者的优势有以下几个方面:(1)程序员1)通过代码生成模版文件的构建,将应用程序的逻辑转化成目标程序语言的源代码,大大提高编码的效率;2)代码生成器产生的代码质量均衡;3)让程序员能够更加专注于业务逻辑的开发;⑵项0管理1)软件架构的一致性更容易得到保证;2)有效缩短项目开发时间进度,更容易提升团队士气3)更加容易应对需求的变更;(3)软件组织1)编码规范更加容易推进和执行;2)代码生成模版就是一个项目经验的高度抽象,有利于组织中项目经验的积累;当然首先代码生成器本身也是一个软件项目,代码生成器的研发

5、和代码模版的编写也需要部分投入才能完成。其次抽象代码生成模版需要丰富的软件开发经验才能完成。需要综合考虑项目规模、团队技术能力后才能决策是否应用代码生成器作为软件开发的辅助。二、实现代码生成器的关键技术(1)FreeMarker技术FreeMarkerO是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文木(HTML网页、电子邮件、配置文件、源代码等)的通用工具。它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。下面是FreeMarker的代码生成模版pack

6、age${package};importjava.util.Date;importjava.io.Serializable;private${pro.proType}${pro.proName};returnthis.${pro.proName};}}为模板准备的数据整体被称作为数据模型。数据模型是树形结构(就像硬盘上的文件夹和文件),在视觉效果上,数据模型可以是(这只是一个形象化显示,数据模型不是文本格式,它来自于Java对象):早期版木中,可以从数据模型中选取这些值,使用user和properties

7、,proType表达式即可。类比于硬盘的树形结构,数据模型就像一个文件系统,“(root)和properties就对应着目录(文件夹),而package、className、proType和proName就是这些目录中的文件。总体上,模板和数据模型是FreeMarker来生成输出所必须的组成部分:模板+数据模型=输出(2)设计模式通用的可复用的面向对象的软件设计基础模式共有23种模式,而在设计和实现本代码生成器屮笔者主要应用Y以下设计模式:1)单实例模式:单实例模式(SingletonPatternO)涉

8、及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。单实例模式的结构图如图2.1所示。图2.1单实例模式结构图下载原图2)抽象工厂模式:抽象工厂模式(AbstractFactoryPatternO)为创建一组相关或相互依赖的对象提供一个接口,而II无需指定他们的具体类。抽象工厂模式的结构图如图2.2所示。图2.2抽象工程模式结构图下

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。