代码自动生成系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本钢ERP代码自动生成系统的开发
史洪波
(本钢信息自动化公司软件开发事业部)
摘要:本钢ERP系统维护的工作量大,大部分的页面功能类似。在新增业务需求的情况下,可以利用本系统自动修改和生成JSP、Java、XML、SQL、Properties类型的全部代码,生成的代码可以提供新增、修改、删除、导入、树、打印、查询等基本功能。本系统原理是利用各种页面风格的JSP、Java、XML、SQL等文件作为模板,利用配置参数替换掉文件中可变部分,从而形成多种页面风格通用的代码生成系统。本文总结了本钢ERP中常用的6种页面样式,并用Java语言实现了其代码的自动生成过程,只需书写好DAO文件并在系统中填写少许的配置信息,然后点击按钮即可完成代码的产生,节省时间,提高工作效率。
关键词:ERP Java 代码自动生成
Benxi Steel ERP automatic code generation system
Shi Hongbo
(Benxi Steel Information & Automation Co.Ltd Software Development Department)
ABSTRACT:There are a great deal maintain work in Benxi Iron and Steel Co. Ltd. ERP system, most of the page features are similar. In the case of needing new business, the system can automatically generate and modify all of the codes in many types, such as JSP, Java, Xml, SQL, Properties. Codes provide new, modify, delete, import, tree, print, query, and other basic functions and pride many different page styles by replacing the parameter of file. There are 6 common page styles are summarized in the Benxi Iron and Steel Co. Ltd. ERP, and use java language to achieve the automatic code generation process, just to write the file of DAO in the system and a little configuration information, then click the button to complete the code, saved a lot of time and improved the work efficiency.
KEY WORD: ERP Java automatic-code-generation
作者简介:
史洪波,男,出生于1974年7月28日,1998年7月毕业于华东冶金学院工业分析专业,同年到本钢技术中心从事钢铁检验工作。2006年3月调至本钢信息自动化公司软件开发事业部从事软件开发工作。Email:mynameshb@
1、引言
本钢ERP系统有着良好的开发规范,命名规则有规律可循,因此在新增业务需求的情况下非常适合用代码自动生成系统来减少开发过程中的工作量,减少了开发人员的Ctrl+C/Ctrl+V操作,节省时间,提高工作效率。本系统原理是利用各种页面风格的JSP、Java、XML、SQL等文件作为模板,利用配置参数替换掉文件中可变部分,从而形成多种页面风格通用的代码生成系统。本系统采用J2SE中的Awt和Swing技术来绘制整个系统的图形界面,使系统界面整洁美观,使用xml文件作为本系统的配置文件,并对XML文件设定了DTD的格式校验,保证XML的格式良好。在系统界面中输入少量的条件即可产生和修改JSP、Java、XML、SQL、Properites等类型的文件,并对已经存在的文件先备份成Bak文件,生成的代码可具有新增、修改、删除、查询、导入、树、打印等功能。由于XML具有便于阅读和理解,可扩展等优点,而DAO文件格式的不规范性,系统中还提供了DAO文件与XML格式的相互转换,转换中使用了XLST技术,简化了转
换操作。系统还提供了即时编辑DAO文件,并另存为DAO文件或XML文件。本系统生成的代码可以在测试环境中直接执行,开发人员可根据业务的需要适当的调整即可应用到ERP中,使开发人员的工作主要集中在数据库和业务逻辑的设计上。
2、需求分析
从整体架构上来分,本钢ERP分成了2种,一种是设备组的Struct+Hibernate架构,另外就是非设备的Structs+Jdbc方式。设备架构实现方式是在IPMS的基础上进行了全面的包装,由于采用了Hibernate,代码布局上已经与非设备系统完全不同,所以在本系统中生成代码时需要区分是否为设备系统,根据系统的不同应该生成不同架构的代码。本系统还需要适应多种多样的页面布局,同时也应该考虑对新增、修改、删除、查询、打印、导入、树等多种功能的定制,以适应不同的需求。
3、系统结构设计
为了减少程序开发人员维护的工作量,本人对ERP的架构进行了分析。ERP的架构分为设备和非设备架构,对常用的页面风格进行了总结,找出了常见的6种页面风格,并对其实现了代码的自动生成。6种页面风格见图1-图6:
图1单个页面无页签
Fig: 1 single page without tab
图 2 多页签(无树无查询)--各页签独立
Fig: 2 Multi-tab (no tree no inquiries) - Every tab are independent
图3多页签(无树无查询)--其他页签均依赖第一页签