软件项目成本管理.ppt
谢谢阅读
13
功能点(FP)
❖ 用系统的功能数量来测量其规模,与实现产品所使 用的语言和技术没有关系。
❖ 对系统的外部功能和内部功能进行计数。 ❖ 根据技术复杂度因子(权)对它们进行调整,产生
产品规模的度量结果。
2020-6-1
谢谢阅读
14
功能点计算公式
❖ FP =UFC*TCF ➢ UFC(Unadjusted Function Point Count) 未调整功能点计数 ➢ TFC(Technical Complexity Factor) 技术复杂度因子
软件项目管理 第四章 软件项目成本管理
2020-6-1
谢谢阅读
1
本章内容提要
❖ 软件项目规模成本的概念 ❖ 成本估算 ❖ 成本预算 ❖ 成本控制
2020-6-1
谢谢阅读
2
第一节 软件项目规模成本的概念
❖ 软件项目规模度量单位: ➢ LOC(Lines of Code):源代码程序长度的测量 ➢ FP(Function Point):系统功能数量的测量
2020-6-1
谢谢阅读
33
Walston-Felix(IBM)模型
❖ 1977年,IBM的Walston和Felix提出了如下的估算 公式:
➢ E = 5.2×L ^0.91 ,L是源代码行数(以KLOC计),E是工 作量(以PM计)
➢ D = 4.1×L ^ 0.36,D是项目持续时间(以月计) ➢ S = 0.54×E ^ 0.6,S是人员需要量(以人计) ➢ DOC = 49×L ^ 1.01。DOC是文档数量(以页计)
2020-6-1
谢谢阅读
27
类比估算法
❖ 在项目初期信息不足时(例如市场招标和合同签订) 适于采用类比估算法。
❖ 该方法简单易行,花费少,但准确性差。
2020-6-1
谢谢阅读
28
成本估算方法
❖ 代码行、功能点 ❖ 类比估算法 ❖ 参数估算法 ❖ 专家估算法
2020-6-1
谢谢阅读
29
参数估算法
2020-6-1
谢谢阅读
26
类比估算法
❖ 也称为基于案例的推理,估算人员根据以往完成的 类似项目(源案例)所消耗的总成本(或工作量), 来推算将要开发的软件(目标案例)的总成本(或 工作量)。
❖ 需提取项目的一些特性作为比较因子,如项目类型 (MIS系统、实时系统等)、编程语言、项目规模、 发人员数量、软件开发方法等。
2020-6-1
谢谢阅读
34
COCOMO(Constructive Cost model)
❖ 构造性成本模型,是世界上应用最广泛的参数型软 件成本估计模型。
❖ 由Barry Boehm利用加利福尼亚的一个咨询公司的大 量项目数据推导出的一个成本模型。该模型于1981
年首次发表,于1994年又推出了COCOMO II。
❖ 模型形式:E=A+B*SC ➢ E:以人月表示的工作量 ➢ A,B,C:经验导出的系数 ➢ S:主要的输入参数(通常是LOC,FP等)
2020-6-1
谢谢阅读
31
经验估算模型
❖ 面向LOC的:
➢ Walston-Felix(IBM)模型
E= 5.2*(KLOC)^0.91
➢ Balley-Basili模型
6
本章内容提要
❖ 软件项目规模成本的概念 ❖ 成本估算 ❖ 成本预算 ❖ 成本控制
2020-6-1
谢谢阅读
7
第二节 成本估算
❖ 引言 ❖ 成本估算方法 ❖ 一种实用的项目成本估算过程
2020-6-1
谢谢阅读
8
2.1 引言
❖ 成本估算是对完成项目所需费用的估计,它是项目 成本管理的核心。
❖ 成本估算可以有一些误差。估算结果可用一个范围 表示,例如$10000±$1000。
5
工作量和成本的关系
❖ 工作量是成本的主要考虑因素,项目的工作量估算 和成本估算常常同时进行。
❖ 如果确定了单位工作量的成本,则可根据项目工作 量直接计算出项目成本。 例如:如果一个软件项目的工作量是20人月,而企 业的人力成本参数是2万元/人月,则项目的成本是 40万元。
2020-6-1
谢谢阅读
❖ 在不会引起混淆的情况下,工作量和规模这两个概 念可不做区别。
2020-6-1
谢谢阅读
4
软件项目成本
❖ 完成软件项目工作量相应付出的代价,即待开发软 件项目所需要的资金。
❖ 人的劳动消耗所需要的代价是软件产品的主要成本。 ❖ 成本一般采用货币单位来计算,如人民币、美元等。
2020-6-1
谢谢阅读
2020-6-1
谢谢阅读
16
UFC的计算方法
❖ 然后对各功能计数项加权并求和,得到UFC。
功能计数项
外部输入 外部输出 外部查询 外部接口文件 内部文件
简单 3 4 3 5 7
复杂度权重 中等 4 5 4 7 10
复杂 6 7 6 10 15
2020-6-1
谢谢阅读
17
案例分析
❖ 某学院安装了一个工资系统,人事处要求创建一个 子系统来分析每门课程的人力资源成本。要求该子 系统提供查询每门课程人力资源成本的功能。每名 教师所得工资的细节可以通过工资系统中的文件得 到,教师花在教每门课上的小时数可通过一个基于 计算机的计时表系统中的文件得到。该子系统将计 算结果存放到由总会计系统读取的一个文件中,并 产生一个报告,来显示每名教师每门课的课时数及 这些课时数相应的成本。
F12 安装简易性 F14 易于修改
2020-6-1
谢谢阅读
21
TCF的计算方法
每个技术复杂度影响因素的取值范围:
取值 0 1
2 3 4
5
对系统的影响 不存在或者没有影响 不显著的影响 相当的影响 平均的影响 显著的影响 强大的影响
TCF=0.65+0.01(sum(Fi)): Fi:0-5,TCF:0.65~1.35
E=5.5+0.73*(KLOC)^1.16
➢ Boehm简单模型
E=3.2*(KLOC)^1.05
➢ Doty模型
E=5.288*(KLOC)^1.047
2020-6-1
谢谢阅读
32
经验估算模型
❖ 面向FP的: ➢ Albrecht and Gaffney 模型 E=-13.39+0.0545FP ➢ Matson,Barnett E=585.7+15.12FP
2020-6-1
谢谢阅读
22
案例分析
案例中技术复杂度影响因素的取值
F1 可靠的备份和恢复 1 F2 数据通信
5
F3 分布式函数
0 F4 性能
3
F5 大量使用的配置 1 F6 联机数据输入 0
F7 操作简单性
1 F8 在线升级
0
F9 复杂界面
1 F10 复杂数据处理 4
F11 重复使用性
0 F12 安装简易性 3
F13 多重站点
0 F14 易于修改
3
sum(Fi)=22
2020-6-T1 CF=0.65+0.01(sum(Fi))=0.谢65谢+阅0读.01*22=0.87
23
案例分析
❖ 该子系统的功能点为: FP=UFC*TCF=32*0.87=27.8
2020-6-1
谢谢阅读
24
功能点与代码行的转换
2020-6-1
谢谢阅读
35
模型类别
❖ 基本COCOMO 静态单变量模型。
❖ 中等COCOMO 在基本模型基础上考虑各种影响因素(工作量驱动 因子),调整模型。
❖ 高级COCOMO 中等COCOMO模型基础上考虑软件工程中各个步 骤的影响。
2020-6-1
谢谢阅读
36
基本COCOMO
❖ E=a*(KLOC)exp(b) ➢ E是项目的工作量(以人月计) ➢ KLOC是软件产品的代码行数 ➢ a、b是依赖于项目自然属性的参数
2020-6-1
谢谢阅读
37
基本COCOMO系数表
系统类型
a
b
有机
2.4
1.05
半相连
3.0
1.12
嵌入式
3.6
1.20
2020-6-1
谢谢阅读
38
系统类型
❖ 有机(Organic)
➢ 各类应用程序,例如数据处理、科学计算等。
➢ 受硬件的约束比较小,接口环境灵活;软件的规模不是 很大。
❖ 嵌入式(Embeded)
2020-6-1
谢谢阅读
15
UFC的计算方法
❖ 首先计算功能计数项,对以下五类元素计数: ➢ 外部输入:由用户输入的面向应用的数据项。 ➢ 外部输出:向用户提供的输出数据项。 ➢ 外部查询:要求系统回答的交互式输入。 ➢ 外部接口文件:与其它系统的接口数据文件。 ➢ 内部文件:系统使用的内部固定文件。
➢ 系统程序,例如实时处理、控制程序等。
➢ 在硬件和软件的严格约束条件下运行,对系统进行变更 的代价很高;软件的规模任意。
❖ 半相连(Semidetached)
➢ 介于上述两种系统之间。
2020-6-1
谢谢阅读
39
基本COCOMO举例
❖ 一个33.3 KLOC的软件开发项目,属于半相连型的 项目,采用基本COCOMO进行工作量的估算: ➢ a=3.0,b=1.12 ➢ E = 3.0*L ^1.12 = 3.0*33.3 ^1.12 = 152 PM
42
成本驱动因子
驱动因子类型
编码
成本驱动因子