第二篇:项目计划——成本计划
软件项目成本包括直接成本和间接成本(估算时需要同时考虑二者),一般而言,项目人力成本归属于直接成本。
1.成本估算概述
(1)项目规模与成本的关系
- 软件项目成本是指完成软件项目规模相应付出的代价,是待开发的软件项目需要的资金。
- 软件项目规模即工作量:代码行(LOC)、功能点、人天、人月、人年等都是规模的单位。
- 如:项目规模20人月,公司工资1万元/月,那么成本20万元。
(2)成本估算定义
- 成本估算是成本管理的核心,是预测开发一个软件系统所需要的总工作量的过程。
- 软件产品的开发成本主要是人的劳动的消耗所需要的代价。
- 软件项目不存在重复制造的过程。开发成本是以一次性开发过程所花费的代价来计算的。
- 成本估算贯穿软件的生命周期。
- 估算是有误差的,估算是不要太迷信数学模型、历史数据对估算特别重要。
(3)成本估算过程
直接成本:是与开发的项目直接相关的成本,如:员工的工资、材料费等
间接成本:不能归属于一个项目,是企业的运营成本,可以分摊到各个项目中。如:房租、水电、员工福利等。
2.陈本估算方法
(1)代码行估算法
相关比例数据:生产率LOC/PM(人月),LOC/hour 等
(2)功能点估算法:FP=UFC x TCF
功能点估算是用系统的功能数量来测量其规模,以一个标准的单位来度量软件产品的功能,与实现产品所使用的语言和技术没有关系。
UFC:未调整功能点计数。
- 计算UFC,应该先计算五类功能组件的计数项:内部逻辑文件、外部输入、外部输出、外部查询、外部接口文件。
TCF:技术复杂度因子(即调整系数)。0~5
- 技术复杂度因子取决于14个通用系统特征。
(3)用例点估算法
用例点估算法通过分析用例角色、场景和技术与环境因子等来进行软件估算。
(4)类比估算法(自顶向下方法)
- 通常在项目初期 或 信息不足时采用此方法,如在合同期和市场招标时。
- 是基于实例推理的一种形式,即通过对一个或多个已完成的项目与新的类似项目对比来预测当前项目的成本与进度。
(5)自上而下估算法
(6)三点估算法
3种估算值:最可能成本、最乐观成本、最悲观成本。
(7)参数估算法
①静态单变量模型
②动态多变模型
③COCOMO模型
④COCOMO 81模型
- COCOMO 81将项目模式分为三类:有机型、嵌入型和半嵌入型。
- COCOMO 81有三个等级模型:基本模型、中等模型和高级模型。
⑤COCOMO Ⅱ模型
⑥Walston-Felix模型
⑦基于神经网络估算
(8)专家估算法
(9)猜测估算法
3.敏捷项目成本估算
敏捷项目一般采用故事点估算。
(1)故事点估算
故事点估算是一个相对的估算过程。
- Fibonacci标准:0、1、2、3、5、8、13(一般就到13)。选了故事点预估为3的用户故事,工作量差不多 3,略少 2,更少 1,用户故事不需要完成 0.略多 5,更多 8,再多 13.
4.成本预算
目的:产生成本基线。
预算是:在成本管理过程中,每个时间段的各个工作单元的成本。