首页 / 专利库 / 软件 / 软件包 / 软件组件 / 规则引擎 / 一种程序生成方法及装置

一种程序生成方法及装置

阅读:1027发布:2020-07-17

专利汇可以提供一种程序生成方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种程序生成方法及装置,由代码生成引擎获取交易需求描述信息、交易技术参数、关系型 数据库 和程序模板,然后代码生成引擎基于程序生成模板,对交易需求描述信息、交易技术参数和关系型数据库进行处理,生成标准代码。本发明采用代码生成引擎、程序模板和参数化配置功能,实现了对交易需求描述信息、交易技术参数和关系型数据库的自动整合处理,从而支持代码自动生成。相对于传统方案采用人工编写代码 片段 而言,本发明简化了代码开发流程,提高了代码 质量 和可读性,减少了工作量。并且,采用统一的程序生成方法可以提高系统升级改造的效率,增强程序的扩展性,并有效避免了编码不规范的问题。,下面是一种程序生成方法及装置专利的具体信息内容。

1.一种程序生成方法,其特征在于,包括:
通过代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板;
由所述代码生成引擎基于所述程序模板,对所述交易需求描述信息、所述交易技术参数和所述关系型数据库按照代码生成流程进行处理,生成标准代码;
将所述标准代码作为目标代码进行输出。
2.根据权利要求1所述的方法,其特征在于,所述程序模板分为:标准程序模板和用户自定制程序模板。
3.根据权利要求1所述的方法,其特征在于,所述交易需求描述信息为:将用户输入的初始需求描述信息转换成预设标准格式后,生成的预设标准格式的交易需求描述信息。
4.根据权利要求1所述的方法,其特征在于,所述将所述标准代码作为目标代码进行输出,具体包括:
获取预设补充条件;
将所述预设补充条件添加至所述标准代码,形成目标代码;
输出所述目标代码。
5.根据权利要求1所述的方法,其特征在于,所述交易技术参数包括:通信协议、报文格式、命名规则,类型选项、技术限制、名称转换表、默认值和错误码。
6.一种程序生成装置,其特征在于,包括:
获取单元,用于通过代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板;
代码生成单元,用于由所述代码生成引擎基于所述程序模板,对所述交易需求描述信息、所述交易技术参数和所述关系型数据库按照代码生成流程进行处理,生成标准代码;
输出单元,用于将所述标准代码作为目标代码进行输出。
7.根据权利要求6所述的装置,其特征在于,所述程序模板分为:标准程序模板和用户自定制程序模板。
8.根据权利要求6所述的装置,其特征在于,所述交易需求描述信息为:将用户输入的初始需求描述信息转换成预设标准格式后,生成的预设标准格式的交易需求描述信息。
9.根据权利要求6所述的装置,其特征在于,所述输出单元具体包括:
获取子单元,用于获取预设补充条件;
添加子单元,用于将所述预设补充条件添加至所述标准代码,形成目标代码;
输出子单元,用于输出所述目标代码。
10.根据权利要求6所述的装置,其特征在于,所述交易技术参数包括:通信协议、报文格式、命名规则,类型选项、技术限制、名称转换表、默认值和错误码。

说明书全文

一种程序生成方法及装置

技术领域

[0001] 本发明涉及计算机技术领域,更具体的说,涉及一种程序生成方法及装置。

背景技术

[0002] 目前,很多工具都可以根据输入信息生成一些代码片段,例如,Eclipse工具可以自动生成getter/setter,tostring,equals等代码,Mybatis generator工具可以生成mybatis数据库访问代码。但是,现有的工具并不具有形成完整系统交易的功能,因此,无法将这些代码片段形成完整的业务。
[0003] 现有采用人工干预方法将这些代码片段形成完整的系统交易流程。由于系统交易流程复杂,考虑因素多,设计、编码和测试的工作量大,因此人工编写代码片段容易因疏漏而形成漏洞BUG,且容易存在编码不规范的问题。

发明内容

