System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及软件开发,具体涉及一种基于神经网络算法的值调整因子评估方法及装置。
技术介绍
1、在现代社会中,软件已经渗透到几乎所有领域,从商业到医疗,从交通到娱乐,软件都扮演着至关重要的角色。然而,许多软件项目在规模、复杂性和资源需求方面存在巨大差异,这使得准确评估项目工作量和预测项目完成所需的时间和成本变得异常复杂。
2、软件工作量评估是软件项目管理中的一个关键任务,其目标是在项目启动阶段尽早地预测项目的资源需求、进度和风险。一个精确的工作量评估可以帮助项目团队合理分配资源、制定合理的计划,并在项目周期内做出适时的调整,以确保项目能够按时、按质地交付。在这样的背景下,功能点分析法应运而生。功能点分析法通过将软件的功能划分为不同的类型(例如输入、输出、查询、逻辑操作等),然后根据这些功能的复杂性和难度来确定权重,最终计算出项目的功能点总数。这种方法在估计软件项目的规模和工作量时被广泛使用,因为它提供了一种相对简单但相对准确的量化手段。
3、然而,传统的功能点分析法可能会忽略一些关键因素,如除了数据功能和事务功能五种组件之外,功能点分析方法还定义了值调整因子(value adjustment factor,vaf)。引入它是为了满足客户对系统的非功能需求,如质量需求和技术需求。它的基础是14项通用系统特性,其中每一项通用系统特性都与系统开发中某一方向的用户非功能性需求相联系。传统情况下,功能点的调整系数是通过通用系统特性及其影响程度来评定的,对每个常规系统特性的评估由其影响程度(di)而定,分为0-5级:
技术实现思路
1、有鉴于此,本专利技术实施例提供了一种基于神经网络算法的值调整因子评估方法及装置,用以解决功能点分析法中值调整因子评估不准确的问题。
2、第一方面,本专利技术实施例提供了一种基于神经网络算法的值调整因子评估方法,包括以下步骤:
3、s1:选取影响指标xi和输出指标y,所述输出指标y为值调整因子,所述影响指标xi包括性能指标、硬件指标和重用性指标;
4、s2:根据历史项目数据获取样本数据,并对所述样本数据进行归一化处理,获取样本集,所述样本数据包括所述影响指标xi和对应的所述输出指标y;
5、s3:构建bp神经网络,并通过所述样本集对所述bp神经网络进行训练验证,具体为:
6、s3.1:采用三层框架构建所述bp神经网络结构,确定输入层、隐含层和输出层的神经元数量;
7、s3.2:初始化所述bp神经网络与学习参数,包括权重w、阈值b、学习步长α、计算精度值ε、最大训练次数β;
8、s3.3:将所述样本集内样本数据随机排序并按比例分为训练样本集xin和测试样本集xtest,采用k-fold交叉验证法将所述训练样本集xin均分为k份,进行k次迭代训练得到k个可用数据集;
9、s3.4:将k个所述可用数据集依次输入所述bp神经网络进行训练,选择输出期望误差最小的模型作为最优模型;
10、s3.5:通过所述测试样本集xtest对所述最优模型进行测试,测试通过后所述最优模型即为训练好的bp神经网络,否则重新训练;
11、s4:将待估项目的所述影响指标xi进行归一化处理,输入所述训练好的bp神经网络,获取对应输出指标y,并通过反归一化处理得到值调整因子的估计值。
12、上述实施例有益效果在于:输出指标通过反归一化得到值调整因子的估计值,用于软件开发工作量的评估。本评估方法通过bp神经网络算法,获取更准确更客观的值调整因子,通过功能点分析法得到软件工作量评估,从而在项目启动阶段尽早地预测项目的资源需求、进度和风险,降低企业研发管理成本。
13、根据本专利技术实施例的一种具体实现方式,所述步骤s1中,所述性能指标包括并发用户数、响应时间、每秒查询率(qps),所述硬件指标包括cpu核数、内存大小、硬盘大小、服务器数、通信带宽、通信频率,所述重用性指标包括软件重用率、技术成熟度。
14、根据本专利技术实施例的一种具体实现方式,所述步骤s2中,对于区间连续数据,采用如下公式进行归一化处理:
15、xnorm=2*(x-xmin)/(xmax-xmin)-1;
16、对于离散性数据,选定常用配置作为基准,对应归一化值为0,并根据影响指标变化对输出指标产生的正负影响,将评估得分归一化到[-1,1]范围。
17、根据本专利技术实施例的一种具体实现方式,所述步骤s3.1中,所述隐含层神经元数量为输入层和输出层神经元数量乘积的平方根,且向上取整。
18、根据本专利技术实施例的一种具体实现方式,所述步骤s3.2中,所述学习步长α取值为0.05,所述计算精度值ε取值为0.01,所述最大训练次数β取值为5000。
19、根据本专利技术实施例的一种具体实现方式,所述步骤s3.3中,k个所述可用数据集中可保留一个所述可用数据集,用以评估模型。
20、根据本专利技术实施例的一种具体实现方式,所述步骤s3.4中,采用均方误差作为误差函数,计算模型误差e,并采用梯度下降算法调整网络权重和阈值,使模型误差减小。
21、根据本专利技术实施例的一种具体实现方式,所述步骤s4中,所述反归一化处理公式如下:
22、y=(ynorm+1)*(ymax-ymin)/2+ymin。
23、第二方面,本专利技术实施例提供了一种基于上述值调整因子评估方法的评估装置,包括:
24、选取模块,用以选取影响指标xi和输出指标y,所述输出指标y为值调整因子,所述影响指标xi包括性能指标、硬件指标和重用性指标;
25、获取模块,用以根据历史项目数据获取样本数据,并对所述样本数据进行归一化处理,获取样本集,所述样本数据包括所述影响指标xi和对应的所述输出指标y;
26、构建模块,用以构建bp神经网络,并通过所述样本集对所述bp神经网络进行训练验证;
27、预估模块,用以将待估项目的所述影响指标xi进行归一化处理,输入所述训练好的bp神经网络,获取对应输出指标y,并通过反归一化处理得到值调整因子的估计值。
28、第三方面,本专利技术实施例还提供了一种电子设备,该电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前述第一方面或第一方面的任一实现方式中的评估方法的步骤。
29、本专利技术的实施例至少具有如下技术效果:
30、第一、本评估方法在软件功能点分析中对值调整因子进行预测,根据预测结果通过本文档来自技高网...
【技术保护点】
1.一种基于神经网络算法的值调整因子评估方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的值调整因子评估方法,其特征在于:所述性能指标包括并发用户数、响应时间、每秒查询率,所述硬件指标包括CPU核数、内存大小、硬盘大小、服务器数、通信带宽、通信频率,所述重用性指标包括软件重用率、技术成熟度。
3.根据权利要求1所述的值调整因子评估方法,其特征在于:所述步骤S2中,对于区间连续数据,采用如下公式进行归一化处理:
4.根据权利要求1所述的值调整因子评估方法,其特征在于:所述步骤S3.1中,所述隐含层神经元数量为输入层和输出层神经元数量乘积的平方根,且向上取整。
5.根据权利要求1所述的值调整因子评估方法,其特征在于:所述步骤S3.2中,所述学习步长α取值为0.05,所述计算精度值ε取值为0.01,所述最大训练次数β取值为5000。
6.根据权利要求1所述的值调整因子评估方法,其特征在于:所述步骤S3.3中,K个所述可用数据集中可保留一个所述可用数据集,用以评估模型。
7.根据权利要求1所述的值调整因子评估
8.根据权利要求3所述的值调整因子评估方法,其特征在于:所述步骤S4中,所述反归一化处理公式如下:
9.一种基于神经网络算法的值调整因子评估装置,其特征在于,采用如权利要求1-8任一所述的值调整因子评估方法,还包括:
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任一项所述值调整因子评估方法的步骤。
...【技术特征摘要】
1.一种基于神经网络算法的值调整因子评估方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的值调整因子评估方法,其特征在于:所述性能指标包括并发用户数、响应时间、每秒查询率,所述硬件指标包括cpu核数、内存大小、硬盘大小、服务器数、通信带宽、通信频率,所述重用性指标包括软件重用率、技术成熟度。
3.根据权利要求1所述的值调整因子评估方法,其特征在于:所述步骤s2中,对于区间连续数据,采用如下公式进行归一化处理:
4.根据权利要求1所述的值调整因子评估方法,其特征在于:所述步骤s3.1中,所述隐含层神经元数量为输入层和输出层神经元数量乘积的平方根,且向上取整。
5.根据权利要求1所述的值调整因子评估方法,其特征在于:所述步骤s3.2中,所述学习步长α取值为0.05,所述计算精度值ε取值为0.01,所述最大训练次数β取值为50...
【专利技术属性】
技术研发人员:杨雨,武磊磊,汤铖,杨诞伦,刘振涛,祝凌锋,周琰,周叶荣,吴春波,钱程,张伟,彭雨,杨国超,陈浩,
申请(专利权)人:中航机载系统共性技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。