📜  软件工程|软件成本估算

📅  最后修改于: 2021-01-09 15:00:41             🧑  作者: Mango

软件成本估算

对于任何新软件项目,有必要知道开发成本和开发时间。在开始开发之前需要这些估计,但是如何完成呢?已经开发了几种估计程序,它们具有以下共同的属性。

  • 必须提前确定项目范围。
  • 软件指标用作评估的支持。
  • 该项目分为小型PC,这些PC分别进行估算。为了实现真实的成本和进度估算,出现了几种选择。
  • 延迟估计
  • 使用符号分解技术生成项目成本和进度估算。
  • 获取一个或多个自动评估工具。

成本估算的用途

  • 在计划阶段,需要选择项目需要多少工程师并制定时间表。
  • 在监视项目进度时,需要访问项目是否按照程序进行,并在必要时采取纠正措施。

成本估算模型

模型可以是静态的也可以是动态的。在静态模型中,单个变量被用作计算成本和时间的关键要素。在动态模型中,所有变量都是相互依赖的,并且没有基本变量。

静态单变量模型:当模型利用单变量计算所需值(例如成本,时间,工作量等)时,称为单变量模型。最常见的等式是:

C = aL b

其中C =成本
L =大小
a和b是常数

软件工程实验室建立了一个称为SEL模型的模型,用于估计其软件产量。此模型是静态单变量模型的示例。

E = 1.4升0.93
DOC = 30.4升0.90
D = 4.6升0.26

其中E =努力(每人每月)
DOC =文档(页数)
D =持续时间(D,以月为单位)
L =每个代码的行数

静态,多变量模型:这些模型基于方法(1),它们取决于描述软件开发环境各个方面的几个变量。在某些模型中,需要使用几个变量来描述软件开发过程,并且通过选择方程式将这些变量组合起来,可以估算出时间和成本。这些模型称为多变量模型。

WALSTON和FELIX在IBM开发模型,提供了以下方程式,这些方程式给出了源代码和工作量之间的关系:

E = 5.2升0.91

D = 4.1升0.36

生产率指数使用29个变量,这些变量与生产率高度相关,如下所示:

其中W i是第i变量的权重因子,X i = {-1,0,+ 1} ,根据变量的减少,估算器给X i-1、0或+1之一,这没有影响。或提高生产率。

示例:在预计需要8人年的工作量的软件开发中,将Walston-Felix模型与SEL模型进行比较。

  • 计算可以产生的源代码行数。
  • 计算发展的持续时间。
  • 以LOC / PY计算生产力
  • 计算平均人员

解:

涉及的人力= 8PY = 96人·月

(a)通过反转等式可得出源代码的行数:

然后

L(SEL)=(96 / 1.4)1⁄0.93 = 94264 LOC
5.2)1⁄0.91="24632" l(sel)="(96" loc<="" p="">

(b)可以通过公式计算以月为单位的持续时间

D(SEL)= 4.6(长)0.26
= 4.6(94.264)0.26 = 15个月
D(WF)= 4.1长0.36
= 4.1(24.632)0.36 = 13个月

(c)生产率是每人/月(年)产生的代码行

(d)平均人员配置是该项目每月所需的平均人数


>