[0004] 有鉴于此,本发明公开一种程序生成方法及装置,以实现代码自动生成,简化代码开发流程,提高代码质量和可读性,减少工作量,有效避免编码不规范的问题。
[0005] 一种程序生成方法,包括:
[0006] 通过代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板;
[0007] 由所述代码生成引擎基于所述程序模板,对所述交易需求描述信息、所述交易技术参数和所述关系型数据库按照代码生成流程进行处理,生成标准代码;
[0008] 将所述标准代码作为目标代码进行输出。
[0009] 可选的,所述程序模板分为:标准程序模板和用户自定制程序模板。
[0010] 可选的,所述交易需求描述信息为:将用户输入的初始需求描述信息转换成预设标准格式后,生成的预设标准格式的交易需求描述信息。
[0011] 可选的,所述将所述标准代码作为目标代码进行输出,具体包括:
[0012] 获取预设补充条件;
[0013] 将所述预设补充条件添加至所述标准代码,形成目标代码;
[0014] 输出所述目标代码。
[0015] 可选的,所述交易技术参数包括:通信协议、报文格式、命名规则,类型选项、技术限制、名称转换表、默认值和错误码。
[0016] 一种程序生成装置,包括:
[0017] 获取单元,用于通过代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板;
[0018] 代码生成单元,用于由所述代码生成引擎基于所述程序模板,对所述交易需求描述信息、所述交易技术参数和所述关系型数据库按照代码生成流程进行处理,生成标准代码;
[0019] 输出单元,用于将所述标准代码作为目标代码进行输出。
[0020] 可选的,所述程序模板分为:标准程序模板和用户自定制程序模板。
[0021] 可选的,所述交易需求描述信息为:将用户输入的初始需求描述信息转换成预设标准格式后,生成的预设标准格式的交易需求描述信息。
[0022] 可选的,所述输出单元具体包括:
[0023] 获取子单元,用于获取预设补充条件;
[0024] 添加子单元,用于将所述预设补充条件添加至所述标准代码,形成目标代码;
[0025] 输出子单元,用于输出所述目标代码。
[0026] 可选的,所述交易技术参数包括:通信协议、报文格式、命名规则,类型选项、技术限制、名称转换表、默认值和错误码。
[0027] 从上述的技术方案可知,本发明公开了一种程序生成方法及装置,由代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板,然后代码生成引擎基于程序生成模板,对交易需求描述信息、交易技术参数和关系型数据库进行处理,生成标准代码。本发明采用代码生成引擎、程序模板和参数化配置功能,实现了对交易需求描述信息、交易技术参数和关系型数据库的自动整合处理,从而支持代码自动生成。相对于传统方案采用人工编写代码片段而言,本发明简化了代码开发流程,提高了代码质量和可读性,减少了工作量。
[0028] 并且,采用统一的程序生成方法可以提高系统升级改造的效率,增强程序的扩展性,并有效避免了编码不规范的问题。附图说明
[0029] 为了更清楚地说明本发明实施例现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据公开的附图获得其他的附图。
[0030] 图1为本发明实施例公开的一种程序生成方法流程图
[0031] 图2为本发明实施例公开的另一种程序生成方法流程图;
[0032] 图3为本发明实施例公开的一种程序生成装置的结构示意图;
[0033] 图4为本发明实施例公开的另一种程序生成装置的结构示意图。

具体实施方式

