发明内容
本发明的目的是提供一种软件开发方案的生成方法及系统,能够对软件的开发需求进行分析,根据分析结果,生成相应的开发方案,提高软件开发方案的生成效率。
为实现上述目的,本发明提供了如下方案:
一种软件开发方案的生成方法,包括:
获取软件开发信息;所述软件开发需求信息包括软件开发经济信息和软件开发技术信息;
分析所述软件开发经济信息,得到软件开发方案特征信息;
查找与所述软件开发方案特征信息相匹配的软件开发预案;所述软件开发预案中至少包括已确定的开发软件所需要的合同金额、项目工期、成本,以及未确定的开发人员、开发地点以及模块开发周期;
根据所述软件开发预案结合所述软件开发技术信息,生成所述软件开发方案。
可选的,所述分析所述软件开发经济信息,包括:
获取所述软件开发经济信息中的数值型数据;
按照预设的数值范围对应关系,确定所述数值型数据对应的数值范围;
根据所述数值范围生成数值范围标识,以便将所述数值范围标识作为所述软件开发方案特征信息。
可选的,所述生成所述软件开发方案,包括:
根据所述软件开发技术信息,确定该软件涉及的功能模块;
确定所述功能模块对应的开发人员、开发地点以及模块开发周期;
在所述软件开发预案中添加所述开发人员、开发地点以及开发周期。
可选的,所述方法还包括:
获取软件开发实际时间;
判断所述软件开发实际时间是否达到临界值,得到第一判断结果;所述临界值为所述数值范围中的最小值;
当所述第一判断结果表示所述软件开发实际时间达到临界值时,进行报警提示。
可选的,所述方法还包括:
生成所述软件开发方案之后,接收用户对于所述软件开发方案的修改;
将修改后的所述软件开发方案作为新的所述软件开发预案存储在预案库中。
一种软件开发方案的生成系统,包括:
获取单元,用于获取软件开发信息;所述软件开发需求信息包括软件开发经济信息和软件开发技术信息;
分析单元,用于分析所述软件开发经济信息,得到软件开发方案特征信息;
查找单元,用于查找与所述软件开发方案特征信息相匹配的软件开发预案;所述软件开发预案中至少包括已确定的开发软件所需要的合同金额、期望利润、项目类型、项目工期、工单类型、所需技能、组件编号、成本,以及未确定的开发人员、开发地点以及模块开发周期;
方案生成单元,用于根据所述软件开发预案结合所述软件开发技术信息,生成所述软件开发方案。
可选的,所述分析单元,包括:
获取子单元,用于获取所述软件开发经济信息中的数值型数据;
数值范围确定子单元,用于按照预设的数值范围对应关系,确定所述数值型数据对应的数值范围;
标识生成子单元,用于根据所述数值范围生成数值范围标识,以便将所述数值范围标识作为所述软件开发方案特征信息。
可选的,所述方案生成单元,包括:
模块确定子单元,用于根据所述软件开发技术信息,确定该软件涉及的功能模块;
开发技术信息确定子单元,用于确定所述功能模块对应的开发人员、开发地点以及模块开发周期;
信息添加子单元,用于在所述软件开发预案中添加所述开发人员、开发地点以及开发周期。
可选的,所述系统还包括:
时间获取单元,用于获取软件开发实际时间;
判断单元,用于判断所述软件开发实际时间是否达到临界值,得到第一判断结果;所述临界值为所述数值范围中的最小值;
提示单元,用于当所述第一判断结果表示所述软件开发实际时间达到临界值时,进行报警提示。
可选的,所述系统还包括:
接收单元,用于在生成所述软件开发方案之后,接收用户对于所述软件开发方案的修改;
存储单元,用于将修改后的所述软件开发方案作为新的所述软件开发预案存储在预案库中。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明实施例的软件开发方案的生成方法及系统,通过获取软件开发信息;分析所述软件开发经济信息,得到软件开发方案特征信息;查找与所述软件开发方案特征信息相匹配的软件开发预案;根据所述软件开发预案结合所述软件开发技术信息,生成所述软件开发方案,可以对软件开发信息相同或相似的情况下,通过软件自动查找到相匹配的软件开发预案,并且生成软件开发方案,减少了软件开发方案的确定过程所消耗的人力成本和时间成本,可以提高软件开发方案的生成效率。另一方面,由于对于软件开发信息相同或相似的需求,可以使用相同或相似的软件开发预案,因此还可以提高软件开发预案的可重复利用性。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明的软件开发方案的生成方法实施例1的流程图。如图1所示,所述方法可以包括:
步骤101:获取软件开发信息;所述软件开发需求信息包括软件开发经济信息和软件开发技术信息;
所述软件开发信息可以根据客户的软件开发需求得到。具体的,可以包括:开发该软件所允许的合同金额、期望利润、项目类型、项目工期、成本等信息。上述信息由于与开发该软件的经济效益有关,故称为软件开发经济信息。
步骤102:分析所述软件开发经济信息,得到软件开发方案特征信息;
所述经济信息中的大部分信息的值的类型为数值类型。数值类型的软件开发经济信息可以包括:合同金额、期望利润、项目工期、成本等信息。
本实施例中,还具有一个软件开发预案数据库。所述软件开发预案库中,存储有多个软件开发预案。每个软件开发预案都具有对应的软件开发方案特征信息。所述软件开发方案特征信息可以表示数值类型的软件开发经济信息的取值范围。
具体的,可以按照预设的数值范围对应关系,确定所述数值型数据对应的数值范围;根据所述数值范围生成数值范围标识,以便将所述数值范围标识作为所述软件开发方案特征信息。
例如,可以根据合同金额的不同取值范围设置不同的标识。当合同金额的取值范围为1-10万时,标识为A;当合同金额的取值范围为11-20万时,标识为B;当合同金额的取值范围为21-30万时,标识为C;当合同金额的取值范围为31-40万时,标识为D,依此类推。
同理,对于期望利润、项目工期、成本等信息,也可以设置相应的范围标识。
假设所述软件开发经济信息中的合同金额为8万元,对应的数值范围为1-10万,该数值范围对应的数值范围标识为A,则可以确定所述软件开发方案特征信息中的合同金额的特征信息为A。假设所述软件开发经济信息中的项目工期为15天,对应的数值范围为10-20天,该数值范围对应的数值范围标识为B,则可以确定所述软件开发方案特征信息中的项目工期的特征信息为B。假设所述软件开发经济信息中的成本为5万,对应的数值范围为1-10万,该数值范围对应的数值范围标识为A,则可以确定所述软件开发方案特征信息中的成本的特征信息为A。
综上所述,可以确定上述假设的软件开发方案中,软件开发方案特征信息为ABA。其中,ABA分别代表合同金额、项目工期和成本的特征信息。
步骤103:查找与所述软件开发方案特征信息相匹配的软件开发预案;所述软件开发预案中至少包括已确定的开发软件所需要的合同金额、项目工期、成本,还可以包括期望利润、项目类型、工单类型、所需技能、组件编号,以及未确定的开发人员、开发地点以及模块开发周期;
在预案数据库中,每个预案也是按照对应的特征信息存储的。因此,可以根据所述软件开发方案特征信息,查找相匹配的软件开发预案。
预案中对于软件开发过程中的时间和经济方面已经进行了规划,即所述软件开发预案中开发软件所需要的合同金额、项目工期、成本等信息是已经确定了的。但是,不同的软件开发信息中,所包含的软件开发技术信息肯定是不同的。所述软件开发技术信息,是指该软件在技术层面的需求。换个角度说,软件的用途决定了该软件的所需要采用的技术方案。根据所述软件开发技术信息可以至少确定以下信息:开发所述软件的开发人员,开发地点以及各个模块的开发周期。所述开发地点可以表示开发人员所在的公司或地点。
所述开发人员,开发地点以及各个模块的开发周期等信息在软件开发预案中都是未确定的。
步骤104:根据所述软件开发预案结合所述软件开发技术信息,生成所述软件开发方案。
具体的,可以根据所述软件开发技术信息,确定该软件涉及的功能模块;确定所述功能模块对应的开发人员、开发地点以及模块开发周期;在所述软件开发预案中添加所述开发人员、开发地点以及开发周期。
相应的,本实施例中,还可以具有一个数据库。该数据库中可以存储与软件开发人员有关的信息。例如,可以存储有开发人员擅长编写的功能模块的类型,开发人员所在单位或地点,开发人员编写某个功能模块所需要的平均时间等等。
所述软件开发技术信息中,可以包括开发该软件所涉及到的功能模块的信息。根据所述功能模块的信息,可以在上述数据库中查找到开发该功能模块的开发人员信息,还可以查找到开发人员所在单位或地点,开发人员编写该功能模块所需要的平均时间等信息。
根据所述软件开发技术信息,将所述软件开发预案中未确定的信息确定以后,就可以确定并生成所述软件开发方案。
综上所述,本实施例中,通过获取软件开发信息;分析所述软件开发经济信息,得到软件开发方案特征信息;查找与所述软件开发方案特征信息相匹配的软件开发预案;根据所述软件开发预案结合所述软件开发技术信息,生成所述软件开发方案,可以对软件开发信息相同或相似的情况下,通过软件自动查找到相匹配的软件开发预案,并且生成软件开发方案,减少了软件开发方案的确定过程所消耗的人力成本和时间成本,可以提高软件开发方案的生成效率。另一方面,由于对于软件开发信息相同或相似的需求,可以使用相同或相似的软件开发预案,因此还可以提高软件开发预案的可重复利用性。
图2为本发明的软件开发方案的生成方法实施例2的流程图。如图2所示,该方法可以包括:
步骤201:获取软件开发信息;所述软件开发需求信息包括软件开发经济信息和软件开发技术信息;
步骤202:获取所述软件开发经济信息中的数值型数据;
步骤203:按照预设的数值范围对应关系,确定所述数值型数据对应的数值范围;
步骤204:根据所述数值范围生成数值范围标识,以便将所述数值范围标识作为所述软件开发方案特征信息。
步骤205:查找与所述软件开发方案特征信息相匹配的软件开发预案;所述软件开发预案中至少包括已确定的开发软件所需要的合同金额、项目工期、成本,以及未确定的开发人员、开发地点以及模块开发周期;
步骤206:根据所述软件开发技术信息,确定该软件涉及的功能模块;
步骤207:确定所述功能模块对应的开发人员、开发地点以及模块开发周期;
步骤208:在所述软件开发预案中添加所述开发人员、开发地点以及开发周期。
图3为本发明的软件开发方案的生成方法实施例3的流程图。如图3所示,该方法可以包括:
步骤301:获取软件开发信息;所述软件开发需求信息包括软件开发经济信息和软件开发技术信息;
步骤302:获取所述软件开发经济信息中的数值型数据;
步骤303:按照预设的数值范围对应关系,确定所述数值型数据对应的数值范围;
步骤304:根据所述数值范围生成数值范围标识,以便将所述数值范围标识作为所述软件开发方案特征信息。
步骤305:查找与所述软件开发方案特征信息相匹配的软件开发预案;所述软件开发预案中至少包括已确定的开发软件所需要的合同金额、项目工期、成本,以及未确定的开发人员、开发地点以及模块开发周期;
步骤306:根据所述软件开发预案结合所述软件开发技术信息,生成所述软件开发方案。
步骤307:获取软件开发实际时间;
在生成所述软件开发方案后,本实施例的方法还可以对软件的实际开发过程进行监控。根据对于开发该软件的过程的计时,可以得到软件开发实际时间。所述软件开发实际时间的单位可以是天。
步骤308:判断所述软件开发实际时间是否达到临界值,得到第一判断结果;所述临界值为所述数值范围中的最小值;
在步骤303中,可以确定开发该软件所需要的项目工期的数值范围。假设开发该软件所需要的项目工期的数值范围为20-30天,则可以将所述临界值确定为20天。当软件开发的实际时间达到20天时,所述第一判断结果可以为是。
步骤309:当所述第一判断结果表示所述软件开发实际时间达到临界值时,进行报警提示。
所述报警提示可以是以文字或声音的形式出现。所述报警提示用于提示软件开发者,需要加快对该软件的开发进度,以免导致工期过长,增大成本,降低收益。
还需要说明的是,本发明的各个实施例中,还可以包括以下步骤:生成所述软件开发方案之后,接收用户对于所述软件开发方案的修改;
将修改后的所述软件开发方案作为新的所述软件开发预案存储在预案库中。
通过上述步骤,可以增加软件开发预案数据库中的预案数量,使软件开发预案数据库得到完善,进而可以为更多的软件开发信息匹配到适合的预案。
本发明还公开了一种软件开发方案的生成系统。图4为本发明的软件开发方案的生成系统的实施例1的结构图。如图4所示,该系统可以包括:
获取单元401,用于获取软件开发信息;所述软件开发需求信息包括软件开发经济信息和软件开发技术信息;
分析单元402,用于分析所述软件开发经济信息,得到软件开发方案特征信息;
查找单元403,用于查找与所述软件开发方案特征信息相匹配的软件开发预案;所述软件开发预案中至少包括已确定的开发软件所需要的合同金额、期望利润、项目类型、项目工期、工单类型、所需技能、组件编号、成本,以及未确定的开发人员、开发地点以及模块开发周期;
方案生成单元404,用于根据所述软件开发预案结合所述软件开发技术信息,生成所述软件开发方案。
综上所述,本实施例中,通过获取软件开发信息;分析所述软件开发经济信息,得到软件开发方案特征信息;查找与所述软件开发方案特征信息相匹配的软件开发预案;根据所述软件开发预案结合所述软件开发技术信息,生成所述软件开发方案,可以对软件开发信息相同或相似的情况下,通过软件自动查找到相匹配的软件开发预案,并且生成软件开发方案,减少了软件开发方案的确定过程所消耗的人力成本和时间成本,可以提高软件开发方案的生成效率。另一方面,由于对于软件开发信息相同或相似的需求,可以使用相同或相似的软件开发预案,因此还可以提高软件开发预案的可重复利用性。
图5为本发明的软件开发方案的生成系统的实施例2的结构图。如图5所示,该系统可以包括:
获取单元401,用于获取软件开发信息;所述软件开发需求信息包括软件开发经济信息和软件开发技术信息;
获取子单元501,用于获取所述软件开发经济信息中的数值型数据;
数值范围确定子单元502,用于按照预设的数值范围对应关系,确定所述数值型数据对应的数值范围;
标识生成子单元503,用于根据所述数值范围生成数值范围标识,以便将所述数值范围标识作为所述软件开发方案特征信息。
查找单元403,用于查找与所述软件开发方案特征信息相匹配的软件开发预案;所述软件开发预案中至少包括已确定的开发软件所需要的合同金额、项目工期、成本,以及未确定的开发人员、开发地点以及模块开发周期;
模块确定子单元504,用于根据所述软件开发技术信息,确定该软件涉及的功能模块;
开发技术信息确定子单元505,用于确定所述功能模块对应的开发人员、开发地点以及模块开发周期;
信息添加子单元506,用于在所述软件开发预案中添加所述开发人员、开发地点以及开发周期。
图6为本发明的软件开发方案的生成系统的实施例3的结构图。如图6所示,该系统可以包括:
获取单元401,用于获取软件开发信息;所述软件开发需求信息包括软件开发经济信息和软件开发技术信息;
获取子单元501,用于获取所述软件开发经济信息中的数值型数据;
数值范围确定子单元502,用于按照预设的数值范围对应关系,确定所述数值型数据对应的数值范围;
标识生成子单元503,用于根据所述数值范围生成数值范围标识,以便将所述数值范围标识作为所述软件开发方案特征信息。
查找单元403,用于查找与所述软件开发方案特征信息相匹配的软件开发预案;所述软件开发预案中至少包括已确定的开发软件所需要的合同金额、项目工期、成本,以及未确定的开发人员、开发地点以及模块开发周期;
方案生成单元404,用于根据所述软件开发预案结合所述软件开发技术信息,生成所述软件开发方案。
时间获取单元601,用于获取软件开发实际时间;
判断单元602,用于判断所述软件开发实际时间是否达到临界值,得到第一判断结果;所述临界值为所述数值范围中的最小值;
提示单元603,用于当所述第一判断结果表示所述软件开发实际时间达到临界值时,进行报警提示。
需要说明的是,本发明的软件开发方案的生成系统的各个实施例中,还可以包括:
接收单元,用于在生成所述软件开发方案之后,接收用户对于所述软件开发方案的修改;
存储单元,用于将修改后的所述软件开发方案作为新的所述软件开发预案存储在预案库中。
还需要说明的是,本发明中的方法或系统,可以以软件程序的形式存在。该软件程序通常也被称为软件工厂(Software Factoty,SWF)。本发明中的软件工厂是基于组件化开发平台的。不同的软件开发预案可以与不同的组件相对应。因此,本发明中的方法或系统可以提高基于组件化开发平台的软件工厂中的组件的可重复利用率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。