索引词 |
软件工作量估计,用例点指数变换,线性回归。 |
介绍 |
软件评估是发生在软件项目生命周期中的一个重要过程。软件规模、资源和成本的估计包括在这个估计过程中。软件工作量估算用于估计开发软件项目所需的工作量。对软件公司来说,在软件生命周期的早期阶段评估软件工作量是具有挑战性和复杂的。大多数软件项目的失败都是由于软件规模不合理、系统和软件需求在需求阶段的不确定性造成的。在软件生命周期的初始阶段,有许多用于预测工作的软件工作量估计模型。Boehm[8]将软件工作量估计方法分为六类:参数模型、专家判断、面向学习的技术,其中包括基于案例推理(CBR)的方法、基于回归的方法;基于动力学的模型和复合方法。不准确的工作量估计会导致糟糕的预算和计划。 |
为了提高工作量估算的准确性,需要适当的沟通,以帮助管理人员在项目开发的初始阶段有效地分配资源。软件项目规模的估算包括用例点、功能点、对象点。在软件开发中,准确估算软件规模是决定软件项目质量和效率的复杂过程。 |
在本文中,我们将重点放在基于用例图作为软件大小的输入和用例点作为输出的更准确的估计结果上。为了提高软件工作量估算的准确性,采用指数变换的线性回归模型,找出软件规模与工作量等变量之间的关系。 |
下一节解释了我们项目的相关研究,在第三节描述了所提出的方法。第5节描述了结果和结论。 |
相关研究 |
在项目开发的初始阶段,工作量估计对于软件行业来说是必不可少的。为了满足行业的需求,软件估算必须准确可靠。 |
Nassif a . b等人提出了一个回归模型来评估软件工作,该模型基于用例图作为输入,并为软件项目生成用例点作为输出。应用回归分析,通过对数变换找出软件工作量与规模之间的关系,提高软件工作量估算的准确性。 |
Wang F等[3]提出了一种用于软件工作量估计的扩展用例点方法,以解决用例分类的不确定性和突然性。扩展用例点法提出了一种将模糊逻辑和贝叶斯信念网络相结合的方法,提供了软件工作量估计中逐步细化的概率分布和分类。 |
Lopez-Martin等[4]提出了一种通用回归神经网络,用于使用ISBSG存储库中获得的数据集预测工业项目的软件工作量。为了提高软件工作量的准确性,采用相对误差幅度(MMRE)和平均绝对误差(MAE)进行评估。许多项目已经被训练来验证神经网络模型。神经网络模型的输入依赖于用例点、功能点、训练数据的代码行。 |
Pendharkar P.C和et.al[5]提出了一种称为贝叶斯模型的概率模型,它为预测软件开发工作提供了点预测。它使用以前的数据集项目来改进软件工作。所提出的模型用于寻找预测软件工作的关系和缺失值。在风险因素估计方面,利用贝叶斯模型求解决策风险因素,提高了软件的预测效率。 |
Jiang Z等[6]提出了软件规模对软件开发工作量和软件质量的影响。功能点是软件大小的输入,用于软件开发工作的预测。它依赖于高质量的软件,从而在时间内交付项目和维护成本。评估每个开发阶段所需的工作不会导致项目失败,并提高软件质量。在软件开发工作中使用的各种数据点已经进行了评估。 |
提出的方法 |
在本节中,将描述一个拟议的回归模型。如图1所示。数据集以软件应用程序的用例图作为输入来准备。用例图表示系统的功能需求。用例点通过识别参与者的数量和用例的数量来计算。工作量估算是通过将每个用例点大小乘以karner[1]提出的20人小时来计算的。 |
计算工作量后,得到的数据必须是正态分布的。如果数据没有归一化,则使用指数变换将数据归一化。在进行指数变换后,利用线性回归找出exp(size)与exp(effort)之间的关系,提高了软件工作量估算的准确性。 |
A.用例点 |
用例点模型是在软件生命周期的早期阶段估计软件规模的方法之一。用例点模型由未调整用例点(UUCP)、调整用例点(UCP)两个阶段组成。未调整的点是通过添加未调整的参与者权重和未调整的用例权重这两个术语来计算的。 |
(a)未调整的演员重量(UAW) |
UAW是通过计算用例图中涉及的参与者的数量来计算的。如表1所示,参与者被分为简单、平均、复杂,并乘以相应的复杂度权重。 |
UAW表示如式(1)所示 |
UAW=(简单参与者数量*1)+(平均参与者数量*2)+(复杂参与者数量*3)(1) |
(b)未经调整的用例重量(UUCW) |
通过计算用例图中的用例数量来计算UUCW。如表2所示,用例根据事务的数量分为简单、平均和复杂。复杂性权重是基于用例事务分配的。UUCW表示如式(2)所示 |
UUCW =(简单用例数量*5)+(平均用例数量*10)+(复杂用例数量*15)(2) |
(c)未调整用例点(UUCP) |
未调整用例点是通过添加未调整的参与者权重和未调整的用例权重来计算的。uucp如公式(3)所示。 |
Uucp = uaw + uucw (3) |
(d)调整用例点(UCP) |
在计算了未调整的用例点之后,通过与环境因素和技术因素相乘来计算调整的用例点。 |
(e)环境复杂因素 |
环境复杂性因子(ECF)用于根据系统的环境考虑来调整大小。如表3所示,它取决于8个环境因素(E1-E8),并根据每个因素的效率分配权重。环境因素如式(4)所示 |
ECF =1.4 +(-0.03*环境因子)(4) |
(f)技术复杂性因素(TCF) |
技术复杂性因子(Technical complexity factor, TCF)用于根据系统的技术考虑调整尺寸。如表4所示,它取决于13个技术因素(T1-T13),并根据每个因素的复杂性分配权重。技术因素如式(5)所示。 |
TCF=0.6 +(0.01*技术因素)(5) |
(g)用例点 |
因此,调整后的用例点(UCP)是根据未调整的用例点(UUCW和UAW)计算出来的,技术因素(TCF)和环境因素(ECF)已经确定。用例点(UCP)的计算如式(6)所示 |
UCP = (UUCW + UAW) x TCF x ECF (6) |
(h)软件工作 |
基于Karner,计算软件工作量如式(7)所示 |
努力=大小*20 (7) |
尺寸由UCP计算,工作量以人小时计算。 |
B.Regression模型 |
软件工作量取决于软件规模、项目复杂性和团队生产力。软件工作量表示如下[7]。方程表示为式(8) |
(8) |
所提出的回归模型用于找出软件规模与工作量之间的关系。为了提高软件工作量估算的准确性,数据应该是正态分布的。对归一化数据进行回归分析。如果数据未归一化,则在大小和工作量之间进行指数变换,如式(9)所示。 |
Exp(努力)= Exp(大小)+c (9) |
回归模型取决于软件规模的增加,软件工作量的增加。指数变换回归模型的软件工作量方程如式(10)所示。 |
(10) |
结果与讨论 |
在本节中,我们将讨论我们的工作结果。以指数变换线性回归模型和对数线性回归模型评价所提模型的性能。为了从用例中预测软件工作,将指数变换线性回归模型与对数线性回归模型进行了比较。它显示了软件大小和工作量之间的关系,如图2所示。为了提高软件工作量估计的准确性,评估过程基于相对误差幅度的平均(MMER)、预测水平(PRED)、均方根误差(RMSE)、平均绝对误差(MAE)、标准偏差(SD)。图3显示了通过计算实际努力与reg努力的差值得到的精度。 |
结论 |
用例点模型用于软件生命周期的早期阶段,以进行早期的软件工作评估。这个模型的主要优点是它很简单,可以很容易地实现自动化。本文以用例点作为软件规模的输入,分析了对数线性回归模型和带指数变换的线性回归模型用于软件工作量估计。本文提出的回归模型解决了软件工作量估算的不足,提高了软件工作量估算的准确性。 |
表格一览 |
|
数字一览 |
|
参考文献 |
- 目标项目的资源估计。客观Systems.1993
- 纳西夫,a.b.,何,D,卡普里兹,l.f.。基于用例点方法的软件工作量评估回归模型。见:2011年计算机与软件建模国际会议,新加坡,117-121.2011a页
- 王峰,杨旭,朱旭,陈良,软件成本估算的扩展用例点方法。在:国际会议计算智能和软件工程2009。
- Lopez-Martín, C., Isaza, C., Chavoya, A.。基于广义回归神经网络的工业项目软件开发工作量预测。经验软件工程17,pp 1-19.2011
- Pendharkar, p.c., Subramanian, g.h., Rodger, j.a.,预测软件开发工作的概率模型。IEEE软件工程学报31,pp 615-624.2005。
- 蒋,Z, Naudé, P.,蒋,B.,。软件大小对开发工作和软件质量的影响。计算机信息科学与工程学报(自然科学版)1,30 - 30 .2007
- D. D. Galorath和M. W. Evans,软件规模、评估和风险管理.波士顿,马萨诸塞州,美国:奥尔巴赫出版社,2006年
- Boehm, b.w.,软件工程经济学。Prentice-Hall.1981
|