[0034] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035] 本发明实施例公开了一种程序生成方法及装置,由代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板,然后代码生成引擎基于程序生成模板,对交易需求描述信息、交易技术参数和关系型数据库进行处理,生成标准代码。本发明采用代码生成引擎、程序模板和参数化配置功能,实现了对交易需求描述信息、交易技术参数和关系型数据库的自动整合处理,从而支持代码自动生成。相对于传统方案采用人工编写代码片段而言,本发明简化了代码开发流程,提高了代码质量和可读性,减少了工作量。
[0036] 并且,采用统一的程序生成方法可以提高系统升级改造的效率,增强程序的扩展性,并有效避免了编码不规范的问题。
[0037] 参见图1,本发明一实施例公开的一种程序生成方法流程图,该方法包括步骤:
[0038] 步骤S101、通过代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板;
[0039] 其中,交易需求描述信息可以包括:界面字段、接口字段、取值说明、检查条件、更新数据表、字段清单、交易码、交易类型、交易名称、代码类型、输入内容、输出内容、访问表等等。
[0040] 可以理解,在实际应用中,不同的业务人员输入的交易需求描述信息的格式可能会不相同,为便于代码生成引擎对获取的交易需求描述信息进行处理,本实施例中,在获取到用户输入的初始交易需求描述信息之后,首先会将该初始交易需求描述信息转换成预设标准格式,然后,代码生成引擎获取预设标准格式的交易需求描述信息。
[0041] 也就是说,本步骤中,通过代码生成引擎获取交易需求描述信息实际为:通过代码生成引擎获取预设标准格式的交易需求描述信息。
[0042] 例如,业务人员提出的交易需求描述信息为:开立活期存款账户,交易自动生成账号,用户指定账号的所属客户号和利率。
[0043] 该信息转换为标准格式为:
[0044]
[0045]
[0046] 交易技术参数可以包括:通信协议、报文格式、命名规则,类型选项、技术限制、名称转换表、默认值和错误码等。
[0047] 其中,报文格式包括:定长、json、xml和8583等格式。
[0048] 名称转换表可以包括一种或多种,如字段名转换表、数据表名转换表、函数名转换表、条件名转换表等,名称转换表的内容可以随业务需要不断扩充丰富。在实际应用中,可以把需求的文字描述转换为程序代码的变量名、数据表名、函数名、条件表达式等,从而使需求描述可以更加人性化、直观容易理解和表述,其中,转换出的程序代码需要符合计算机编程语言的要求,符合编码规范要求。在实际实施时,可以提供下拉列表给需求编写人员挑选文字描述。
[0049] 举例说明交易技术参数的表示形式,具体如下:
[0050]
[0051]
[0052] 关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
[0053] 关系型数据库可以包括:表名、描述、业务含义、数据类型描述、字段清单、字段类型和取值条件。
[0054] 举例说明,请参见表1和表2,表1为表清单,表2为字段清单。
[0055] 表1
[0056]表名 描述 业务含义
account_info 账户信息表 存放账户资料
Customer_info 客户信息表 存放客户资料
     
[0057] 表2
[0058]表名 字段名 字段类型 字段说明 取值条件
Customer_info customerNo Char(20) 客户号 不为空
Customer_info customerName Char(50) 客户名 不为空
Account_info accountNo Char(20) 账号 不为空
Account_info customerNo Char(20) 所属客户号 不为空
Account_info interestRate Float 利率 大于0
[0059] 在实际应用中,可以设计一种模板语言,来支持标签定义、替换、合成等功能,所设计的模板语言即是程序模板。本实施例中,程序模板包括:程序头部、可变占位符、替换规则、自动备注等功能。其中,替换规则包括:全部替换、单个替换、累加替换、条件替换、前增加、后增加和删除。
[0060] 需要特别说明的是,程序模板分为:标准程序模板和用户自定制程序模板,标准程序模板是公共的标准化通用模板,适用于常用程序。当所需的交易程序比较特殊时,用户可以在标准程序模板的基础上依据实际需要进行修改,得到用户自定制程序模板。
[0061] 为方便理解,现以标准程序模板中交易模板为例,说明标准程序模板的一种表示形式,交易模板的表示形式如下:
[0062] readjson("需求")
[0063] readjson("技术参数")
[0064] connnect("数据库")
[0065] genInterface("输入")
[0066] genInterface("输出")
[0067] genTran("输入","检查","数据读写","输出")
[0068] 在上述示出的交易模板的基础上,例如,当用户需要增加替换处理的特殊代码时,那么得到用户自定制程序模板可以为:
[0069] readjson("需求")
[0070] readjson("技术参数")
[0071] connnect("数据库")
[0072] genInterface("输入")
[0073] genInterface("输出")
[0074] genTran("输入","检查","数据读写","输出")
[0075] replace("todo getSeq","getAccountNo()")
[0076] 可以理解,不同类别代码有不同的处理流程和功能,因此,在实际应用中,可以根据需要定制多种类别的程序模板。
[0077] 例如:查询类模板,包括:输入搜索条件、读取数据库,格式化显示等功能。
[0078] 维护类模板,包括:增删改查功能。
[0079] 金融交易模板,包括:账户余额更新、插入交易、会计账务处理、记录log、推送通知等功能。
[0080] 步骤S102、由所述代码生成引擎基于所述程序模板,对所述交易需求描述信息、所述交易技术参数和所述关系型数据库按照代码生成流程进行处理,生成标准代码;
[0081] 其中,标准代码可以包括:JAVA的交易层代码、接口代码、服务层代码等。
[0082] 例如,标准代码可以表示成如下形式:
[0083] src\Deposit\tran1001.java交易层代码
[0084] src\Deposit\tran1001input.java输入接口代码
[0085] src\Deposit\tran1001output.java输出接口代码
[0086] src\Deposit\accountService.java服务层代码
[0087] 生成的标准代码支持目录创建、文件创建、文件生成和替换、输入提示、错误处理、log记录、测试代码自动生成、文档自动生成等功能。还可以支持调用Eclipse自动生成getter/setter,tostring,equals等插件,mybatis generator等工具。并且,还可以对代码片段进行集成调用,并将这些代码整合成完整的交易程序。
[0088] 本步骤中,根据交易需求描述信息可以自动生成需求文档、栏位信息说明和检查条件说明。
[0089] 根据交易技术参数可以自动生成接口文档和技术参考文档。
[0090] 根据关系型数据库可以自动生成SQL(Structured Query Language,结构化查询语言)代码和DDL(Data Definition Language,数据库模式定义语言)代码,数据字典文档。
[0091] 根据程序模板可以自动生成代码和数据字段文档。
[0092] 步骤S103、将所述标准代码作为目标代码进行输出。
[0093] 基于上述论述可知,本发明公开的程序生成方法实际可以看成代码生成工具,该代码生成功能可以按照交易码、接口格式和数据表,自动生成标准的程序流程。例如,目标为参数维护交易程序,采用本发明公开的方案可以自动读取参数表的字段,生成标准增删改查代码,开发人员只需要增加各字段特殊的有效性检查条件即可。
[0094] 本发明公开的程序生成方法可应用于交易程序的生成过程,交易程序可以包括:维护类交易程序、查询了交易程序、金融类交易程序和状态类交易程序,其中,状态类交易如冻结、解冻、挂失、解挂、签发、重空流转等。
[0095] 综上可知,本发明公开的程序生成方法,由代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板,然后代码生成引擎基于程序生成模板,对交易需求描述信息、交易技术参数和关系型数据库进行处理,生成标准代码。本发明采用代码生成引擎、程序模板和参数化配置功能,实现了对交易需求描述信息、交易技术参数和关系型数据库的自动整合处理,从而支持代码自动生成。相对于传统方案采用人工编写代码片段而言,本发明简化了代码开发流程,提高了代码质量和可读性,减少了工作量。
[0096] 并且,采用统一的程序生成方法可以提高系统升级改造的效率,增强程序的扩展性,并有效避免了编码不规范的问题。
[0097] 需要说明的是,当用户所需的程序为程序模板中没有包含的特殊内容时(例如特殊号码生成),在上述实施例步骤S102生成标准代码之后,还需要在标准代码的基础上补充一些特殊条件,从而满足特殊场景的需要。
[0098] 参见图2,本发明另一实施例公开的一种程序生成方法流程图,该方法包括步骤:
[0099] 步骤S201、通过代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板;
[0100] 步骤S202、由所述代码生成引擎基于所述程序模板,对所述交易需求描述信息、所述交易技术参数和所述关系型数据库按照代码生成流程进行处理,生成标准代码;
[0101] 需要特别说明的是,步骤S201和图1所示实施例中的步骤S101对应,步骤S202和图1所示实施例中的步骤S102对应,因此,步骤S201和步骤S202的具体工作原理请参见图1所示实施例,此处不再赘述。
[0102] 步骤S203、获取预设补充条件;
[0103] 本步骤中所述的预设补充条件为:为满足实际场景需求,需要在标准代码中增加的一些条件,比如:增加多字段关联检查,或是,客户类型为VIP客户,利率优惠10%等。
[0104] 步骤S204、将所述预设补充条件添加至所述标准代码,形成目标代码;
[0105] 步骤S205、输出所述目标代码。
[0106] 综上可知,本发明公开的程序生成方法,由代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板,然后代码生成引擎基于程序生成模板,对交易需求描述信息、交易技术参数和关系型数据库进行处理,生成标准代码。本发明采用代码生成引擎、程序模板和参数化配置功能,实现了对交易需求描述信息、交易技术参数和关系型数据库的自动整合处理,从而支持代码自动生成。相对于传统方案采用人工编写代码片段而言,本发明简化了代码开发流程,提高了代码质量和可读性,减少了工作量。
[0107] 并且,采用统一的程序生成方法可以提高系统升级改造的效率,增强程序的扩展性,并有效避免了编码不规范的问题。
[0108] 为进一步优化上述实施例,还可以包括步骤:
[0109] 对目标代码的正确性进行测试,生成自动化测试代码。
[0110] 为及时发现程序是否存在问题,从而确保程序的正确性,本发明在生成目标代码后,还可以在预设场景条件下,对目标代码的正确性进行测试。
[0111] 测试过程可以为:
[0112] (1)准备测试数据,并将测试数据写入关系型数据库;
[0113] (2)填写输入接口;
[0114] (3)调用交易功能;
[0115] (4)检查输出接口信息的正确性,对返回信息进行比较和判断;
[0116] (5)检查关系型数据库信息的正确性,读取关系型数据库中的更新数据,检查读取的更新数据是否更新正确。
[0117] 与上述方法实施例相对应,本发明还公开了一种程序生成装置。
[0118] 参见图3,本发明一实施例公开的一种程序生成装置的结构示意图,该装置包括:
[0119] 获取单元301,用于通过代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板;
[0120] 其中,交易需求描述信息可以包括:界面字段、接口字段、取值说明、检查条件、更新数据表、字段清单、交易码、交易类型、交易名称、代码类型、输入内容、输出内容、访问表等等。
[0121] 可以理解,在实际应用中,不同的业务人员输入的交易需求描述信息的格式可能会不相同,为便于代码生成引擎对获取的交易需求描述信息进行处理,本实施例中,在获取到用户输入的初始交易需求描述信息之后,首先会将该初始交易需求描述信息转换成预设标准格式,然后,代码生成引擎获取预设标准格式的交易需求描述信息。
[0122] 也就是说,通过代码生成引擎获取交易需求描述信息实际为:通过代码生成引擎获取预设标准格式的交易需求描述信息。
[0123] 交易技术参数可以包括:通信协议、报文格式、命名规则,类型选项、技术限制、名称转换表、默认值和错误码等。
[0124] 其中,报文格式包括:定长、json、xml和8583等格式。
[0125] 名称转换表可以包括一种或多种,如字段名转换表、数据表名转换表、函数名转换表、条件名转换表等,名称转换表的内容可以随业务需要不断扩充丰富。在实际应用中,可以把需求的文字描述转换为程序代码的变量名、数据表名、函数名、条件表达式等,从而使需求描述可以更加人性化、直观容易理解和表述,其中,转换出的程序代码需要符合计算机编程语言的要求,符合编码规范要求。在实际实施时,可以提供下拉列表给需求编写人员挑选文字描述。
[0126] 关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
[0127] 关系型数据库可以包括:表名、描述、业务含义、数据类型描述、字段清单、字段类型和取值条件。
[0128] 需要说明的是,交易需求描述信息、交易技术参数、关系型数据库和程序模板的表示形式可参见方法示例对应部分,此处不再赘述。
[0129] 在实际应用中,可以设计一种模板语言,来支持标签定义、替换、合成等功能,所设计的模板语言即是程序模板。本实施例中,程序模板包括:程序头部、可变占位符、替换规则、自动备注等功能。其中,替换规则包括:全部替换、单个替换、累加替换、条件替换、前增加、后增加和删除。
[0130] 需要特别说明的是,程序模板分为:标准程序模板和用户自定制程序模板,标准程序模板是公共的标准化通用模板,适用于常用程序。当所需的交易程序比较特殊时,用户可以在标准程序模板的基础上依据实际需要进行修改,得到用户自定制程序模板。
[0131] 可以理解,不同类别代码有不同的处理流程和功能,因此,在实际应用中,可以根据需要定制多种类别的程序模板。
[0132] 例如:查询类模板,包括:输入搜索条件、读取数据库,格式化显示等功能。
[0133] 维护类模板,包括:增删改查功能。
[0134] 金融交易模板,包括:账户余额更新、插入交易、会计账务处理、记录log、推送通知等功能。
[0135] 代码生成单元302,用于由所述代码生成引擎基于所述程序模板,对所述交易需求描述信息、所述交易技术参数和所述关系型数据库按照代码生成流程进行处理,生成标准代码;
[0136] 其中,标准代码可以包括:JAVA的交易层代码、接口代码、服务层代码等。
[0137] 生成的标准代码支持目录创建、文件创建、文件生成和替换、输入提示、错误处理、log记录、测试代码自动生成、文档自动生成等功能。还可以支持调用Eclipse自动生成getter/setter,tostring,equals等插件,mybatis generator等工具。并且,还可以对代码片段进行集成调用,并将这些代码整合成完整的交易程序。
[0138] 根据交易需求描述信息可以自动生成需求文档、栏位信息说明和检查条件说明。
[0139] 根据交易技术参数可以自动生成接口文档和技术参考文档。
[0140] 根据关系型数据库可以自动生成SQL(Structured Query Language,结构化查询语言)代码和DDL(Data Definition Language,数据库模式定义语言)代码,数据字典文档。
[0141] 根据程序模板可以自动生成代码和数据字段文档。
[0142] 输出单元303,用于将所述标准代码作为目标代码进行输出。
[0143] 基于上述论述可知,本发明公开的程序生成装置实际可以看成代码生成工具,该代码生成功能可以按照交易码、接口格式和数据表,自动生成标准的程序流程。例如,目标为参数维护交易程序,采用本发明公开的方案可以自动读取参数表的字段,生成标准增删改查代码,开发人员只需要增加各字段特殊的有效性检查条件即可。
[0144] 本发明公开的程序生成装置可应用于交易程序的生成过程,交易程序可以包括:维护类交易程序、查询了交易程序、金融类交易程序和状态类交易程序,其中,状态类交易如冻结、解冻、挂失、解挂、签发、重空流转等。
[0145] 综上可知,本发明公开的程序生成装置,由代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板,然后代码生成引擎基于程序生成模板,对交易需求描述信息、交易技术参数和关系型数据库进行处理,生成标准代码。本发明采用代码生成引擎、程序模板和参数化配置功能,实现了对交易需求描述信息、交易技术参数和关系型数据库的自动整合处理,从而支持代码自动生成。相对于传统方案采用人工编写代码片段而言,本发明简化了代码开发流程,提高了代码质量和可读性,减少了工作量。
[0146] 并且,采用统一的程序生成装置可以提高系统升级改造的效率,增强程序的扩展性,并有效避免了编码不规范的问题。
[0147] 需要说明的是,当用户所需的程序为程序模板中没有包含的特殊内容时(例如特殊号码生成),在上述实施例生成标准代码之后,还需要在标准代码的基础上补充一些特殊条件,从而满足特殊场景的需要。
[0148] 参见图4,本发明另一实施例公开的程序生成装置的结构示意图,该装置包括:
[0149] 获取单元401,用于通过代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板;
[0150] 代码生成单元402,用于由所述代码生成引擎基于所述程序模板,对所述交易需求描述信息、所述交易技术参数和所述关系型数据库按照代码生成流程进行处理,生成标准代码;
[0151] 获取子单元403,用于获取预设补充条件;
[0152] 预设补充条件为:为满足实际场景需求,需要在标准代码中增加的一些条件,比如:增加多字段关联检查,或是,客户类型为VIP客户,利率优惠10%等。
[0153] 添加子单元404,用于将所述预设补充条件添加至所述标准代码,形成目标代码;
[0154] 输出子单元405,用于输出所述目标代码。
[0155] 综上可知,本发明公开的程序生成装置,由代码生成引擎获取交易需求描述信息、交易技术参数、关系型数据库和程序模板,然后代码生成引擎基于程序生成模板,对交易需求描述信息、交易技术参数和关系型数据库进行处理,生成标准代码。本发明采用代码生成引擎、程序模板和参数化配置功能,实现了对交易需求描述信息、交易技术参数和关系型数据库的自动整合处理,从而支持代码自动生成。相对于传统方案采用人工编写代码片段而言,本发明简化了代码开发流程,提高了代码质量和可读性,减少了工作量。
[0156] 并且,采用统一的程序生成方法可以提高系统升级改造的效率,增强程序的扩展性,并有效避免了编码不规范的问题。
[0157] 需要说明的是,本发明还可以对目标代码的正确性进行测试。生成自动化测试代码。
[0158] 为及时发现程序是否存在问题,从而确保程序的正确性,本发明在生成目标代码后,还可以在预设场景条件下,对目标代码的正确性进行测试。
[0159] 测试过程可以为:
[0160] (1)准备测试数据,并将测试数据写入关系型数据库;
[0161] (2)填写输入接口;
[0162] (3)调用交易功能;
[0163] (4)检查输出接口信息的正确性,对返回信息进行比较和判断;
[0164] (5)检查关系型数据库信息的正确性,读取关系型数据库中的更新数据,检查读取的更新数据是否更新正确。
[0165] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0166] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0167] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