CN115860562A - 一种软件工作量合理性评判方法、装置及设备 - Google Patents
一种软件工作量合理性评判方法、装置及设备 Download PDFInfo
- Publication number
- CN115860562A CN115860562A CN202211648005.6A CN202211648005A CN115860562A CN 115860562 A CN115860562 A CN 115860562A CN 202211648005 A CN202211648005 A CN 202211648005A CN 115860562 A CN115860562 A CN 115860562A
- Authority
- CN
- China
- Prior art keywords
- research
- development
- workload
- evaluated
- software
- 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.)
- Pending
Links
- 238000011156 evaluation Methods 0.000 title claims description 40
- 238000000034 method Methods 0.000 claims abstract description 69
- 238000012827 research and development Methods 0.000 claims description 388
- 230000006870 function Effects 0.000 claims description 122
- 238000011161 development Methods 0.000 claims description 52
- 238000012360 testing method Methods 0.000 claims description 42
- 238000004519 manufacturing process Methods 0.000 claims description 32
- 238000013145 classification model Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012549 training Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种软件工作量合理性评判方法、装置及设备,涉及软件开发技术领域,通过采集历史软件项目的各项研发数据,利用各项研发数据计算得到的各项研发工作量,并将分别计算各项研发工作量与带评判研发工作量的之间差异值的加权和,作为待评判研发工作量与所述评估研发工作量之间的差异值,最后根据该差异值对待评判研发工作量的合理性进行判断,对实施过程中工作量评估的合理性,起到重要的参考作用。
Description
技术领域
本申请属于软件开发技术领域,具体涉及一种软件工作量合理性评判方法、装置及设备。
背景技术
目前,集约化、精确化成本评估成为各行业普遍关注的重点,应用软件投资占比越来越高,重要性也日益显现,但应用软件投资结构、投资评估模式仍显粗放,缺乏科学指导,也缺少标准化、可量化、可评估的应用软件开发工作量衡量方法。
通常评估软件工作量的方法包括需求分解、代码行数分析、功能点分析或经验判断等,但是由于缺少参考依据以及数据支撑,无法评判利用前述方法评估的工作量是否合理。
发明内容
本申请实施例提供了一种软件工作量合理性评判方法、装置及设备,能够批判利用需求分解、代码行数分析、功能点分析或经验判断等方法评估的工作量是否合理。
第一方面,本申请实施例提供了一种软件工作量合理性评判方法,所述方法包括:
接收研发数据,以及待开发软件的待评判研发工作量,所述研发数据包括研发多个历史软件中每个历史软件的多个业务功能所投入和产生的多个资源量参数;所述待评判研发工作量用于表征已估计的研发待开发软件所投入的人力成本,所述待开发软件所属类别与所述多个历史软件所属类别相同;
根据所述研发数据中与所述待开发软件的业务功能相同的各个业务功能分别对应的多个资源量参数,确定研发所述待开发软件的过程中所投入和产生的多个资源量参数分别对应的研发工作量;
将所述待开发软件的多个资源量参数分别对应的研发工作量与所述待评判研发工作量之间差异值的加权和作为所述待评判研发工作量与所述评估研发工作量之间的差异值;
在所述待评判研发工作量与所述评估研发工作量之间的差异值小于设定差异阈值时,确定所述待开发软件的待评判研发工作量评估准确。
在一种可能的实施方式中,所述研发数据包括多个业务功能对应的投产时间段参与软件研发过程的人数、所述多个业务功能对应的投产时间段的需求项数量、所述多个业务功能的投产时间段的代码行数、所述多个业务功能的投产时间段的测试案例的执行数量或者所述多个业务功能的投产时间段的交易接口数量中的至少一项。
在一种可能的实施方式中,根据所述研发数据中与所述待开发软件的业务功能相同的各个业务功能分别对应的多个资源量参数,确定研发所述待开发软件的过程中所投入和产生的多个资源量参数分别对应的研发工作量,包括:
所述研发数据包括人数时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的人数的加权和作为所述人数对应的研发工作量;所述各个业务功能对应的人数的权重为所述各个业务功能的投产时间段的时长;或者,
所述研发数据包括需求项数量时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的需求项数量的加权和作为所述需求项数量对应的研发工作量;所述各个业务功能对应的需求项数量的权重为所述各个业务功能的投产时间段的时长。
在一种可能的实施方式中,所述人数对应的研发工作量与所述待评判研发工作量之间差异值的权重和所述需求项数量对应的研发工作量与所述待评判研发工作量之间差异值的权重,是基于待开发软件的所属类别确定的。
在一种可能的实施方式中,所述根据所述研发数据确定所述研发数据对应的研发数据工作量,包括:
所述研发数据包括代码行数时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的代码行数输入第一分类模型中确定所述代码行数对应的研发工作量;
所述研发数据包括测试案例执行数量时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的测试案例的执行数量输入第二分类模型中确定所述测试案例的执行数量对应的研发工作量;
所述研发数据包括交易接口数量时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的交易接口数量输入第三分类模型中确定所述交易接口数量对应的研发工作量;
其中,所述第一分类模型是基于多个样本代码行数以及所述多个样本代码行数分别对应的样本研发工作量训练得到的;
所述第二分类模型是基于多个样本测试案例的执行数量以及所述多个样本测试案例的执行数量分别对应的样本研发工作量训练得到的;
所述第三分类模型是基于多个样本交易接口数量以及所述多个样本交易接口数量分别对应的样本研发工作量训练得到的。
在一种可能的实施方式中,所述代码行数对应的研发工作量与所述待评判研发工作量之间差异值的权重、所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间差异值的权重、及所述交易接口数量对应的研发工作量与所述待评判研发工作量之间差异值的权重,是基于待开发软件的所属类别确定的。
在一种可能的实施方式中,采取如下方式计算所述人数对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述人数对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述人数对应的研发工作量与所述待评判研发工作量之间的差异值;
采取如下方式计算所述需求项数量对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述需求项数量对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述需求项数量对应的研发工作量与所述待评判研发工作量之间的差异值。
在一种可能的实施方式中,采取如下方式计算代码行数对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述代码行数对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述代码行数对应的研发工作量与所述待评判研发工作量之间的差异值;
采取如下方式计算所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的差异值;
采取如下方式计算所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的差异值。
在一种可能的实施方式中,将所述待开发软件的多个资源量参数分别对应的研发工作量与所述待评判研发工作量之间的差异值的加权和作为所述待评判研发工作量与所述评估研发工作量之间的差异值,包括:
根据所述待开发软件的所属类别,分别确定所述人数对应的研发工作量与所述待评判研发工作量之间的第一差异值、所述需求项数量对应的研发工作量与所述待评判研发工作量之间的第二差异值、所述代码行数对应的研发工作量与所述待评判研发工作量之间的第三差异值、所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的第四差异值和所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的第五差异值对应的预先设置的权重;
将第一差异值与对应的预先设置的权重的乘积、第二差异值与对应的预先设置的权重的乘积、第三差异值与对应的预先设置的权重的乘积、第一差异值与对应的预先设置的权重的乘积和第五差异值与对应的预先设置的权重的乘积进行加和,并将所述作为所述待评判研发工作量与所述评估研发工作量之间的差异值。
第二方面,本申请实施例提供了一种软件工作量合理性评判装置,所述装置包括:
接收模块,用于接收研发数据,以及待开发软件的待评判研发工作量,所述研发数据包括研发多个历史软件中每个历史软件的多个业务功能所投入和产生的多个资源量参数;所述待评判研发工作量用于表征已估计的研发待开发软件所投入的人力成本,所述待开发软件所属类别与所述多个历史软件所属类别相同;
确定模块,用于根据所述研发数据中与所述待开发软件的业务功能相同的各个业务功能分别对应的多个资源量参数,确定研发所述待开发软件的过程中所投入和产生的多个资源量参数分别对应的研发工作量;
计算模块,用于将所述待开发软件的多个资源量参数分别对应的研发工作量与所述待评判研发工作量之间差异值的加权和作为所述待评判研发工作量与所述评估研发工作量之间的差异值;
评判模块,用于在所述待评判研发工作量与所述评估研发工作量之间的差异值小于设定差异阈值时,确定所述待开发软件的待评判研发工作量评估准确。
第三方面,本申请实施例提供了一种软件工作量合理性评判设备,所述设备包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面的方法。
第四方面,本申请提供了一种计算机程序产品,所述计算机程序产品用于使计算机执行上述第一方面的方法。
第五方面,本申请提供了一种计算机存储介质,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述第一方面的方法。
本申请实施例提供了一种软件工作量合理性评判方法、装置及设备,通过采集历史软件项目的各项研发数据,利用各项研发数据计算得到的各项研发工作量,并将分别计算各项研发工作量与带评判研发工作量的之间差异值的加权和,作为待评判研发工作量与所述评估研发工作量之间的差异值,最后根据该差异值对待评判研发工作量的合理性进行判断,本申请实施例利用历史的研发数据作为参考依据和数据支撑,能够准确的判断待评判研发工作量是否合理。
附图说明
图1为根据本发明示例性实施例示例的一种软件工作量合理性评判方法的应用场景示意图;
图2为根据本发明示例性实施例示例的一种软件工作量合理性评判方法流程示意图;
图3为根据本发明示例性实施例示例的一种确认差异值流程示意图;
图4为根据本发明示例性实施例示例的一种软件工作量合理性评判装置示意图;
图5为根据本发明示例性实施例示例的软件工作量合理性评判设备示意图。
具体实施方式
下面将结合附图对本申请实施例中的技术方案进行清楚、详尽地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
首先,对软件的工作量估计进行介绍:
工作量的估计,是对开发软件产品所需的人力的估计,是任何软件项目所共有的主要成本。它和进度估计一起决定了开发团队的规模和构建。通常以人天、人月、人年的形式来衡量,并且有转换系数在不同单位之间进行转换。工作量估计是由规模和与项目有关的因素所驱动的,如团队的技术和能力、所使用的语言和平台、平台的可用性与适用性、团队的稳定性、项目中的自动化程度等等。
工作量评估的方法分为两类:直接估计法和间接估计法。直接法指自下而上的工作量估计方法,直接估计出人天工作量;间接估计法是先估计软件规模,再转换成人天工作量。根据估计角度的不同,间接法又分为基于代码行的工作量估计方法和基于功能点的工作量估计方法。不管是哪种工作量估计方法,一般都会用到一些基本的估计方法,如类比法、专家估计法等。
如图1所示为本申请实施例提供的一种软件工作量合理性评判方法的应用场景,该应用场景中包括:
服务器101、数据库102和逻辑子系统(图中示出的逻辑子系统103_1、逻辑子系统103_2、逻辑子系统103_N)。其中,服务器101用于采集逻辑子系统产生的研发数据,逻辑子系统在软件项目实施过程中产生研发数据,数据库102用于存储软件工作量合理性评判方法所需要的程序和数据。
为了评判根据上述工作量估计方法评估的工作量是否准确,本申请实施例提供了一种软件工作量合理性评判方法,如图2所示,该方法包括:
S201:接收研发数据,以及待开发软件的待评判研发工作量。
其中,研发数据包括研发多个历史软件中每个历史软件的多个业务功能所投入和产生的多个资源量参数,例如多个业务功能对应的投产时间段参与软件研发过程的人数、多个业务功能对应的投产时间段的需求项数量、多个业务功能的投产时间段的代码行数、多个业务功能的投产时间段的测试案例的执行数量或者所述多个业务功能的投产时间段的交易接口数量等。除了上述列举的研发数据外,还可以包括业务功能的类别和数量,在本申请实施例中,不对研发数据的类别和数量进行具体限定。
业务功能指的是软件的程序代码能够实现的业务功能,例如,第一软件程序代码可以实现输入数据的业务功能,第二软件程序代码可以实现将该输入数据调度到指定位置的业务功能;软件项目的需求项则表征该软件能够满足什么样的需求,例如,对于“财务管理_2021年迭代优化”项目来说,需要包括前端应用程序,而该应用程序能够实现“转账”这一需求,而对于“转账”需求来说,对应到代码实现的业务功能上,可能包括:该代码需要实现选择“联系人”或输入“转账对象标识”等业务功能,一个需求项可能需要多个业务功能来实现。
待评判研发工作量用于表征已估计的研发待开发软件所投入的人力成本,一般通过类比历史软件投入的人力成本或靠经验进行估计。
S202:根据所述研发数据中与所述待开发软件的业务功能相同的各个业务功能分别对应的多个资源量参数,确定研发所述待开发软件的过程中所投入和产生的多个资源量参数分别对应的研发工作量。
对于一个新建立的软件项目来说,在立项之初需要先对待开发软件的工作量进行估计,此时该待开发软件还未进行实施,因此,需要采集与该待开发软件所属类别相同的多个历史软件的研发数据。由于所属类别相同,因此多个历史软件中的业务功能可能会与待开发软件中存在相同的业务功能,而且在本申请实施例中,将各资源量参数与研发数据中与所述待开发软件的业务功能相同的各个业务功能相关联,因此可以根据业务功能确定各资源量参数。
对于不同的资源量参数,确定对应的研发工作量的方式不同。
以上述S201中列举的研发数据为例:
(1)确定资源量参数为人数。
将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的人数的加权和作为所述人数对应的研发工作量;所述各个业务功能对应的人数的权重为所述各个业务功能的投产时间段的时长。
例如,在第一投产时间段为20天,第二投产时间段为15天,有10个人进行该待开发软件的研发工作,则人数对应的研发工作量为:(20+15)*10=350人天;在例如,在第一投产时间段为20天,有15人进行该待开发软件的研发工作,第二投产时间段为15天,有10个人进行该待开发软件的研发工作,则人数对应的研发工作量为:20*15+15*10=450人天。
(2)确定资源量参数为需求项数量。
将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的需求项数量的加权和作为所述需求项数量对应的研发工作量;所述各个业务功能对应的需求项数量的权重为所述各个业务功能的投产时间段的时长。
例如,在第一投产时间段为20天,第二投产时间段为15天,共完成了10个需求项,则需求项数量对应的研发工作量为:(20+15)*10=350需求项天;在例如,在第一投产时间段为20天,共完成了15个需求项,第二投产时间段为15天,共完成了10个需求项,则人数对应的研发工作量为:20*15+15*10=450需求项天。
(3)确定资源量参数为代码行数。
将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的代码行数输入第一分类模型中确定所述代码行数对应的研发工作量;
第一分类模型是基于多个样本代码行数以及所述多个样本代码行数分别对应的样本研发工作量训练得到的。
(4)确定资源量参数为测试案例执行数量。
将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的测试案例的执行数量输入第二分类模型中确定所述测试案例的执行数量对应的研发工作量;
第二分类模型是基于多个样本测试案例的执行数量以及所述多个样本测试案例的执行数量分别对应的样本研发工作量训练得到的。
(5)确定资源量参数为交易接口数量。
将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的交易接口数量输入第三分类模型中确定所述交易接口数量对应的研发工作量;
第三分类模型是基于多个样本交易接口数量以及所述多个样本交易接口数量分别对应的样本研发工作量训练得到的。
上述第一分类模型、第二分类模型和第三分类模型可以是相同的模型,此时则将多个样本代码行数以及所述多个样本代码行数分别对应的样本研发工作量、多个样本交易接口数量以及所述多个样本交易接口数量分别对应的样本研发工作量以及多个样本交易接口数量以及所述多个样本交易接口数量分别对应的样本研发工作量共同放入分类模型中共同进行训练;也可以是不同的模型,此处不进行具体限定。另外对于所属类别不同的软件来说,可以设置不同的分类模型,其中分类模型的类别可以是贝叶斯模型,也可以是其它模型,本申请实施例不进行具体限定。
S203:将所述待开发软件的多个资源量参数分别对应的研发工作量与所述待评判研发工作量之间差异值的加权和作为所述待评判研发工作量与所述评估研发工作量之间的差异值。
如S201所述,由于本申请实施例提供了多维度的资源量参数,在判断待评判研发工作量是否准确时,需要进行多维度的评判。
其确定待评判研发工作量与所述评估研发工作量之间的差异值的具体流程如图3所示:
S301:根据所述待开发软件的所属类别,分别确定所述人数对应的研发工作量与所述待评判研发工作量之间的第一差异值、所述需求项数量对应的研发工作量与所述待评判研发工作量之间的第二差异值、所述代码行数对应的研发工作量与所述待评判研发工作量之间的第三差异值、所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的第四差异值和所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的第五差异值对应的预先设置的权重;
S302:将第一差异值与对应的预先设置的权重的乘积、第二差异值与对应的预先设置的权重的乘积、第三差异值与对应的预先设置的权重的乘积、第一差异值与对应的预先设置的权重的乘积和第五差异值与对应的预先设置的权重的乘积进行加和;
S303:将该和作为待评判研发工作量与评估研发工作量之间的差异值。
计算各个资源量参数对应的工作量与待评判研发工作量与评估研发工作量之间的差异值,具体通过如下实施方式。
(1)确定资源量参数为人数。
将所述人数对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述人数对应的研发工作量与所述待评判研发工作量之间的差异值。
例如,待评判研发工作量为212.02,人数对应的研发工作量为194.51,则人数对应的研发工作量与所述待评判研发工作量之间的差异值为(194.51-212.02)/212.02=-0.0826=8.26%。
(2)确定资源量参数为需求项数量。
将所述需求项数量对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述需求项数量对应的研发工作量与所述待评判研发工作量之间的差异值。
例如,待评判研发工作量为212.02,需求项数量对应的研发工作量为256.96,则人数对应的研发工作量与所述待评判研发工作量之间的差异值为(256.96-212.02)/212.02=0.212=21.2%。
(3)确定资源量参数为代码行数。
将所述代码行数对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述代码行数对应的研发工作量与所述待评判研发工作量之间的差异值。
例如,待评判研发工作量为212.02,代码行数对应的研发工作量为253,则人数对应的研发工作量与所述待评判研发工作量之间的差异值为(253-212.02)/212.02=0.1933=19.33%。
(4)确定资源量参数为测试案例执行数量。
将所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的差异值。
例如,待评判研发工作量为212.02,需求项数量对应的研发工作量为152.55,则人数对应的研发工作量与所述待评判研发工作量之间的差异值为(152.55-212.02)/212.02=0.2805=28.05%。
(5)确定资源量参数为交易接口数量。
将所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的差异值。
例如,待评判研发工作量为212.02,需求项数量对应的研发工作量为255.02,则人数对应的研发工作量与所述待评判研发工作量之间的差异值为(255.02-212.02)/212.02=0.2028=20.28%。
在本申请实施例中,对于不同类型的项目,为各项研发工作量设置不同的权重。例如:迭代优化类型的项目,该项目特点是,项目人员随着需求多少的变化而变化,需求提出单位也不尽相同。但系统整体技术框架,技术实现方式基本不会调整,主要是对现有系统的优化,改造等,同时为了保证系统稳定性,每投产一次都会对系统进行全量的测试。则该类项目工作量判断的主要依据为代码行数和测试案例的执行数量,其权重设置要高于人数,需求项数量等。例如重点类项目,在项目需求和项目周期均明确的前提下,其人数和需求项数量的权重则要高于代码行数和测试案例的执行数量。
S204:在所述待评判研发工作量与所述评估研发工作量之间的差异值小于设定差异阈值时,确定所述待开发软件的待评判研发工作量评估准确。
在本申请实施例中,预先设置几个差异值范围,具体如表1所示:
表1
本申请实施例提供了一种软件工作量合理性评判方法、装置及设备,通过采集历史软件项目的各项研发数据,利用各项研发数据计算得到的各项研发工作量,并将分别计算各项研发工作量与带评判研发工作量的之间差异值的加权和,作为待评判研发工作量与所述评估研发工作量之间的差异值,最后根据该差异值对待评判研发工作量的合理性进行判断,对实施过程中工作量评估的合理性,起到重要的参考作用;在软件项目规划时,可以利用已经积累的研发数据,判断项目实施的规模;可以反向作用与项目实施,为代码结构优化,测试案例优化,人员结构调整提供辅助参考;三方审计或财务结算时,提供工作量评估合理性的数据支撑;整合了研发过程的工艺数据,为实现精细化管理提供了基础数据支持。
基于相同的发明构思,本申请实施例提供了一种软件工作量合理性评判装置400,如图4所示,该装置包括:
接收模块401,用于接收研发数据,以及待开发软件的待评判研发工作量,所述研发数据包括研发多个历史软件中每个历史软件的多个业务功能所投入和产生的多个资源量参数;所述待评判研发工作量用于表征已估计的研发待开发软件所投入的人力成本,所述待开发软件所属类别与所述多个历史软件所属类别相同;
确定模块402,用于根据所述研发数据中与所述待开发软件的业务功能相同的各个业务功能分别对应的多个资源量参数,确定研发所述待开发软件的过程中所投入和产生的多个资源量参数分别对应的研发工作量;
计算模块403,用于将所述待开发软件的多个资源量参数分别对应的研发工作量与所述待评判研发工作量之间差异值的加权和作为所述待评判研发工作量与所述评估研发工作量之间的差异值;
评判模块404,用于在所述待评判研发工作量与所述评估研发工作量之间的差异值小于设定差异阈值时,确定所述待开发软件的待评判研发工作量评估准确。
在一种可能的实施方式中,接收模块401用于接收研发数据,研发数据包括多个业务功能对应的投产时间段参与软件研发过程的人数、所述多个业务功能对应的投产时间段的需求项数量、所述多个业务功能的投产时间段的代码行数、所述多个业务功能的投产时间段的测试案例的执行数量或者所述多个业务功能的投产时间段的交易接口数量中的至少一项。
在一种可能的实施方式中,确定模块402用于根据所述研发数据中与所述待开发软件的业务功能相同的各个业务功能分别对应的多个资源量参数,确定研发所述待开发软件的过程中所投入和产生的多个资源量参数分别对应的研发工作量,包括:
所述研发数据包括人数时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的人数的加权和作为所述人数对应的研发工作量;所述各个业务功能对应的人数的权重为所述各个业务功能的投产时间段的时长;或者,
所述研发数据包括需求项数量时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的需求项数量的加权和作为所述需求项数量对应的研发工作量;所述各个业务功能对应的需求项数量的权重为所述各个业务功能的投产时间段的时长。
在一种可能的实施方式中,确定模块402用于确定根据所述待开发软件的所属类别确定:所述人数对应的研发工作量与所述待评判研发工作量之间差异值的权重和所述需求项数量对应的研发工作量与所述待评判研发工作量之间差异值的权重。
在一种可能的实施方式中,确定模块402用于所述根据所述研发数据确定所述研发数据对应的研发数据工作量,包括:
所述研发数据包括代码行数时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的代码行数输入第一分类模型中确定所述代码行数对应的研发工作量;
所述研发数据包括测试案例执行数量时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的测试案例的执行数量输入第二分类模型中确定所述测试案例的执行数量对应的研发工作量;
所述研发数据包括交易接口数量时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的交易接口数量输入第三分类模型中确定所述交易接口数量对应的研发工作量;
其中,所述第一分类模型是基于多个样本代码行数以及所述多个样本代码行数分别对应的样本研发工作量训练得到的;
所述第二分类模型是基于多个样本测试案例的执行数量以及所述多个样本测试案例的执行数量分别对应的样本研发工作量训练得到的;
所述第三分类模型是基于多个样本交易接口数量以及所述多个样本交易接口数量分别对应的样本研发工作量训练得到的。
在一种可能的实施方式中,确定模块402用于确定根据所述待开发软件的所属类别确定:所述代码行数对应的研发工作量与所述待评判研发工作量之间差异值的权重、所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间差异值的权重、及所述交易接口数量对应的研发工作量与所述待评判研发工作量之间差异值的权重。
在一种可能的实施方式中,计算模块403用于采取如下方式计算所述人数对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述人数对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述人数对应的研发工作量与所述待评判研发工作量之间的差异值;
采取如下方式计算所述需求项数量对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述需求项数量对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述需求项数量对应的研发工作量与所述待评判研发工作量之间的差异值。
在一种可能的实施方式中,计算模块403用于采取如下方式计算代码行数对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述代码行数对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述代码行数对应的研发工作量与所述待评判研发工作量之间的差异值;
采取如下方式计算所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的差异值;
采取如下方式计算所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的差异值。
在一种可能的实施方式中,评判模块404用于将所述待开发软件的多个资源量参数分别对应的研发工作量与所述待评判研发工作量之间的差异值的加权和作为所述待评判研发工作量与所述评估研发工作量之间的差异值,包括:
根据所述待开发软件的所属类别,分别确定所述人数对应的研发工作量与所述待评判研发工作量之间的第一差异值、所述需求项数量对应的研发工作量与所述待评判研发工作量之间的第二差异值、所述代码行数对应的研发工作量与所述待评判研发工作量之间的第三差异值、所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的第四差异值和所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的第五差异值对应的预先设置的权重;
将第一差异值与对应的预先设置的权重的乘积、第二差异值与对应的预先设置的权重的乘积、第三差异值与对应的预先设置的权重的乘积、第一差异值与对应的预先设置的权重的乘积和第五差异值与对应的预先设置的权重的乘积进行加和,并将所述作为所述待评判研发工作量与所述评估研发工作量之间的差异值。
基于相同的发明构思,本申请实施例还提供了一种软件工作量合理性评判设备,所述设备包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述实施例中的任一软件工作量合理性评判方法。
下面参照图5来描述根据本申请的这种实施方式的电子设备50。图5显示的电子设备50仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,电子设备50以通用电子设备的形式表现。电子设备50的组件可以包括但不限于:上述至少一个处理器51、上述至少一个存储器52、连接不同系统组件(包括存储器52和处理器51)的总线53。
所述处理器51用于读取所述存储器52中的指令并执行,以使所述至少一个处理器能够执行上述实施例提供的一种软件工作量合理性评判的方法。
总线53表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器52可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)521和/或高速缓存存储器522,还可以进一步包括只读存储器(ROM)523。
存储器52还可以包括具有一组(至少一个)程序模块524的程序/实用工具525,这样的程序模块524包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
电子设备50也可以与一个或多个外部设备54(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与电子设备50交互的设备通信,和/或与使得该电子设备50能与一个或多个其它电子设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口55进行。并且,电子设备50还可以通过网络适配器56与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器56通过总线53与用于电子设备50的其它模块通信。应当理解,尽管图中未示出,可以结合电子设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的一种软件工作量合理性评判方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种软件工作量合理性评判方法的步骤。
另外,本申请还提供一种计算机可读存储介质及计算机程序产品,所述计算机存储介质存储有计算机程序,所述计算机程序产品用于使计算机执行上述实施例中任何一项所述的方法;
这些计算机程序指令可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种软件工作量合理性评判方法,其特征在于,所述方法包括:
接收研发数据,以及待开发软件的待评判研发工作量,所述研发数据包括研发多个历史软件中每个历史软件的多个业务功能所投入和产生的多个资源量参数;所述待评判研发工作量用于表征已估计的研发待开发软件所投入的人力成本,所述待开发软件所属类别与所述多个历史软件所属类别相同;
根据所述研发数据中与所述待开发软件的业务功能相同的各个业务功能分别对应的多个资源量参数,确定研发所述待开发软件的过程中所投入和产生的多个资源量参数分别对应的研发工作量;
将所述待开发软件的多个资源量参数分别对应的研发工作量与所述待评判研发工作量之间差异值的加权和作为所述待评判研发工作量与所述评估研发工作量之间的差异值;
在所述待评判研发工作量与所述评估研发工作量之间的差异值小于设定差异阈值时,确定所述待开发软件的待评判研发工作量评估准确。
2.根据权利要求1所述的方法,其特征在于,所述研发数据包括多个业务功能对应的投产时间段参与软件研发过程的人数、所述多个业务功能对应的投产时间段的需求项数量、所述多个业务功能的投产时间段的代码行数、所述多个业务功能的投产时间段的测试案例的执行数量或者所述多个业务功能的投产时间段的交易接口数量中的至少一项。
3.根据权利要求2所述的方法,其特征在于,根据所述研发数据中与所述待开发软件的业务功能相同的各个业务功能分别对应的多个资源量参数,确定研发所述待开发软件的过程中所投入和产生的多个资源量参数分别对应的研发工作量,包括:
所述研发数据包括人数时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的人数的加权和作为所述人数对应的研发工作量;所述各个业务功能对应的人数的权重为所述各个业务功能的投产时间段的时长;或者,
所述研发数据包括需求项数量时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的需求项数量的加权和作为所述需求项数量对应的研发工作量;所述各个业务功能对应的需求项数量的权重为所述各个业务功能的投产时间段的时长。
4.根据权利要求3所述的方法,其特征在于,所述人数对应的研发工作量与所述待评判研发工作量之间差异值的权重和所述需求项数量对应的研发工作量与所述待评判研发工作量之间差异值的权重,是基于待开发软件的所属类别确定的。
5.根据权利要求2所述的方法,其特征在于,所述根据所述研发数据确定所述研发数据对应的研发数据工作量,包括:
所述研发数据包括代码行数时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的代码行数输入第一分类模型中确定所述代码行数对应的研发工作量;
所述研发数据包括测试案例执行数量时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的测试案例的执行数量输入第二分类模型中确定所述测试案例的执行数量对应的研发工作量;
所述研发数据包括交易接口数量时,将研发数据中与待开发软件的业务功能相同各个业务功能分别对应的交易接口数量输入第三分类模型中确定所述交易接口数量对应的研发工作量;
其中,所述第一分类模型是基于多个样本代码行数以及所述多个样本代码行数分别对应的样本研发工作量训练得到的;
所述第二分类模型是基于多个样本测试案例的执行数量以及所述多个样本测试案例的执行数量分别对应的样本研发工作量训练得到的;
所述第三分类模型是基于多个样本交易接口数量以及所述多个样本交易接口数量分别对应的样本研发工作量训练得到的。
6.根据权利要求5所述的方法,其特征在于,所述,所述代码行数对应的研发工作量与所述待评判研发工作量之间差异值的权重、所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间差异值的权重、及所述交易接口数量对应的研发工作量与所述待评判研发工作量之间差异值的权重,是基于待开发软件的所属类别确定的。
7.根据权利要求3所述的方法,其特征在于,采取如下方式计算所述人数对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述人数对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述人数对应的研发工作量与所述待评判研发工作量之间的差异值;
采取如下方式计算所述需求项数量对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述需求项数量对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述需求项数量对应的研发工作量与所述待评判研发工作量之间的差异值。
8.根据权利要求5所述的方法,其特征在于,采取如下方式计算代码行数对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述代码行数对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述代码行数对应的研发工作量与所述待评判研发工作量之间的差异值;
采取如下方式计算所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述测试案例的执行数量对应的研发工作量与所述待评判研发工作量之间的差异值;
采取如下方式计算所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的差异值:
将所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的差值除以所述待评判研发工作量得到的商,作为所述交易接口数量对应的研发工作量与所述待评判研发工作量之间的差异值。
9.一种软件工作量合理性评判装置,其特征在于,所述装置包括:
接收模块,用于接收研发数据,以及待开发软件的待评判研发工作量,所述研发数据包括研发多个历史软件中每个历史软件的多个业务功能所投入和产生的多个资源量参数;所述待评判研发工作量用于表征已估计的研发待开发软件所投入的人力成本,所述待开发软件所属类别与所述多个历史软件所属类别相同;
确定模块,用于根据所述研发数据中与所述待开发软件的业务功能相同的各个业务功能分别对应的多个资源量参数,确定研发所述待开发软件的过程中所投入和产生的多个资源量参数分别对应的研发工作量;
计算模块,用于将所述待开发软件的多个资源量参数分别对应的研发工作量与所述待评判研发工作量之间差异值的加权和作为所述待评判研发工作量与所述评估研发工作量之间的差异值;
评判模块,用于在所述待评判研发工作量与所述评估研发工作量之间的差异值小于设定差异阈值时,确定所述待开发软件的待评判研发工作量评估准确。
10.一种软件工作量合理性评判设备,其特征在于,所述设备包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8中任何一项所述的方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述如权利要求1-8中任一项所述的方法。
12.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机执行如权利要求1-8中任何一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211648005.6A CN115860562A (zh) | 2022-12-21 | 2022-12-21 | 一种软件工作量合理性评判方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211648005.6A CN115860562A (zh) | 2022-12-21 | 2022-12-21 | 一种软件工作量合理性评判方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115860562A true CN115860562A (zh) | 2023-03-28 |
Family
ID=85674849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211648005.6A Pending CN115860562A (zh) | 2022-12-21 | 2022-12-21 | 一种软件工作量合理性评判方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115860562A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117236762A (zh) * | 2023-09-18 | 2023-12-15 | 长沙银行股份有限公司 | 一种基于服务的软件研发工作量评估方法及装置 |
-
2022
- 2022-12-21 CN CN202211648005.6A patent/CN115860562A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117236762A (zh) * | 2023-09-18 | 2023-12-15 | 长沙银行股份有限公司 | 一种基于服务的软件研发工作量评估方法及装置 |
CN117236762B (zh) * | 2023-09-18 | 2024-05-28 | 长沙银行股份有限公司 | 一种基于服务的软件研发工作量评估方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6546506B1 (en) | Technique for automatically generating a software test plan | |
CN107563633A (zh) | 一种绩效指标考核评估方法、设备及存储介质 | |
CN113807747A (zh) | 一种企业预算管理成熟度测评系统 | |
Lee et al. | Stochastic project financing analysis system for construction | |
CN115860562A (zh) | 一种软件工作量合理性评判方法、装置及设备 | |
CN110648035A (zh) | 一种云计算成熟度评估方法、装置和计算机可读存储介质 | |
CN116051055A (zh) | 一种数字化项目管理系统 | |
Bilgin et al. | A decision support system for project portfolio management in construction companies | |
CN112818028B (zh) | 数据指标筛选方法、装置、计算机设备及存储介质 | |
CN108805603A (zh) | 营销活动质量评估方法、服务器及计算机可读存储介质 | |
Wang | Integrating a novel intuitive fuzzy method with quality function deployment for product design: Case study on touch panels | |
CN115471215A (zh) | 一种业务流程处理方法及装置 | |
CN115204501A (zh) | 企业评估方法、装置、计算机设备和存储介质 | |
CN108846746A (zh) | 一种结合离散统计和极限学习机的碳交易行为建模方法 | |
Arain et al. | A framework for developing a knowledge-based decision support system for management of variation orders for institutional buildings | |
CN113361851A (zh) | 一种企业数据治理成效评估模型及其方法 | |
CN112346995A (zh) | 一种基于银行业的测试风险预估模型的构建方法及装置 | |
CN111353673A (zh) | 一种用于区块链项目的评判系统 | |
CN108090776A (zh) | 信用评估模型的更新方法及系统、信用评估方法及系统 | |
Wielki et al. | Evaluation of Healthcare Business Intelligence Using the Fuzzy TOPSIS Method | |
CN117371662A (zh) | 一种虚拟电厂调节能力的评估系统及其方法 | |
Alabdalı | AREA BASE OF COST ESTIMATION FOR BUILDING CONSTRUCTION PROJECTS USING AN ARTIFICIAL NEURAL NETWORK | |
CN114169994A (zh) | 金融机构的业务处理方法、装置、计算机设备和存储介质 | |
CN113361960A (zh) | 一种大规模需求响应能力量化方法、介质、装置及设备 | |
CN115689342A (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 |