当前位置:在线查询网 > 在线百科全书查询 > 项目成本估算方法

项目成本估算方法_在线百科全书查询


请输入要查询的词条内容:

项目成本估算方法




项目成本估算是对完成项目工作所需要的费用进行估计和计划,是项目计划中的一个重要组成部分。要实行成本控制,必须先估算费用。费用估算过程实际上是确定完成项目全部工作活动所需要的资源的一个费用估计值,这是一个近似值,既可以用货币单位表示,也可用工时、人月、人天等其他单位表示。在进行费用估算时,也包括各种备选方案的费用估算。

项目成本估算方法就是运用一系列科学的手段去对项目有关工程技术、经济、社会等方面的条件和情况进行调查、研究、分析,从而推算出项目所需成本的手段。

IT项目开发成本的估算方法


对于一个大型的IT软件项目,由于项目的复杂性及IT项目的独特性,开发成本的估算不是一件容易的事情,它需要进行一系列的估算处理,因些,主要依靠分析和类比推理的手段进行,最基本的估算方法有以下几种:

成本建模技术

根据项目特征,用数学模型来预测项目的成本。一般采用历史成本信息(这些信息与项目成本的一些软件度量标准相关)来建立估算模型,并通过这个模型预测工作量和成本。

专家判定技术

也称为Delphi法,聘请一个或多个领域专家和软件开发技术人员,由他们分别对项目成本进行估计,并最后达成一致而获得最终的成本。

类比评估技术

根据以前类似项目的实际成本作为当前项目的估算依据。

Parkson法则

Parkson法则表示工作能够由需要的时间来反映。在软件成本估计中,这意味着成本是由可获得的资源而不是由目标评价决定的。如果一个软件需要在12个月内由5个人来完成,那么工作量就是12 X 5 = 60个人月(PM)。

自顶向下估算法

成本的估算,主要依据工作分解结构、产品的功能以及实现该功能的子功能组成形式逐层分配成本。

自下而上估算法

首先估计每个组成单元的成本,然后根据工作分解结构,通过累加方式得到最终的成本估计。

赢利定价法

软件的成本通过估计用户愿意在该项目上的投资来计算,成本的预算依靠客户的预算而不是软件的功能。

上面这些估算法都有它们的优势和不足,不能简单评价某种方法和好坏。在一个大型的IT项目中,通常要同时采用几种估算方法并且比较它们估算的结果,如果采用不同方法估算的结果大相径庭,就说明没有收集到足够的成本信息,应该继续设法获取更多的成本信息,重新进行成本估算,直到几种方法估算的结果基本一致为止。

成本预算是在确定总体成本后的分解过程。分解主要是作两个方面的工作:一是按工作分解结构和工作任务(工作包)分摊成本,这样可以对照检查每项工作的成本,出现偏差时可以确定是哪项工作出了问题;二是按工期时段分摊成本,将预算成本分摊到项目工期的各个时段,这样,可以确定在未来某个时段累计应该花费的成本,并检查偏差,评价成本绩效。

目前最常用且最好用的度量方法主要用3种:面向规模(LOC)、面向功能点(FP)及COCOMO模型的度量方法。

面向规模(LOC)的度量


面向规模的软件度量通过规范化质量和生产率测量的方法得到,这种测量是基于所生产软件的规模(Size)确定的。为了与其他项目中的同类度量相比较,选择代码行作为规范化,这样,就可以为每个项目产生一组简单的、面向规模的度量标准:

每千行代码(KLOC)的错误数。

每千行代码行(KLOC)的缺陷数。

每千行代码行(KLOC)的成本。

每千行代码行(KLOC)的文档页数。

每人月错误数。

每页文档的成本。

面向规模的软件度量,通常并不被认为是软件开发过程中最优的方法,因为有很多因素直接影响代码的行数。例如,代码行数依靠软件和硬件的选择,应用商业数据库管理系统就不用再编写有关数据库管理部分的代码。而用ADA语言就比用FORTRAN语言的代码行要多等。因此,在1979年Albercht提出面向功能点(FP)软件度量。

面向功能点(FP)的度量


面向功能点法是由Albrecht最先提出的,并且在1983年由Albrecht和Gaffney进行了改进。功能点可由以下4个参数计算出来:

外部输入和输出数

外部接口数

用户交互数

系统要用的文件数

每个参数都可以根据复杂性进行评估,一般它们的权理为3~15.功能点是通过完成如图所示的功能点度量计算出来的。其中,FP计数等于数量与加权因子之积,加权因子根据功能点的复杂程度取不同的值。

功能点法是通过建立一个标准来确定某个特定的测量参数(简单、平均或复杂)的功能点数,但权重的确定多少带有一定的主观性。

一般,可以采用下面的方工计算功能点:

FP = 总计数值*[0.65+0.01*SUM(Fi)]

其中总计数值是上表中所得到的所有条目的总和。Fi(i=1,2,3,...14)是对以下14个问题回答的结果而得出的权重调整值(0~5)。等式中的常数和参数的加权因子是根据经验确定的。

序号 问题

1 系统是否需要可靠的备份和恢复

2 是否需要数据通信

3 是否有分布处理功能

4 系统是否很关键

5 系统是否在一个已有的、很实用的操作环境中运行

6 系统是否需要联机处理

7 联机数据项是否需要在多屏幕或多操作之间切换以完成操作

8 是否需要联机更新主文件

9 输入、输出及文件查询是否很复杂

10 内部处理是否复杂

11 代码是否需要设计成可复用的

12 设计中是否需要包括转换及安装

13 系统的设计是否支持不同组织的多次安装

14 应用的设计是否方便用户修改及使用

问题的答案及相应权重如下表所示

Fi的取值

0 1 2 3 4 5

没有影响 偶有影响 轻微影响 平均影响 较大影响 严重影响 一旦计算出功能点,就可以采用类似面向规模的方法来使用,以便规范软件生产率、质量及其他属性的测量:

每个功能点(FP)的错误数。

每个功能点(FP)的缺陷数。

每个功能点(FP)的成本。

每个功能点(FP)的文档页数。

每人月完成的功能点(FP)数。

面向功能点(FP)和耐听向规模(LOC)两种度量方法之间的关系为:LOC=AVC*功能点的数量,其中AVC是指该语言在实现一个功能点时所要用的平均代码行数。

COCOMO模型


COCOMO模型是目前普及程度比较高的一种自顶向下项目成本估算模型,是比较精确,易于使用的成本估算方法。该模型的项目成本估算公式为:

E=A(KDSI)

其中:E为开发成本:DSI为项目源代码行数,但不包括注释行数,DSI以千行为一个基本单位,即1KDSI=1024DSI:A、b为两个常数,具体值由项目的种类而定。

在COCOMO模中,根据开发环境及项目规模等因素,可把项目分为以下3种:

组织模式:指规模较小的、简单的软件项目;

半分离模式:指在南侧模和复杂性上处于中等程度的软件项目;

嵌入模式:指必须要求在一组紧密联系的硬件、软件及操作约束下开发的软件项目。

相应的,COCOMO模型的层次也包括3种基本形式,即初级COCOMO模型、中级COCOMO模型和高级COCOMO模型。

相关分词: 项目 成本 估算 方法