成本估算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
远程借阅系统成本估算
一、几种常见的估算方法
1.代码行、功能点、对象点
(1)代码行(LOC)估算
代码行(LOC)是最简单最基本的估算方法,是从技术角度估算的方法。LOC是指所有可执行的源代码行数,包括可交付的控制语言语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。一代码行(LOC)的价值和人月均代码数可体现一个软件组织的生产能力,开发组织可根据历史项目的审计来核算组织的单行代码价值。基于代码行(LOC)的估算既有优点也有缺点,优点在于方便计算容易监控、能反映程序员的思维能力;缺点在于代码行数的含糊不清,不能正确反映一项工作得难易程度以及代码的效率。
(2)功能点(FP)估算
功能点(FP)估算是在需求分析阶段基于系统功能的一种规模估算方法,是基于应用软件的外部、内部特性以及软件性能的一种间接的规模测量。功能点分析计数是依据标准计算出的系统中所含每一种元素的数目,包括外部输入数、外部输出数、内部逻辑文件、外部接口文件、外部查询数。估算出每一元素和14个复杂度调整平均值。其优点在于估算结果比较准确,估算过程科学化;缺点是计算过程较复杂。
(3)对象点(OP)估算
对象点(OP)估算是基于对象的软件产品规模估算。其中最著名的是Probe方法---Watts Humphrey 。其步骤是:先基于产品构建体系结构和概要设计,在对每个类的输入和交互,标识所设计的对象属于表中哪类方法并估算其复杂性,将表示结果构造成一个矩阵,然后将矩阵中的值与表中对应的值相乘,将上述结果相加求和,产生估算结果。
2、类比(自顶向下)估算法
类比估算法是从项目的整体出发,进行类推,即估算人员根据以往的完成类似项目所消耗的总成本(或工作量),来推算将要开发的软件的总成本(或工作量),然后按比例将它分配到各个开发任务单元中。它是一种自上而下的估算形式。有类似的历史项目数据信息不足(要求不是非常精确)的时候;在合同期和市场招标时;在高层对任务的总的评估。其优点是:简单易行,花费少缺点是:具有一定的局限性准确性差,可能导致项目出现困难。
3、自下而上估算法
与自顶向下的策略完全相反,自底向上的策略是一种从技术、人性的角度出发看问题的策略。在这样一个策略指引下,将项目充分讨论得到一个合理的任务分解。再将每个任务依照任务的难易程度与项目成员的特点、兴趣、特长进行分配,并按要求进行估算。最后将估算加起来就是项目的估算值。这种方法准确。它的准确度来源于每个任务的估算情况,但是它的缺点就是这样一来项目工期就和客户的要求不一致了。而且由于其带来的不确定性,许多项目经理也不会采用这种方法。
4、参数法估算法
一种使用项目特性参数建立数据模型来估算成本的方法,是一种统计技术,如回归分析
和学习曲线。参考历史信息根据实际情况,对参数模型按适当比例调整。模型可以简单也可
以复杂,很少有通用性。参数估算法一般在下列情况使用:存在成熟的项目估算模型;应该
具有良好的数据库数据为基础;目前软件企业估算很少使用通用的数学模型。优点:比较简
单,而且也比较准确。缺点:如果模型选择不当或者数据不准,也会导致偏差。
5、专家估算法
专家估算法是由多位专家进行成本估算,一个专家可能会有偏见,最好由多位专家进行
估算,取得多个估算值,最后得出综合的估算值。其中Deiphi算法比较著名。其步骤:组织
者发给每位专家一份软件系统的规格说明和一张记录估算值的表格,请他们估算;专家详细
研究软件规格说明后,对该软件提出3个规模的估算值:最小ai、最可能的mi、最大bi;
组织者对专家的表格中的答复进行整理;计算每位专家的Ei=(ai+4mi+bi)/6;综合结果
后:E=E1+E2+…En/n(N:表示N 个专家);再组织专家无记名填表格,比较估算差,并查找
原因;如果各个专家的估算差异超出规定的范围(例如:15%),则需重复上述过程,最终
可以获得一个多数专家共识的软件规模。
二、远程借阅系统成本估算
1.直接成本
直接成本即与具体项目相关的成本。
计算过程:
(1)由COCOMO模型法估算成本:
E=a(K DSI)b
E是软件开发需要的人月数,KLOCB是软件规模值,单位为千行源代码,a,b是取决于软件开发环境及应用特征的常数。
软件开发周期为:
T DEV=c(E)d
c,d为常数,不同公司的值不完全一样。
根据美国TRW公司的主要在宇航方面应用的63个软件项目总结出来的,根据它划分的三种类型确定各个参数:
1)结构型:其特点为开发队伍小,例如某些统计计算程序。
E=3.2(KLOCB)1.05T DEV=2.5(E)0.38
2)嵌入型:其特点为软件嵌入一复杂硬件系统,很多宇航软件属于此类。
E=2.8(KLOCB)1.20T DEV=2.5(E)0.32
3)半分离型:其特点为上述两类的组合。
E=3.0(KLOCB)1.12T DEV=2.5(E)0.35
本系统中代码行数为1万行,即KLOCB=10,依据上述模型本系统的成本为:
E=3.0(KLOCB)1.12=3.0*(10)1.12=39.55人月;
(2)由专家估算法(Delphi法)估算成本:
对该软件提出3个规模的估算值,最小ai、最可能的mi、最大bi。
组织者对专家的表格中的答复进行整理,计算每位专家的Ei=(ai+4mi+bi)/6,综合结果后:E=E1+E2+…En/n(n:表示n个专家)。
在本系统中邀请3位专家,
专家1:ai=30,mi=45,bi=60,E1=(30+4*45+60)/6=45人月;
专家2:ai=48,mi=56,bi=65,E2=(48+56*4+65)/6=56人月;
专家3:ai=43,mi=52,bi=64,E3=(43+4*52+64)/6=52.5人月;
E=(E1+E2+E3)/3=(45+56+52.5)/3=51.17人月。
(3)取两种估算的平均值,求得总工作量估算值:
E直=39.55+51.17/2=45.36人月
该系统开发的单位平均成本为:1万/人月,则直接成本估算值为
M=45.36*1=45.36万
2.间接成本
不能具体到某个项目中的成本。可以分摊到各个具体项目中的成本,例如:培训、房租水电
员工福利、市场费用、管理费、其他等等。
本系统开发预计间接成本为:
M间=5万。
3.项目总估算成本为:
M总=M直+M间=45.36+5=50.36万元