一种软件研发效率预测模型的构建方法与流程

allin2023-05-03  59



1.本发明涉及计算机技术领域,具体涉及一种软件研发效率预测模型的构建方法。


背景技术:

2.一般软件开发过程中,项目经理需要在进度、研发效率、质量三者之间进行平衡,如果项目只注重进度,则管理较容易被忽视,评审流于形式、测试工期不充分、测试内容被裁剪等,容易造成项目遗留缺陷较多到生产,从而对用户使用造成较大影响,甚至有可能带来较大经济损失,项目的交付质量比较依赖项目团队人员的工作经验;如果项目只注重质量,那么项目的质量活动投入较大时,往往牺牲了进度,难以满足业务发展的要求,并且提高了项目研发成本。
3.项目经理难以在可量化达到项目目标的情况下管理好项目的研发质量、效率,缺乏相应的管控工具帮助项目经理进行项目研发效率预测,缺乏相应的工具对项目资源进行合理分配。


技术实现要素:

4.本发明的目的是针对现有技术存在的不足,提供一种软件研发效率预测模型的构建方法,使得项目研发效率在目标可控的情况下达到最优,有效控制项目研发效率风险。
5.为实现上述目的,本发明提供了一种软件研发效率预测模型的构建方法,包括:
6.步骤1,设定研发效率目标的目标值,并获取若干影响所述研发效率目标的研发效率影响因子;
7.步骤2,判断所述研发效率影响因子是否符合正态分布,是,则进行步骤3,否则进行步骤4;
8.步骤3,分析研发效率影响因子与目标值之间的相关性,并判断研发效率影响因子与目标值之间的相关性是否稳定,是,则进行步骤5,否则找出异常点并对其进行分析;
9.步骤4,寻找所述研发效率影响因子之间的相关性,并根据研发效率影响因子之间的相关性判断所述研发效率影响因子是否可以进行分组,是,则对其进行分组,并在分组后返回步骤2;
10.步骤5,对所述研发效率影响因子与目标值之间进行回归分析,并判断研发效率影响因子和目标值之间是否相关,是,则构建模型。
11.进一步的,还包括:在进行所述步骤1前判断研发效率目标是否可以分解,是,则将所述研发效率目标分解为多个子过程目标。
12.进一步的,所述研发效率影响因子的类别包括需求开发、需求评审、软件设计、设计评审、代码、代码评审、单元测试、系统集成测试和用户验收测试。
13.进一步的,对所述研发效率影响因子与目标值之间进行回归分析具体包括:
14.根据所述研发效率影响因子与目标值建立预测方程:
15.y=b1*x1+b2*x2+b3*x3-b4*x4-b5*x5-b6*x6-b7*x7-b8*x8-b9*x9+e1
16.其中,y为目标值,b1-b9分别为需求开发、需求评审、软件设计、设计评审、代码、代码评审、单元测试、系统集成测试和用户验收测试子过程的系数,x1-x9分别为需求开发生产率、需求评审生产率、设计开发生产率、设计评审生产率、代码开发生产率、代码评审生产率、集成测试生产率、系统测试生产率和验收测试生产率,e1为随机误差。
17.进一步的,所述构建模型具体包括:
18.通过敏感度分析,对研发效率影响因子进行筛选,得出筛选后预测方程
19.y’=b1’*x1’+

+bn’*xn’+e2,
20.xn’=a*m1+b*m2+...+e3
21.其中,y’为筛选后的目标值,x1
’‑
xn’为筛选后子过程的研发效率影响因子,e2和e3均为随机误差,m1和m2为可控因子,a和b为系数。
22.进一步的,所述研发效率影响因子用度量项来统计,对所述度量项进行柱状图分析,以判断所述度量项是否符合正态分布。
23.进一步的,判断研发效率影响因子和目标值之间是否相关的方式如下:
24.通过散点图分析研发效率影响因子和目标值之间的相关性,研发效率影响因子和目标值的相关性强度用r表示,取值范围[-1,1],-1表示完全负相关,+1表示完全正相关,当|r|≥0.7时,则判断为研发效率影响因子和目标值之间相关。
[0025]
有益效果:本发明基于软件研发过程历史数据,采用直方图、概率图、控制图、箱线图、方差分析、假设检验、回归分析、蒙特卡洛模拟等统计分析技术,建立一套基于历史数据分析的对新项目研发过程研发效率进行预测的研发效率风险预测模型,并可通过调整预测模型的可控变量,对模型进行调整,从而使项目研发效率在研发效率可控的情况下达到最优,有效控制项目研发效率风险。
附图说明
[0026]
图1是本发明实施例的软件研发效率预测模型的构建方法的流程示意图;
[0027]
图2为本发明实施例的生产率目标模拟图;
[0028]
图3为本发明实施例的总生产率与编码开发生产率的散点图;
[0029]
图4为本发明实施例的总成产率的敏感度分析图。
具体实施方式
[0030]
下面结合附图和具体实施例,进一步阐明本发明,本实施例在以本发明技术方案为前提下进行实施,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围。
[0031]
如图1至4所示,本发明实施例提供了一种软件研发效率风险预测模型的构建方法,包括:
[0032]
步骤1,设定研发效率目标的目标值,并获取若干影响所述研发效率目标的研发效率影响因子。
[0033]
应理解,软件研发过程主要包括需求开发、需求评审、软件设计、设计评审、代码、代码评审、单元测试、系统集成测试和用户验收测试9个子过程。其中,需求开发、软件设计和代码子过程为开发研发效率投入过程,需求评审、设计评审、代码评审、单元测试、系统集成测试和用户验收测试子过程为质量研发效率投入过程,具体如下表所示:
[0034][0035][0036]
相应的,研发效率影响因子根据类别可分为需求开发、需求评审、设计开发、设计评审、编码、代码评审、集成测试、系统测试和验收测试。
[0037]
分析影响软件研发效率目标的研发效率影响因子,并收集数据进行分析。研发效率影响因子受到以下可控因子影响,包括:软件规模、软件功能复杂程度、是否采用平台化开发、数据库、开发语言、研发效率控制活动(需求评审、设计评审、代码评审、单元测试、集成测试、系统测试)、研发效率控制活动类型(专家评审、同行评审)、项目各阶段人员工作经验、需求变更、测试案例覆盖程度等,研发效率影响因子可以用度量项来统计,针对度量项建立数据定义表,如下所示:
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045][0046]
[0047]
优选的,在步骤1之前还包括,判断研发效率目标是否可以分解,如果可以分解,则将研发效率目标分解为多个子过程目标。
[0048]
步骤2,判断研发效率影响因子是否符合正态分布,如果符合正态分布,则进行步骤3,如果不符合正态分布,则进行步骤4。判断研发效率影响因子是否符合正态分布,优选通过对度量项进行柱状图分析,从而判断度量项是否符合正态分布。
[0049]
如图2所示,可以看出,外部缺陷密度有96.17%的概率处于0-0.08之间,结合系统规模,可以精确预测外部缺陷数。
[0050]
步骤3,分析研发效率影响因子与目标值之间的相关性,并判断研发效率影响因子与目标值之间的相关性是否稳定,如果研发效率影响因子与目标值之间的相关性稳定,则进行步骤5,否则,找出异常点并对其进行分析。本发明实施例中,目标值为外部缺陷密度,外部啊缺陷密度越大说明软件研发效率越低,反之,软件研发效率越高。
[0051]
判断研发效率影响因子和目标值之间是否相关,包括:通过散点图分析研发效率影响因子和目标值之间的相关性,研发效率影响因子和目标值的相关性强度用r表示,取值范围[-1,1],-1表示完全负相关,+1表示完全正相关,当|r|≥0.7时,则研发效率影响因子和目标值之间相关。
[0052]
可选的,还可以通过对研发效率影响因子和目标值数据进行图表分析、稳定性分析、正态性检验、假设检验,分析其均值、标准差,建立各数据的基础分布。
[0053]
步骤4,寻找所述研发效率影响因子之间的相关性,并根据研发效率影响因子之间的相关性判断研发效率影响因子是否可以进行分组,如果可以分组,则对其进行分组,并在分组后返回步骤2。相关性分析同上。
[0054]
步骤5,对研发效率影响因子与目标值之间进行回归分析,并判断研发效率影响因子和目标值之间是否相关,如果通过回归分析后判断相关,则构建模型。否则表示无法构建模型。
[0055]
具体的,对研发效率影响因子与目标值之间进行回归分析,包括:
[0056]
根据研发效率影响因子与目标值建立预测方程:
[0057]
y=b1*x1+b2*x2+b3*x3-b4*x4-b5*x5-b6*x6-b7*x7-b8*x8-b9*x9+e1
[0058]
其中,y为目标值,b1-b9分别为需求开发、需求评审、软件设计、设计评审、代码、代码评审、单元测试、系统集成测试和用户验收测试子过程的系数,x1-x9分别为需求开发生产率、需求评审生产率、设计开发生产率、设计评审生产率、代码开发生产率、代码评审生产率、集成测试生产率、系统测试生产率和验收测试生产率,e1为随机误差。
[0059]
构建模型具体包括:
[0060]
通过敏感度分析,对研发效率影响因子进行筛选,得出筛选后预测方程
[0061]
y’=b1’*x1’+

