CN113535135A - 软件开发方法、装置、计算机设备和存储介质 - Google Patents
软件开发方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113535135A CN113535135A CN202111053052.1A CN202111053052A CN113535135A CN 113535135 A CN113535135 A CN 113535135A CN 202111053052 A CN202111053052 A CN 202111053052A CN 113535135 A CN113535135 A CN 113535135A
- Authority
- CN
- China
- Prior art keywords
- component
- software development
- components
- software
- application
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种软件开发方法、装置、计算机设备和存储介质。所述方法包括:通过获取软件开发需求,根据软件开发需求获取第一组件;对第一组件进行改造,得到第二组件,改造包括代码改造、表单改造、模块改造和应用改造中至少一种;根据第二组件,搭建软件应用。采用本方法能够根据软件开发需求获取需求相关的组件,然后对组件进行二次改造,使改造后的组件完全满足软件开发需求,最后使用改造后的组件搭建软件应用,无需从零开始编写代码,提高软件开发的效率。
Description
技术领域
本申请涉及软件开发技术领域,特别是涉及一种软件开发方法、装置、计算机设备和存储介质。
背景技术
在企业数字化转型兴起的大背景下,众多企业业务变化迅速,对数字化系统开发改造快速交付、快速应变的要求越来越高。但是在传统的开发过程中,开发人员在进行开发时,需要自身从无到有的撰写开发代码,这种成本非常高,效率比较低。伴随着这些问题的出现,近些年来低代码、二次开发等平台提供的快速开发方法逐渐兴起,帮助企业中的业务人员、开发人员等减少工作量,进而达到降本增效的目的。
二次开发平台提供的软件快速开发方法为开发人员快速开发集成了开发管理工具、代码合并等相关工具。低代码平台提供的软件快速开发方法主要通过为用户提供可视化的应用开发环境,降低或去除应用开发对原生代码编写的需求量,利用少量代码或者无代码搭建简单应用和复杂企业级应用。
但是无论二次开发平台还是低代码平台,都只是提供了数量有限的常用组件,组件可选择的局限性很大,用户只能在所提供的选项内将现有的组件进行利用,服务组件的颗粒度无法达到直接代码开发能达到的细度,超出平台常用组件之外的开发需求无法满足,导致软件开发的效率不高。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高软件开发效率的软件快速开发方法、装置、计算机设备和存储介质。
一种软件开发方法,所述方法包括:
获取软件开发需求,根据软件开发需求获取第一组件;
对第一组件进行改造,得到第二组件,改造包括代码改造、表单改造、模块改造和应用改造中至少一种;
根据第二组件,搭建软件应用。
在其中一个实施例中,根据软件开发需求获取第一组件,包括:
组件推荐模型获取软件开发需求,得到每个组件对应软件开发需求的权重;
根据权重的大小,确定第一组件。
在其中一个实施例中,组件推荐模型的训练方式,包括:获取深度学习神经网络模型;
根据历史开发数据获取训练集,历史开发数据包括多个软件开发需求、多个组件、软件开发需求和组件的对应关系;
根据训练集对深度学习神经网络模型进行训练,得到组件推荐模型。
在其中一个实施例中,对第一组件进行改造,得到第二组件,包括:
若第一组件整体需要进行代码改造,则修改第一组件对应的代码,得到第二组件;
若第一组件中的部分组件需要进行代码改造,则修改部分组件对应的代码,并将修改后的部分组件对应的代码和第一组件中除部分组件外的其他组件对应的代码合并,得到第二组件。
在其中一个实施例中,第一组件包括表单组件、模块组件或应用组件中至少一种;对第一组件进行改造,得到第二组件,包括:
若第一组件需要进行表单改造、模块改造或应用改造,则删除或修改第一组件中不满足软件开发需求的表单组件、模块组件和应用组件,以及在第一组件中添加满足软件开发需求的表单组件、模块组件或应用组件,得到改造后的第一组件;
建立改造后的第一组件中每个表单组件、模块组件或应用组件的运行关系,得到第二组件。
在其中一个实施例中,方法还包括:
若第一组件满足软件开发需求,则根据第一组件,搭建软件应用。
在其中一个实施例中,在根据第二组件,搭建软件应用之后,还包括:
检测软件应用运行是否正常;
若软件应用运行正常,将第二组件作为自定义组件进行存储,其中,自定义组件能够根据软件开发需求被获取。
一种软件开发装置,所述装置包括:
组件推荐模块,用于获取软件开发需求,根据软件开发需求获取第一组件;
组件改造模块,用于对第一组件进行改造,得到第二组件,改造包括代码改造、表单改造、模块改造和应用改造中至少一种;
软件搭建模块,用于根据第二组件,搭建软件应用。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取软件开发需求,根据软件开发需求获取第一组件;
对第一组件进行改造,得到第二组件,改造包括代码改造、表单改造、模块改造和应用改造中至少一种;
根据第二组件,搭建软件应用。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取软件开发需求,根据软件开发需求获取第一组件;
对第一组件进行改造,得到第二组件,改造包括代码改造、表单改造、模块改造和应用改造中至少一种;
根据第二组件,搭建软件应用。
上述软件开发方法、装置、计算机设备和存储介质,通过获取软件开发需求,根据软件开发需求获取第一组件;对第一组件进行改造,得到第二组件,改造包括代码改造、表单改造、模块改造和应用改造中至少一种;根据第二组件,搭建软件应用。根据软件开发需求获取需求相关的组件,然后对组件进行二次改造,使改造后的组件完全满足软件开发需求,最后使用改造后的组件搭建软件应用,无需从零开始编写代码,能够提高软件开发的效率。
附图说明
图1为一个实施例中软件开发方法的流程示意图;
图2为一个实施例中软件开发装置的结构框图;
图3为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种软件开发方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤102,获取软件开发需求,根据软件开发需求获取第一组件。
其中,软件开发需求可以是待开发软件的类别,也可以是待开发软件能够实现的功能。组件是指软件开发中的服务组件,是自包含的、可编程的、可重用的、与语言无关的软件单元,组件可以很容易被用于组装应用程序中。
具体的,确定需要开发什么类型、能够实现什么功能的软件,从而确定软件开发需求,处理器可以根据输入的需求关键词等信息确定软件开发需求,也可以根据历史开发数据中开发的软件类型和软件功能、查询的需求信息、下载的组件类型和组件功能等数据与当前软件开发需求的关联程度,自动判断出软件开发需求。然后获取与软件开发需求相关的组件,可以在软件开发平台的组件库中检索下载相关的组件,还可以通过组件推荐模型,得到组件推荐模型根据软件开发需求推荐的组件,作为第一组件。
步骤104,对第一组件进行改造,得到第二组件,改造包括代码改造、表单改造、模块改造和应用改造中至少一种。
其中,组件的类型分为表单组件、模块组件和应用组件,一个应用组件能够包含一个或多个模块组件,一个模块组件能够包含一个或多个表单组件,一个应用组件也可以不包含模块组件,只包含一个或多个表单组件。代码改造是指对所有类型的组件对应的底层代码进行修改;表单改造是指对表单组件的组件配置进行修改;模块改造是指对模块组件的组件配置进行修改,或对模块组件包含的表单组件进行添加或删除;应用改造是指对应用组件的组件配置进行修改,或对应用组件包含的模块组件或表单组件进行添加或删除。
具体的,若当前第一组件不能完全满足软件开发需求,确定当前第一组件需要添加的功能、需要删除的功能以及需要修改的功能,然后对第一组件进行代码改造、表单改造、模块改造和应用改造中至少一种,得到第二组件。若第一组件是表单组件,则对第一组件进行代码改造和表单改造中至少一种;若第一组件是模块组件,则对第一组件进行代码改造和模块改造中至少一种;若第一组件是应用组件,则对第一组件进行代码改造和应用改造中至少一种。
在一种可能的实施方式中,第一组件可以是多个需要进行改造的组件,第一组件改造完成后得到的第二组件数量与第一组件数量相同。
步骤106,根据第二组件,搭建软件应用。
具体的,整合所有的第二组件,还可以整合部分满足软件开发需求的且无需改造的组件,建立这些组件之间的运行关系,搭建软件应用。
上述软件开发方法中,通过获取软件开发需求,根据软件开发需求获取第一组件;对第一组件进行改造,得到第二组件,改造包括代码改造、表单改造、模块改造和应用改造中至少一种;根据第二组件,搭建软件应用。根据软件开发需求获取需求相关的组件,然后对组件进行二次改造,使改造后的组件完全满足软件开发需求,最后使用改造后的组件搭建软件应用,无需从零开始编写代码,能够提高软件开发的效率。
在一个实施例中,根据软件开发需求获取第一组件,包括:组件推荐模型获取软件开发需求,得到每个组件对应软件开发需求的权重;根据权重的大小,确定第一组件。
其中,组件推荐模型是经过训练集训练得到的深度学习神经网络模型,能够根据软件开发需求输出多个组件对应的权重。
具体的,将软件开发需求输入组件推荐模型,也可以将软件开发需求对应的软件类型输入组件推荐模型,还可以将软件开发需求对应的关键词输入组件推荐模型,组件推荐模型输出对应当前软件开发需求的多个组件,以及每个组件对应的权重;一个组件的权重越大,说明开发当前软件开发需求相关的软件时,该组件的被使用次数越多,将权重超过权重阈值的组件作为第一组件。
本实施例中,通过组件推荐模型获取软件开发需求,得到每个组件对应软件开发需求的权重;根据权重的大小,确定第一组件。能够直接根据软件开发需求自动进行组件推荐,在软件开发工作中节省了组件的查找和检索过程,提高了软件开发的效率。
在一个实施例中,组件推荐模型的训练方式,包括:获取深度学习神经网络模型;根据历史开发数据获取训练集,历史开发数据包括多个软件开发需求、多个组件、软件开发需求和组件的对应关系;根据训练集对深度学习神经网络模型进行训练,得到组件推荐模型。
具体的,选择一个合适的深度学习神经网络模型,例如,可以选择BiLSTM(Bi-directional Long Short-Term Memory)神经网络。根据历史开发数据构建训练集,历史开发数据可以是一个软件开发平台的软件开发数据,也可以是一个或多个开发人员的软件开发数据,历史开发数据包括多个软件开发需求、多个组件、软件开发需求和组件的对应关系。使用训练集对深度学习神经网络模型进行反复训练,就能够得到组件推荐模型。
在一个实施例中,对第一组件进行改造,得到第二组件,包括:若第一组件整体需要进行代码改造,则修改第一组件对应的代码,得到第二组件;若第一组件中的部分组件需要进行代码改造,则修改部分组件对应的代码,并将修改后的部分组件对应的代码和第一组件中除部分组件外的其他组件对应的代码合并,得到第二组件。
具体的,第一组件在进行代码改造时,分为两种情况:一种是第一组件整体需要进行代码改造,则修改第一组件对应的底层代码,得到第二组件;另一种是第一组件是应用组件或模块组件,第一组件中的部分组件需要进行代码改造,则修改这部分组件对应的底层代码,然后将修改后的这部分组件对应的代码和第一组件中除部分组件外的其他组件对应的代码合并,得到第二组件。
进一步的,例如,第一组件是一个应用组件,第一组件中包含2个表单组件,分别是A表单组件和B表单组件,A表单组件需要进行代码改造,B表单组件无需进行改造,此时调出A表单组件的底层代码进行修改,修改之后再调出B表单组件的底层代码,然后合并B表单组件的底层代码和修改后的A表单组件的底层代码,得到第二组件。
本实施例中,通过若第一组件整体需要进行代码改造,则修改第一组件对应的代码,得到第二组件;若第一组件中的部分组件需要进行代码改造,则修改部分组件对应的代码,并将修改后的部分组件对应的代码和第一组件中除部分组件外的其他组件对应的代码合并,得到第二组件。能够对不符合软件开发需求的组件进行整体或局部代码改造,然后使用改造后的组件继续进行软件开发,无需从零开始编写代码,提高了软件开发的效率。
在一个实施例中,第一组件包括表单组件、模块组件或应用组件中至少一种;对第一组件进行改造,得到第二组件,包括:若第一组件需要进行表单改造、模块改造或应用改造,则删除或修改第一组件中不满足软件开发需求的表单组件、模块组件和应用组件,以及在第一组件中添加满足软件开发需求的表单组件、模块组件或应用组件,得到改造后的第一组件;建立改造后的第一组件中每个表单组件、模块组件或应用组件的运行关系,得到第二组件。
具体的,第一组件在进行组件改造时,分为三种情况:一种是第一组件是表单组件,则对第一组件进行表单改造,修改表单组件的组件配置;另一种是第一组件是模块组件,则对第一组件进行模块改造,修改模块组件的组件配置,或对模块组件包含的表单组件进行添加或删除;最后一种是第一组件是应用组件,则对第一组件进行应用改造,修改应用组件的组件配置,或对应用组件包含的模块组件或表单组件进行添加或删除。通过上述组件改造,得到第二组件。
本实施例中,通过若第一组件需要进行表单改造、模块改造或应用改造,则删除或修改第一组件中不满足软件开发需求的表单组件、模块组件和应用组件,以及在第一组件中添加满足软件开发需求的表单组件、模块组件或应用组件,得到改造后的第一组件;建立改造后的第一组件中每个表单组件、模块组件或应用组件的运行关系,得到第二组件。能够对不符合软件开发需求的组件进行整体或局部组件改造,然后使用改造后的组件继续进行软件开发,从零开始编写代码,提高了软件开发的效率。
在一个实施例中,方法还包括:若第一组件满足软件开发需求,则根据第一组件,搭建软件应用。
具体的,若步骤102中获取的第一组件满足软件开发需求,则可以直接根据第一组件,和部分通过其他途径获取的满足软件开发需求的且无需改造的组件,建立组件之间的运行关系,搭建软件应用。
在一个实施例中,在根据第二组件,搭建软件应用之后,还包括:检测软件应用运行是否正常;若软件应用运行正常,将第二组件作为自定义组件进行存储,其中,自定义组件能够根据软件开发需求被获取。
具体的,搭建软件应用之后,若软件应用运行正常,则将第二组件作为自定义组件进行存储,可以存储在软件开发平台、组件库和组件推荐模型的训练集中,便于下一次软件开发时使用。
进一步的,下一次软件开发时,根据下一次软件开发的软件开发需求,存储的自定义组件可作为第一组件被获取。
本实施例中,通过检测软件应用运行是否正常;若软件应用运行正常,将第二组件作为自定义组件进行存储,其中,自定义组件能够根据软件开发需求被获取。能够扩展组件的数量,且能够扩展出表单组件、模块组件、应用组件等不同颗粒度的组件,来满足不同细度的软件开发需求,提高了软件开发的效率。
在一个实施例中,一种软件开发方法,以应用于集成有BiLSTM组件推荐算法的软件开发平台为例,方法具体包括:
根据实际的业务需求计划开发一个公司流程管理软件,则确定软件开发需求为流程管理,在软件开发平台的查询栏中输入流程管理,软件开发平台通过BiLSTM组件推荐算法推荐出多个和流程管理相关的组件,从中选择一个流程管理表单组件。若该流程管理表单组件的功能已经满足业务需求,可以直接将流程管理表单组件,作为公司流程管理软件使用。
进一步的,若该流程管理表单组件的功能无法满足全部的业务需求,则对该流程管理表单组件选择进行代码改造或表单改造。通常情况下,为了实现低代码快速开发,选择进行表单改造,若通过表单改造就能够使该流程管理表单组件的功能满足业务需求,则无需再进行代码改造。通过修改该流程管理表单组件的组件配置实现表单改造。可以直接对该流程管理表单组件的“机制特征”、“字段定义”、“界面定义”、“数据选项”、“数据联动”、“权限模型”、“事件监听”、“门户窗口”等组件配置进行修改。其中,“机制特征”组件配置用于配置当前表单的内置功能和各功能之间的运行关系;“字段定义”组件配置用于配置当前表单的输入框、下拉列表、单选按钮、多选框等;“界面定义”组件配置用于配置当前表单的整体界面,可以通过点击+拖拽操作,完成界面配置;“数据选项”和“数据联动”组件配置用于配置对话框联动、编辑属性联动、数据联动、校验联动和备选项联动的功能,其中,对话框联动是将对话框与界面的字段进行绑定,编辑属性联动是编辑属性联动可实现当满足某个条件时,指定字段的编辑属性在必填、编辑、只读、隐藏这几个状态下切换的功能,数据联动可实现类似金额=单价*数量的前端自动计算功能,校验联动提供常规的校验(如数据格式,数据长度),备选项联动可实现枚举类型的选择项,根据备选项条件显示对应的显示值;“事件监听”组件配置用于配置对某些流程或节点事件进行监听,当事件发生时,设置相应动作,即可在特定事件发生时自动完成所设置的动作;“门户窗口”和“权限模型”组件配置用于分别配置该表单的使用门户和权限。
最后,将表单改造后的流程管理表单组件作为公司流程管理软件,若该公司流程管理软件能够正常运行,则将表单改造后的流程管理表单组件保存到软件开发平台中,下次软件开发时可以直接下载使用或者进行再次改造。由于只需一个表单组件就能够达到业务需求,所以公司流程管理软件只需包含一个表单组件,若需要增加其他功能,可以添加其他功能对应的表单组件、模块组件或应用组件,整合得到一个大型软件应用。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图2所示,提供了一种软件开发装置200,包括:组件推荐模块201、组件改造模块202和软件搭建模块203,其中:
组件推荐模块201,用于获取软件开发需求,根据软件开发需求获取第一组件;
组件改造模块202,用于对第一组件进行改造,得到第二组件,改造包括代码改造、表单改造、模块改造和应用改造中至少一种;
软件搭建模块203,用于根据第二组件,搭建软件应用。
在一个实施例中,组件推荐模块201还用于组件推荐模型获取软件开发需求,得到每个组件对应软件开发需求的权重;根据权重的大小,确定第一组件。
在一个实施例中,装置还包括:
模型训练模块,用于获取深度学习神经网络模型;根据历史开发数据获取训练集,历史开发数据包括多个软件开发需求、多个组件、软件开发需求和组件的对应关系;根据训练集对深度学习神经网络模型进行训练,得到组件推荐模型。
在一个实施例中,组件改造模块202还用于若第一组件整体需要进行代码改造,则修改第一组件对应的代码,得到第二组件;若第一组件中的部分组件需要进行代码改造,则修改部分组件对应的代码,并将修改后的部分组件对应的代码和第一组件中除部分组件外的其他组件对应的代码合并,得到第二组件。
在一个实施例中,第一组件包括表单组件、模块组件或应用组件中至少一种;对第一组件进行改造,得到第二组件,组件改造模块202还用于若第一组件需要进行表单改造、模块改造或应用改造,则删除或修改第一组件中不满足软件开发需求的表单组件、模块组件和应用组件,以及在第一组件中添加满足软件开发需求的表单组件、模块组件或应用组件,得到改造后的第一组件;建立改造后的第一组件中每个表单组件、模块组件或应用组件的运行关系,得到第二组件。
在一个实施例中,软件搭建模块203还用于若第一组件满足软件开发需求,则根据第一组件,搭建软件应用。
在一个实施例中,软件搭建模块203还用于检测软件应用运行是否正常;若软件应用运行正常,将第二组件作为自定义组件进行存储,其中,自定义组件能够根据软件开发需求被获取。
关于软件开发装置的具体限定可以参见上文中对于软件开发方法的限定,在此不再赘述。上述软件开发装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种软件开发方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取软件开发需求,根据软件开发需求获取第一组件;
对第一组件进行改造,得到第二组件,改造包括代码改造、表单改造、模块改造和应用改造中至少一种;
根据第二组件,搭建软件应用。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
组件推荐模型获取软件开发需求,得到每个组件对应软件开发需求的权重;
根据权重的大小,确定第一组件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取深度学习神经网络模型;
根据历史开发数据获取训练集,历史开发数据包括多个软件开发需求、多个组件、软件开发需求和组件的对应关系;
根据训练集对深度学习神经网络模型进行训练,得到组件推荐模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若第一组件整体需要进行代码改造,则修改第一组件对应的代码,得到第二组件;
若第一组件中的部分组件需要进行代码改造,则修改部分组件对应的代码,并将修改后的部分组件对应的代码和第一组件中除部分组件外的其他组件对应的代码合并,得到第二组件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
第一组件包括表单组件、模块组件或应用组件中至少一种;
若第一组件需要进行表单改造、模块改造或应用改造,则删除或修改第一组件中不满足软件开发需求的表单组件、模块组件和应用组件,以及在第一组件中添加满足软件开发需求的表单组件、模块组件或应用组件,得到改造后的第一组件;
建立改造后的第一组件中每个表单组件、模块组件或应用组件的运行关系,得到第二组件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若第一组件满足软件开发需求,则根据第一组件,搭建软件应用。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
检测软件应用运行是否正常;
若软件应用运行正常,将第二组件作为自定义组件进行存储,其中,自定义组件能够根据软件开发需求被获取。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取软件开发需求,根据软件开发需求获取第一组件;
对第一组件进行改造,得到第二组件,改造包括代码改造、表单改造、模块改造和应用改造中至少一种;
根据第二组件,搭建软件应用。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
组件推荐模型获取软件开发需求,得到每个组件对应软件开发需求的权重;
根据权重的大小,确定第一组件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取深度学习神经网络模型;
根据历史开发数据获取训练集,历史开发数据包括多个软件开发需求、多个组件、软件开发需求和组件的对应关系;
根据训练集对深度学习神经网络模型进行训练,得到组件推荐模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若第一组件整体需要进行代码改造,则修改第一组件对应的代码,得到第二组件;
若第一组件中的部分组件需要进行代码改造,则修改部分组件对应的代码,并将修改后的部分组件对应的代码和第一组件中除部分组件外的其他组件对应的代码合并,得到第二组件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
第一组件包括表单组件、模块组件或应用组件中至少一种;
若第一组件需要进行表单改造、模块改造或应用改造,则删除或修改第一组件中不满足软件开发需求的表单组件、模块组件和应用组件,以及在第一组件中添加满足软件开发需求的表单组件、模块组件或应用组件,得到改造后的第一组件;
建立改造后的第一组件中每个表单组件、模块组件或应用组件的运行关系,得到第二组件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若第一组件满足软件开发需求,则根据第一组件,搭建软件应用。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
检测软件应用运行是否正常;
若软件应用运行正常,将第二组件作为自定义组件进行存储,其中,自定义组件能够根据软件开发需求被获取。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种软件开发方法,其特征在于,所述方法包括:
获取软件开发需求,根据所述软件开发需求获取第一组件;
对所述第一组件进行改造,得到第二组件,所述改造包括代码改造、表单改造、模块改造和应用改造中至少一种;
根据所述第二组件,搭建软件应用。
2.根据权利要求1所述的方法,其特征在于,所述根据所述软件开发需求获取第一组件,包括:
组件推荐模型获取所述软件开发需求,得到每个组件对应所述软件开发需求的权重;
根据所述权重的大小,确定第一组件。
3.根据权利要求2所述的方法,其特征在于,所述组件推荐模型的训练方式,包括:获取深度学习神经网络模型;
根据历史开发数据获取训练集,所述历史开发数据包括多个软件开发需求、多个组件、软件开发需求和组件的对应关系;
根据所述训练集对所述深度学习神经网络模型进行训练,得到所述组件推荐模型。
4.根据权利要求1所述的方法,其特征在于,所述对所述第一组件进行改造,得到第二组件,包括:
若所述第一组件整体需要进行代码改造,则修改所述第一组件对应的代码,得到所述第二组件;
若所述第一组件中的部分组件需要进行代码改造,则修改所述部分组件对应的代码,并将修改后的部分组件对应的代码和所述第一组件中除所述部分组件外的其他组件对应的代码合并,得到所述第二组件。
5.根据权利要求1所述的方法,其特征在于,所述第一组件包括表单组件、模块组件或应用组件中至少一种;所述对所述第一组件进行改造,得到第二组件,包括:
若所述第一组件需要进行表单改造、模块改造或应用改造,则删除或修改所述第一组件中不满足所述软件开发需求的表单组件、模块组件和应用组件,以及在所述第一组件中添加满足所述软件开发需求的表单组件、模块组件或应用组件,得到改造后的第一组件;
建立所述改造后的第一组件中每个表单组件、模块组件或应用组件的运行关系,得到所述第二组件。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一组件满足所述软件开发需求,则根据所述第一组件,搭建软件应用。
7.根据权利要求1所述的方法,其特征在于,在所述根据所述第二组件,搭建软件应用之后,还包括:
检测所述软件应用运行是否正常;
若所述软件应用运行正常,将所述第二组件作为自定义组件进行存储,其中,所述自定义组件能够根据软件开发需求被获取。
8.一种软件开发装置,其特征在于,所述装置包括:
组件推荐模块,用于获取软件开发需求,根据所述软件开发需求获取第一组件;
组件改造模块,用于对所述第一组件进行改造,得到第二组件,所述改造包括代码改造、表单改造、模块改造和应用改造中至少一种;
软件搭建模块,用于根据所述第二组件,搭建软件应用。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111053052.1A CN113535135B (zh) | 2021-09-09 | 2021-09-09 | 软件开发方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111053052.1A CN113535135B (zh) | 2021-09-09 | 2021-09-09 | 软件开发方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535135A true CN113535135A (zh) | 2021-10-22 |
CN113535135B CN113535135B (zh) | 2022-02-15 |
Family
ID=78123044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111053052.1A Active CN113535135B (zh) | 2021-09-09 | 2021-09-09 | 软件开发方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535135B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301811A (zh) * | 2023-03-30 | 2023-06-23 | 广州市华势信息科技有限公司 | 一种零代码可视化的软件开发平台 |
CN116862401A (zh) * | 2023-06-07 | 2023-10-10 | 北京智德广迅科技有限公司 | 一种基于大数据平台的软件开发系统 |
CN117093205A (zh) * | 2023-08-24 | 2023-11-21 | 武汉人云智物科技有限公司 | 一种软件开发全流程低代码工程构建方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040192277A1 (en) * | 2003-02-17 | 2004-09-30 | Kari Pakarinen | Software development environment |
US20130103372A1 (en) * | 2011-10-25 | 2013-04-25 | International Business Machines Corporation | Specifying reusable process models |
CN105677302A (zh) * | 2014-11-17 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 一种应用程序模块化开发方法以及装置 |
US20170177310A1 (en) * | 2015-12-22 | 2017-06-22 | Sap Se | Software development using re-usable software components |
US20170322783A1 (en) * | 2016-05-04 | 2017-11-09 | Open Text Sa Ulc | Application development and extensibility/customization using entity modeling systems and methods |
CN109542399A (zh) * | 2018-10-25 | 2019-03-29 | 深圳市金证科技股份有限公司 | 软件开发方法、装置、终端设备及计算机可读存储介质 |
US20190220253A1 (en) * | 2018-01-15 | 2019-07-18 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for improving software code quality using artificial intelligence techniques |
CN112286529A (zh) * | 2020-11-19 | 2021-01-29 | 北京有竹居网络技术有限公司 | 前端页面的开发方法、装置、设备及存储介质 |
CN112328250A (zh) * | 2020-11-17 | 2021-02-05 | 中国平安财产保险股份有限公司 | 用户界面的生成方法、装置、计算机设备及存储介质 |
CN112925561A (zh) * | 2021-03-23 | 2021-06-08 | 北京字节跳动网络技术有限公司 | 一种软件开发方法、装置、计算机设备及存储介质 |
-
2021
- 2021-09-09 CN CN202111053052.1A patent/CN113535135B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040192277A1 (en) * | 2003-02-17 | 2004-09-30 | Kari Pakarinen | Software development environment |
US20130103372A1 (en) * | 2011-10-25 | 2013-04-25 | International Business Machines Corporation | Specifying reusable process models |
CN105677302A (zh) * | 2014-11-17 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 一种应用程序模块化开发方法以及装置 |
US20170177310A1 (en) * | 2015-12-22 | 2017-06-22 | Sap Se | Software development using re-usable software components |
US20170322783A1 (en) * | 2016-05-04 | 2017-11-09 | Open Text Sa Ulc | Application development and extensibility/customization using entity modeling systems and methods |
US20190220253A1 (en) * | 2018-01-15 | 2019-07-18 | Cognizant Technology Solutions India Pvt. Ltd. | System and method for improving software code quality using artificial intelligence techniques |
CN109542399A (zh) * | 2018-10-25 | 2019-03-29 | 深圳市金证科技股份有限公司 | 软件开发方法、装置、终端设备及计算机可读存储介质 |
CN112328250A (zh) * | 2020-11-17 | 2021-02-05 | 中国平安财产保险股份有限公司 | 用户界面的生成方法、装置、计算机设备及存储介质 |
CN112286529A (zh) * | 2020-11-19 | 2021-01-29 | 北京有竹居网络技术有限公司 | 前端页面的开发方法、装置、设备及存储介质 |
CN112925561A (zh) * | 2021-03-23 | 2021-06-08 | 北京字节跳动网络技术有限公司 | 一种软件开发方法、装置、计算机设备及存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116301811A (zh) * | 2023-03-30 | 2023-06-23 | 广州市华势信息科技有限公司 | 一种零代码可视化的软件开发平台 |
CN116301811B (zh) * | 2023-03-30 | 2023-10-20 | 广州市华势信息科技有限公司 | 一种零代码可视化的软件开发平台 |
CN116862401A (zh) * | 2023-06-07 | 2023-10-10 | 北京智德广迅科技有限公司 | 一种基于大数据平台的软件开发系统 |
CN117093205A (zh) * | 2023-08-24 | 2023-11-21 | 武汉人云智物科技有限公司 | 一种软件开发全流程低代码工程构建方法 |
CN117093205B (zh) * | 2023-08-24 | 2024-02-20 | 武汉人云智物科技有限公司 | 一种软件开发全流程低代码工程构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113535135B (zh) | 2022-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113535135B (zh) | 软件开发方法、装置、计算机设备和存储介质 | |
US11803704B2 (en) | Intelligently updating a collaboration site or template | |
US7984115B2 (en) | Extensible application platform | |
US20180121398A1 (en) | Deployable tag management in computer data networks | |
EP2228726B1 (en) | A method and system for task modeling of mobile phone applications | |
US11438227B2 (en) | Iteratively updating a collaboration site or template | |
CN101171571A (zh) | 分析和组织软件应用程序中的物件的设备 | |
US20100287459A1 (en) | Reusable business logic across user interface containers | |
CN105229678A (zh) | 进程建模和界面 | |
JP5112085B2 (ja) | 事務フロー生成装置およびその方法 | |
CN103677802A (zh) | 用于分析的改进的消费模型的系统和方法 | |
CN111694615B (zh) | 数据配置的方法、装置、设备及存储介质 | |
CN112464625B (zh) | 单据生成方法、装置、计算机设备和存储介质 | |
CN112433712A (zh) | 报表展示方法、装置、计算机设备和存储介质 | |
CN117873478B (zh) | 一种基于模块化组件的应用程序界面自定义方法 | |
CN104541297A (zh) | 销售预测器(spe)的可扩展性 | |
CN106484389A (zh) | 动作流分段管理 | |
CN114625448A (zh) | 结合rpa和ai的流程生成方法、装置、电子设备及存储介质 | |
CN115039136A (zh) | 用于过程图的视觉复杂度滑块 | |
CN115878589A (zh) | 结构化数据的版本管理方法、装置及相关设备 | |
CN111177562B (zh) | 一种目标对象的推荐排序处理方法、装置及服务器 | |
CN113656022B (zh) | 软件开发方法、装置、计算机设备和存储介质 | |
CN113900725A (zh) | 接口配置方法、装置、计算机设备和存储介质 | |
CN113190304A (zh) | 档案信息的展示方法、装置、计算机设备和存储介质 | |
KR101351079B1 (ko) | 데이터베이스와 연동되는 프로그램을 제어하는 서비스 제공 방법 및 시스템 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |