CN105786460A - 一种基于服务组合的软件开发方法及装置 - Google Patents
一种基于服务组合的软件开发方法及装置 Download PDFInfo
- Publication number
- CN105786460A CN105786460A CN201410815238.XA CN201410815238A CN105786460A CN 105786460 A CN105786460 A CN 105786460A CN 201410815238 A CN201410815238 A CN 201410815238A CN 105786460 A CN105786460 A CN 105786460A
- Authority
- CN
- China
- Prior art keywords
- service
- information
- template
- software
- scene
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明的实施例提供了一种基于服务组合的软件开发方法及装置,涉及软件开发领域,解决了传统的基于服务组合的软件开发方法由于在整个软件开发的过程中没有一个统一的标准而需要大量的人工介入,从而导致在需求变更时无法快速的响应,效率低下的问题。具体方案为:获取待开发软件的服务需求信息并从服务场景模板库中检索出与之相匹配的目标服务场景模板,根据待开发软件的服务需求信息,对目标服务场景模板进行修正,得到修正后的服务场景模板,将获取到的用于组合修正后的服务场景模板的组合服务代码以及用于描述修正后的服务场景模板的每个功能描述信息的服务代码进行组合,生成待开发软件。本发明用于软件开发。
Description
技术领域
本发明涉及软件开发领域,尤其涉及一种基于服务组合的软件开发方法及装置。
背景技术
随着信息技术的发展以及经济全球化的趋势,传统的功能单一的软件应用已无法满足企业发展的需求。因此,开发具备多种功能、可以满足企业需求的应用软件成为技术人员研究的重点。但是,这种软件一般都是大型软件,传统的开发过程代码复用率低,需要进行大量重复性劳动,造成软件开发周期长、成本高。基于此,技术人员提出了一种服务组合技术。所谓服务组合技术,是一种可以跨越技术和组织的边界,将分布于广域网上的各种服务无缝集成并构建成增值业务应用的一种技术。通过基于服务组合的软件开发这种灵活的编程方式,技术人员可以通过服务查找、选择、匹配、组合等步骤快速组装出各种所需的软件应用,缩短了软件开发的周期,降低了开发成本。因此,基于服务组合的软件开发目前已经成为面向服务的计算模式下应用构造的主要方式。
但是,发明人发现,传统的基于服务组合的软件开发方法在整个软件开发的过程中并没有一个统一的标准。但是在服务查找过程中,很少有完全符合当前需求的服务,这需要技术人员将需求拆分成子功能,由于没有统一的标准,不同的技术人员可能拆分出不同的子功能,从而选择不同的服务,导致最后的功能质量无法保证;同样的,在服务匹配、组合过程中,由于各个服务没有统一的标准,还可能出现两个服务之间存在接口异构,参数数量、内容不对应等问题。因此,传统的基于服务组合的软件开发方法需要大量的人工介入,对选出的服务代码进行复杂的分析以选出最合适的服务,并对不匹配的接口进行修改,消耗了较多的时间,从而导致了传统组合方法在需求变更时无法快速的响应,效率低下,无法满足企业的需求。
发明内容
本发明的实施例提供一种基于服务组合的软件开发方法及装置,解决了传统的基于服务组合的软件开发方法由于在整个软件开发的过程中没有一个统一的标准而需要大量的人工介入,从而导致在需求变更时无法快速的响应,效率低下的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种基于服务组合的软件开发方法,所述方法包括:
获取待开发软件的服务需求信息;其中,所述服务需求信息包括场景描述标识、子场景描述信息以及每个子场景对应的功能描述信息;
从服务场景模板库中,检索出与所述待开发软件的服务场景标识相匹配的目标服务场景模板;其中,所述服务场景模板库中存储至少一个服务场景模板,所述服务场景模板用于表示场景描述标识、子场景描述信息以及功能描述信息间的对应关系;
根据所述待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对所述目标服务场景模板进行修正,得到修正后的服务场景模板;
获取用于组合所述修正后的服务场景模板的组合服务代码以及用于描述所述修正后的服务场景模板的每个功能描述信息的服务代码;
将所述用于组成所述修正后的服务场景模板的服务组合代码和所述用于描述所述修正后的服务场景模板中的每个功能描述信息的服务代码进行组合,生成所述待开发软件。
在第一方面的第一种可能的实现方式中,所述根据所述待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对所述目标服务场景模板进行修正,得到修正后的服务场景模板具体包括:
根据所述待开发软件的子场景描述信息对所述目标服务场景模板中的每个子场景描述信息进行修正,得到第一服务场景模板;
根据所述待开发软件的每个子场景对应的功能描述信息对所述第一服务场景模板中的每个子场景对应的功能描述信息进行修正,得到修正后的服务场景模板。
根据第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述根据所述待开发软件的子场景描述信息对所述目标服务场景模板中的每个子场景描述信息进行修正,得到第一服务场景模板具体包括:
依次将所述待开发软件的每个子场景描述信息与所述目标服务场景模板中的每个子场景描述信息进行比对;
若当前比对的子场景描述信息相同,则继续比对下一子场景描述信息;
若所述当前比对的子场景描述信息不相同,则根据当前比对的所述待开发软件的子场景描述信息对当前比对的所述目标服务场景模板中的子场景描述信息进行修正。
根据第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述根据所述待开发软件的每个子场景对应的功能描述信息对所述第一服务场景模板中的每个子场景对应的功能描述信息进行修正,得到修正后的服务场景模板具体包括:
依次将所述待开发软件的每个子场景对应的功能描述信息与所述目标服务场景模板中的每个子场景对应的功能描述信息进行比对;
若当前比对的子场景对应的功能描述信息相同,则继续比对下一子场景对应的功能描述信息;
若所述当前比对的子场景对应的功能描述信息不相同,则根据当前比对的所述待开发软件的子场景对应的功能描述信息对当前比对的所述目标服务场景模板中的子场景对应的功能描述信息进行修正。
结合第一方面或第一方面的第一种至第三种可能的实现方式中的任一种实现方式,在第一方面的第四种可能的实现方式中,所述子场景描述信息包括用于组成所述待开发软件的服务场景的每个子场景的子场景描述标识和所有子场景间的执行顺序约束信息;所述子场景对应的功能描述信息包括所述子场景需要实现的每个服务功能的功能约束信息和所有服务功能间的执行顺序约束信息。
根据第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述获取用于组合所述修正后的服务场景模板的组合服务代码以及用于描述所述修正后的服务场景模板的每个功能描述信息的服务代码具体包括:
从服务数据库中获取用于组合所述修正后的服务场景模板的组合服务代码;其中,所述服务数据库中存储了至少一个服务软件进行分解后的所有代码;
根据所述修正后的服务场景模板的每个功能描述信息的每个功能约束信息,在所述服务数据库中检索所述每个功能约束信息对应的代码;
若在所述服务数据库中检索到第一功能约束信息对应的代码,则从所述服务数据库中读取所述第一功能约束信息对应的代码;其中,所述第一功能约束信息为所述修正后的服务场景模板中的任一功能约束信息;
若在所述服务数据库中未检索到所述第一功能约束信息对应的代码,则从所述服务数据库中获取能够实现所述第一功能约束信息对应服务功能的代码,并根据所述第一功能约束信息对所述能够实现所述第一功能约束信息对应服务功能的代码进行修正。
第二方面,提供一种基于服务组合的软件开发装置,所述基于服务组合的软件开发装置包括:
第一获取单元,用于获取待开发软件的服务需求信息;其中,所述服务需求信息包括场景描述标识、子场景描述信息以及每个子场景对应的功能描述信息;
检索单元,用于从服务场景模板库中,检索出与所述待开发软件的服务场景标识相匹配的目标服务场景模板;其中,所述服务场景模板库中存储至少一个服务场景模板,所述服务场景模板用于表示场景描述标识、子场景描述信息以及功能描述信息间的对应关系;
修正单元,用于根据所述待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对所述目标服务场景模板进行修正,得到修正后的服务场景模板;
第二获取单元,用于获取用于组合所述修正后的服务场景模板的组合服务代码以及用于描述所述修正后的服务场景模板的每个功能描述信息的服务代码;
组合单元,用于将所述用于组成所述修正后的服务场景模板的服务组合代码和所述用于描述所述修正后的服务场景模板中的每个功能描述信息的服务代码进行组合,生成所述待开发软件。
在第二方面的第一种可能的实现方式中,所述修正单元具体包括:
第一修正模块,用于根据所述待开发软件的子场景描述信息对所述目标服务场景模板中的每个子场景描述信息进行修正,得到第一服务场景模板;
第二修正模块,用于根据所述待开发软件的每个子场景对应的功能描述信息对所述第一服务场景模板中的每个子场景对应的功能描述信息进行修正,得到修正后的服务场景模板。
根据第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第一修正模块具体用于:
依次将所述待开发软件的每个子场景描述信息与所述目标服务场景模板中的每个子场景描述信息进行比对;
若当前比对的子场景描述信息相同,则继续比对下一子场景描述信息;
若所述当前比对的子场景描述信息不相同,则根据当前比对的所述待开发软件的子场景描述信息对当前比对的所述目标服务场景模板中的子场景描述信息进行修正。
根据第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第二修正模块具体用于:
依次将所述待开发软件的每个子场景对应的功能描述信息与所述目标服务场景模板中的每个子场景对应的功能描述信息进行比对;
若当前比对的子场景对应的功能描述信息相同,则继续比对下一子场景对应的功能描述信息;
若所述当前比对的子场景对应的功能描述信息不相同,则根据当前比对的所述待开发软件的子场景对应的功能描述信息对当前比对的所述目标服务场景模板中的子场景对应的功能描述信息进行修正。
结合第二方面或第二方面的第一种至第三种可能的实现方式中的任一种实现方式,在第二方面的第四种可能的实现方式中,所述子场景描述信息包括用于组成所述待开发软件的服务场景的每个子场景的子场景描述标识和所有子场景间的执行顺序约束信息;所述子场景对应的功能描述信息包括所述子场景需要实现的每个服务功能的功能约束信息和所有服务功能间的执行顺序约束信息。
根据第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第二获取单元具体包括:
获取模块,用于从服务数据库中获取用于组合所述修正后的服务场景模板的组合服务代码;其中,所述服务数据库中存储了至少一个服务软件进行分解后的所有代码;
检索模块,用于根据所述修正后的服务场景模板的每个功能描述信息的每个功能约束信息,在所述服务数据库中检索所述每个功能约束信息对应的代码;
读取模块,若在所述服务数据库中检索到第一功能约束信息对应的代码,则从所述服务数据库中读取所述第一功能约束信息对应的代码;其中,所述第一功能约束信息为所述修正后的服务场景模板中的任一功能约束信息;
修正模块,若在所述服务数据库中未检索到所述第一功能约束信息对应的代码,则从所述服务数据库中获取能够实现所述第一功能约束信息对应服务功能的代码,并根据所述第一功能约束信息对所述能够实现所述第一功能约束信息对应服务功能的代码进行修正。
本发明实施例提供的基于服务组合的软件开发方法及装置,基于服务组合的软件开发装置获取待开发软件的服务需求信息并从服务场景模板库中,检索出与待开发软件的服务场景标识相匹配的目标服务场景模板,接着根据待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对目标服务场景模板进行修正,得到修正后的服务场景模板,然后获取用于组合修正后的服务场景模板的组合服务代码以及用于描述修正后的服务场景模板的每个功能描述信息的服务代码,最后将用于组成修正后的服务场景模板的服务组合代码和用于描述修正后的服务场景模板中的每个功能描述信息的服务代码进行组合,生成待开发软件,通过在一个具有统一标准的目标服务场景模板上进行修正,得到一个具有统一标准的修正后的服务场景模板,并将组成该修正后的服务场景模板的代码进行组合,生成待开发软件,解决了传统的基于服务组合的软件开发方法由于在整个软件开发的过程中没有一个统一的标准,而需要大量的人工介入选择合适的服务并修改不匹配参数的问题,从而减少了软件开发的时间,提高了开发效率,满足了企业需求变更时快速响应的要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例提供的一种基于服务组合的软件开发方法流程示意图;
图2为本发明的实施例提供的目标服务场景模板结构示意图;
图3为本发明的实施例提供的另一种基于服务组合的软件开发方法流程示意图;
图4为本发明的实施例提供的第一服务场景模板的结构示意图;
图5为本发明的实施例提供的一种基于服务组合的软件开发装置结构示意图;
图6为本发明的实施例提供的另一种基于服务组合的软件开发装置结构示意图;
图7为本发明的实施例提供的又一种基于服务组合的软件开发装置结构示意图;
图8为本发明的实施例提供的再一种基于服务组合的软件开发装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例提供一种基于服务组合的软件开发方法,如图1所示,该方法具体包括如下步骤:
101、基于服务组合的软件开发装置获取待开发软件的服务需求信息。
其中,上述的服务需求信息包括场景描述标识、子场景描述信息以及每个子场景对应的功能描述信息。该待开发软件的服务需求信息是用可扩展标记语言(英文:ExtensibleMarkupLanguage,简称XML)来描述的。上述的子场景描述信息包括用于组成待开发软件的服务场景的每个子场景的子场景描述标识和所有子场景间的执行顺序约束信息。上述的子场景对应的功能描述信息包括子场景需要实现的每个服务功能的功能约束信息和所有服务功能间的执行顺序约束信息。
示例性的,若某公司需要开发一个可以预约与会人员的会议软件时,技术人员首先需要确定开发该会议软件需要实现的步骤。若该会议软件可以通过申请会议、预约会议、进行会议和结束会议这四个步骤来实现这个会议软件。此时,我们可以认为,这个会议软件的服务场景即会议场景,而上述的用于实现该会议软件的四个步骤即该会议场景的四个子场景,而上述的每个步骤所能实现服务即该步骤对应子场景的服务功能。随后,技术人员对该会议软件所抽象出的服务场景、子场景、各个子场景对应的服务功能分别进行语义描述,从而描述出用于构建该会议场景所涉及的上下文特征(即上述的服务需求信息),即确定出该会议场景的描述标识、上述的四个步骤中的每个步骤对应的子场景描述标识、每个子场景对应的每个服务功能的功能描述信息、用于描述各个子场景间的执行顺序的约束信息以及用于描述每个子场景的所有服务功能间的执行顺序的约束信息。
102、基于服务组合的软件开发装置从服务场景模板库中,检索出与待开发软件的服务场景标识相匹配的目标服务场景模板。
其中,上述的服务场景模板库中存储至少一个服务场景模板,该服务场景模板用于表示场景描述标识、子场景描述信息以及功能描述信息间的对应关系。示例性的,若公司需要开发的会议软件的场景标识是Meeting,则基于服务组合的软件开发装置在服务场景模板库中检索场景标识为Meeting的目标服务场景模板。
具体的,上述的服务场景模板库中存储有至少一个由现有软件抽象而成的服务场景模板,同时,上述的现有软件包括技术人员预先存储的软件,也包含了后续使用该预存的软件对应的服务场景模板所开发出的软件。具体的,上述的服务场景模板是对现有软件的服务场景、服务功能进行划分后,通过XML文件来对整个服务场景的划分进行描述。其中,该服务场景模板的整体结构是一个由服务场景、服务子场景、服务功能三层内容组成的树状结构。参照图2所示的服务场景标识为(Meeting)的会议场景对应的服务场景模版的结构示意图可知,该会议场景包括三个子场景,即申请会议、进行会议和结束会议,且申请会议子场景是由资源请求、验证权限、申请完成三个服务功能组成,该进行会议子场景是由进入会议、会议控制这两个服务功能组成,该结束会议是由状态变更、释放资源、保存纪要这三个服务功能组成。
103、基于服务组合的软件开发装置根据待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对目标服务场景模板进行修正,得到修正后的服务场景模板。
具体的,基于服务组合的软件开发装置在检索到与该待开发软件的服务场景标识相匹配的目标服务场景模板后,会基于该待开发软件的服务需求信息对该目标服务场景模板中的每层结构依次进行修正,使得该目标服务场景模板变更为能够体现该待开发软件的服务需求信息。示例性的,该装置可以先对该目标服务场景模板中的子场景层中的每个子场景信息进行修正,然后再对该目标服务场景模板中的服务功能层中的每个子场景的服务功能信息依次进行修正;或者,该装置可以按照子场景的执行顺序依次对每个子场景进行修正,而该装置在对每个子场景继续修正时,会将该子场景的子场景信息以及对应的服务功能信息依次进行修正。
示例性的,以步骤101提到的可以预约与会人员的会议软件为待开发软件,若根据该待开发软件的服务需求检索到的目标服务场景模板是如图2所示的服务场景标识为(Meeing)的会议场景对应的服务场景模板时。基于服务组合的软件开发装置将待开发软件的子场景描述信息与现有匹配到的目标服务场景模板的子场景描述信息进行比较后,确定该待开发软件的服务需求信息相比该目标服务场景模板多了预约会议这一子场景的子场景描述信息,因此,该装置在目标服务场景模板中的相应位置(即申请会议和进行会议之间)增加预约会议这一子场景的子场景描述信息和对应的功能描述信息。接着,该装置将待开发软件的每个子场景对应的功能描述信息与目标服务场景模板的每个子场景对应的功能描述信息进行比较后,确定该待开发软件中结束会议的子场景对应的发送纪要这一功能描述信息与上述的目标服务场景模板中对应的保存纪要这一功能描述信息不同,则基于服务组合的软件开发装置将上述的目标服务场景模板中对应的保存纪要这一功能描述信息修正为发送纪要,从而得到修正后的服务场景模板。
104、基于服务组合的软件开发装置获取用于组合修正后的服务场景模板的组合服务代码以及用于描述修正后的服务场景模板的每个功能描述信息的服务代码。
具体的,步骤104中基于服务组合的软件开发装置所获取到的服务代码均是该装置从服务数据库中获取的。其中,上述的服务数据库包括数据库、文件系统和外部服务接口。上述的数据库中存储着每个数据的逻辑定义及数据间的逻辑联系,用于服务查询索引;上述的服务数据库的文件系统用于存储内部服务代码,其中包括:原子服务代码和组合服务代码,该原子服务代码中包含了现有软件拆分得到的服务功能所对应的服务代码。而上述的组合服务代码用于描述各个现有软件对应的场景服务模版的服务代码。其中,上述的服务代码都是通过服务数据库中的外部服务接口获取的。
105、基于服务组合的软件开发装置将用于组成修正后的服务场景模板的服务组合代码和用于描述修正后的服务场景模板中的每个功能描述信息的服务代码进行组合,生成待开发软件。
本发明实施例提供的基于服务组合的软件开发方法,通过基于服务组合的软件开发装置获取待开发软件的服务需求信息并从服务场景模板库中,检索出与待开发软件的服务场景标识相匹配的目标服务场景模板,接着根据待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对目标服务场景模板进行修正,得到修正后的服务场景模板,然后获取用于组合修正后的服务场景模板的组合服务代码以及用于描述修正后的服务场景模板的每个功能描述信息的服务代码,最后将用于组成修正后的服务场景模板的服务组合代码和用于描述修正后的服务场景模板中的每个功能描述信息的服务代码进行组合,生成待开发软件,通过在一个具有统一标准的目标服务场景模板上进行修正,得到一个具有统一标准的修正后的服务场景模板,并将组成该修正后的服务场景模板的代码进行组合,生成待开发软件,解决了传统的基于服务组合的软件开发方法由于在整个软件开发的过程中没有一个统一的标准,而需要大量的人工介入选择合适的服务并修改不匹配参数的问题,从而减少了软件开发的时间,提高了开发效率,满足了企业需求变更时快速响应的要求。
本发明的实施例提供一种基于服务组合的软件开发方法,如图3所示,该方法具体包括如下步骤:
201、基于服务组合的软件开发装置获取待开发软件的服务需求信息。
202、基于服务组合的软件开发装置从服务场景模板库中,检索出与待开发软件的服务场景标识相匹配的目标服务场景模板。
具体的,步骤201和步骤202的描述可以参照图1对应实施例中的步骤101和步骤102中的详细描述,这里不再赘述。
203、基于服务组合的软件开发装置根据待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对目标服务场景模板进行修正,得到修正后的服务场景模板。
可选的,步骤203具体包括如下步骤:
203a、基于服务组合的软件开发装置根据待开发软件的子场景描述信息对目标服务场景模板中的每个子场景描述信息进行修正,得到第一服务场景模板。
可选的,步骤203a具体包括如下步骤:
a1、基于服务组合的软件开发装置依次将待开发软件的每个子场景描述信息与目标服务场景模板中的每个子场景描述信息进行比对。
a2、若当前比对的子场景描述信息相同,则基于服务组合的软件开发装置继续比对下一子场景描述信息。
a3、若当前比对的子场景描述信息不相同,则基于服务组合的软件开发装置根据当前比对的待开发软件的子场景描述信息对当前比对的目标服务场景模板中的子场景描述信息进行修正。
示例性的,以步骤101提到的可以预约与会人员的会议软件为待开发软件,若根据该待开发软件的服务需求检索到的目标服务场景模板是如图2所示的服务场景标识为(Meeting)的会议场景对应的服务场景模板。基于服务组合的软件开发装置将该待开发软件中的申请会议的子场景描述信息与目标服务场景模板中的申请会议子场景描述信息进行比对,确定与目标服务场景模板中的申请会议的子场景描述信息相同,则该装置继续将待开发软件服务需求中的预约会议与目标服务场景模板中子场景的子场景描述信息进行比对。该装置通过比对,确定目标服务场景模板中并未包含预约会议这个子场景的场景描述信息,则该装置将预约会议这个子场景的场景描述信息添加到目标服务场景模板中的申请会议和进行会议这两个子场景之间。
具体过程如下:
<domainscene=“Meeting”>
<addname=“BespeakMeeting”type=“feature”>
</add>
<seq>
<feature>Applicationmeeting</feature>
<feature>BespeakMeeting</feature>
<feature>Themeeting</feature>
<feature>Theendofthemeeting</feature>
</seq>
</domain>
其中,上述的<domainscene=“Meeting”>是指服务场景标识为会议;
上述的<addname=“BespeakMeeting”type=“feature”>是指增加一个名称为预约会议的子场景;
上述的<feature>Applicationmeeting</feature>
<feature>BespeakMeeting</feature>
<feature>Themeeting</feature>
<feature>Theendofthemeeting</feature>是指修正后得到的第一服务场景模板的子场景依次为申请会议、预约会议、进行会议和结束会议。
基于服务组合的软件开发装置依次将待开发软件服务需求中剩余的两个子场景的子场景描述信息分别与目标服务场景模板的子场景描述信息进行比对,确定所比对的子场景描述信息与目标服务场景模板中的子场景描述信息相同,则该装置通过在目标服务场景模板中添加了一个预约会议的子场景描述信息便得到如图4所示的修正后的第一服务场景模板的结构,其包括申请会议、预约会议、进行会议和结束会议这四个子场景,该申请会议由资源请求、验证权限、申请完成三个服务功能组成,该预约会议由生成邀请、加密、发送邀请三个服务功能组成,该进行会议由进入会议、会议控制两个服务功能组成,该结束会议由状态变更、释放资源、保存纪要三个服务功能组成。
203b、基于服务组合的软件开发装置根据待开发软件的每个子场景对应的功能描述信息对第一服务场景模板中的每个子场景对应的功能描述信息进行修正,得到修正后的服务场景模板。
可选的,步骤203b具体包括如下步骤:
b1、基于服务组合的软件开发装置依次将待开发软件的每个子场景对应的功能描述信息与目标服务场景模板中的每个子场景对应的功能描述信息进行比对。
b2、若当前比对的子场景对应的功能描述信息相同,则基于服务组合的软件开发装置继续比对下一子场景对应的功能描述信息。
b3、若当前比对的子场景对应的功能描述信息不相同,则基于服务组合的软件开发装置根据当前比对的待开发软件的子场景对应的功能描述信息对当前比对的目标服务场景模板中的子场景对应的功能描述信息进行修正。
示例性的,基于步骤203中的例子所提到的待开发软件与第一服务场景模板,基于服务组合的软件开发装置将待开发软件中申请会议这一子场景对应的功能描述信息依次与第一服务场景模板中申请会议这一子场景对应的功能描述信息进行比对,确定待开发软件和第一服务场景模板中该子场景对应的功能描述信息相同后,则该装置继续依次将待开发软件中各个子场景对应的功能描述信息与第一服务场景模板中的功能描述信息进行比对。当比对到结束会议中的获取发送名单这一功能描述信息时,该装置确定第一服务场景模板中结束会议对应的功能描述信息中并没有获取发送名单这一功能描述信息,则该装置将获取发送名单这一功能描述信息添加到第一服务场景模板中的结束会议子场景的相应位置(即结束会议中的释放资源和保存纪要这两个功能描述信息之间)。接着该装置对待开发软件中该子场景中的下一条功能描述信息发送纪要与第一服务场景模板中相应子场景对应的功能描述信息进行比对,确定待开发软件中的发送纪要这一功能描述信息与第一服务模板中的保存纪要这一功能描述信息不同,则该装置将第一服务场景模板中结束会议对应的保存纪要替换为发送纪要,从而得到修正后的服务场景模板。
204、基于服务组合的软件开发装置获取用于组合修正后的服务场景模板的组合服务代码以及用于描述修正后的服务场景模板的每个功能描述信息的服务代码。
可选的,步骤204具体包括如下步骤:
204a、基于服务组合的软件开发装置从服务数据库中获取用于组合修正后的服务场景模板的组合服务代码。
其中,上述的服务数据库的文件系统中存储了至少一个服务软件进行分解后的所有代码。
示例性的,将现有软件的服务的输入、输出等参数通过XLM文件进行描述,具体包括参数名称、参数类型以及数据名称等。其描述可以按照如下所示的格式:
其中,上述的文件描述了两个输入参数,一个输出参数,并分别描述了它们的参数名称、参数类型以及数据名称。其中的一个输入参数的参数名称是uid,其参数类型为int,对应的数据名称是uid;另一个输入参数的参数名称是dest,其参数类型是string,对应的数据名称是dest;而输出参数的参数名称是call_feed,其参数类型为boolean,对应的数据名称为call_feed。
在服务数据库中,每个数据名称对应一个标识符,而上述的数据名称uid、dest和call_feed均是服务数据库中的标识符,根据上述的标识符可以找到各自的服务代码在服务数据库的文件系统中的地址。其具体描述过程可以参照如下所示的格式:
204b、基于服务组合的软件开发装置根据修正后的服务场景模板的每个功能描述信息的每个功能约束信息,在服务数据库中检索每个功能约束信息对应的代码。
204c、若在服务数据库中检索到第一功能约束信息对应的代码,则基于服务组合的软件开发装置从服务数据库中读取第一功能约束信息对应的代码。
其中,上述的第一功能约束信息为修正后的服务场景模板中的任一功能约束信息。
204d、若在服务数据库中未检索到第一功能约束信息对应的代码,则基于服务组合的软件开发装置从服务数据库中获取能够实现第一功能约束信息对应服务功能的代码,并根据第一功能约束信息对能够实现第一功能约束信息对应服务功能的代码进行修正。
示例性的,基于服务组合的软件开发装置根据修正后的服务场景模板标识获取与其对应的组合服务代码。接着,该装置根据修正后服务场景模板的每个功能描述信息的每个功能约束信息的标识获取与其对应的服务代码。例如,在预约会议子场景中的发送邀请这一功能描述信息,若其功能约束信息为邀请通过Gmail发送,但在服务数据库的文件系统中并没有检索到Gmail发送标识所对应的服务代码,因此只能获取一个Hotmail发送的服务代码,并对该Hotmail发送的服务代码进行修正,从而得到Gmail发送的服务代码。具体过程如下:
其中,上述的<servicename=“SendSummarybyMail”>是指服务名称为邮件发送会议纪要;<extendedname=“SendMessage”/>是指扩展名为发送信息;<methodname=“Email”>是指发送路径为通过邮箱;<key=“server”value=“Gmail”/>是指使用Gmail服务器发送会议纪要。
若在服务数据库的文件系统中可以找到Gmail发送标识对应的服务代码,则基于服务组合的软件开发装置直接获取该服务代码。
205、基于服务组合的软件开发装置将用于组成修正后的服务场景模板的服务组合代码和用于描述修正后的服务场景模板中的每个功能描述信息的服务代码进行组合,生成待开发软件。
本发明实施例提供的基于服务组合的软件开发方法,通过基于服务组合的软件开发装置获取待开发软件的服务需求信息并从服务场景模板库中,检索出与待开发软件的服务场景标识相匹配的目标服务场景模板,接着根据待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对目标服务场景模板进行修正,得到修正后的服务场景模板,然后获取用于组合修正后的服务场景模板的组合服务代码以及用于描述修正后的服务场景模板的每个功能描述信息的服务代码,最后将用于组成修正后的服务场景模板的服务组合代码和用于描述修正后的服务场景模板中的每个功能描述信息的服务代码进行组合,生成待开发软件,通过在一个具有统一标准的目标服务场景模板上进行修正,得到一个具有统一标准的修正后的服务场景模板,并将组成该修正后的服务场景模板的代码进行组合,生成待开发软件,解决了传统的基于服务组合的软件开发方法由于在整个软件开发的过程中没有一个统一的标准,而需要大量的人工介入选择合适的服务并修改不匹配参数的问题,从而减少了软件开发的时间,提高了开发效率,满足了企业需求变更时快速响应的要求。
本发明的实施例提供一种基于服务组合的软件开发装置3,如图5所示,该基于服务组合的软件开发装置3具体包括:第一获取单元31、检索单元32、修正单元33、第二获取单元34和组合单元35,其中:
第一获取单元31,用于获取待开发软件的服务需求信息;其中,上述的服务需求信息包括场景描述标识、子场景描述信息以及每个子场景对应的功能描述信息。
检索单元32,用于从服务场景模板库中,检索出与上述的待开发软件的服务场景标识相匹配的目标服务场景模板;其中上述的服务场景模板库中存储至少一个服务场景模板,该服务场景模板用于表示场景描述标识、子场景描述信息以及功能描述信息间的对应关系。
修正单元33,用于根据上述的待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对目标服务场景模板进行修正,得到修正后的服务场景模板。
第二获取单元34,用于获取用于组合修正后的服务场景模板的组合服务代码以及用于描述该修正后的服务场景模板的每个功能描述信息的服务代码。
组合单元35,用于将上述的用于组成修正后的服务场景模板的服务组合代码和用于描述修正后的服务场景模板中的每个功能描述信息的服务代码进行组合,生成待开发软件。
可选的,如图6所示,上述的修正单元33具体包括:第一修正模块331和第二修正模块332,其中:
第一修正模块331,用于根据待开发软件的子场景描述信息对目标服务场景模板中的每个子场景描述信息进行修正,得到第一服务场景模板。
第二修正模块332,用于根据待开发软件的每个子场景对应的功能描述信息对第一服务场景模板中的每个子场景对应的功能描述信息进行修正,得到修正后的服务场景模板。
可选的,上述的第一修正模块331具体用于:
依次将待开发软件的每个子场景描述信息与目标服务场景模板中的每个子场景描述信息进行比对。
若当前比对的子场景描述信息相同,则继续比对下一子场景描述信息。
若当前比对的子场景描述信息不相同,则根据当前比对的待开发软件的子场景描述信息对当前比对的目标服务场景模板中的子场景描述信息进行修正。
可选的,上述的第二修正模块332具体用于:
依次将待开发软件的每个子场景对应的功能描述信息与目标服务场景模板中的每个子场景对应的功能描述信息进行比对。
若当前比对的子场景对应的功能描述信息相同,则继续比对下一子场景对应的功能描述信息。
若当前比对的子场景对应的功能描述信息不相同,则根据当前比对的待开发软件的子场景对应的功能描述信息对当前比对的目标服务场景模板中的子场景对应的功能描述信息进行修正。
可选的,上述的子场景描述信息包括用于组成待开发软件的服务场景的每个子场景的子场景描述标识和所有子场景间的执行顺序约束信息;上述的子场景对应的功能描述信息包括该子场景需要实现的每个服务功能的功能约束信息和所有服务功能间的执行顺序约束信息。
可选的,如图7所示,上述的第二获取单元34具体包括:获取模块341、检索模块342、读取模块343和修正模块344,其中:
获取模块341,用于从服务数据库中获取用于组合修正后的服务场景模板的组合服务代码;其中,上述的服务数据库中存储了至少一个服务软件进行分解后的所有代码。
检索模块342,用于根据修正后的服务场景模板的每个功能描述信息的每个功能约束信息,在服务数据库中检索每个功能约束信息对应的代码。
读取模块343,若在服务数据库中检索到第一功能约束信息对应的代码,则从该服务数据库中读取该第一功能约束信息对应的代码;其中,上述的第一功能约束信息为修正后的服务场景模板中的任一功能约束信息。
修正模块344,若在服务数据库中未检索到第一功能约束信息对应的代码,则该从服务数据库中获取能够实现该第一功能约束信息对应服务功能的代码,并根据该第一功能约束信息对能够实现该第一功能约束信息对应服务功能的代码进行修正。
本发明实施例提供的基于服务组合的软件开发装置,通过基于服务组合的软件开发装置获取待开发软件的服务需求信息并从服务场景模板库中,检索出与待开发软件的服务场景标识相匹配的目标服务场景模板,接着根据待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对目标服务场景模板进行修正,得到修正后的服务场景模板,然后获取用于组合修正后的服务场景模板的组合服务代码以及用于描述修正后的服务场景模板的每个功能描述信息的服务代码,最后将用于组成修正后的服务场景模板的服务组合代码和用于描述修正后的服务场景模板中的每个功能描述信息的服务代码进行组合,生成待开发软件,通过在一个具有统一标准的目标服务场景模板上进行修正,得到一个具有统一标准的修正后的服务场景模板,并将组成该修正后的服务场景模板的代码进行组合,生成待开发软件,解决了传统的基于服务组合的软件开发方法由于在整个软件开发的过程中没有一个统一的标准,而需要大量的人工介入选择合适的服务并修改不匹配参数的问题,从而减少了软件开发的时间,提高了开发效率,满足了企业需求变更时快速响应的要求。
本发明的实施例提供另一种基于服务组合的软件开发装置4,该基于服务组合的软件开发装置4可以是基于服务组合的软件开发平台,如图8所示,该基于服务组合的软件开发装置4包括:处理器41和存储器42。处理器41与其他各个部件是通过总线连接的。该总线可以是工业标准体系结构(IndustryStandardArchitecture,简称ISA)总线、外部设备互连(PeripheralComponent,简称PCI)总线或扩展工业标准体系结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
处理器41可以是:通用中央处理器(CentralProcessionUnit,简称CPU)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现成可编程门阵列(FPGA)或其他可编程逻辑器件。
存储器42可以是计算机能够存取的任何可用介质,包括但不限于:只读存储器(ReadOnlyMemory,简称ROM)、随机存储器(RandomAccessMemory,简称RAM)、或磁盘存储(DiskStorage)、闪存、可编程只读存储器或电可擦写可编程存储器、寄存器等本领域熟悉的存储介质。存储器42用于向处理器41提供指令和数据信息,和处理器41通过总线连接。
处理器41,用于获取待开发软件的服务需求信息;其中,上述的服务需求信息包括场景描述标识、子场景描述信息以及每个子场景对应的功能描述信息。
处理器41,还用于从服务场景模板库中,检索出与待开发软件的服务场景标识相匹配的目标服务场景模板;其中,上述的服务场景模板库存储在存储器42中,该服务场景模板库中存储至少一个服务场景模板,该服务场景模板用于表示场景描述标识、子场景描述信息以及功能描述信息间的对应关系。
处理器41,还用于根据待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对目标服务场景模板进行修正,得到修正后的服务场景模板。
处理器41,还用于获取用于组合修正后的服务场景模板的组合服务代码以及用于描述修正后的服务场景模板的每个功能描述信息的服务代码。
处理器41,还用于将获取的用于组成修正后的服务场景模板的服务组合代码和用于描述修正后的服务场景模板中的每个功能描述信息的服务代码进行组合,生成待开发软件。
可选的,上述的处理器41在根据待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对目标服务场景模板进行修正,得到修正后的服务场景模板时具体用于:
根据待开发软件的子场景描述信息对目标服务场景模板中的每个子场景描述信息进行修正,得到第一服务场景模板。
根据待开发软件的每个子场景对应的功能描述信息对第一服务场景模板中的每个子场景对应的功能描述信息进行修正,得到修正后的服务场景模板。
可选的,上述的处理器41在根据待开发软件的子场景描述信息对目标服务场景模板中的每个子场景描述信息进行修正,得到第一服务场景模板时具体用于:
依次将待开发软件的每个子场景描述信息与目标服务场景模板中的每个子场景描述信息进行比对。
若当前比对的子场景描述信息相同,则继续比对下一子场景描述信息。
若当前比对的子场景描述信息不相同,则根据当前比对的待开发软件的子场景描述信息对当前比对的目标服务场景模板中的子场景描述信息进行修正。
可选的,上述的处理器41在根据待开发软件的每个子场景对应的功能描述信息对第一服务场景模板中的每个子场景对应的功能描述信息进行修正,得到修正后的服务场景模板时具体用于:
依次将待开发软件的每个子场景对应的功能描述信息与目标服务场景模板中的每个子场景对应的功能描述信息进行比对。
若当前比对的子场景对应的功能描述信息相同,则继续比对下一子场景对应的功能描述信息。
若当前比对的子场景对应的功能描述信息不相同,则根据当前比对的待开发软件的子场景对应的功能描述信息对当前比对的目标服务场景模板中的子场景对应的功能描述信息进行修正。
可选的,上述的子场景描述信息包括用于组成待开发软件的服务场景的每个子场景的子场景描述标识和所有子场景间的执行顺序约束信息;上述的子场景对应的功能描述信息包括该子场景需要实现的每个服务功能的功能约束信息和所有服务功能间的执行顺序约束信息。
可选的,上述的处理器41在获取用于组合修正后的服务场景模板的组合服务代码以及用于描述修正后的服务场景模板的每个功能描述信息的服务代码时具体用于:
从服务数据库中获取用于组合修正后的服务场景模板的组合服务代码;其中,上述的服务数据库中存储了至少一个服务软件进行分解后的所有代码。
根据修正后的服务场景模板的每个功能描述信息的每个功能约束信息,在服务数据库中检索每个功能约束信息对应的代码。
若在服务数据库中检索到第一功能约束信息对应的代码,则从该服务数据库中读取该第一功能约束信息对应的代码;其中,上述的第一功能约束信息为修正后的服务场景模板中的任一功能约束信息。
若在服务数据库中未检索到第一功能约束信息对应的代码,则从该服务数据库中获取能够实现该第一功能约束信息对应服务功能的代码,并根据该第一功能约束信息对能够实现该第一功能约束信息对应服务功能的代码进行修正。
本发明实施例提供的基于服务组合的软件开发装置,通过基于服务组合的软件开发装置获取待开发软件的服务需求信息并从服务场景模板库中,检索出与待开发软件的服务场景标识相匹配的目标服务场景模板,接着根据待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对目标服务场景模板进行修正,得到修正后的服务场景模板,然后获取用于组合修正后的服务场景模板的组合服务代码以及用于描述修正后的服务场景模板的每个功能描述信息的服务代码,最后将用于组成修正后的服务场景模板的服务组合代码和用于描述修正后的服务场景模板中的每个功能描述信息的服务代码进行组合,生成待开发软件,通过在一个具有统一标准的目标服务场景模板上进行修正,得到一个具有统一标准的修正后的服务场景模板,并将组成该修正后的服务场景模板的代码进行组合,生成待开发软件,解决了传统的基于服务组合的软件开发方法由于在整个软件开发的过程中没有一个统一的标准,而需要大量的人工介入选择合适的服务并修改不匹配参数的问题,从而减少了软件开发的时间,提高了开发效率,满足了企业需求变更时快速响应的要求。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.一种基于服务组合的软件开发方法,其特征在于,所述方法包括:
获取待开发软件的服务需求信息;其中,所述服务需求信息包括场景描述标识、子场景描述信息以及每个子场景对应的功能描述信息;
从服务场景模板库中,检索出与所述待开发软件的服务场景标识相匹配的目标服务场景模板;其中,所述服务场景模板库中存储至少一个服务场景模板,所述服务场景模板用于表示场景描述标识、子场景描述信息以及功能描述信息间的对应关系;
根据所述待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对所述目标服务场景模板进行修正,得到修正后的服务场景模板;
获取用于组合所述修正后的服务场景模板的组合服务代码以及用于描述所述修正后的服务场景模板的每个功能描述信息的服务代码;
将所述用于组成所述修正后的服务场景模板的服务组合代码和所述用于描述所述修正后的服务场景模板中的每个功能描述信息的服务代码进行组合,生成所述待开发软件。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对所述目标服务场景模板进行修正,得到修正后的服务场景模板具体包括:
根据所述待开发软件的子场景描述信息对所述目标服务场景模板中的每个子场景描述信息进行修正,得到第一服务场景模板;
根据所述待开发软件的每个子场景对应的功能描述信息对所述第一服务场景模板中的每个子场景对应的功能描述信息进行修正,得到修正后的服务场景模板。
3.根据权利要求2所述的方法,其特征在于,所述根据所述待开发软件的子场景描述信息对所述目标服务场景模板中的每个子场景描述信息进行修正,得到第一服务场景模板具体包括:
依次将所述待开发软件的每个子场景描述信息与所述目标服务场景模板中的每个子场景描述信息进行比对;
若当前比对的子场景描述信息相同,则继续比对下一子场景描述信息;
若所述当前比对的子场景描述信息不相同,则根据当前比对的所述待开发软件的子场景描述信息对当前比对的所述目标服务场景模板中的子场景描述信息进行修正。
4.根据权利要求2所述的方法,其特征在于,所述根据所述待开发软件的每个子场景对应的功能描述信息对所述第一服务场景模板中的每个子场景对应的功能描述信息进行修正,得到修正后的服务场景模板具体包括:
依次将所述待开发软件的每个子场景对应的功能描述信息与所述目标服务场景模板中的每个子场景对应的功能描述信息进行比对;
若当前比对的子场景对应的功能描述信息相同,则继续比对下一子场景对应的功能描述信息;
若所述当前比对的子场景对应的功能描述信息不相同,则根据当前比对的所述待开发软件的子场景对应的功能描述信息对当前比对的所述目标服务场景模板中的子场景对应的功能描述信息进行修正。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述子场景描述信息包括用于组成所述待开发软件的服务场景的每个子场景的子场景描述标识和所有子场景间的执行顺序约束信息;所述子场景对应的功能描述信息包括所述子场景需要实现的每个服务功能的功能约束信息和所有服务功能间的执行顺序约束信息。
6.根据权利要求5所述的方法,其特征在于,所述获取用于组合所述修正后的服务场景模板的组合服务代码以及用于描述所述修正后的服务场景模板的每个功能描述信息的服务代码具体包括:
从服务数据库中获取用于组合所述修正后的服务场景模板的组合服务代码;其中,所述服务数据库中存储了至少一个服务软件进行分解后的所有代码;
根据所述修正后的服务场景模板的每个功能描述信息的每个功能约束信息,在所述服务数据库中检索所述每个功能约束信息对应的代码;
若在所述服务数据库中检索到第一功能约束信息对应的代码,则从所述服务数据库中读取所述第一功能约束信息对应的代码;其中,所述第一功能约束信息为所述修正后的服务场景模板中的任一功能约束信息;
若在所述服务数据库中未检索到所述第一功能约束信息对应的代码,则从所述服务数据库中获取能够实现所述第一功能约束信息对应服务功能的代码,并根据所述第一功能约束信息对所述能够实现所述第一功能约束信息对应服务功能的代码进行修正。
7.一种基于服务组合的软件开发装置,其特征在于,所述基于服务组合的软件开发装置包括:
第一获取单元,用于获取待开发软件的服务需求信息;其中,所述服务需求信息包括场景描述标识、子场景描述信息以及每个子场景对应的功能描述信息;
检索单元,用于从服务场景模板库中,检索出与所述待开发软件的服务场景标识相匹配的目标服务场景模板;其中,所述服务场景模板库中存储至少一个服务场景模板,所述服务场景模板用于表示场景描述标识、子场景描述信息以及功能描述信息间的对应关系;
修正单元,用于根据所述待开发软件的子场景描述信息以及每个子场景对应的功能描述信息,对所述目标服务场景模板进行修正,得到修正后的服务场景模板;
第二获取单元,用于获取用于组合所述修正后的服务场景模板的组合服务代码以及用于描述所述修正后的服务场景模板的每个功能描述信息的服务代码;
组合单元,用于将所述用于组成所述修正后的服务场景模板的服务组合代码和所述用于描述所述修正后的服务场景模板中的每个功能描述信息的服务代码进行组合,生成所述待开发软件。
8.根据权利要求7所述的基于服务组合的软件开发装置,其特征在于,所述修正单元具体包括:
第一修正模块,用于根据所述待开发软件的子场景描述信息对所述目标服务场景模板中的每个子场景描述信息进行修正,得到第一服务场景模板;
第二修正模块,用于根据所述待开发软件的每个子场景对应的功能描述信息对所述第一服务场景模板中的每个子场景对应的功能描述信息进行修正,得到修正后的服务场景模板。
9.根据权利要求8所述的基于服务组合的软件开发装置,其特征在于,所述第一修正模块具体用于:
依次将所述待开发软件的每个子场景描述信息与所述目标服务场景模板中的每个子场景描述信息进行比对;
若当前比对的子场景描述信息相同,则继续比对下一子场景描述信息;
若所述当前比对的子场景描述信息不相同,则根据当前比对的所述待开发软件的子场景描述信息对当前比对的所述目标服务场景模板中的子场景描述信息进行修正。
10.根据权利要求8所述的基于服务组合的软件开发装置,其特征在于,所述第二修正模块具体用于:
依次将所述待开发软件的每个子场景对应的功能描述信息与所述目标服务场景模板中的每个子场景对应的功能描述信息进行比对;
若当前比对的子场景对应的功能描述信息相同,则继续比对下一子场景对应的功能描述信息;
若所述当前比对的子场景对应的功能描述信息不相同,则根据当前比对的所述待开发软件的子场景对应的功能描述信息对当前比对的所述目标服务场景模板中的子场景对应的功能描述信息进行修正。
11.根据权利要求7至10任一项所述的基于服务组合的软件开发装置,其特征在于,所述子场景描述信息包括用于组成所述待开发软件的服务场景的每个子场景的子场景描述标识和所有子场景间的执行顺序约束信息;所述子场景对应的功能描述信息包括所述子场景需要实现的每个服务功能的功能约束信息和所有服务功能间的执行顺序约束信息。
12.根据权利要求11所述的基于服务组合的软件开发装置,其特征在于,所述第二获取单元具体包括:
获取模块,用于从服务数据库中获取用于组合所述修正后的服务场景模板的组合服务代码;其中,所述服务数据库中存储了至少一个服务软件进行分解后的所有代码;
检索模块,用于根据所述修正后的服务场景模板的每个功能描述信息的每个功能约束信息,在所述服务数据库中检索所述每个功能约束信息对应的代码;
读取模块,若在所述服务数据库中检索到第一功能约束信息对应的代码,则从所述服务数据库中读取所述第一功能约束信息对应的代码;其中,所述第一功能约束信息为所述修正后的服务场景模板中的任一功能约束信息;
修正模块,若在所述服务数据库中未检索到所述第一功能约束信息对应的代码,则从所述服务数据库中获取能够实现所述第一功能约束信息对应服务功能的代码,并根据所述第一功能约束信息对所述能够实现所述第一功能约束信息对应服务功能的代码进行修正。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410815238.XA CN105786460B (zh) | 2014-12-24 | 2014-12-24 | 一种基于服务组合的软件开发方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410815238.XA CN105786460B (zh) | 2014-12-24 | 2014-12-24 | 一种基于服务组合的软件开发方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105786460A true CN105786460A (zh) | 2016-07-20 |
CN105786460B CN105786460B (zh) | 2019-02-26 |
Family
ID=56378171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410815238.XA Active CN105786460B (zh) | 2014-12-24 | 2014-12-24 | 一种基于服务组合的软件开发方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105786460B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106990973A (zh) * | 2017-05-25 | 2017-07-28 | 海南大学 | 一种基于数据图谱、信息图谱和知识图谱架构的价值驱动的服务软件开发方法 |
CN109151155A (zh) * | 2017-06-27 | 2019-01-04 | 北京搜狗科技发展有限公司 | 一种通信处理方法及装置 |
CN109446027A (zh) * | 2018-10-24 | 2019-03-08 | 青岛海信智慧家居系统股份有限公司 | 一种基于总线系统的场景触发的方法和装置 |
CN109725878A (zh) * | 2018-06-05 | 2019-05-07 | 中国平安人寿保险股份有限公司 | 技术参考展示方法、装置、服务器及可读存储介质 |
CN110083340A (zh) * | 2019-03-19 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 代码生成方法、装置、计算机设备及存储介质 |
CN110557414A (zh) * | 2018-05-30 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 一种业务场景下载方法、装置及设备 |
CN111008014A (zh) * | 2019-12-26 | 2020-04-14 | 珠海金山网络游戏科技有限公司 | 一种红点的条件处理方法和装置 |
WO2020134633A1 (zh) * | 2018-12-27 | 2020-07-02 | 百富计算机技术(深圳)有限公司 | 一种应用程序的开发方法、装置及集成开发工具 |
CN112015538A (zh) * | 2020-09-08 | 2020-12-01 | 天津藏金时代科技发展有限公司 | 一种基于软件定义的音视频系统及其工作方法 |
CN112241285A (zh) * | 2019-07-16 | 2021-01-19 | 腾讯科技(深圳)有限公司 | 运营程序的配置方法、装置及设备 |
CN112764716A (zh) * | 2021-01-20 | 2021-05-07 | 上海敖智信息科技有限公司 | 一种软件开发方法和系统 |
CN115373725A (zh) * | 2022-10-24 | 2022-11-22 | 布谷云软件技术(南京)有限公司 | 一种以需求为粒度的软件开发管理系统及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383854A (zh) * | 2008-10-31 | 2009-03-11 | 北京邮电大学 | 基于用户偏好Web服务的提供方法 |
-
2014
- 2014-12-24 CN CN201410815238.XA patent/CN105786460B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101383854A (zh) * | 2008-10-31 | 2009-03-11 | 北京邮电大学 | 基于用户偏好Web服务的提供方法 |
Non-Patent Citations (2)
Title |
---|
胡海涛: "支持业务级、大粒度服务组合的知识管理与主动推荐", 《中国博士学位论文全文数据库信息科技辑》 * |
陈瑜等: "一种基于模板的服务组合方案", 《科学技术与工程》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106990973A (zh) * | 2017-05-25 | 2017-07-28 | 海南大学 | 一种基于数据图谱、信息图谱和知识图谱架构的价值驱动的服务软件开发方法 |
CN109151155A (zh) * | 2017-06-27 | 2019-01-04 | 北京搜狗科技发展有限公司 | 一种通信处理方法及装置 |
CN109151155B (zh) * | 2017-06-27 | 2021-03-23 | 北京搜狗科技发展有限公司 | 一种通信处理方法、装置及机器可读介质 |
CN110557414A (zh) * | 2018-05-30 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 一种业务场景下载方法、装置及设备 |
CN109725878A (zh) * | 2018-06-05 | 2019-05-07 | 中国平安人寿保险股份有限公司 | 技术参考展示方法、装置、服务器及可读存储介质 |
CN109446027A (zh) * | 2018-10-24 | 2019-03-08 | 青岛海信智慧家居系统股份有限公司 | 一种基于总线系统的场景触发的方法和装置 |
CN109446027B (zh) * | 2018-10-24 | 2022-04-29 | 青岛海信智慧家居系统股份有限公司 | 一种基于总线系统的场景触发的方法和装置 |
WO2020134633A1 (zh) * | 2018-12-27 | 2020-07-02 | 百富计算机技术(深圳)有限公司 | 一种应用程序的开发方法、装置及集成开发工具 |
CN110083340A (zh) * | 2019-03-19 | 2019-08-02 | 深圳壹账通智能科技有限公司 | 代码生成方法、装置、计算机设备及存储介质 |
CN112241285A (zh) * | 2019-07-16 | 2021-01-19 | 腾讯科技(深圳)有限公司 | 运营程序的配置方法、装置及设备 |
CN111008014A (zh) * | 2019-12-26 | 2020-04-14 | 珠海金山网络游戏科技有限公司 | 一种红点的条件处理方法和装置 |
CN112015538A (zh) * | 2020-09-08 | 2020-12-01 | 天津藏金时代科技发展有限公司 | 一种基于软件定义的音视频系统及其工作方法 |
CN112764716A (zh) * | 2021-01-20 | 2021-05-07 | 上海敖智信息科技有限公司 | 一种软件开发方法和系统 |
CN115373725A (zh) * | 2022-10-24 | 2022-11-22 | 布谷云软件技术(南京)有限公司 | 一种以需求为粒度的软件开发管理系统及方法 |
CN115373725B (zh) * | 2022-10-24 | 2023-02-03 | 布谷云软件技术(南京)有限公司 | 一种以需求为粒度的软件开发管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105786460B (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105786460A (zh) | 一种基于服务组合的软件开发方法及装置 | |
US10983902B2 (en) | Collaborative computer aided test plan generation | |
US20180007001A1 (en) | Providing security service | |
US20150324211A1 (en) | Change planning system, change planning method, and change planning program | |
CN106713504B (zh) | 任务处理方法和系统 | |
CN102831167B (zh) | 图结构的xml处理方法及装置 | |
CN103780686A (zh) | 一种云组织内自定义申请审批流程的方法及系统 | |
CN111144837A (zh) | 流程编排的方法、装置、存储介质及电子设备 | |
CN108563697A (zh) | 一种数据处理方法、装置和存储介质 | |
CN112685107A (zh) | 基于工作流引擎的操作处理方法、引擎、电子设备及介质 | |
CN112333672B (zh) | 一种5g核心网upf网元的开局方法及装置 | |
CN107784548B (zh) | 订单处理方法和装置 | |
CN114816170A (zh) | 规则方案生成方法、装置、介质及电子设备 | |
US20140310070A1 (en) | Coordinated business rules management and mixed integer programming | |
CN111951112A (zh) | 基于区块链的智能合约执行方法、终端设备和存储介质 | |
CN114070889B (zh) | 配置方法、流量转发方法、设备、存储介质及程序产品 | |
CN115242802A (zh) | 一种区块链的溯源链路构建方法、系统和电子设备 | |
CN113204535B (zh) | 路由方法及装置、电子设备和计算机可读存储介质 | |
US10402422B2 (en) | Method and system for synchronizing data | |
US10620968B2 (en) | Parameter determination device, parameter determination method, and medium | |
CN114860266A (zh) | 一种多方安全计算模型的部署方法和系统 | |
CN101222408B (zh) | Vlan拓扑的生成方法和装置 | |
CN107682362B (zh) | 一种信息流控制方法及装置 | |
CN112966974A (zh) | 一种项目配置方法、装置、设备及介质 | |
CN115660245A (zh) | 业务编排方法及装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |