软件项目管理-第4章-成本计划
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.3 成本估算的方法
类比估算法的举例P96公式
distance(P0,P1)=(1.64/4)0.5=0.64
P0对比P2
δ(P01,P21)= δ(MIS,实时系统)=1
δ(P02,P22)= δ(C,C)=0
δ(P03,P23)= δ(9,10)=[(9-10)/(9-11)]2=0.25
δ(P04,P24)= δ(180,175)=[(180-175)/(200-175)]2=0.04
功能点与代码行的转换1996
语言 Assembly C COBOL FORTRAN PASCAL ADA
PL/1 PROLOG/LISP SMALLTALK SPREADSHEET
代码行/FP 320 150 105 105 91 71
65
64
21
6
32
4.3 成本估算的方法
估算的基本方法
代码行、功能点 类比 (自顶向下)估算法 自下而上估算法 参数法估算法 专家估算法
3. 外部查询(EQ)
查询订单是EO
4.
外部接口文件(EIF)
统计订单是EQ 汇率查询转换系统为EIF
5. 内部逻辑文件(ILF) 订单和客户是ILF
21
4.3 成本估算的方法
外部输入(External Inputs, EI)
给软件提供面向应用的数据的项(如屏幕、表 单、对话框、控件,文件等);在这个过程中, 数据穿越外部边界进入到系统内部。
例如:教材P97,表4-13
41
4.3 成本估算的方法。
自下而上估算法的适用情况
项目开始以后,WBS的开发阶段。 需要进行准确估算的时候。
42
4.3 成本估算的方法
自下而上估算法的特点
这种方法相对比较准确,它的准确度来源于每 个任务的估算情况。
非常费时,估算本身也需要成本支持。 可能发生虚报现象。
比如,用户可以看见的部分:窗体,菜单,对话框等。
22
4.3 成本估算的方法
外部输出(External Outputs,EO)
向用户提供面向应用的信息,例如,报表和出错 信息等。
输出的部分:比如报表,数据库备份,导出的文件,打印,日志等。
23
4.3 成本估算的方法
外部查询(External Inquiry, EQ)
12
4.2 成本估算的过程
对成本估算的补充说明
预测所需要的总工作量的过程。 是一种量化的结果。 可以有一些误差。 成本估算不同于项目定价。
13
本章要点
一、软件项目规模成本的概念 二、估算的过程 三、估算的方法 四、成本预算 五、案例分析
14
4.3 成本估算的方法
估算的基本方法
9
4.2 成本估算的过程
资源规划
需要的资源种类、数量等 • 项目经理,美工,开发人员,测试人员,
维护人员(售后)等。 • 开发设备和工具等。 • 其他耗材等。
10
4.2 成本估算的过程
成本估算
直接成本:与具体项目相关的成本。
间接成本:不能具体到某个项目中的成本。 可以分摊到各个具体项目中的成本,例如:
软件项目成本
软件项目成本是完成软件规模相应付出的代价。 软件项目成本主要包括:人力成本,材料成本,
设备租金,咨询费用,日常费用等。 人力成本是软件产品的主要成本。
4
4.1 关于成本估算
成本的单位
货币单位
人民币元 美元 其他货币单位
5
4.1 关于成本估算
软件的规模和成本的关系
规模是成本的主要因素,是成本估算的基础。 规模确定了就可以确定成本。
35
4.3 成本估算的方法
类比估算法的特点
简单易行,花费少。 具有一定的局限性(要求有类似的历史项目数
据)。 准确性差,可能导致项目出现困难。
36
4.3 成本估算的方法
类比估算法的公式
(Pik,Pjk ) 0,ma如Pxikk果kPm是jkin分k 散2 ,如的果并k且是Pi连k 续P的jk
1,如果k是分散的并且Pik Pjk
i,j:表示项目编号;k:表示第k个比较项。
n
(Pik , Pjk )
dis tan ce(Pi , Pj ) k1 n 37
类比估算法的举例P96
项目 类型 k=1
P0 MIS P1 MIS P2 实时系统
P0对比P1
编程语言 k=2 C C C
团队规模 项目规模 工作量
2
4.1 关于成本估算
规模的度量单位
代码行 ( Lines of Code,LOC)
源代码的总行数。源代码程序长度的测量。
功能点 ( Function Point,FP)
用系统的功能数量来测量。
人天 人月 人年
例如:源代码统计SourceMonitor,可以统计多种语言的代码 3
4.1 关于成本估算
软件项目管理
第4 章 软件项目成本计划
0
本章要点
一、软件项目规模成本的概念 二、估算的过程 三、估算的方法 四、成本预算 五、案例分析
1
4.1 关于成本估算
软件项目规模
软件项目规模即工作量,是从软件项目范围中 抽出软件功能,然后确定每个软件功能所必须 执行的一系列软件工程任务。
包括:软件规划,软件管理,需求分析,设计, 编码,测试,以及后期的维护等任务。
UFC:Unadjusted Function Component TCF: Technical Complexity Factor
20
4.3 成本估算的方法.
UFC--未调整功能点计数
功能计数项:
1. 外部输入(EI) 2. 外部输出(EO)
以外贸订单系统项目为例: 录入订单、修改订单、删除订 单是EI;
1. 代码行、功能点 2. 类比 (自顶向下)估算法 3. 自下而上估算法 4. 参数法估算法 5. 专家估算法
15
4.3 成本估算的方法.
代码行(LOC)技术
从软件代码量的角度定义项目规模。 要求功能分解足够详细。 要求有一定的经验数据(类比和经验方法)。 与具体的编程语言有关。
16
4.3 成本估算的方法.
UFC-未调整功能点计数
功能计数项的复杂度等级
组件类型
简单(低)
外部输入
3
外部输出
4
外部查询
3
外部接口文件 5 内部逻辑文件 7
复杂度权重 一般(中) 复杂(高)
4
6
5
7
4
6
7
10
1015Βιβλιοθήκη 274.3 成本估算的方法
例1:功能点计算示例--UFC
项
简单
外部输入
6*3
外部输出
7*4
外部查询
0*3
外部接口文件 5 * 5
内部逻辑文件 9 * 7
总计
UFC
301
功能点 一般 2*4 7*5 2*4
2*7 0 * 10
复杂 3*6 0*7 4*6 3 * 10 2 * 15
28
4.3 成本估算的方法
TCF-技术复杂度因子
TCF=0.65+0.01(sum(Fi)), Fi:0~5, TCF:0.65~1.35
技术复杂度因子
例如: 规模20人月,人力成本1万/月,则项目成本为20
万(主要成本)。
6
本章要点
一、软件项目规模成本的概念 二、估算的过程 三、估算的方法 四、成本预算 五、案例分析
7
4.2 成本估算的过程
成本估算过程
估算输入
成
本
估
估算结果
算
8
4.2 成本估算的过程
成本估算输入
1 项目需求或者WBS 2 资源要求(资源编制计划) 3 资源消耗率:如人员成本100元/小时 4 进度规划:项目总进度(一般是合同要求) 5 历史项目数据:比如规模,进度,成本等 6 学习曲线:投入到学习中的时间
代码行技术的主要优点
代码是所有软件开发项目都有的“产品”,而且 很容易计算(或估算)代码行数。
17
4.3 成本估算的方法
代码行技术的缺点
1. 对代码行没有公认的可接受的标准定义。 2. 代码行数量依赖于所用的编程语言和个人的
编程风格。 3. 在项目早期,需求不稳定、设计不成熟、实现
不确定的情况下很难准确地估算代码量。 4. 代码行强调编码的工作量,没有考虑到工作难
33
4.3 成本估算的方法
类比估算法的定义
估算人员根据以往的完成类似项目所消耗的总 成本(或工作量),来推算将要开发的软件的 总成本(或工作量),然后按比例将它分配到 各个开发任务单元中。
是一种自上而下的估算形式。
34
4.3 成本估算的方法
类比估算法的适用情况
要求有类似的历史项目数据。 信息不足(要求不是非常精确)的时候使用。 在合同期和市场招标时使用。
描述
0
不存在或者没有影响
1
不显著的影响
2
相当的影响
3
平均的影响
4
显著的影响
5
强大的影响
30
功能点方法--计算调整因子.pdf
4.3 成本估算的方法
功能点计算实例
FP=UFC*TCF
UFC=301 TCF=0.65+0.01(14*3)=1.07
FP=301*1.07=322
31
4.3 成本估算的方法
43
4.3 成本估算的方法
估算的基本方法
代码行、功能点 类比 (自顶向下)估算法 自下而上估算法 参数法估算法 专家估算法
44
4.3 成本估算的方法
参数模型估算法的定义
一种使用项目特性参数建立数据模型来估算成 本的方法。
45
4.3 成本估算的方法
参数模型估算法的适用情况
存在成熟的项目估算模型。 积累了丰富的历史项目数据。
distance(P0,P2)=(1.29/4)0.5=0.57
39
4.3 成本估算的方法
估算的基本方法
代码行、功能点 类比 (自顶向下)估算法 自下而上估算法 参数法估算法 专家估算法
40
4.3 成本估算的方法.
自下而上估算法的定义
利用任务分解结构图(WBS),对各个具体工作包 进行详细的成本估算,然后将结果累加起来得出 项目总成本。
外部查询即是一次联机输入,它导致软件以联机 输出方式产生某种即时响应。
比如:与用户的交互,某个查询模块。
24
4.3 成本估算的方法
外部接口文件(External Interface Files, EIF’s)
外部接口文件是用户可以识别的一组逻辑相关 数据,这组数据只能被引用。是机器可读的全 部接口(例如,磁盘或磁带上的数据文件)的 数量,用这些接口把信息传送给另一个系统。
k=3
k=4
9
180
11
200
1000
10
175
900
δ(P01,P11)= δ(MIS,MIS)=0
δ(P02,P12)= δ(C,C)=0
δ(P03,P13)= δ(9,11)=[(9-11)/(9-11)]2=1
δ(P04,P14)= δ(180,200)=[(180-200)/(200-175)]2=0.64 38
易程度。
18
4.3 成本估算的方法.
功能点(FP: Function point)
用系统的功能数量来估算其规模。 与实现产品所使用的语言和技术没有关系。 需要进行加权和量化。
19
4.3 成本估算的方法.
功能点计算公式
FP =UFC*TCF
UFC:未调整功能点计数 TCF:技术复杂度因子
F1 数据通信
F2 分布式数据处理
F3 性能 F5 事务频度
F4 硬件负荷 F6 在线数据输入
F7 终端用户效率
F8 在线升级
F9 处理复杂度
F10 重用性
F11 易安装
F12 易操作
F13 跨平台
F14 可扩展
29
功能点方法--计算调整因子.pdf
4.3 成本估算的方法
技术复杂度因子的取值范围
调整系数
46
4.3 成本估算的方法
参数模型估算法的特点
比较简单,而且也比较准确。 如果模型选择不当或者数据不准,也会导致偏差。
47
4.3 成本估算的方法.
静态单变量模型
整体公式:E=a+b*SC
E:以人月表示的工作量 a,b,c:经验导出的系数 S:主要的输入参数(通常是LOC,FP等)
48
培训 房租,水电 员工福利 市场费用 行政管理费 其他
11
4.2 成本估算的过程
项目估算结果
估算文件
估算文件包括资源,资源的数量,质量标准,估算成 本等信息。
单位:一般是货币单位。例如:¥10000+/-¥1000。
估算说明
工作范围的描述 估算的基础和依据 估算的假设 估算的误差变动
比如:与其它软件的交互功能。
25
4.3 成本估算的方法
内部逻辑文件(Internal Logical Files, ILF’S)
用户可以识别的一组逻辑相关的数据,而且完全存在 于应用的边界之内,并且通过外部输入维护,是逻辑 主文件的数目。
比如:用于生成报表的模板文件,配置文件,数据库文件。
26
4.3 成本估算的方法
4.3 成本估算的方法.
静态单变量模型(续)
面向LOC驱动的 Walston-Felix(IBM)模型
E= 5.2*(KLOC)^0.91
Balley-Basili模型
E=5.5+0.73*(KLOC)^1.16