掌桥专利:专业的专利平台
掌桥专利
首页

一种软件开发方法和系统

文献发布时间:2023-06-19 10:54:12


一种软件开发方法和系统

技术领域

本发明涉及软件开发领域,具体涉及一种软件开发和系统。

背景技术

随着信息技术的发展以及经济全球化的趋势,传统的功能单一的软件应用已无法满足当今发展的需求。因此,开发具备多种功能、可以满足企业需求的应用软件成为技术人员研究的重点。但是,这种软件一般都是大型软件,传统的开发过程代码复用率低,需要进行大量重复性劳动,造成软件开发周期长、成本高。基于此,传统的基于服务组合的软件开发方法在整个软件开发的过程中并没有一个统一的标准。但是在服务查找过程中,很少有完全符合当前需求的服务,这需要技术人员将需求拆分成子功能,由于没有统一的标准,不同的技术人员可能拆分出不同的子功能,从而选择不同的服务,导致最后的功能质量无法保证;同样的,在服务匹配、组合过程中,由于各个服务没有统一的标准,还可能出现两个服务之间存在接口异构,参数数量、内容不对应等问题。因此,传统的基于服务组合的软件开发方法需要大量的人工介入,对选出的服务代码进行复杂的分析以选出最合适的服务,并对不匹配的接口进行修改,消耗了较多的时间,从而导致了传统组合方法在需求变更时无法快速的响应,效率低下。

此外,根据实际工程需要,开发具体的个性化软件,要求输入数据文件满足指定数据格式,不同软件,不同工程,数据格式往往也各不相同,并且部分数据文件不可直接编辑。软件导入数据文件后,根据相关设置,生成专门的可视化图表。该实现方法技术难度较大,需要耗费较大的人力财力,并且实现的软件体量也较大,不易复用。

发明内容

针对现有技术中的缺陷,本发明提供一种软件开发和系统。

本发明的目的是采用下述技术方案实现的:

一种软件开发方法,所述方法包括:

获取待开发软件的服务需求信息,执行所述服务需求信息对应的服务,将所述对应的服务执行结果发送到场景模板库中;

其中,所述服务需求信息包括场景描述标识、场景描述信息以及每个场景对应的功能信息;

从场景模板库中,检索出与所述待开发软件的场景描述标识相匹配的目标场景模板;其中,所述场景模板库中存储至少一个场景模板,所述场景模板用于表示场景描述标识、场景描述信息以及功能信息间的对应关系;

根据所述待开发软件的场景描述信息以及每个场景对应的功能信息,对所述目标场景模板进行修正,得到修正后的场景模板;

获取所述修正后的场景模板的服务代码以及用于描述所述修正后的场景模板的每个功能信息的服务代码;

将所述修正后的场景模板的服务代码和所述用于描述所述修正后的场景模板中的每个功能信息的服务代码进行组合,生成所述待开发软件。

优选的,所述将对应的服务执行结果发送到场景模板库中,包括:通过Linux系统模拟开发环境,将服务的接口函数、参数类型以及参数值解析后调用本地函数,然后将结果序列化后发送到场景模板库。

进一步地,所述服务的接口函数包含语言标识,所述语言标识包括Java和ObjectC;

当所述服务程序采用java实现时,所述语言标识为java;当所述服务程序采用Object C实现时,所述语言标识为Object C。

优选的,所述根据所述待开发软件的场景描述信息以及每个场景对应的功能信息,对所述目标场景模板进行修正,得到修正后的场景模板具体包括:

根据所述待开发软件的场景描述信息对所述目标场景模板中的每个场景描述信息进行修正,得到第一场景模板;

根据所述待开发软件的每个场景对应的功能信息对所述第一场景模板中的每个场景对应的功能信息进行修正,得到修正后的场景模板。

进一步地,所述根据所述待开发软件的场景描述信息对所述目标场景模板中的每个场景描述信息进行修正,得到第一场景模板具体包括:

依次将所述待开发软件的每个场景描述信息与所述目标场景模板中的每个场景描述信息进行比对;

若当前比对的场景描述信息相同,则继续比对下一场景描述信息;

若所述当前比对的场景描述信息不相同,则根据当前比对的所述待开发软件的场景描述信息对当前比对的所述目标场景模板中的场景描述信息进行修正。

进一步地,所述根据所述待开发软件的每个场景对应的功能信息对所述第一场景模板中的每个场景对应的功能信息进行修正,得到修正后的场景模板具体包括:

依次将所述待开发软件的每个场景对应的功能信息与所述目标场景模板中的每个场景对应的功能信息进行比对;

若当前比对的场景对应的功能信息相同,则继续比对下一场景对应的功能信息;

若所述当前比对的场景对应的功能信息不相同,则根据当前比对的所述待开发软件的场景对应的功能信息对当前比对的所述目标场景模板中的场景对应的功能信息进行修正。

优选的,所述生成待开发软件包括:通过网页界面显示的基于修订场景模板生成的店铺信息和商品信息;所述商品信息包括展示图片中预设关键字对应的虚拟商品。

一种软件开发系统,所述系统包括:

第一获取模块,用于获取待开发软件的服务需求信息,执行所述服务需求信息对应的服务,将所述对应的服务执行结果发送到场景模板库中;

目标检索模块,用于从场景模板库中,检索出与所述待开发软件的场景描述标识相匹配的目标场景模板;其中,所述场景模板库中存储至少一个场景模板,所述场景模板用于表示场景描述标识、场景描述信息以及功能信息间的对应关系;

修订模块,用于根据所述待开发软件的场景描述信息以及每个场景对应的功能信息,对所述目标场景模板进行修正,得到修正后的场景模板;

更新模块,用于获取所述修正后的场景模板的服务代码以及用于描述所述修正后的场景模板的每个功能信息的服务代码;

生成模块,用于将所述修正后的场景模板的服务代码和所述用于描述所述修正后的场景模板中的每个功能信息的服务代码进行组合,生成所述待开发软件。

本发明的有益效果体现在:

本发明提供的一种软件开发和系统,无需多人协同完成、调试和修改,弥补了在现有的软件开发过程中,开发人员和测试人员的工作脱节,修改调试程序繁琐,灵活性差的缺陷。

服务端可以通过替换用户自己的二维码、logo、口号、商品图片等基本信息修改,同时根据用户自己的功能需的APP风格,APP的功能快速生成各种所需的软件应用,其中包括各个平台的小程序,以及IOS系统的应用和安卓的应用,缩短了软件开发的周期,降低了开发成本。

本发明可以屏蔽程序语言差异,极大的方便了用户对店铺功能信息的修订与更新,实现高效服务调用和个性化软件的生成。

解决了需要大量的人工介入选择合适的服务并修改不匹配参数的问题,从而减少了软件开发的时间,提高了开发效率。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1为本发明提供的一种软件开发方法流程图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。

需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

实施例1:

如图1所示,本实施例1提供涉及电商行业的一种软件开发方法,本实施例的方法应用于客户端,以客户端为执行主体提出的软件开发方法具体包括:

S1获取待开发软件的服务需求信息,执行所述服务需求信息对应的服务,将所述对应的服务执行结果发送到场景模板库中;

其中,所述服务需求信息包括场景描述标识、场景描述信息以及每个场景对应的功能信息;

S2从场景模板库中,检索出与所述待开发软件的场景描述标识相匹配的目标场景模板;其中,所述场景模板库中存储至少一个场景模板,所述场景模板用于表示场景描述标识、场景描述信息以及功能信息间的对应关系;

S3根据所述待开发软件的场景描述信息以及每个场景对应的功能信息,对所述目标场景模板进行修正,通过替换用户自己的二维码、logo、口号、商品图片,以及APP的风格,功能模块的范围得到修正后的场景模板;其中,场景模板包括海报模板、H5场景模板,以及APP的风格,功能模块的范围等等;在模板上有了更多的选择和拓展,把海报里面的每个元素都进行了标签化处理,能够匹配到更广泛的相关模板。最重要的是本方法把模板里面的元素,用户通过商户后台选择自己的商品,标记上了产品logo和slogan等标识,实现了自动替换生成海报。S4获取所述修正后的场景模板的服务代码以及用于描述所述修正后的场景模板的每个功能信息的服务代码;即,根据客户的参数,生成apk,ipa签名文件。

S5将所述修正后的场景模板的服务代码和所述用于描述所述修正后的场景模板中的每个功能信息的服务代码进行组合,生成所述待开发软件。

步骤S1中,获取待开发软件的服务需求信息,执行所述服务需求信息对应的服务包括:

首先确定执行生成APP的执行终端,包括PC端或者手持移动终端,其中手持移动终端不限于手机和ipad等;其次确定生成app的操作系统,例如常见的PC端操作系统有Windows系统、IOS系统,手持移动终端的操作系统有Android系统以及IOS系统;根据不同的执行终端和操作系统模拟相应的开发框架和开发语言:其中开发框架包括react、JavaScript等,开发语言可以是Java、PHP、JS等,然后创建相应的虚拟环境,在服务器上通过接受客户指令生成app。

将对应的服务执行结果发送到场景模板库中,包括:通过Linux系统模拟开发环境,将服务的接口函数、参数类型以及参数值解析后调用本地函数,然后将结果序列化后发送到场景模板库。

所述服务的接口函数包含语言标识,所述语言标识包括Java和Object C;

当所述服务程序采用java语言实现时,所述语言标识为java;当所述服务程序采用Object C语言实现时,所述语言标识为Object C。

步骤S3中,根据所述待开发软件的场景描述信息以及每个场景对应的功能信息,对所述目标场景模板进行修正,得到修正后的场景模板具体包括:

根据所述待开发软件的场景描述信息对所述目标场景模板中的每个场景描述信息进行修正,得到第一场景模板;

根据所述待开发软件的每个场景对应的功能信息对所述第一场景模板中的每个场景对应的功能信息进行修正,得到修正后的场景模板。

所述根据所述待开发软件的场景描述信息对所述目标场景模板中的每个场景描述信息进行修正,得到第一场景模板具体包括:

依次将所述待开发软件的每个场景描述信息与所述目标场景模板中的每个场景描述信息进行比对;

若当前比对的场景描述信息相同,则继续比对下一场景描述信息;

若所述当前比对的场景描述信息不相同,则根据当前比对的所述待开发软件的场景描述信息对当前比对的所述目标场景模板中的场景描述信息进行修正。

步骤S3中,待开发软件的场景描述信息以及每个场景对应的功能信息包括:个性化文件和配置参数,其中,个性化文件包括,用户的logo图片,首页轮播图,APP的启动图、APP桌面图标;

配置参数主要包括,推送平台参数、支付平台参数、分享平台参数。

步骤S4中,根据所述待开发软件的每个场景对应的功能信息对所述第一场景模板中的每个场景对应的功能信息进行修正,得到修正后的场景模板具体包括:

依次将所述待开发软件的每个场景对应的功能信息与所述目标场景模板中的每个场景对应的功能信息进行比对;

若当前比对的场景对应的功能信息相同,则继续比对下一场景对应的功能信息;

若所述当前比对的场景对应的功能信息不相同,则根据当前比对的所述待开发软件的场景对应的功能信息对当前比对的所述目标场景模板中的场景对应的功能信息进行修正。

步骤S5中,所述生成待开发软件包括:通过网页界面显示的基于修订场景模板生成的店铺信息和商品信息;所述商品信息包括展示图片中预设关键字对应的虚拟商品。在步骤S5生成待开发软件之后还包括,为用户提供app的下载地址,同时上传小程序文件到小程序平台展示至客户端的移动终端显示界面。

实施例2:

基于实施例1的发明构思,本实施例2提供一种软件开发系统,包括:

第一获取模块,用于获取待开发软件的服务需求信息,执行所述服务需求信息对应的服务,将所述对应的服务执行结果发送到场景模板库中;

目标检索模块,用于从场景模板库中,检索出与所述待开发软件的场景描述标识相匹配的目标场景模板;其中,所述场景模板库中存储至少一个场景模板,所述场景模板用于表示场景描述标识、场景描述信息以及功能信息间的对应关系;

修订模块,用于根据所述待开发软件的场景描述信息以及每个场景对应的功能信息,对所述目标场景模板进行修正,得到修正后的场景模板;

更新模块,用于获取所述修正后的场景模板的服务代码以及用于描述所述修正后的场景模板的每个功能信息的服务代码;

生成模块,用于将所述修正后的场景模板的服务代码和所述用于描述所述修正后的场景模板中的每个功能信息的服务代码进行组合,生成所述待开发软件。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本申请的技术方案而非对其保护范围的限制,尽管参照上述实施例对本申请进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本申请后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,这些变更、修改或者等同替换,其均在其申请待批的权利要求范围之内。

相关技术
  • 一种面向数据分析系统的软件开发方法及系统
  • 基于LabVIEW模块化的燃料电池系统测试软件开发方法及系统
技术分类

06120112723195