CN108153520B - 软件开发方法及装置 - Google Patents
软件开发方法及装置 Download PDFInfo
- Publication number
- CN108153520B CN108153520B CN201810231284.3A CN201810231284A CN108153520B CN 108153520 B CN108153520 B CN 108153520B CN 201810231284 A CN201810231284 A CN 201810231284A CN 108153520 B CN108153520 B CN 108153520B
- Authority
- CN
- China
- Prior art keywords
- page
- requirement information
- template
- software development
- target
- 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.)
- Active
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种软件开发方法及装置。所述方法包括:接收软件开发请求,并对软件开发请求进行解析,得到页面要求信息、功能要求信息及组件加载要求信息;根据页面要求信息获取与软件开发请求匹配的目标页面模板;根据功能要求信息从字段库中获取与功能要求信息对应的目标字段元素,并从组件库中为每个目标字段元素分配匹配的功能组件;将各目标字段元素分别填充到各自匹配的功能组件内,并根据组件加载要求信息将各功能组件加载到目标页面模板上;对目标页面模板、功能组件及目标字段元素所对应的数据代码进行代码整合,生成对应的软件代码,以完成软件开发。所述方法可缩短软件的开发周期及测试周期,提高软件开发效率及软件质量。
Description
技术领域
本发明涉及软件技术领域,具体而言,涉及一种软件开发方法及装置。
背景技术
随着科学技术的不断发展,客户对软件产品的使用体验及开发周期上的要求越来越高,现有的软件开发技术已逐渐跟不上客户需求及市场需求。现有的软件开发技术通常需要软件开发人员在采用可视化界面构建工具构建对应页面后,人工地为实现对应软件的数据初始化、数据校验、数据提交、事件处理等数据处理流程输入大量的代码,以对应开发出客户需要的软件程序。但这种软件开发技术通常受限于软件开发人员的软件开发经验及代码输入效率,从而导致整个软件开发过程的开发周期及测试周期较长,整体的软件开发效率低下,开发出的软件质量不高。
发明内容
为了克服现有技术中的上述不足,本发明的目的在于提供一种软件开发方法及装置,所述软件开发方法能够缩短软件开发过程的开发周期及测试周期,提高软件开发效率及软件质量。
就方法而言,本发明实施例提供一种软件开发方法,应用于软件开发设备,所述设备包括模板库、组件库及字段库,所述模板库存储有多个页面模板,所述组件库存储有多个功能组件,所述字段库中存储有多个字段元素,所述方法包括:
接收软件开发请求,并对所述软件开发请求进行解析,得到所述软件开发请求包括的页面要求信息、功能要求信息及组件加载要求信息;
根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板;
根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素,并相应地从组件库中为每个目标字段元素分配匹配的功能组件;
将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上;
对所述目标页面模板对应的数据代码、所述目标页面模板上加载的功能组件所对应的数据代码,及所述目标字段元素所对应的数据代码进行代码整合处理,生成与所述软件开发请求对应的软件代码,以完成软件开发。
在本发明实施例中,上述根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板的步骤包括:
计算所述页面要求信息与模板库中各页面模板之间的匹配度,并将计算得到的各匹配度与预设匹配度阈值进行比较;
若存在匹配度大于或等于所述预设匹配度阈值的页面模板,从匹配度大于或等于所述预设匹配度阈值的所有页面模板中选取匹配度最大的页面模板,并基于所述页面要求信息对选取到的所述页面模板的页面参数进行调整,以将被选定的所述页面模板调整为与所述软件开发请求对应匹配的目标页面模板。
在本发明实施例中,上述模板库中还存储有基础模板,所述根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板的步骤还包括:
若不存在匹配度大于或等于所述预设匹配度阈值的页面模板,根据所述页面要求信息对所述基础模板的页面布局情况及页面参数进行调整,以基于所述基础模板对应生成与所述软件开发请求对应匹配的目标页面模板。
在本发明实施例中,上述根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素的步骤包括:
对所述功能要求信息进行解析,得到实现所述功能要求信息对应的应用功能所需的元素关键字;
根据所述元素关键字在所述字段库中查找与所述元素关键字匹配的各字段元素,并在查找成功时以查找到的字段元素作为所述目标字段元素。
在本发明实施例中,上述相应地从组件库中为每个目标字段元素分配匹配的功能组件的步骤包括:
对获取到的各目标字段元素进行特征识别,并根据各目标字段元素各自的特征查找特征匹配的功能组件;
若查找到特征匹配的功能组件,将查找到的所述功能组件作为对应匹配的功能组件;
若查找不到特征匹配的功能组件,根据未查找到匹配的功能组件的目标字段元素的功能特征生成与所述目标字段元素对应匹配的功能组件。
在本发明实施例中,上述将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上的步骤包括:
建立各目标字段元素与各自匹配的功能组件之间的数据代码关联,并通过调用数据处理函数按照所述组件加载要求信息将完成数据代码关联的各功能组件加载到所述目标页面模板上各自对应的位置处,以通过所述数据处理函数实现各功能组件各自对应的组件功能。
就装置而言,本发明实施例提供一种软件开发装置,应用于软件开发设备,所述设备包括模板库、组件库及字段库,所述模板库存储有多个页面模板,所述组件库存储有多个功能组件,所述字段库中存储有多个字段元素,所述装置包括:
请求解析模块,用于接收软件开发请求,并对所述软件开发请求进行解析,得到所述软件开发请求包括的页面要求信息、功能要求信息及组件加载要求信息;
模板获取模块,用于根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板;
获取匹配模块,用于根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素,并相应地从组件库中为每个目标字段元素分配匹配的功能组件;
数据加载模块,用于将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上;
代码生成模块,用于对所述目标页面模板对应的数据代码、所述目标页面模板上加载的功能组件所对应的数据代码,及所述目标字段元素所对应的数据代码进行代码整合处理,生成与所述软件开发请求对应的软件代码,以完成软件开发。
在本发明实施例中,上述模板库中还存储有基础模板,所述模板获取模块根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板的方式包括:
计算所述页面要求信息与模板库中各页面模板之间的匹配度,并将计算得到的各匹配度与预设匹配度阈值进行比较;
若存在匹配度大于或等于所述预设匹配度阈值的页面模板,从匹配度大于或等于所述预设匹配度阈值的所有页面模板中选取匹配度最大的页面模板,并基于所述页面要求信息对选取到的所述页面模板的页面参数进行调整,以将被选定的所述页面模板调整为与所述软件开发请求对应匹配的目标页面模板;
若不存在匹配度大于或等于所述预设匹配度阈值的页面模板,根据所述页面要求信息对所述基础模板的页面布局情况及页面参数进行调整,以基于所述基础模板对应生成与所述软件开发请求对应匹配的目标页面模板。
在本发明实施例中,上述获取匹配模块根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素,并相应地从组件库中为每个目标字段元素分配匹配的功能组件的方式包括:
对所述功能要求信息进行解析,得到实现所述功能要求信息对应的应用功能所需的元素关键字;
根据所述元素关键字在所述字段库中查找与所述元素关键字匹配的各字段元素,并在查找成功时以查找到的字段元素作为所述目标字段元素;
对获取到的各目标字段元素进行特征识别,并根据各目标字段元素各自的特征查找特征匹配的功能组件;
若查找到特征匹配的功能组件,将查找到的所述功能组件作为对应匹配的功能组件;
若查找不到特征匹配的功能组件,根据未查找到匹配的功能组件的目标字段元素的功能特征生成与所述目标字段元素对应匹配的功能组件。
在本发明实施例中,上述数据加载模块将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上的方式包括:
建立各目标字段元素与各自匹配的功能组件之间的数据代码关联,并通过调用数据处理函数按照所述组件加载要求信息将完成数据代码关联的各功能组件加载到所述目标页面模板上,以通过所述数据处理函数实现各功能组件各自对应的组件功能。
相对于现有技术而言,本发明实施例提供的软件开发方法及装置具有以下有益效果:所述软件开发方法能够缩短软件开发过程的开发周期及测试周期,提高软件开发效率及软件质量。首先,所述软件开发方法通过接收软件开发请求,并对所述软件开发请求进行解析,得到所述软件开发请求包括的页面要求信息、功能要求信息及组件加载要求信息;其次,所述方法根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板;接着,所述方法根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素,并相应地从组件库中为每个目标字段元素分配匹配的功能组件;然后,所述方法将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上;最后,所述方法通过对所述目标页面模板对应的数据代码、所述目标页面模板上加载的功能组件所对应的数据代码,及所述目标字段元素所对应的数据代码进行代码整合处理,生成与所述软件开发请求对应的软件代码,从而在完成软件开发的同时减小软件开发人员在软件开发过程中的代码输入工作量,缩短软件开发过程的开发周期及测试周期,提高软件开发效率及软件质量。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明权利要求保护范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的软件开发方法的流程示意图。
图2为图1中所示的步骤S220包括的子步骤的一种流程示意图。
图3为图1中所示的步骤S220包括的子步骤的另一种流程示意图。
图4为本发明实施例提供的软件开发装置的方框示意图。
图标:100-软件开发装置;110-请求解析模块;120-模板获取模块;130-获取匹配模块;140-数据加载模块;150-代码生成模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,是本发明实施例提供的软件开发方法的流程示意图。在本发明实施例中,所述软件开发方法应用于软件开发设备,所述软件开发设备包括一存储器,所述软件开发设备通过所述存储器构建出模板库、组件库及字段库,所述模板库存储有多个用于在软件开发过程中创建与客户需求对应页面的页面模板,所述组件库存储有多个用于在软件开发过程中对应页面上实现对应软件功能的功能组件,所述字段库存储有多个用于实现对应功能组件对应功能的字段元素。其中,所述页面模板经由UI/UE设计规范创建生成,以确保生成的页面模板对应的数据代码处于高度规范化的状态。下面对图1中所示的软件开发方法的具体流程和步骤进行详细阐述。
在本发明实施例中,所述软件开发方法包括以下步骤:
步骤S210,接收软件开发请求,并对所述软件开发请求进行解析,得到所述软件开发请求包括的页面要求信息、功能要求信息及组件加载要求信息。
在本实施例中,所述软件开发请求包括与客户软件需求对应的页面要求信息、功能要求信息及组件加载要求信息,其中所述页面要求信息表示客户对页面设计布局情况的具体要求,所述功能要求信息表示客户对该软件开发完成后对应实现的功能的具体要求,所述组件加载要求信息表示客户对页面中各功能组件分布加载的具体要求,其中所述页面要求信息、功能要求信息及组件加载要求信息可在对应软件开发的初期全部发送给所述软件开发设备,也可在对应软件的开发过程中逐步发送给所述软件开发设备。所述软件开发设备在接收到来自客户的软件开发请求后,将对所述软件开发请求进行解析,得到所述软件开发请求对应包括的页面要求信息、功能要求信息及组件加载要求信息。
步骤S220,根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板。
可选地,请参照图2,是图1中所示的步骤S220包括的子步骤的一种流程示意图。在本实施例中,所述步骤S220可以包括子步骤S221及子步骤S222:
子步骤S221,计算所述页面要求信息与模板库中各页面模板之间的匹配度,并将计算得到的各匹配度与预设匹配度阈值进行比较。
在本实施例中,所述页面要求信息包括有客户要求的页面特征,所述页面特征包括页面流程属性、业务流程属性、界面显示表达属性及页面数目属性等,其中页面流程属性表示对应页面整体布局情况,业务流程属性表示对应页面实现的业务功能,界面显示表达属性表示对应页面显示效果,页面数目属性表示软件开发过程中对应嵌套的页面数目。所述软件开发设备需要基于所述页面要求信息判断所述模板库中是否存储有与该页面要求信息对应匹配的目标页面模板,则所述软件开发设备将根据所述页面要求信息中包括的页面特征及所述模板库中各页面模板对应的页面特征计算所述模板库中各页面模板与该页面要求信息之间的匹配度,并将各页面模板对应的匹配度数值与预设匹配度阈值进行比较,其中匹配度数值越高,表明页面模板越符合该页面要求信息。其中所述预设匹配度阈值可以是70%,也可以是85%,还可以是95%,具体的数值可根据实际需求进行不同的设置。
步骤S222,若存在匹配度大于或等于所述预设匹配度阈值的页面模板,从匹配度大于或等于所述预设匹配度阈值的所有页面模板中选取匹配度最大的页面模板,并基于所述页面要求信息对选取到的所述页面模板的页面参数进行调整,以将被选定的所述页面模板调整为与所述软件开发请求对应匹配的目标页面模板。
在本实施例中,若所述模板库中存在匹配度数值大于或等于所述预设匹配度阈值的页面模板时,所述软件开发设备可判定所述模板库中存在可与所述页面要求信息对应匹配的目标页面模板。所述软件开发设备通过从匹配度数值大于或等于所述预设匹配度阈值的所有页面模板中选取匹配度数值最大的页面模板,并基于所述页面要求信息对选取到的所述页面模板的页面参数进行调整修改,以使被选定的所述页面模板与所述页面要求信息的匹配度达到最大状态,从而以调整后的页面模板作为与所述软件开发请求对应匹配的目标页面模板。其中所述页面模板的页面参数包括对应页面的页面名称、功能标题、输入页面标题、结果页面标题、模块名称、web根目录、数据路径等。
在本实施例中,若所述模板库中匹配度数值最大的页面模板的数目为多个,所述软件开发设备可通过显示查找到的所有匹配度数值最大的页面模板的方式,使客户根据实际需求对显示出的各页面模板进行选择,从而得到与客户需求对应的需要进行参数调整的页面模板。
可选地,请参照图3,是图1中所示的步骤S220包括的子步骤的另一种流程示意图。在本实施例中,所述步骤S220还可以包括子步骤S223:
步骤S223,若不存在匹配度大于或等于所述预设匹配度阈值的页面模板,根据所述页面要求信息对所述基础模板的页面布局情况及页面参数进行调整,以基于所述基础模板对应生成与所述软件开发请求对应匹配的目标页面模板。
在本实施例中,所述模板库中还存储有用于创建定制版本页面模板的基础模板,若所述模板库中不存在匹配度数值大于或等于所述预设匹配度阈值的页面模板时,所述软件开发设备可判定所述模板库中不存在能直接与所述页面要求信息对应匹配的目标页面模板。所述软件开发设备将直接根据所述页面要求信息对所述基础模板中页面布局情况及页面参数进行调整,以基于所述基础模板直接对应生成与所述软件开发请求匹配的目标页面模板,并相应地得到该目标页面模板对应的数据代码。
在本实施例中,所述软件开发设备在获取到与软件开发请求对应匹配的目标页面模板后,可通过在所述模板库中存储所述目标页面模板的方式,更新所述模板库。
步骤S230,根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素,并相应地从组件库中为每个目标字段元素分配匹配的功能组件。
在本实施例中,所述软件开发设备根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素的步骤包括:
对所述功能要求信息进行解析,得到实现所述功能要求信息对应的应用功能所需的元素关键字;
根据所述元素关键字在所述字段库中查找与所述元素关键字匹配的各字段元素,并在查找成功时以查找到的字段元素作为所述目标字段元素。
其中,所述功能要求信息中包含有实现对应软件功能的元素关键字,所述软件开发设备查找到的字段元素的数目可以为多个,所述软件开发设备可通过显示查找到的字段元素的方式,使客户根据需求对显示出的各字段元素进行选择,从而得到所述功能要求信息最终对应的目标字段元素。可选地,所述软件开发设备可通过将选取的目标字段元素与对应的元素关键字进行绑定的方式,实现对目标字段元素的重定义,使得开发成功后的软件在多个电子设备上运行时,所述多个电子设备之间进行数据通信时相互传输的报文是对应选取所述目标字段元素进行结合生成的,其中所述电子设备包括服务端设备及客户端设备。
在本实施例中,所述软件开发设备相应地从组件库中为每个目标字段元素分配匹配的功能组件的步骤包括:
对获取到的各目标字段元素进行特征识别,并根据各目标字段元素各自的特征查找特征匹配的功能组件;
若查找到特征匹配的功能组件,将查找到的所述功能组件作为对应匹配的功能组件;
若查找不到特征匹配的功能组件,根据未查找到匹配的功能组件的目标字段元素的功能特征生成与所述目标字段元素对应匹配的功能组件。
其中,每个目标字段元素因自身对应需要体现的功能有所不同而具备不同的功能特征。所述组件库中存储有与功能特征匹配的功能组件,及用于创建特色组件的基础组件,所述功能组件因需实现对应目标字段元素在对应开发出的软件里的功能,可由对应目标字段元素对应功能特征基于基础组件修整而成,也可以是软件开发设备根据对应目标字段元素的功能特征直接新创得到。例如,所述功能组件由对应目标字段元素的构成关系、识别标记、属性扩展及函数事件对应组成,所述基础组件仅对应包括基础的构成关系和识别标记。所述软件开发设备可通过对各目标字段元素进行特征识别,得到各目标字段元素的功能特征,并以识别出的功能特征对应查找特征匹配的功能组件。若查找到,则以查找到的功能组件作为对应匹配的组件;若查找不到,则以对应目标字段元素的功能特征对基础组件进行参数修整,从而对应生成特征匹配的功能组件。在本实施例的一种实施方式中,所述软件开发设备采用基础组件来生成与目标字段元素的功能特征匹配的功能组件。
在本实施例中,所述组件库内还存储有用于优化页面布局的公共组件,所述公共组件可在随功能组件被加载到对应页面上时,对所述页面的布局结构进行分隔、重划分等页面优化处理。其中,所述公共组件与所述基础组件类似,也仅包括基础的构成关系和识别标记,所述公共组件可由基础组件进行参数调整生成得到。
步骤S240,将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上。
在本实施例中,所述软件开发设备通过将各目标字段元素分别填充到各自匹配的功能组件内的方式,对各功能组件进行赋值,从而赋予各功能组件各自对应的软件功能。所述软件开发设备通过将填充有目标字段元素的功能组件加载到目标页面模板上的方式,使各填充有目标字段元素的功能组件与该目标页面模板对应关联,形成与所述软件开发请求对应的软件架构。其中,所述功能组件可像集装箱一般灵活地在所述目标页面模板上进行上下移动,进行相互叠加,各功能组件的加载顺序可根据需求进行调整,以使得各功能组件能够加载到所述目标页面模板上各自对应的位置处。
可选地,所述将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上的步骤包括:
建立各目标字段元素与各自匹配的功能组件之间的数据代码关联,并通过调用数据处理函数按照所述组件加载要求信息将完成数据代码关联的各功能组件加载到所述目标页面模板上各自对应的位置处,以通过所述数据处理函数实现各功能组件各自对应的组件功能。
其中,所述数据处理函数用于维系目标字段元素、功能组件及目标页面模板之间的关联,并相应地在对应事件触发时执行与该事件对应的数据处理步骤,从而实现各功能组件在填充有对应目标字段元素后具备的软件功能。所述组件加载信息中包括有针对不同应用功能的功能组件在目标页面模板上加载的位置,所述软件开发设备基于所述组件加载信息对应加载相应的功能组件到所述目标页面模板上匹配的位置处。所述组件加载信息可在软件开发过程中受到客户要求改变而进行调整。所述组件加载信息中还可以包括公共组件的加载要求信息,所述软件开发设备可根据公共组件的加载要求信息将对应公共组件加载到所述目标页面模板中,以配合其他功能组件形成与客户需求匹配的页面布局情况。
步骤S250,对所述目标页面模板对应的数据代码、所述目标页面模板上加载的功能组件所对应的数据代码,及所述目标字段元素所对应的数据代码进行代码整合处理,生成与所述软件开发请求对应的软件代码,以完成软件开发。
在本实施例中,所述软件开发设备在根据组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上后,将对存储的与所述目标页面模板对应的数据代码、所述目标页面模板上加载的所述功能组件对应的数据代码,及所述目标字段元素对应的数据代码进行代码整合处理,从而对应生成与所述软件开发请求对应的软件代码,从而在完成软件开发的同时减小软件开发人员在软件开发过程中的代码输入工作量,缩短软件开发过程的开发周期及测试周期,提高软件开发效率及软件质量。
请参照图4,是本发明实施例提供的软件开发装置100的方框示意图。在本发明实施例中,所述软件开发装置100应用于上述的软件开发设备,所述软件开发设备包括模板库、组件库及字段库,所述模板库存储有多个页面模板,所述组件库存储有多个功能组件,所述字段库中存储有多个字段元素。所述软件开发装置100包括请求解析模块110、模板获取模块120、获取匹配模块130、数据加载模块140及代码生成模块150。
所述请求解析模块110,用于接收软件开发请求,并对所述软件开发请求进行解析,得到所述软件开发请求包括的页面要求信息、功能要求信息及组件加载要求信息。
在本实施例中,所述请求解析模块110可以执行图1中所示的步骤S210,具体的执行过程可参照上文中对步骤S210的详细描述。
所述模板获取模块120,用于根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板。
在本实施例中,所述模板库中还存储有基础模板,所述模板获取模块120根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板的方式包括:
计算所述页面要求信息与模板库中各页面模板之间的匹配度,并将计算得到的各匹配度与预设匹配度阈值进行比较;
若存在匹配度大于或等于所述预设匹配度阈值的页面模板,从匹配度大于或等于所述预设匹配度阈值的所有页面模板中选取匹配度最大的页面模板,并基于所述页面要求信息对选取到的所述页面模板的页面参数进行调整,以将被选定的所述页面模板调整为与所述软件开发请求对应匹配的目标页面模板;
若不存在匹配度大于或等于所述预设匹配度阈值的页面模板,根据所述页面要求信息对所述基础模板的页面布局情况及页面参数进行调整,以基于所述基础模板对应生成与所述软件开发请求对应匹配的目标页面模板。
其中,所述模板获取模块120可以执行图1中的步骤S220、图2中的子步骤S221和子步骤S222,及图3中的子步骤S223,具体的执行过程可参照上文中对步骤S220、子步骤S221、子步骤S222及子步骤S223的详细描述。
所述获取匹配模块130,用于根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素,并相应地从组件库中为每个目标字段元素分配匹配的功能组件。
在本实施例中,所述获取匹配模块130根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素,并相应地从组件库中为每个目标字段元素分配匹配的功能组件的方式包括:
对所述功能要求信息进行解析,得到实现所述功能要求信息对应的应用功能所需的元素关键字;
根据所述元素关键字在所述字段库中查找与所述元素关键字匹配的各字段元素,并在查找成功时以查找到的字段元素作为所述目标字段元素;
对获取到的各目标字段元素进行特征识别,并根据各目标字段元素各自的特征查找特征匹配的功能组件;
若查找到特征匹配的功能组件,将查找到的所述功能组件作为对应匹配的功能组件;
若查找不到特征匹配的功能组件,根据未查找到匹配的功能组件的目标字段元素的功能特征生成与所述目标字段元素对应匹配的功能组件。
其中,所述获取匹配模块130可以执行图1中所示的步骤S230,具体的执行过程可参照上文中对步骤S230的详细描述。
所述数据加载模块140,用于将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上。
在本实施例中,所述数据加载模块140将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上的方式包括:
建立各目标字段元素与各自匹配的功能组件之间的数据代码关联,并通过调用数据处理函数按照所述组件加载要求信息将完成数据代码关联的各功能组件加载到所述目标页面模板上各自对应的位置处,以通过所述数据处理函数实现各功能组件各自对应的组件功能。
其中,所述数据加载模块140可以执行图1中所示的步骤S240,具体的执行过程可参照上文中对步骤S240的详细描述。
所述代码生成模块150,用于对所述目标页面模板对应的数据代码、所述目标页面模板上加载的功能组件所对应的数据代码,及所述目标字段元素所对应的数据代码进行代码整合处理,生成与所述软件开发请求对应的软件代码,以完成软件开发。
在本实施例中,所述代码生成模块150可以执行图1中所示的步骤S250,具体的执行过程可参照上文中对步骤S250的详细描述。
综上所述,在本发明实施例提供的软件开发方法及装置中,所述方法应用于包括模板库、组件库及字段库的软件开发设备,所述模板库存储有多个页面模板,所述组件库存储有多个功能组件,所述字段库中存储有多个字段元素。首先,所述软件开发方法通过接收软件开发请求,并对所述软件开发请求进行解析,得到所述软件开发请求包括的页面要求信息、功能要求信息及组件加载要求信息;其次,所述方法根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板;接着,所述方法根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素,并相应地从组件库中为每个目标字段元素分配匹配的功能组件;然后,所述方法将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上;最后,所述方法通过对所述目标页面模板对应的数据代码、所述目标页面模板上加载的功能组件所对应的数据代码,及所述目标字段元素所对应的数据代码进行代码整合处理,生成与所述软件开发请求对应的软件代码,从而在完成软件开发的同时减小软件开发人员在软件开发过程中的代码输入工作量,缩短软件开发过程的开发周期及测试周期,提高软件开发效率及软件质量。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种软件开发方法,其特征在于,应用于软件开发设备,所述设备包括模板库、组件库及字段库,所述模板库存储有多个页面模板,所述组件库存储有多个功能组件,所述字段库中存储有多个字段元素,所述方法包括:
接收软件开发请求,并对所述软件开发请求进行解析,得到所述软件开发请求包括的页面要求信息、功能要求信息及组件加载要求信息,其中所述页面要求信息表示对页面设计布局情况的具体要求,所述功能要求信息表示对该软件开发完成后对应实现的功能的具体要求,所述组件加载要求信息表示对页面中各功能组件分布加载的具体要求;
根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板;
根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素,并相应地从组件库中为每个目标字段元素分配匹配的功能组件;
将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上;
对所述目标页面模板对应的数据代码、所述目标页面模板上加载的功能组件所对应的数据代码,及所述目标字段元素所对应的数据代码进行代码整合处理,生成与所述软件开发请求对应的软件代码,以完成软件开发。
2.根据权利要求1所述的方法,其特征在于,所述根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板的步骤包括:
计算所述页面要求信息与模板库中各页面模板之间的匹配度,并将计算得到的各匹配度与预设匹配度阈值进行比较;
若存在匹配度大于或等于所述预设匹配度阈值的页面模板,从匹配度大于或等于所述预设匹配度阈值的所有页面模板中选取匹配度最大的页面模板,并基于所述页面要求信息对选取到的所述页面模板的页面参数进行调整,以将被选定的所述页面模板调整为与所述软件开发请求对应匹配的目标页面模板。
3.根据权利要求2所述的方法,其特征在于,所述模板库中还存储有基础模板,所述根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板的步骤还包括:
若不存在匹配度大于或等于所述预设匹配度阈值的页面模板,根据所述页面要求信息对所述基础模板的页面布局情况及页面参数进行调整,以基于所述基础模板对应生成与所述软件开发请求对应匹配的目标页面模板。
4.根据权利要求1或3所述的方法,其特征在于,所述根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素的步骤包括:
对所述功能要求信息进行解析,得到实现所述功能要求信息对应的应用功能所需的元素关键字;
根据所述元素关键字在所述字段库中查找与所述元素关键字匹配的各字段元素,并在查找成功时以查找到的字段元素作为所述目标字段元素。
5.根据权利要求4所述的方法,其特征在于,所述相应地从组件库中为每个目标字段元素分配匹配的功能组件的步骤包括:
对获取到的各目标字段元素进行特征识别,并根据各目标字段元素各自的特征查找特征匹配的功能组件;
若查找到特征匹配的功能组件,将查找到的所述功能组件作为对应匹配的功能组件;
若查找不到特征匹配的功能组件,根据未查找到匹配的功能组件的目标字段元素的功能特征生成与所述目标字段元素对应匹配的功能组件。
6.根据权利要求1所述的方法,其特征在于,所述将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上的步骤包括:
建立各目标字段元素与各自匹配的功能组件之间的数据代码关联,并通过调用数据处理函数按照所述组件加载要求信息将完成数据代码关联的各功能组件加载到所述目标页面模板上各自对应的位置处,以通过所述数据处理函数实现各功能组件各自对应的组件功能。
7.一种软件开发装置,其特征在于,应用于软件开发设备,所述设备包括模板库、组件库及字段库,所述模板库存储有多个页面模板,所述组件库存储有多个功能组件,所述字段库中存储有多个字段元素,所述装置包括:
请求解析模块,用于接收软件开发请求,并对所述软件开发请求进行解析,得到所述软件开发请求包括的页面要求信息、功能要求信息及组件加载要求信息,其中所述页面要求信息表示对页面设计布局情况的具体要求,所述功能要求信息表示对该软件开发完成后对应实现的功能的具体要求,所述组件加载要求信息表示对页面中各功能组件分布加载的具体要求;
模板获取模块,用于根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板;
获取匹配模块,用于根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素,并相应地从组件库中为每个目标字段元素分配匹配的功能组件;
数据加载模块,用于将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上;
代码生成模块,用于对所述目标页面模板对应的数据代码、所述目标页面模板上加载的功能组件所对应的数据代码,及所述目标字段元素所对应的数据代码进行代码整合处理,生成与所述软件开发请求对应的软件代码,以完成软件开发。
8.根据权利要求7所述的装置,其特征在于,所述模板库中还存储有基础模板,所述模板获取模块根据所述页面要求信息获取与所述软件开发请求对应匹配的目标页面模板的方式包括:
计算所述页面要求信息与模板库中各页面模板之间的匹配度,并将计算得到的各匹配度与预设匹配度阈值进行比较;
若存在匹配度大于或等于所述预设匹配度阈值的页面模板,从匹配度大于或等于所述预设匹配度阈值的所有页面模板中选取匹配度最大的页面模板,并基于所述页面要求信息对选取到的所述页面模板的页面参数进行调整,以将被选定的所述页面模板调整为与所述软件开发请求对应匹配的目标页面模板;
若不存在匹配度大于或等于所述预设匹配度阈值的页面模板,根据所述页面要求信息对所述基础模板的页面布局情况及页面参数进行调整,以基于所述基础模板对应生成与所述软件开发请求对应匹配的目标页面模板。
9.根据权利要求7或8所述的装置,其特征在于,所述获取匹配模块根据所述功能要求信息从字段库中获取与所述功能要求信息对应的目标字段元素,并相应地从组件库中为每个目标字段元素分配匹配的功能组件的方式包括:
对所述功能要求信息进行解析,得到实现所述功能要求信息对应的应用功能所需的元素关键字;
根据所述元素关键字在所述字段库中查找与所述元素关键字匹配的各字段元素,并在查找成功时以查找到的字段元素作为所述目标字段元素;
对获取到的各目标字段元素进行特征识别,并根据各目标字段元素各自的特征查找特征匹配的功能组件;
若查找到特征匹配的功能组件,将查找到的所述功能组件作为对应匹配的功能组件;
若查找不到特征匹配的功能组件,根据未查找到匹配的功能组件的目标字段元素的功能特征生成与所述目标字段元素对应匹配的功能组件。
10.根据权利要求9所述的装置,其特征在于,所述数据加载模块将各目标字段元素分别填充到各自匹配的功能组件内,并根据所述组件加载要求信息将填充有目标字段元素的功能组件加载到所述目标页面模板上的方式包括:
建立各目标字段元素与各自匹配的功能组件之间的数据代码关联,并通过调用数据处理函数按照所述组件加载要求信息将完成数据代码关联的各功能组件加载到所述目标页面模板上各自对应的位置处,以通过所述数据处理函数实现各功能组件各自对应的组件功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810231284.3A CN108153520B (zh) | 2018-03-20 | 2018-03-20 | 软件开发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810231284.3A CN108153520B (zh) | 2018-03-20 | 2018-03-20 | 软件开发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108153520A CN108153520A (zh) | 2018-06-12 |
CN108153520B true CN108153520B (zh) | 2020-10-27 |
Family
ID=62456213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810231284.3A Active CN108153520B (zh) | 2018-03-20 | 2018-03-20 | 软件开发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108153520B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881954A (zh) * | 2018-06-29 | 2018-11-23 | 深圳市酷开网络科技有限公司 | 一种动态配置运营活动的方法、存储介质及服务器 |
CN109189370B (zh) * | 2018-08-01 | 2022-05-03 | 中国联合网络通信集团有限公司 | 软件组件的生成方法、装置、设备及计算机可读存储介质 |
CN109086046A (zh) * | 2018-08-02 | 2018-12-25 | 中国建设银行股份有限公司 | 一种基于接口规范文档的前端代码自动生成方法及*** |
CN109254774A (zh) * | 2018-08-30 | 2019-01-22 | 郑州云海信息技术有限公司 | 软件开发***中代码的管理方法和装置 |
CN109359188B (zh) * | 2018-09-30 | 2020-01-14 | 北京数聚鑫云信息技术有限公司 | 一种组件编排方法和*** |
CN109508189B (zh) * | 2018-10-18 | 2022-03-29 | 北京奇艺世纪科技有限公司 | 一种布局模板处理方法、装置及计算机可读存储介质 |
CN109542399B (zh) * | 2018-10-25 | 2021-08-10 | 深圳市金证科技股份有限公司 | 软件开发方法、装置、终端设备及计算机可读存储介质 |
CN109324789A (zh) * | 2018-11-01 | 2019-02-12 | 广州南洋理工职业学院 | 一种软件开发方法 |
CN109582297A (zh) * | 2018-11-08 | 2019-04-05 | 北京达佳互联信息技术有限公司 | 一种代码模板的生成方法、装置、电子设备及存储介质 |
CN109375908A (zh) * | 2018-11-13 | 2019-02-22 | 温州华天软件科技有限公司 | 一种应用软件开发方法 |
CN110162300A (zh) * | 2019-04-16 | 2019-08-23 | 中国平安财产保险股份有限公司 | 一种保险业务开发方法及装置 |
CN110347953B (zh) * | 2019-05-20 | 2024-05-28 | 中国平安财产保险股份有限公司 | 页面生成方法、装置、计算机设备及存储介质 |
CN110489120A (zh) * | 2019-07-03 | 2019-11-22 | 平安证券股份有限公司 | 基于组件的页面开发方法及服务器 |
CN110825374A (zh) * | 2019-11-04 | 2020-02-21 | 泰康保险集团股份有限公司 | 基于组件的页面生成方法及装置、电子设备和存储介质 |
CN110955418A (zh) * | 2019-12-13 | 2020-04-03 | 中国南方电网有限责任公司 | 代码生成方法、装置、计算机设备和存储介质 |
CN111221524B (zh) * | 2019-12-29 | 2024-02-09 | 云帐房网络科技有限公司 | 一种一键生成前端模块的方法及*** |
CN111338608B (zh) * | 2020-02-28 | 2022-03-04 | 腾讯科技(深圳)有限公司 | 分布式应用开发方法、装置、节点设备及可读存储介质 |
CN111752534B (zh) * | 2020-06-22 | 2024-01-12 | 北京百度网讯科技有限公司 | 多领域定制项目模板引擎、由其执行的方法、设备和介质 |
CN112486479A (zh) * | 2020-11-30 | 2021-03-12 | 浙江中控技术股份有限公司 | 一种数据采集方法及装置 |
CN112579084A (zh) * | 2020-12-17 | 2021-03-30 | 深圳集智数字科技有限公司 | 一种页面的拼装方法及装置 |
CN113703759B (zh) * | 2021-08-30 | 2024-04-05 | 康键信息技术(深圳)有限公司 | 一种代码生成方法、装置、介质及设备 |
CN113656022B (zh) * | 2021-10-20 | 2022-04-08 | 深圳市蓝凌软件股份有限公司 | 软件开发方法、装置、计算机设备和存储介质 |
CN114063992B (zh) * | 2022-01-11 | 2022-04-22 | 广东道一信息技术股份有限公司 | 一种低代码开发平台的建模方法及*** |
CN114510916B (zh) * | 2022-02-17 | 2023-07-07 | 平安科技(深圳)有限公司 | 一种模板加载方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111826A (zh) * | 2013-04-19 | 2014-10-22 | 杭州新世纪电子科技有限公司 | 一种软件项目开发方法及装置 |
CN106682120A (zh) * | 2016-12-09 | 2017-05-17 | 北京深思数盾科技股份有限公司 | 一种页面生成方法及*** |
CN107066246A (zh) * | 2016-12-27 | 2017-08-18 | 深圳虚觅者科技有限公司 | 一种软件开发方法及装置 |
CN107368294A (zh) * | 2017-05-25 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 应用原型生成方法、模板训练方法、装置及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8171454B2 (en) * | 2001-03-15 | 2012-05-01 | International Business Machines Corporation | Method and apparatus for programming software components |
-
2018
- 2018-03-20 CN CN201810231284.3A patent/CN108153520B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111826A (zh) * | 2013-04-19 | 2014-10-22 | 杭州新世纪电子科技有限公司 | 一种软件项目开发方法及装置 |
CN106682120A (zh) * | 2016-12-09 | 2017-05-17 | 北京深思数盾科技股份有限公司 | 一种页面生成方法及*** |
CN107066246A (zh) * | 2016-12-27 | 2017-08-18 | 深圳虚觅者科技有限公司 | 一种软件开发方法及装置 |
CN107368294A (zh) * | 2017-05-25 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 应用原型生成方法、模板训练方法、装置及*** |
Also Published As
Publication number | Publication date |
---|---|
CN108153520A (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108153520B (zh) | 软件开发方法及装置 | |
CN108875289B (zh) | 一种算法调试方法、客户端、后台服务器及*** | |
US20170060557A1 (en) | Orchestrating the lifecycle of multiple-target applications | |
CN108492005B (zh) | 项目数据处理方法、装置、计算机设备和存储介质 | |
CN107807841B (zh) | 服务器模拟方法、装置、设备及可读存储介质 | |
CN110276074B (zh) | 自然语言处理的分布式训练方法、装置、设备及存储介质 | |
CN110321284B (zh) | 测试数据录入方法、装置、计算机设备和存储介质 | |
US20220284286A1 (en) | Method and apparatus for providing recommendations for completion of an engineering project | |
CN111068328A (zh) | 游戏广告配置表格的生成方法、终端设备及介质 | |
CN110069737B (zh) | 内容生成方法、装置、计算机设备及存储介质 | |
US20220284371A1 (en) | Method, device and medium for a business function page | |
CN109684577A (zh) | 一种网页内容的配置方法、***及电子设备 | |
CN112115399A (zh) | 基于css的改变页面主题的方法、装置、电子设备和计算机可读介质 | |
CN112596820A (zh) | 一种资源加载方法、装置、设备以及存储介质 | |
CN112947900B (zh) | web应用开发方法、装置、服务器及开发终端 | |
EP3627313B1 (en) | Method and system for operating a software application on a processor of a mobile device | |
CN117112012A (zh) | 应用配置生成方法、装置、设备及介质 | |
CN112433713A (zh) | 一种应用程序设计图处理方法和装置 | |
CN116661936A (zh) | 页面数据的处理方法、装置、计算机设备及存储介质 | |
CN108156534B (zh) | 演示应用的生成方法、装置及计算机可读存储介质 | |
CN111125205A (zh) | 看板数据显示方法、终端及存储介质 | |
CN113076343B (zh) | 数据查询方法、装置、设备及存储介质 | |
CN109584012B (zh) | 用于生成物品推送信息的方法和装置 | |
CN112434500A (zh) | 一种简历生成方法、装置、客户端、服务器及存储介质 | |
CN109634827A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |