CN117931171A - 一种应用的开发方法、系统、可读存储介质和电子设备 - Google Patents

一种应用的开发方法、系统、可读存储介质和电子设备 Download PDF

Info

Publication number
CN117931171A
CN117931171A CN202311761119.6A CN202311761119A CN117931171A CN 117931171 A CN117931171 A CN 117931171A CN 202311761119 A CN202311761119 A CN 202311761119A CN 117931171 A CN117931171 A CN 117931171A
Authority
CN
China
Prior art keywords
application
development
developed
pipeline
project
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311761119.6A
Other languages
English (en)
Inventor
李涛
王涛
郑玲
雷刚
李琬宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Petroleum and Chemical Corp
Petro CyberWorks Information Technology Co Ltd
Original Assignee
China Petroleum and Chemical Corp
Petro CyberWorks Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China Petroleum and Chemical Corp, Petro CyberWorks Information Technology Co Ltd filed Critical China Petroleum and Chemical Corp
Priority to CN202311761119.6A priority Critical patent/CN117931171A/zh
Publication of CN117931171A publication Critical patent/CN117931171A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种应用的开发方法、系统、可读存储介质和电子设备,方法包括:获取待开发应用的应用元素特征;基于动态模板引擎,得到与所述待开发应用的应用元素特征相对应的目标开发模板;基于所述目标开发模板,搭建所述待开发应用的目标开发流水线;基于所述目标开发流水线,依次获得对所述待开发应用进行开发的项目内容,直到完成所述待开发应用的开发。本申请实施例利用动态模板引擎搭建开发流水线,可以适用各类型的应用的开发,减少重复的编码工作,提高应用开发的效率。

Description

一种应用的开发方法、系统、可读存储介质和电子设备
技术领域
本申请实施例涉及应用开发技术领域,尤其涉及一种应用的开发方法、系统、可读存储介质和电子设备。
背景技术
通常来说,应用开发过程可以划分为两种工作:一是具有创造性的个性化工作,即通过大脑严谨逻辑思考过程向外输出的内容;而是非创造性的重复工作,即为了实现创造性工作的输出,需要通过某种熟练的技术语言重复操作而实现的工作。在应用的开发过程中,这两种工作相互结合,实现开发的目的。相关技术提出诸如低代码平台、自动化编译部署等技术方案,利用平台进行自动化编译及部署,针对特定的应用开发场景,减少手动编写代码等非创造性的重复工作,提高应用开发的效率。然而,目前提出的低代码平台、自动化编译部署等技术方案,只能适用于单一或者特定的应用开发场景,具有较强的局限性,方案兼容性差。因此,目前的应用开发的效率仍然亟待提高。
发明内容
本申请实施例提供了一种应用的开发方法、系统、可读存储介质和电子设备,旨在提高应用开发的效率。
在一方面,本申请实施例提供了一种应用的开发方法,包括:
获取待开发应用的应用元素特征;
基于动态模板引擎,得到与所述待开发应用的应用元素特征相对应的目标开发模板;
基于所述目标开发模板,搭建所述待开发应用的目标开发流水线;
基于所述目标开发流水线,依次获得对所述待开发应用进行开发的项目内容,直到完成所述待开发应用的开发。
可选地,所述基于动态模板引擎,得到与所述待开发应用的应用元素特征相对应的目标开发模板的步骤,包括:
基于所述动态模板引擎,获得与所述待开发应用的应用元素特征相对应的流水线元素特征;
根据所述待开发应用的应用元素特征以及所述流水线元素特征,得到与所述待开发应用的应用元素特征相对应的目标开发模板。
可选地,所述应用元素特征包括:应用类型、应用的技术路线、应用的编码规范、应用的前端框架属性、应用的后端框架属性、应用的前端页面属性、应用的数据库规范和应用的前后端联调规范;
所述流水线元素特征至少包括:开发流水线的项目类型、开发流水线的项目次序和脚手架项目编码。
可选地,还包括:
获取多个样本应用和多个样本开发模板;
基于代码生成技术,对所述多个样本应用进行应用元素特征提取,并对所述多个样本应用和所述多个样本开发模板进行流水线元素特征提取;
基于所述应用元素特征和所述流水线元素特征的匹配关联关系,得到所述动态模板引擎。
可选地,所述基于所述应用元素特征和所述流水线元素特征的匹配关联关系,得到所述动态模板引擎的步骤,包括:
获得所述流水线特征与所述应用元素特征关联的第一样本特征对、所述流水线特征与所述样本开发模板关联的第二样本特征对;
将所述第一样本特征对和所述第二样本特征对输入动态模板原始引擎进行训练,得到所述动态模板引擎。
可选地,所述待开发应用包括:项目管理类应用;
所述基于所述目标开发流水线,依次获得对所述待开发应用进行开发的项目内容,直到完成所述待开发应用的开发的步骤,包括:
创建项目,选择对应的项目开发接口;
创建应用,选择对应的应用开发接口;
进入所述应用,创建数据源,并基于所述数据源,创建数据库规则;
基于所述数据库规则,创建数据库,并基于所述数据库,生成后端框架;
基于所述后端框架,生成实体和sql逻辑接口,并进行编译、打包和部署;
通过录入API文档,生成前端框架和页面设计,并进行编译、打包和部署;
运行并维护所述待开发应用,完成所述待开发应用的开发。
可选地,所述数据库规则,至少包括:
数据库的库名、数据库表名规范、数据库表中的必用字段和选用字段。
在又一方面,本申请实施例提供了一种应用的开发系统,包括:
特征获取单元,用于获取待开发应用的应用元素特征;
模板生成单元,用于基于动态模板引擎,得到与所述待开发应用的应用元素特征相对应的目标开发模板;
流水线生成单元,用于基于所述目标开发模板,搭建所述待开发应用的目标开发流水线;
开发单元,用于基于所述目标开发流水线,依次获得对所述待开发应用进行开发的项目内容,直到完成所述待开发应用的开发。
在又一方面,本申请另一实施例提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例的方法中的步骤。
在又一方面,本申请另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行时实现本申请上述任一实施例的方法中的步骤。
在又一方面,本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述方法实施例中的射孔信号检测方法。
与现有技术相比,本申请的优点在于:
本申请实施例提供的应用的开发方法、系统、可读存储介质和电子设备,能够基于动态模板引擎,针对待开发应用的应用元素特征,得到与所述待开发应用的应用元素特征相对应的目标开发模板,自动搭建适用于待开发应用的开发的目标开发流水线,并逐步完成目标开发流水线的各开发步骤要求的项目内容,完成所述待开发应用的开发。通过上述实施例,一方面能够兼容各类应用的开发,高度自动化地搭建开发流水线,减少开发人员的项目开发搭建的工作量。另一方面来说,能够适应各类应用的开发内容,在开发流水线能够实现个性化开发的基础上,通过代码生成工具,将低效工作交由机器完成,减少开发人员的非创造性重复工作,极大地提高应用的开发效率,降低应用的开发成本。
附图说明
附图仅为参考与说明之用,并非用以限制本申请的保护范围。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1示出了本申请提供的一个实施例中的应用开发方法的步骤流程图;
图2示出了本申请提供的又一个实施例中的应用开发方法的步骤流程图;
图3示出了本申请提供的又一个实施例中的应用开发方法的步骤流程图;
图4示出了本申请提供的又一个实施例中的应用开发方法的步骤流程图;
图5示出了本申请提供的一个实施例中的开发流水线的项目流程示意图;
图6示出了本申请提供的一个实施例中的应用开发系统的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
传统的开发过程通常存在两种产出:一是创造性个性化的工作,即通过大脑严谨逻辑思考过程向外输出的内容;而是非创造性重复的工作,即为了实现创造性工作的输出,需要通过某种熟练的技术语言重复操作而实现的工作。这两种工作相互结合,共同成目前的开发工作。发明人发现,在整条开发流水线上,非创造性重复开发工作量常常占整个开发流水线工作量的70-80%。而且人为的重复性的工作将会导致不规范,低级的错频繁出现,重复返工量就会大,返工又会写出新的缺陷,开发人员疲于解决此类重复工作导致的问题,形成恶性循环,可能会使得最终上线的应用漏洞百出,达不到应用预期效果的同时还难以降低开发成本。
综上分析可知,大量非创性的重复工作,导致开发效率难以提升,也使得开发成本居高不下。发明人进一步进行分析,发现重复工作主要表现在:1、由于设计标准缺失导致,用户需求变更需要设计不断地进行调整和修改,导致后续大量工作反复。并且设计标准化不够,也会使传达开发出现偏差,导致编码阶段大量工作返工。2、因现有功能代码不透明、支持力度不够导致的重复开发,比如成果存放分散、支持力度不够,可阅读性差,会导致复用门槛高、复用率低。不同场景下存在重复的逻辑实现、数据处理、异常处理、框架及接口调用,导致大量代码片段重复编写调试。3、因人为编码不规范导致的低级错误,导致大量的反复测试及调试。4、技术解释文档需要大量的编码过程的转换,如技术设计文档中技术路线选型、架构概述、接口定义、数据结构设计等技术语言转义逻辑相同但内容不一,导致编写文档成为低级重复工作。5、发布上线前编码验证过程需频繁编译、打包、部署等工作,重复性高且易错。部署配置文件修改及环境搭建,人为易错且重复性高且易错,导致大量重复性工作及难以维护。在诸如上述的几个环节中,如果通过自动化手段串联开发过程,并能都适合编码习惯的方式解决面向定制化开发过程自动化高的流水线,那么将会大大提升应用的开发效率,降低应用的开发成本。
发明人还发现,相关技术针对特定的应用开发场景提出方案,用以提高应用开发的效率,主要包括以下几类方案:
一、低代码平台。目前现有的低代码平台可以解决减少重复性编码工作及以上绝大部分现有问题。但是对于平台的依赖性太强,二次开发能力弱。借助低代码平台的前端工具控件的拖拽及样式设置组成前端页面,完全依赖平台进行后续的编译及发布操作,或者是生成编译后的文件进行发布,因编译后的文件修改难度太大,二次开发难度很高,低代码平台生成平台提供的框架并通过数据库生成项目的实体类文件,利用平台进行编译及部署,前端通过平台绑定后端接口,编译部署。
二、自动化编译部署。借助自动化编译部署工具可以减少频繁的编译、打包、部署过程中的重复性工作,解决这几个过程中的易错问题,但是对于其他的开发步骤只能是手动编码或者借助低代码平台或其他编码生成工具进行开发。
三、其他开发过程编码特定的编码生成工具、除以上的工具以为还可以借助一些其他的特定编码生成工具,例如:mybatis的逆向工程,通过编写配置文件并运行项目生成项目数据库对应的实体文件。又例如:EasyCode工具,通过自定义生成代码的模板,连接项目数据库,根据自己制定的策略生成Controller,Service,Mapper以及dao,在生成代码的基础上进行修改,开发完成后手动进行编译部署或使用自动化编译部署工具进行编译、打包、部署工作。
就上述几种相关技术提出的方案来看,低代码平台仅有一套内置模板,不可扩展,适用业务场景比较单一,具有较强的局限性,无法兼容复杂多变的应用开发需求,并不能满足复杂多样的应用开发需求。而自动化编译部署或者其他开发过程编码特定的编码生成工具不可以完整地穿插在整个开发过程中,整个流程需要配合使用才能完成应用的开发,会使得开发项目不好管理,借助工具太过驳杂,难以提高应用开发的效率或降低成本。
有鉴于此,本申请实施例提出一种应用的开发方法、系统、可读存储介质和电子设备,能够针对待开发应用的应用元素特征,基于动态模板引擎得到与待开发应用的应用元素特征相对应的目标开发模板,自动搭建适用于待开发应用的开发的目标开发流水线,并逐步完成目标开发流水线的各开发步骤要求的项目内容,完成待开发应用的开发。通过上述实施例,能够兼容各类应用的开发,高度自动化地搭建开发流水线,减少开发人员的非创造性重复工作,极大地提高应用的开发效率,降低应用的开发成本。
下面结合附图对本申请实施例进行说明。
实施例一
参照图1,图1示出了本申请提供的一个实施例中的应用开发方法的步骤流程图。如图1所示,本申请实施例提供了一种应用的开发方法,包括:
步骤S310,获取待开发应用的应用元素特征。
其中,应用元素特征可以保证待开发应在在某一方面的开发属性。示例性地,待开发应用的应用元素特征可以包括:待开发应用的技术路线。进一步地进行示例性地说明,待开发应用的技术路线可以包括JAVA路线。
在一种可选的示例中,可以通过人工接口输入待开发应用的应用元素特征,对待开发应用的应用元素特征进行获取。
步骤S320,基于动态模板引擎,得到与待开发应用的应用元素特征相对应的目标开发模板;其中,目标开发模板包含待开发应用的目标开发流水线。
在一些可选的实施例中,动态模板引擎可以是通过代码生成技术,对样本应用和/或者样本开发模板,进行元素特征提取得到的,能够用于实现多种类型的应用的开发模板的生成,继而能针对当前的待开发应用,生成对应的目标开发模板,从而搭建对应的目标开发流水线。
其中,元素特征可以包括:应用元素特征和流水线元素特征。
其中,目标开发模板,可以是流水线模板。在本申请实施例中,基于流水线模板可以搭建开发流水线。
步骤S330,基于目标开发模板,搭建待开发应用的目标开发流水线。
在一些可选的实施例中,可以基于目标开发模板,以及待开发应用的应用元素特征和/或者流水线元素特征,搭建得到待开发应用的目标开发流水线。
在一种可选的示例中,基于待开发应用的应用元素特征,可以一一得到与待开发应用的应用元素特征相匹配或者相关联的流水线元素特征,包括开发流水线的项目类型、开发流水线的项目次序和脚手架项目编码等,从而可以基于开发流水线的项目类型、开发流水线的项目次序和脚手架项目编码,实现待开发应用的目标开发流水线的搭建。
示例性地,脚手架项目编码,可以包括自带的数据库生成编码、集成工作流组件编码、公共类编码和项目名称定义编码等。
在一种可选的示例中,利用应用类型、应用的技术路线、应用的后端框架属性、应用的前端页面属性等应用元素特征,以及开发流水线的项目类型、开发流水线的项目次序等流水线元素特征,可以获得与待开发应用的应用元素特征相对应的目标开发模板。
相应地,在一种可选的示例中,利用应用的编码规范、应用的数据库规范和应用的前后端联调规范等应用元素特征,以及脚手架项目编码等流水线元素特征,可以基于目标开发模板,搭建待开发应用的目标开发流水线。
步骤S340,基于目标开发流水线,依次获得对待开发应用进行开发的项目内容,直到完成待开发应用的开发。
其中,待开发应用可以包括多种类型的应用。示例性地:待开发应用可以是项目管理类应用或者项目管理类系统。
在一种可选的示例中,基于待开发应用的目标开发流水线的项目次序、项目类型和脚手架项目编码,可以依次实现对待开发应用进行开发的项目内容的获取。
其中,项目内容可以进一步包括:第一项目内容和第二项目内容。
具体地,第一项目内容可以是具有创造性的个性化工作的内容,可以从人工接口获得。第二项目内容可以是非创造性的重复工作,可以利用脚手架项目编码完成,例如实现包括自动的代码编译、打包、部署等工作。
通过上述实施例,能够针对待开发应用的应用元素特征,基于动态模板引擎得到与待开发应用的应用元素特征相对应的目标开发模板,自动搭建适用于待开发应用的开发的目标开发流水线,并逐步完成目标开发流水线的各开发步骤要求的项目内容,完成待开发应用的开发。通过上述实施例,一方面能够兼容各类应用的开发,高度自动化地搭建开发流水线,减少开发人员的项目开发搭建的工作量。另一方面来说,能够适应各类应用的开发内容,在开发流水线能够实现个性化开发的基础上,通过代码生成工具,将低效工作交由机器完成,减少开发人员的非创造性重复工作,极大地提高应用的开发效率,降低应用的开发成本。
实施例二
参照图2,图2示出了本申请提供的又一个实施例中的应用开发方法的步骤流程图。如图2所示,本申请实施例提供了一种应用的开发方法,包括:
步骤S310,获取待开发应用的应用元素特征。
其中,应用元素特征可以保证待开发应在在某一方面的开发属性。示例性地,待开发应用的应用元素特征可以包括:待开发应用的技术路线。进一步地进行示例性地说明,待开发应用的技术路线可以包括JAVA路线。
在一种可选的示例中,可以通过人工接口输入待开发应用的应用元素特征,对待开发应用的应用元素特征进行获取。
步骤S320,基于动态模板引擎,得到与待开发应用的应用元素特征相对应的目标开发模板;其中,目标开发模板包含待开发应用的目标开发流水线。
在一些可选的实施例中,动态模板引擎可以是通过代码生成技术,对样本应用和/或者样本开发模板,进行元素特征提取得到的,能够用于实现多种类型的应用的开发模板的生成,继而能针对当前的待开发应用,生成对应的目标开发模板,从而搭建对应的目标开发流水线。
其中,元素特征可以包括:应用元素特征和流水线元素特征。
其中,目标开发模板,可以是流水线模板。在本申请实施例中,基于流水线模板可以搭建开发流水线。
在本申请实施例中,可以利用动态模板引擎获得流水线元素特征,并在此基础上实现流水线模板的搭建。为此,上述步骤S320具体可以包括:
步骤S321,基于动态模板引擎,获得与待开发应用的应用元素特征相对应的流水线元素特征。
在一些可选的实施例中,应用元素特征可以包括:应用类型、应用的技术路线、应用的编码规范、应用的前端框架属性、应用的后端框架属性、应用的前端页面属性、应用的数据库规范和应用的前后端联调规范。
在一些可选的实施例中,基于动态模板引擎,获得的流水线元素特征可以包括:开发流水线的项目类型、开发流水线的项目次序和脚手架项目编码。
步骤S322,根据待开发应用的应用元素特征以及流水线元素特征,得到与待开发应用的应用元素特征相对应的目标开发模板。
在一种可选的示例中,可以利用应用类型、应用的技术路线、应用的后端框架属性、应用的前端页面属性等应用元素特征,以及开发流水线的项目类型、开发流水线的项目次序等流水线元素特征,可以获得与待开发应用的应用元素特征相对应的目标开发模板。
步骤S330,基于目标开发模板,搭建待开发应用的目标开发流水线。
在一些可选的实施例中,可以基于目标开发模板,以及待开发应用的应用元素特征和/或者流水线元素特征,搭建得到待开发应用的目标开发流水线。
在一种可选的示例中,基于待开发应用的应用元素特征,可以一一得到与待开发应用的应用元素特征相匹配或者相关联的流水线元素特征,包括开发流水线的项目类型、开发流水线的项目次序和脚手架项目编码等,从而可以基于开发流水线的项目类型、开发流水线的项目次序和脚手架项目编码,实现待开发应用的目标开发流水线的搭建。
在一种可选的示例中,可以利用应用的编码规范、应用的数据库规范和应用的前后端联调规范等应用元素特征,以及脚手架项目编码等流水线元素特征,可以基于目标开发模板,搭建待开发应用的目标开发流水线。
步骤S340,基于目标开发流水线,依次获得对待开发应用进行开发的项目内容,直到完成待开发应用的开发。
其中,待开发应用可以包括多种类型的应用。示例性地:待开发应用可以是项目管理类应用或者项目管理类系统。
在一种可选的示例中,基于待开发应用的目标开发流水线的项目次序、项目类型和脚手架项目编码,可以依次实现对待开发应用进行开发的项目内容的获取。
其中,项目内容可以进一步包括:第一项目内容和第二项目内容。
具体地,第一项目内容可以是具有创造性的个性化工作的内容,可以从人工接口获得。第二项目内容可以是非创造性的重复工作,可以利用脚手架项目编码完成,例如实现包括自动的代码编译、打包、部署等工作。
通过上述实施例,能够针对待开发应用的应用元素特征,基于动态模板引擎得到与待开发应用的应用元素特征相对应的目标开发模板,自动搭建适用于待开发应用的开发的目标开发流水线,并逐步完成目标开发流水线的各开发步骤要求的项目内容,完成待开发应用的开发。通过上述实施例,一方面能够兼容各类应用的开发,高度自动化地搭建开发流水线,减少开发人员的项目开发搭建的工作量。另一方面来说,能够适应各类应用的开发内容,在开发流水线能够实现个性化开发的基础上,通过代码生成工具,将低效工作交由机器完成,减少开发人员的非创造性重复工作,极大地提高应用的开发效率,降低应用的开发成本。
实施例三
参照图3,图3示出了本申请提供的又一个实施例中的应用开发方法的步骤流程图。如图3所示,本申请实施例可以利用代码生成技术,得到能够为不同类型的应用开发提供对应的开发模板的动态模板引擎,为此,还提供了一种应用的开发方法,包括:
步骤S210,获取多个样本应用和多个样本开发模板。
步骤S220,基于代码生成技术,对多个样本应用进行应用元素特征提取,并对多个样本应用和多个样本开发模板进行流水线元素特征提取。
其中,样本应用的应用元素特征可以参照待获取的开发应用的应用元素特征的种类,包括:应用类型、应用的技术路线、应用的编码规范、应用的前端框架属性、应用的后端框架属性、应用的前端页面属性、应用的数据库规范和应用的前后端联调规范。
对应的流水线元素特征可以包括:开发流水线的项目类型、开发流水线的项目次序和脚手架项目编码。
步骤S230,基于应用元素特征和流水线元素特征的匹配关联关系,得到动态模板引擎。
进一步地,在一种可选的实施方式中,步骤S230可以具体包括:
步骤S231,获得流水线特征与应用元素特征关联的第一样本特征对、流水线特征与样本开发模板关联的第二样本特征对。
步骤S232,将第一样本特征对和第二样本特征对输入动态模板原始引擎进行训练,得到动态模板引擎。
由此,输入应用元素特征和/或者流水线特征到动态模板引擎中,均可以获得相应的样本开发模板。
步骤S310,获取待开发应用的应用元素特征。
其中,应用元素特征可以保证待开发应在在某一方面的开发属性。示例性地,待开发应用的应用元素特征可以包括:待开发应用的技术路线。进一步地进行示例性地说明,待开发应用的技术路线可以包括JAVA路线。
在一种可选的示例中,可以通过人工接口输入待开发应用的应用元素特征,对待开发应用的应用元素特征进行获取。
步骤S320,基于动态模板引擎,得到与待开发应用的应用元素特征相对应的目标开发模板;其中,目标开发模板包含待开发应用的目标开发流水线。
在一些可选的实施例中,动态模板引擎可以是通过代码生成技术,对样本应用和/或者样本开发模板,进行元素特征提取得到的,能够用于实现多种类型的应用的开发模板的生成,继而能针对当前的待开发应用,生成对应的目标开发模板,从而搭建对应的目标开发流水线。
其中,元素特征可以包括:应用元素特征和流水线元素特征。
其中,目标开发模板,可以是流水线模板。在本申请实施例中,基于流水线模板可以搭建开发流水线。
步骤S330,基于目标开发模板,搭建待开发应用的目标开发流水线。
在一些可选的实施例中,可以基于目标开发模板,以及待开发应用的应用元素特征和/或者流水线元素特征,搭建得到待开发应用的目标开发流水线。
在一种可选的示例中,基于待开发应用的应用元素特征,可以一一得到与待开发应用的应用元素特征相匹配或者相关联的流水线元素特征,包括开发流水线的项目类型、开发流水线的项目次序和脚手架项目编码等,从而可以基于开发流水线的项目类型、开发流水线的项目次序和脚手架项目编码,实现待开发应用的目标开发流水线的搭建。
在一种可选的示例中,利用应用类型、应用的技术路线、应用的后端框架属性、应用的前端页面属性等应用元素特征,以及开发流水线的项目类型、开发流水线的项目次序等流水线元素特征,可以获得与待开发应用的应用元素特征相对应的目标开发模板。
相应地,在一种可选的示例中,利用应用的编码规范、应用的数据库规范和应用的前后端联调规范等应用元素特征,以及脚手架项目编码等流水线元素特征,可以基于目标开发模板,搭建待开发应用的目标开发流水线。
步骤S340,基于目标开发流水线,依次获得对待开发应用进行开发的项目内容,直到完成待开发应用的开发。
其中,待开发应用可以包括多种类型的应用。示例性地:待开发应用可以是项目管理类应用或者项目管理类系统。
在一种可选的示例中,基于待开发应用的目标开发流水线的项目次序、项目类型和脚手架项目编码,可以依次实现对待开发应用进行开发的项目内容的获取。
其中,项目内容可以进一步包括:第一项目内容和第二项目内容。
具体地,第一项目内容可以是具有创造性的个性化工作的内容,可以从人工接口获得。第二项目内容可以是非创造性的重复工作,可以利用脚手架项目编码完成,例如实现包括自动的代码编译、打包、部署等工作。
通过上述实施例,能够针对待开发应用的应用元素特征,基于动态模板引擎得到与待开发应用的应用元素特征相对应的目标开发模板,自动搭建适用于待开发应用的开发的目标开发流水线,并逐步完成目标开发流水线的各开发步骤要求的项目内容,完成待开发应用的开发。通过上述实施例,一方面能够兼容各类应用的开发,高度自动化地搭建开发流水线,减少开发人员的项目开发搭建的工作量。另一方面来说,能够适应各类应用的开发内容,在开发流水线能够实现个性化开发的基础上,通过代码生成工具,将低效工作交由机器完成,减少开发人员的非创造性重复工作,极大地提高应用的开发效率,降低应用的开发成本。
实施例四
参照图4,图4示出了本申请提供的又一个实施例中的应用开发方法的步骤流程图。如图4所示,结合图1,本申请实施例提供了一种应用的开发方法,包括:
步骤S310,获取待开发应用的应用元素特征。
其中,应用元素特征可以保证待开发应在在某一方面的开发属性。示例性地,待开发应用的应用元素特征可以包括:待开发应用的技术路线。进一步进行示例性地说明,例如,待开发应用的技术路线可以包括JAVA路线。
在一种可选的示例中,可以通过人工接口输入待开发应用的应用元素特征,对待开发应用的应用元素特征进行获取。
步骤S320,基于动态模板引擎,得到与待开发应用的应用元素特征相对应的目标开发模板;其中,目标开发模板包含待开发应用的目标开发流水线。
在一些可选的实施例中,动态模板引擎可以是通过代码生成技术,对样本应用和/或者样本开发模板,进行元素特征提取得到的,能够用于实现多种类型的应用的开发模板的生成,继而能针对当前的待开发应用,生成对应的目标开发模板,从而搭建对应的目标开发流水线。
其中,元素特征可以包括:应用元素特征和流水线元素特征。
其中,目标开发模板,可以是流水线模板。在本申请实施例中,基于流水线模板可以搭建开发流水线。
步骤S330,基于目标开发模板,搭建待开发应用的目标开发流水线。
在一些可选的实施例中,可以基于目标开发模板,以及待开发应用的应用元素特征和/或者流水线元素特征,搭建得到待开发应用的目标开发流水线。
在一种可选的示例中,基于待开发应用的应用元素特征,可以一一得到与待开发应用的应用元素特征相匹配或者相关联的流水线元素特征,包括开发流水线的项目类型、开发流水线的项目次序和脚手架项目编码等,从而可以基于开发流水线的项目类型、开发流水线的项目次序和脚手架项目编码,实现待开发应用的目标开发流水线的搭建。
在一种可选的示例中,利用应用类型、应用的技术路线、应用的后端框架属性、应用的前端页面属性等应用元素特征,以及开发流水线的项目类型、开发流水线的项目次序等流水线元素特征,可以获得与待开发应用的应用元素特征相对应的目标开发模板。
相应地,在一种可选的示例中,利用应用的编码规范、应用的数据库规范和应用的前后端联调规范等应用元素特征,以及脚手架项目编码等流水线元素特征,可以基于目标开发模板,搭建待开发应用的目标开发流水线。
步骤S340,基于目标开发流水线,依次获得对待开发应用进行开发的项目内容,直到完成待开发应用的开发。
其中,待开发应用可以包括多种类型的应用。示例性地:待开发应用可以是项目管理类应用或者项目管理类系统。
本申请实施例可以针对项目管理类应用进行高效的开发。在本申请实施例中,待开发应用包括:项目管理类应用。步骤340可以具体包括:
步骤341,创建项目,选择对应的项目开发接口。
步骤342,创建应用,选择对应的应用开发接口。
步骤343,进入应用,创建数据源,并基于数据源,创建数据库规则。
在本申请实施例中,数据库规则,可以至少包括:
数据库的库名、数据库表名规范、数据库表中的必用字段和选用字段。
步骤344,基于数据库规则,创建数据库,并基于数据库,生成后端框架。
步骤345,基于后端框架,生成实体和sql逻辑接口,并进行编译、打包和部署。
步骤346,通过录入API文档,生成前端框架和页面设计,并进行编译、打包和部署。
其中,前端框架和后端框架的生成可以同步进行,并在各自完成初步的编译后实现前后端的联调。
步骤347,运行并维护待开发应用,完成待开发应用的开发。
在一种可选的示例中,基于待开发应用的目标开发流水线的项目次序、项目类型和脚手架项目编码,可以依次实现对待开发应用进行开发的项目内容的获取。
其中,项目内容可以进一步包括:第一项目内容和第二项目内容。
具体地,第一项目内容可以是具有创造性的个性化工作的内容,可以从人工接口获得。第二项目内容可以是非创造性的重复工作,可以利用脚手架项目编码完成,例如实现包括自动的代码编译、打包、部署等工作。
参照图5,图5示出了本申请提供的一个实施例中的开发流水线的项目流程示意图。如图5所示,本申请实施例还进一步示例性地提供了一种开发流水线的项目流程示意图,针对项目管理类的应用或者系统,基于代码自动生成开发流水线,实现以下项目流程:创建项目--添加项目开发人员--创建应用--选择应用开发人员--进入应用--创建数据源--创建数据规则--创建数据库--设计数据库表字段--配置git代码仓信息--生成后端框架--生成实体--生成sql逻辑接口--编译部署、发布--录入api接口--生成前端框架--生成前端页面--前端页面的数据绑定及录入接口--编译部署、发布--自动运维--结束。
在上述示例中,可以在整个开发流水线当中有相应的脚手架解决方案以及特有的编译部署方案,实现非创造性重复代码的编写等工作。
在本申请实施例的开发流水线中的前后端框架生成当中,开发流水线可以是是基于动态模板引擎自动生成的,相比较于低代码平台等第三方平台只能使用基于特定应用场景的开发模板进行开发流水线的搭建,使用的局限性高,本申请实施例当中的开发模板的生成不仅可以利用当前平台获取的框架和模板,也可以使用低代码平台或其他第三方提供的框架或者模板进行元素特征的学习提取。由此,本申请实施例获得的目标开发流水线当中的生成实体、生成sql逻辑、生成前端页面可以脱离平台框架或第三方框架来进行使用,具有高度的兼容性。
在一些可选的实施例中,为实现本申请实施例中的开发流水线,在设计和实现当中需要符合完成上一步才能进行下一步,对于某些步骤需要严格控制前一步是否完成,确定前一步完成后才可以进行,否则还可以进行提示。
在应用的开发过程中,可以对开发规则和技术栈进行规范。其中,对于技术栈的规范,当前开发的平台可以提供选项进行选择,选择之后待开发应用的开发可以只会使用到选择的技术栈。对于一些开发中需要遵守的规范,以数据库规则为例,设计数据库之前需要创建数据库规则,主要包括数据库的库名和表名规范,数据库表中必须有的字段和可能有的字段,创建好的规则在设计数据库的时候会自动带出,其他规则类似。
通过上述实施例,能够针对待开发应用的应用元素特征,基于动态模板引擎得到与待开发应用的应用元素特征相对应的目标开发模板,自动搭建适用于待开发应用的开发的目标开发流水线,并逐步完成目标开发流水线的各开发步骤要求的项目内容,完成待开发应用的开发。通过上述实施例,一方面能够兼容各类应用的开发,高度自动化地搭建开发流水线,减少开发人员的项目开发搭建的工作量。另一方面来说,能够适应各类应用的开发内容,在开发流水线能够实现个性化开发的基础上,通过代码生成工具,将低效工作交由机器完成,减少开发人员的非创造性重复工作,极大地提高应用的开发效率,降低应用的开发成本。
结合上述各实施例,本申请可以提供基于代码自动生成技术生成的开发流水线,适用于各类应用产品的开发当中,在基于代码自动生成技术生成的整条流水线当中,可以实现以下优势:1、可以设置项目的开发规则及选用技术路线,兼容性更强。2、针对数据库部分可设置规则并在创建时自动带出以及拉取现有数据库和创建到数据库当中,并对不同环境的数据库进行对比,快速找出数据库差异并且修改,提高了应用开发的效率。3、在前端和后端的开发过程当中有自己独特的模板方案,此功能并不强制依赖平台提供的框架,也可支持第三方框架和无框架使用此功能,与低代码平台等第三方平台相比有明显的优势,进一步增强的应用开发的兼容性和开发效率。4、流水线当中使用到的文档同样不仅支持平台提供的文件模板,还可以根据项目需要上传特定的模板文件来生成文档,满足多种类型的应用开发的需求。
实施例五
参照图6,图6示出了本申请提供的一个实施例中的应用开发系统的结构框图。如图6所示,基于同一发明构思,本申请实施例还提供一种应用的开发系统600,包括:
特征获取单元601,用于获取待开发应用的应用元素特征。
模板生成单元602,用于基于动态模板引擎,得到与待开发应用的应用元素特征相对应的目标开发模板。
流水线生成单元603,用于基于目标开发模板,搭建待开发应用的目标开发流水线。
开发单元604,用于基于目标开发流水线,依次获得对待开发应用进行开发的项目内容,直到完成待开发应用的开发。
基于同一发明构思,本申请另一实施例提供一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例的方法中的步骤。
其中,可读存储介质,即计算机可读存储介质。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(Application Specific Integrated Circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
基于同一发明构思,本申请另一实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行时实现本申请上述任一实施例的方法中的步骤。
基于同一发明构思,本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述方法实施例中的射孔信号检测方法。
对于装置实施例或者产品实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,其所能获得的技术效果可以参考上述方法实施例,相关之处参见方法实施例的部分说明即可,本申请实施例在此不再赘述。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
在本申请实施例中,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

Claims (10)

1.一种应用的开发方法,其特征在于,包括:
获取待开发应用的应用元素特征;
基于动态模板引擎,得到与所述待开发应用的应用元素特征相对应的目标开发模板;
基于所述目标开发模板,搭建所述待开发应用的目标开发流水线;
基于所述目标开发流水线,依次获得对所述待开发应用进行开发的项目内容,直到完成所述待开发应用的开发。
2.根据权利要求1所述的应用的开发方法,其特征在于,所述基于动态模板引擎,得到与所述待开发应用的应用元素特征相对应的目标开发模板的步骤,包括:
基于所述动态模板引擎,获得与所述待开发应用的应用元素特征相对应的流水线元素特征;
根据所述待开发应用的应用元素特征以及所述流水线元素特征,得到与所述待开发应用的应用元素特征相对应的目标开发模板。
3.根据权利要求2所述的应用的开发方法,其特征在于,
所述应用元素特征包括:应用类型、应用的技术路线、应用的编码规范、应用的前端框架属性、应用的后端框架属性、应用的前端页面属性、应用的数据库规范和应用的前后端联调规范;
所述流水线元素特征至少包括:开发流水线的项目类型、开发流水线的项目次序和脚手架项目编码。
4.根据权利要求1所述的应用的开发方法,其特征在于,还包括:
获取多个样本应用和多个样本开发模板;
基于代码生成技术,对所述多个样本应用进行应用元素特征提取,并对所述多个样本应用和所述多个样本开发模板进行流水线元素特征提取;
基于所述应用元素特征和所述流水线元素特征的匹配关联关系,得到所述动态模板引擎。
5.根据权利要求4所述的应用的开发方法,其特征在于,所述基于所述应用元素特征和所述流水线元素特征的匹配关联关系,得到所述动态模板引擎的步骤,包括:
获得所述流水线特征与所述应用元素特征关联的第一样本特征对、所述流水线特征与所述样本开发模板关联的第二样本特征对;
将所述第一样本特征对和所述第二样本特征对输入动态模板原始引擎进行训练,得到所述动态模板引擎。
6.根据权利要求1所述的应用的开发方法,其特征在于,所述待开发应用包括:项目管理类应用;
所述基于所述目标开发流水线,依次获得对所述待开发应用进行开发的项目内容,直到完成所述待开发应用的开发的步骤,包括:
创建项目,选择对应的项目开发接口;
创建应用,选择对应的应用开发接口;
进入所述应用,创建数据源,并基于所述数据源,创建数据库规则;
基于所述数据库规则,创建数据库,并基于所述数据库,生成后端框架;
基于所述后端框架,生成实体和sql逻辑接口,并进行编译、打包和部署;
通过录入API文档,生成前端框架和页面设计,并进行编译、打包和部署;
运行并维护所述待开发应用,完成所述待开发应用的开发。
7.根据权利要求6所述的应用的开发方法,其特征在于,所述数据库规则,至少包括:
数据库的库名、数据库表名规范、数据库表中的必用字段和选用字段。
8.一种应用的开发系统,其特征在于,包括:
特征获取单元,用于获取待开发应用的应用元素特征;
模板生成单元,用于基于动态模板引擎,得到与所述待开发应用的应用元素特征相对应的目标开发模板;
流水线生成单元,用于基于所述目标开发模板,搭建所述待开发应用的目标开发流水线;
开发单元,用于基于所述目标开发流水线,依次获得对所述待开发应用进行开发的项目内容,直到完成所述待开发应用的开发。
9.一种可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1至7任一项所述的方法中的步骤。
10.一种电子设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行时实现如权利要求1至7任一项所述的方法中的步骤。
CN202311761119.6A 2023-12-20 2023-12-20 一种应用的开发方法、系统、可读存储介质和电子设备 Pending CN117931171A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311761119.6A CN117931171A (zh) 2023-12-20 2023-12-20 一种应用的开发方法、系统、可读存储介质和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311761119.6A CN117931171A (zh) 2023-12-20 2023-12-20 一种应用的开发方法、系统、可读存储介质和电子设备

Publications (1)

Publication Number Publication Date
CN117931171A true CN117931171A (zh) 2024-04-26

Family

ID=90752796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311761119.6A Pending CN117931171A (zh) 2023-12-20 2023-12-20 一种应用的开发方法、系统、可读存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN117931171A (zh)

Similar Documents

Publication Publication Date Title
US10698682B1 (en) Computerized software development environment with a software database containing atomic expressions
US8387014B2 (en) Synchronization of concurrently modified interdependent semi-derived artifacts
AU2010212391B2 (en) Integration environment generator
CN100543701C (zh) 一种实现嵌入式软件异常测试的方法及系统
CN106874244B (zh) 一种基于工作序列的文档自动生成模型的构建方法
JP5350428B2 (ja) 自動プログラム生成装置、方法及びコンピュータプログラム
CN108762743B (zh) 一种数据表操作代码生成方法及装置
Engelen et al. Integrating textual and graphical modelling languages
US20080276221A1 (en) Method and apparatus for relations planning and validation
US11294665B1 (en) Computerized software version control with a software database and a human database
CN111143228B (zh) 基于决策表法的测试代码生成方法及装置
Yie et al. Advanced traceability for ATL
CN113051011A (zh) 一种结合rpa和ai的图像信息提取方法及装置
CN113778421B (zh) 一种生成业务代码的方法及设备
CN116629172A (zh) 芯片设计中模块自动生成和集成方法、装置、设备及介质
CN113761863A (zh) 一种列表页面的配置方法、设备及存储介质
CN110968307A (zh) 一种基于智能生成基础代码的微服务构建方法及装置
Julius et al. A meta-model based environment for GRAFCET specifications
US20090064092A1 (en) Visual programming language optimization
KR20090099977A (ko) 예약된 컴포넌트 컨테이너 기반 소프트웨어 개발 방법 및장치
CN117931171A (zh) 一种应用的开发方法、系统、可读存储介质和电子设备
CN113867714A (zh) 一种适配多语言的自动代码生成方法
CN113961238A (zh) 对象转换方法、装置及电子设备和存储介质
CN112130841B (zh) Sql开发方法、装置及终端设备
CN117873468A (zh) 一种基于规则引擎的代码生成系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination