软件代码生成方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:23932175 阅读:20 留言:0更新日期:2020-04-25 01:51
本申请涉及一种软件代码生成方法、装置、计算机设备和存储介质。所述方法包括:获取待开发软件的数据库信息,根据所述数据库信息将数据表导入代码模板引擎生成实体模型的元数据,获取在所述代码模板引擎对所述实体模型配置的新增实体方法,根据所述新增实体方法以及所述实体模型的元数据,通过所述代码模板引擎生成所述待开发软件的代码文件。该方法实现了基于代码模板引擎快速开发软件代码,提高了软件开发效率。

Software code generation method, device, computer equipment and storage medium

【技术实现步骤摘要】
软件代码生成方法、装置、计算机设备和存储介质
本申请涉及软件开发
,特别是涉及一种软件代码生成方法、装置、计算机设备和存储介质。
技术介绍
随着信息化技术的发展,人们通过借助软件系统,以提高事务的管理和处理效率。为适应不同领域不同事务的处理需求,需要针对性的开发相应的软件。如企业管理中,对于采购信息需要专门的采购管理软件,对于财务数据需要专门的财务管理软件。因此,软件开发的需求非常大。软件开发过程中,软件代码的编码工作占据了较大的工作量。传统的软件代码生成方式,是由编程人员根据需求文档,利用软件开发工具编码生成软件代码。在软件开发需求量大的背景小,采用传统的方法无法满足效率需求。
技术实现思路
基于此,有必要针对上述技术问题,提供一种高效的软件代码生成方法、装置、计算机设备和存储介质。一种软件代码生成方法,所述方法包括:获取待开发软件的数据库信息;根据所述数据库信息将数据表导入代码模板引擎生成实体模型的元数据;获取在所述代码模板引擎对所述实体模型配置的新增实体方法;根据所述新增实体方法以及所述实体模型的元数据,通过所述代码模板引擎生成所述待开发软件的代码文件。在其中一个实施例中,所述根据所述数据库信息将数据表导入代码模板引擎生成实体模型的元数据,包括:根据所述数据库信息,加载数据表;解析所述数据表,得到业务实体、业务属性、业务方法和业务关系;将所述业务实体、业务属性、业务方法和业务关系定义到代码模板引擎中生成实体模型的元数据。在其中一个实施例中,所述根据所述新增实体方法以及所述实体模型的元数据,通过所述代码模板引擎生成所述待开发软件的代码文件,包括:获取在所述代码模板引擎中选定的代码模板;在所述代码模板引擎中,从所述实体模型中拉取对应的元数据,填充到所述代码模板以及所述新增实体方法中,生成所述待开发软件的代码文件。在其中一个实施例中,所述获取在所述代码模板引擎对所述实体模型配置的新增实体方法,包括:获取在所述代码模板引擎中从设定的方法类型中选定的方法类型;获取在所述代码模板引擎中从设定的操作类型中选定的操作类型;获取在所述代码模板引擎中配置的方法代码;根据所述选定的方法类型、所述选定的操作类型以及配置的方法代码,得到对所述实体模型配置的新增实体方法。在其中一个实施例中,所述代码文件包括各系统层的业务代码以及各系统层的业务代码的调用关系;在所述根据所述新增实体方法以及所述实体模型的元数据,通过所述代码模板引擎生成所述待开发软件的代码文件之后,还包括:调用代码开发工具,根据各系统层的业务代码的调用关系,加载各系统层的所述业务代码。在其中一个实施例中,在调用代码开发工具,根据各系统层的业务代码的调用关系,加载各系统层的所述业务代码之后,还包括:通过所述代码开发工具获取对所述业务代码的修改指令;根据所述修改指令修改所述业务代码。一种软件代码生成装置,所述装置包括:数据库信息获取模块,用于获取待开发软件的数据库信息;元数据获取模块,用于根据所述数据库信息将数据表导入代码模板引擎生成实体模型的元数据;新增模块,用于获取在所述代码模板引擎对所述实体模型配置的新增实体方法;生成模块,用于根据所述新增实体方法以及所述实体模型的元数据,通过所述代码模板引擎生成所述待开发软件的代码文件。在其中一个实施例中,所述元数据获取模块,包括:加载模块,用于根据所述数据库信息,加载数据表;解析模块,用于解析所述数据表,得到业务实体、业务属性、业务方法和业务关系;定义模块,用于将所述业务实体、业务属性、业务方法和业务关系定义到代码模板引擎中生成实体模型的元数据。一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述各实施例任一项所述方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述各实施例中任一项所述方法的步骤。上述软件代码生成方法、装置、计算机设备和存储介质,通过根据数据库信息将数据表导入代码模板引擎,得到代码生成所需的实体模型的元数据,实现了元数据的快速录入,利用代码模板引擎新增实体方法,能够实现根据业务需求对代码进行微调,进而通过代码模板引擎生成待开发软件的代码文件,实现了基于代码模板引擎快速开发软件代码,提高了软件开发效率。附图说明图1为一个实施例中软件代码生成方法的应用环境图;图2为一个实施例中软件代码生成方法的流程示意图;图3为一个实施例中软件的各系统层的调用关系示意图;图4为一个实施例中软件代码生成装置的结构框图;图5为一个实施例中计算机设备的内部结构图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。本申请提供的软件代码生成方法,可以应用于如图1所示的应用环境中。该应用环境包括数据库101以及软件开发终端102,数据库101与软件开发终端102通过网络进行通信。软件开发终端获取待开发软件的数据库信息,根据数据库信息将数据表导入代码模板引擎生成实体模型的元数据,获取在代码模板引擎对实体模型配置的新增实体方法,根据新增实体方法以及实体模型的元数据,通过代码模板引擎生成待开发软件的代码文件。其中,软件开发终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑。在一个实施例中,如图2所示,提供了一种软件代码生成方法,以该方法应用于图1中的软件开发终端102为例进行说明,包括以下步骤:步骤202,获取待开发软件的数据库信息。具体地,软件开发人员预先根据项目开发需求构建数据库。构建的数据库,数据库中包括数据表以及各数据表的字段以及字段属性。数据库信息包括数据库地址、数据库用户名以及密码。步骤S204,根据数据库信息将数据表导入代码模板引擎生成实体模型的元数据。具体地,通过模板引擎从数据库中导入实体,得到实体建模的元数据。其中,元数据元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(dataaboutdata)。元数据作用是:1、描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。2、元数据算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。本申请的代码模板引擎为MDA(ModelDrivenArchitecture)模型驱动架构,它是由OMG定义的一个软件开发框架。它是一种基于UML以及其他工业标准的框架,支持软件设计和模型的可视化、存储和交换。和UML相比,MDA能够创建出机器可读和高度抽本文档来自技高网...

【技术保护点】
1.一种软件代码生成方法,所述方法包括:/n获取待开发软件的数据库信息;/n根据所述数据库信息将数据表导入代码模板引擎生成实体模型的元数据;/n获取在所述代码模板引擎对所述实体模型配置的新增实体方法;/n根据所述新增实体方法以及所述实体模型的元数据,通过所述代码模板引擎生成所述待开发软件的代码文件。/n

【技术特征摘要】
1.一种软件代码生成方法,所述方法包括:
获取待开发软件的数据库信息;
根据所述数据库信息将数据表导入代码模板引擎生成实体模型的元数据;
获取在所述代码模板引擎对所述实体模型配置的新增实体方法;
根据所述新增实体方法以及所述实体模型的元数据,通过所述代码模板引擎生成所述待开发软件的代码文件。


2.根据权利要求1所述的方法,其特征在于,所述根据所述数据库信息将数据表导入代码模板引擎生成实体模型的元数据,包括:
根据所述数据库信息,加载数据表;
解析所述数据表,得到业务实体、业务属性、业务方法和业务关系;
将所述业务实体、业务属性、业务方法和业务关系定义到代码模板引擎中生成实体模型的元数据。


3.根据权利要求1所述的方法,其特征在于,所述根据所述新增实体方法以及所述实体模型的元数据,通过所述代码模板引擎生成所述待开发软件的代码文件,包括:
获取在所述代码模板引擎中选定的代码模板;
在所述代码模板引擎中,从所述实体模型中拉取对应的元数据,填充到所述代码模板以及所述新增实体方法中,生成所述待开发软件的代码文件。


4.根据权利要求1所述的方法,其特征在于,所述获取在所述代码模板引擎对所述实体模型配置的新增实体方法,包括:
获取在所述代码模板引擎中从设定的方法类型中选定的方法类型;
获取在所述代码模板引擎中从设定的操作类型中选定的操作类型;
获取在所述代码模板引擎中配置的方法代码;
根据所述选定的方法类型、所述选定的操作类型以及配置的方法代码,得到对所述实体模型配置的新增实体方法。


5.根据权利要求1所述的方法,其特征在于,所述代码文件包括各系统层的业务代码以及各系统层的业务代码的调用...

【专利技术属性】
技术研发人员:余文辉吴争荣惠小东卢铭翔赵彦阳
申请(专利权)人:中国南方电网有限责任公司南方电网数字电网研究院有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1