+bn’*xn’+e2,
[0062]
xn’=a*m1+b*m2+...+e3
[0063]
其中,y’为筛选后的目标值,x1
’‑
xn’为筛选后子过程的研发效率影响因子,e2和e3均为随机误差,m1和m2为可控因子,a和b为系数。可以通过可控因子m1、m2等的调整进行项目研发效率目标的控制。
[0064]
下面以总生产率和编码开发生产率为例,对软件研发效率风险预测模型的构建方法进行具体说明。
[0065]
如图3所示,将总生产率作为目标值,编码开发生产率作为度量项,即以总生产率作为因变量,编码开发生产率作为自变量,建立散点图进行相关性分析,可以看出总生产率和编码开发生产率呈高度相关。
[0066]
通过minitab工具的相关性分析功能,选择总生产率、需求开发生产率、需求评审生产率、设计开发生产率、设计评审生产率、代码开发生产率、代码评审生产率、集成测试生产率、系统测试生产率和验收测试生产率等数据,计算出各研发效率影响因子与目标值的相关系数和λ,λ≤0.005时,说明该相关系数可用,具体如下表所示:
[0067]
相关:总生产率,需求开发生产率,需求评审生产率,设计开发生产率,设计评审生产率,...
[0068][0069]
由上表可以看出,根据pearson》0.4并且p《0.05,得出设计开发、设计评审生产率、编码开发、集成测试与总的生产率相关,编码开发相关性最强。
[0070]
本方案利用现有的数据,通过回归分析建立了模型:总生产率y=0.0576+0.0945编码开发生产率+0.01026集成测试生产率+0.01179设计开发生产率+0.002962设计评审生产率。
[0071]
其中,生产率=规模/工作量,子过程系数通过minitab工具计算得出。
[0072]
如图4所示,通过蒙特卡洛敏感度模拟发现,对总生产率影响较大的因子是设计评审生产率和编码开发生产率,从相关性、敏感度、数据产生规律考虑,最终确定编码开发做为总生产率的关键子过程,建立模型:
[0073]
总生产率y=0.0808+0.1615编码开发生产率。
[0074]
其中,编码开发生产率=0.5035+0.105复用度-1.474变更率+0.00295人与技能等级,上述复用度、变更率、人与技能等级为可控因子,可以通过可控因子调整进行项目研发效率目标的控制。
[0075]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人
员来说,其它未具体描述的部分,属于现有技术或公知常识。在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术特征:
1.一种软件研发效率预测模型的构建方法,其特征在于,包括:步骤1,设定研发效率目标的目标值,并获取若干影响所述研发效率目标的研发效率影响因子;步骤2,判断所述研发效率影响因子是否符合正态分布,是,则进行步骤3,否则进行步骤4;步骤3,分析研发效率影响因子与目标值之间的相关性,并判断研发效率影响因子与目标值之间的相关性是否稳定,是,则进行步骤5,否则找出异常点并对其进行分析;步骤4,寻找所述研发效率影响因子之间的相关性,并根据研发效率影响因子之间的相关性判断所述研发效率影响因子是否可以进行分组,是,则对其进行分组,并在分组后返回步骤2;步骤5,对所述研发效率影响因子与目标值之间进行回归分析,并判断研发效率影响因子和目标值之间是否相关,是,则构建模型。2.根据权利要求1所述的软件研发效率预测模型的构建方法,其特征在于,还包括:在进行所述步骤1前判断研发效率目标是否可以分解,是,则将所述研发效率目标分解为多个子过程目标。3.根据权利要求1所述的软件研发效率预测模型的构建方法,其特征在于,所述研发效率影响因子的类别包括需求开发、需求评审、软件设计、设计评审、代码、代码评审、单元测试、系统集成测试和用户验收测试。4.根据权利要求3所述的软件研发效率预测模型的构建方法,其特征在于,对所述研发效率影响因子与目标值之间进行回归分析具体包括:根据所述研发效率影响因子与目标值建立预测方程:y=b1*x1+b2*x2+b3*x3-b4*x4-b5*x5-b6*x6-b7*x7-b8*x8-b9*x9+e1其中,y为目标值,b1-b9分别为需求开发、需求评审、软件设计、设计评审、代码、代码评审、单元测试、系统集成测试和用户验收测试子过程的系数,x1-x9分别为需求开发生产率、需求评审生产率、设计开发生产率、设计评审生产率、代码开发生产率、代码评审生产率、集成测试生产率、系统测试生产率和验收测试生产率,e1为随机误差。5.根据权利要求4所述的软件研发效率预测模型的构建方法,其特征在于,所述构建模型具体包括:通过敏感度分析,对研发效率影响因子进行筛选,得出筛选后预测方程y’=b1’*x1’+

+bn’*xn’+e2,xn’=a*m1+b*m2+...+e3其中,y’为筛选后的目标值,x1
’‑
xn’为筛选后子过程的研发效率影响因子,e2和e3均为随机误差,m1和m2为可控因子,a和b为系数。6.根据权利要求1所述的软件研发效率预测模型的构建方法,其特征在于,所述研发效率影响因子用度量项来统计,对所述度量项进行柱状图分析,以判断所述度量项是否符合正态分布。7.根据权利要求1所述的软件研发效率预测模型的构建方法,其特征在于,判断研发效率影响因子和目标值之间是否相关的方式如下:通过散点图分析研发效率影响因子和目标值之间的相关性,研发效率影响因子和目标
值的相关性强度用r表示,取值范围[-1,1],-1表示完全负相关,+1表示完全正相关,当|r|≥0.7时,则判断为研发效率影响因子和目标值之间相关。

技术总结
本发明公开了一种软件研发效率预测模型的构建方法。该方法包括步骤1,设定研发效率目标的目标值,并获取若干影响所述研发效率目标的研发效率影响因子;步骤2,判断研发效率影响因子是否符合正态分布,是,则进行步骤3,否则进行步骤4;步骤3,分析研发效率影响因子与目标值之间的相关性,并判断该相关性是否稳定,是,则进行步骤5;步骤4,寻找研发效率影响因子之间的相关性,并判断研发效率影响因子是否可以进行分组,是,则对其进行分组,并在分组后返回步骤2;步骤5,通过回归分析判断研发效率影响因子和目标值之间是否相关,是,则构建模型。本发明可使项目研发效率在研发效率可控的情况下达到最优,有效控制项目研发效率风险。有效控制项目研发效率风险。有效控制项目研发效率风险。


技术研发人员:张青
受保护的技术使用者:江苏苏宁银行股份有限公司
技术研发日:2022.04.20
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-10969.html

最新回复(0)