软件项目管理第6章规模成本估算..

上传人:今*** 文档编号:106202404 上传时间:2019-10-14 格式:PPT 页数:97 大小:1.94MB
返回 下载 相关 举报
软件项目管理第6章规模成本估算.._第1页
第1页 / 共97页
软件项目管理第6章规模成本估算.._第2页
第2页 / 共97页
软件项目管理第6章规模成本估算.._第3页
第3页 / 共97页
软件项目管理第6章规模成本估算.._第4页
第4页 / 共97页
软件项目管理第6章规模成本估算.._第5页
第5页 / 共97页
点击查看更多>>
资源描述

《软件项目管理第6章规模成本估算..》由会员分享,可在线阅读,更多相关《软件项目管理第6章规模成本估算..(97页珍藏版)》请在金锄头文库上搜索。

1、第6章 规模成本估算,吉林大学珠海学院教授 李军国,0,Scale cost estimation,问题的提出,成本管理包含哪些内容? 软件规模的单位有哪些? 什么时候开始成本估算? 成本估算的意义? 成本估算包含哪些输入内容? 自下而上估算法的特点是什么? 参数估算法的特点是什么? 估算不准的主要原因有哪些? 如何避免低劣的估算?,1,2,引言,项目成功的必要条件 做好的计划 控制好计划,3,承上启下,确定项目的范围 需求规格 进行任务分解,4,RoadMap,1、软件项目规模成本的概念,5,6,成本管理,资源计划编制: 确定项目需要的资源种类和数量 成本估算:中心环节 编制一个为完成项目各

2、活动所需要的资源成本的近似估算 成本预算:项目进度 将总成本估算分配到各单项工作活动上 成本控制:项目跟踪 控制项目预算的变更,7,关于估算,估算不是很准确的,有误差的 经验(历史)数据非常重要 不要太迷信数学模型,8,软件项目规模,软件项目规模即工作量,是从软件项目范围中抽出的软件功能,然后确定每个软件功能所必须执行的一系列软件工程任务。 包括:软件规划,软件管理,需求,设计,编码,测试,以及后期的维护等任务。,9,规模的单位,LOC(Loc of Code):源代码程序长度的测量 FP(Function Point):用系统的功能数量来测量 人月 人天 人年,10,软件项目成本,指完成软件

3、规模相应付出的代价。 待开发的软件项目需要的资金。 人的劳动的消耗所需要的代价是软件产品的主要成本 开发成本是以一次性开发过程所花费的代价来计算的,11,成本的单位,货币单位 人民币元 美元 ,12,软件的规模和成本的关系,规模是成本的主要因素,是成本估算的基础 有了规模就确定了成本。,13,成本估算定义,对完成项目所需费用的估计和计划 包括预测开发一个软件系统所需要的总工作量的过程。 是一种量化的结果 可以有一些误差 成本估算不同于项目定价 贯穿于软件的生存周期。,14,什么时候开始成本估算?,当决定竞标的时候 开发WBS 当中途接管一个项目的时候 当项目进行到下一个阶段的时候 项目范围变更

4、的时候,15,成本估算的意义,在项目取得前对项目的成本进行评估 在取得项目后,进行开发项目时,为跟踪和管理项目提供一个参考 没有很好的成本估算基础可能导致成本失控,最终可以导致项目的失控和失败。,2、估算的过程,16,17,成本估算过程,估算输入,估算结果,成本估算方法,18,成本估算输入,项目需求、 WBS 历史项目度量 资源要求(资源编制计划) 资源消耗率:如人员成本: 100元/小时 进度规划:项目总进度(一般是合同要求) 学习曲线,19,资源规划,需要的资源种类、数量等,20,Sample Resource Histogram for a Large IT Project,21,成本估

5、算,直接成本 间接成本,22,直接成本,与具体项目相关的成本,23,间接成本,不能具体到某个项目中的成本, 可以分摊到各个具体项目中的成本,例如: 培训 房租水电 员工福利 市场费用 管理费 其他等等,24,项目估算结果,估算文件 包括资源,资源的数量,质量标准,估算成本等信息 单位:一般是货币单位 相关说明文件 工作范围的描述 估算的基础和依据 估算的假设 估算的误差变动等,3、估算的方法,25,成本估算方法,估算的基本单位介绍 代码行 功能点 对象点,27,代码行(LOC),从软件程序量的角度定义项目规模。 LOC =NCLOC+CLOC 要求功能分解足够详细的 有一定的经验数据(类比和经

6、验方法) 与具体的编程语言有关 生产率LOC/PM,LOC/hour等,28,功能点(FP),功能点(FP)是用系统的功能的数量来测量其规模。 与实现产品所使用的语言和技术没有关系。 两个评估 内部基本功能 外部基本功能 加权和量化,29,功能点的公式,FP= =UFC*TCF UFC:未调整功能点计数 TCF:技术复杂度因子,30,UFC-未调整功能点计数,外部输入 外部输出 外部查询 外部文件 内部文件,功能计数项:,31,UFC-未调整功能点计数,功能计数项的复杂度等级,32,功能点计算实例-UFC,33,TCF-技术复杂度因子,TCF=0.65+0.01(sum(Fi): Fi:0-5

7、,TCF:0.65-1.35,34,技术复杂度因子的取值范围,35,功能点计算实例,FP=UFC*TCF UFC=301 TCF=0.65+0.01(14*3)=1.07 FP=301*1.07=322,36,功能点与代码行的转换,37,对象点(OP),对象点是基于对象的软件产品规模估算。 著名的Probe方法-Watts Humphrey,38,对象规模表(C+),39,Probe方法的步骤,基于产品需求构建体系结构和概要设计。 对设计中的每个类(面向对象方法中的Class)的输入和交互,标识所设计的对象属于表中哪类方法并估算其复杂性。 将上述标识的结果构造成一个如表形式的矩阵,然后将这个矩

8、阵中的值与表中对应的值相乘。 将上述所有相乘结果相加求和,产生估算结果。,40,对象点的估计-举例,5,8,6,5.13*5+ 16.15*8+ 8.53*6=206.03,41,估算的基本方法:类比 (自顶向下)估算法,自下而上估算法 参数法估算法 专家估算法,42,类比-定义,从项目的整体出发,进行类推,即估算人员根据以往完成的类似项目所消耗的总成本(或工作量),来推算将要开发的软件的总成本(或工作量),然后按比例将它分配到各个开发任务单元中 是一种自上而下的估算形式,43,类比使用情况,有类似的历史项目数据 信息不足(要求不是非常精确)的时候 在合同期和市场招标时 在高层对任务的总的评估

9、,44,类比特点,简单易行,花费少 具有一定的局限性 准确性差,可能导致项目出现困难,45,类比举例,证券交易网站 需求类似 历史数据:10万 学习曲线:5-8万,46,估算的基本方法:自下而上估算法,利用任务分解结构图,对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本。,定义:,47,自下而上使用情况,在进入项目开始以后,WBS以后的开发阶段 需要进行准确估算的时候,48,自下而上特点,这种方法最为准确。它的准确度来源于每个任务的估算情况 非常费时,估算本身也需要成本支持 可能发生虚报现象,49,估算的基本方法:参数法估算法,定义 一种使用项目特性参数建立数据模型来估算成

10、本的方法,是一种统计技术,如回归分析和学习曲线。 模型可以简单也可以复杂,很少有通用性。,50,参数估算法-说明,参考历史信息 重要参数必须量化处理 根据实际情况,对参数模型按适当比例调整,51,参数估算法使用情况,存在成熟的项目估算模型 应该具有良好的数据库数据为基础 目前软件企业估算很少使用(其它行业如建筑行业等会经常使用)通用的数学模型,但是会存在一个特定的模型。,52,参数估算法估算单位,每个任务必须至少有一个统一的规模单位 例如 KLOC,FP 人天,人月,人年 参数:xx元/ KLOC. xx元/ FP, xx元/人天,53,参数估算法特点,比较简单,而且也比较准确 如果模型选择不

11、当或者数据不准,也会导致偏差,54,参量成本估算实例(适合单价合同),55,软件成本估算模型,理论导出:不成熟阶段 经验导出:软件估算常常采用,56,成本模型,提供工作量(规模)的直接估计 通过过去项目数据,进行回归分析,得出的回归模型 依据不同的细化程度,通过参数的输入来进行成本估算。通常,输入包括 产品的预计规模 产品的自然属性 组织能力 项目性质,57,成本模型:整体公式:E=A+B*SC,E:以人月表示的工作量 A,B,C:经验导出的常数 S:主要的输入参数(通常是LOC,FP等),58,成本模型:面向LOC驱动,Walston-Felix(IBM):E= 5.2*(KLOC)0.91

12、 Balley-Basili:E=5.5+0.73*(KLOC)1.16 COCOMO:E=3.2*(KLOC)1.05 Doty:E=5.288*(KLOC)1.047,59,成本模型:面向FP驱动,Albrecht and Gaffney:E=-12.39+0.0545FP Matson,Barnett:E=585.7+15.12FP,60,COCOMO(Constructive Cost model),基本COCOMO 中等COCOMO 高级COCOMO,由Barry Boehm开发的 详见:www.usc.edu(南加州大学网站),61,基本COCOMO,其中: E是所需的人力(人月)

13、 KLOC是交付的代码行 ai,bi是依赖于项目自然属性的参数,E=ai(KLOC) bi,62,系数表,63,中等COCOMO,E=ai(KLOC)bi*乘法因子 Ai bi是系数 乘法因子是根据成本驱动属性打分的结果,对公式的校正系数,64,系数表,65,中等COCOMO的两类模型,前设计模型(Early Design) 知之甚少的时候 初步估计 后体系结构模型(Postarchitecture) 需求和早期的设计完成 比较精确的估计,66,前设计模型的乘法因子属性,人的能力 产品的可靠性和复杂性 所要求的复用 平台困难 经验 设施 进度,67,后体系结构模型乘法因子属性,产品属性 平台属

14、性 人员属性 项目属性,68,产品属性,可靠性 数据 复杂性 文档 复用,69,人员属性,分析员的经验 分析能力 程序员水平 平台经验 语言经验 人员的连续性,70,项目属性,使用软件工具的水平 开发工作在不同地点的分布程度 预计的进度压缩程度,71,平台属性,产品运行时间,强调目标的计算能力 应用的存储使用 在目标平台和开发平台中,硬件和软件的稳定性,72,高级COCOMO,将项目分解为一系列的子系统或者子模型。 在一组子模型的基础上更加精确地调整一个模型的属性。,73,估算的基本方法-专家估算法,由多位专家进行成本估算,一个专家可能会有偏见,最好由多位专家进行估算,取得多个估算值,最后得出

15、综合的估算值。,74,专家估算法-Deiphi,组织者发给每位专家一份软件系统的规格说明和一张纪录估算值的表格,请他们估算 专家详细研究软件规格说明后,对该软件提出3个规模的估算值: 最小ai ;最可能的mi ;最大bi 组织者对专家的表格中的答复进行整理 计算每位专家的Ei=(ai+4mi+bi)/6,75,专家估算法-Deiphi,综合结果后,再组织专家无记名填表格,比较估算差,并查找原因。 如果各个专家的估算差异超出规定的范围(例如:15%),则需重复上述过程 ,最终可以获得一个多数专家共识的软件规模。 然后计算出估算的期望值:E=E1+E2+En/n(N:表示N 个专家),76,专家估

16、算法-举例,某多媒体信息查询系统专家估算 专家1:1,8,9 =(1+9+4*8)/6=7(万元) 专家2:4,6,8 =(4+8+4*6)/6=6(万元) 估算结果=(6+7)/2=6.5(万元),77,估算方法总结,初期 类比的方法 专家估算 计划阶段 自下而上 参数模型 实施阶段(包括变更发生) 自下而上 参数模型,78,成本估算方法综述,主要考虑三种模型:类比法,自下而上法,参数法. 自下而上法费时费力,参数法比较简单 自下而上法与参数法的估计精度相似 各种方法不是孤立的,应该注意相互的结合使用 类比法通常用来验证参数法和自下而上法的结果,79,实用软件估算模型,是一种自下而上和参数法的结合模型,步骤如下: 对任务进行分解 估算每个任务i的最大值Max、最小值Min、最可能值Avg,Ei=(Max +4 Avg + Min)/6(或者使用唯一的估计值:最可能值) 直接成本=E1+E2+ Ei+ En 项目总估算成本= 直接成本+间接成本 项目总报价=项目总估算成本+风险利润 风险利润=利润+风险基金+税,80,直接成本的规模

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号