论文部分内容阅读
随着计算机技术的发展,应用软件的规模越来越大,软件开发环境变得愈发复杂。企业对软件的生产效率要求提升,对系统快速交付的要求也逐渐提高。为此公司内部自主研发了智能企业级框架SEF,以加快系统开发、解决企业应用开发的复杂性;但开发人员仍以手工编码为主,存在代码风格不统一、代码调试困难、开发效率较低等问题。因此,为了提高代码的规范性、准确性以及开发人员的开发效率,需要设计代码生成工具实现代码的自动生成。目前,常用的模型驱动、模板驱动的代码生成器使用起来较复杂、需要用户预先构建数据模型或者大量的模板,无法直接生成符合SEF框架规范的代码,且很难实现界面组件属性的自动化配置,代码调试困难。基于以上背景与现状,详细分析了基于SEF框架开发的业务系统的特点,在充分考虑开发人员编码习惯、风格以及主要工作量的基础上,设计与实现基于SEF框架的专用代码生成工具,该工具面向的群体是公司内部使用SEF框架的开发人员。实现SQL到Java代码及界面代码的自动生成,自动化配置界面组件属性,帮助开发人员从编码的机械性劳动中解脱出来,把更多的时间和精力投入到业务逻辑的分析与开发上。本文主要从研究背景、需求分析、概要设计、详细设计、实现与测试等方面构建了基于SEF框架的代码生成工具。系统主要包括五个部分,分别为知识库管理、调试SQL、代码生成、代码转换和基本配置。知识库管理模块负责列组件知识的构建、检索、查询等,融合基于SEF框架的项目代码和数据库数据字典的数据,构造以列为中心的界面组件关系网络,采用Oracle和Neo4j相结合的模式存储以列为主的属性、关系等;根据SQL检索知识为界面组件推荐属性值,解决界面组件属性繁多导致的配置繁琐问题。调试SQL模块负责SQL的在线可视化调试,解析SQL、分析执行结果,连接不同的数据库检测SQL的准确性。代码生成模块负责业务逻辑层Java代码和表现层Grid、Form代码的生成,以SQL为输入,依据基于模板的代码自动生成技术生成符合SEF框架规范的代码,解决代码样式不统一等问题。代码转换模块负责Java、Grid、Form代码与SQL之间的相互转换,采用文件解析的方式从代码串中获取SQL、组件属性等数据,组织数据进行代码转换。基本配置模块负责配置数据库连接等系统所需的基本信息,为代码生成等功能提供支持。目前系统已在公司内部上线,供500多名开发人员正常使用。经过一年的使用,开发人员使用该工具生成的代码多达上百万行。不仅规范了业务系统的程序代码,还提高了开发人员的开发效率,降低了维护成本,达到了预期效果。