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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第6章规模成本估算吉林大学珠海学院教授李军国0Scalecostestimation问题的提出1.成本管理包含哪些内容?2.软件规模的单位有哪些?3.什么时候开始成本估算?4.成本估算的意义?5.成本估算包含哪些输入内容?6.自下而上估算法的特点是什么?7.参数估算法的特点是什么?8.估算不准的主要原因有哪些?9.如何避免低劣的估算?12引言项目成功的必要条件做好的计划控制好计划3承上启下确定项目的范围需求规格进行任务分解4RoadMap合同管理生存期需求管理任务分解项目进度项目估算质量计划配置计划风险计划团队管理项目度量集成项目跟踪控制项目结束1、软件项目规模成本的概念56成本管理资源计划编制:确定项目需要的资源种类和数量成本估算:中心环节编制一个为完成项目各活动所需要的资源成本的近似估算成本预算:项目进度将总成本估算分配到各单项工作活动上成本控制:项目跟踪控制项目预算的变更7关于估算估算不是很准确的,有误差的经验(历史)数据非常重要不要太迷信数学模型8软件项目规模软件项目规模即工作量,是从软件项目范围中抽出的软件功能,然后确定每个软件功能所必须执行的一系列软件工程任务。包括:软件规划,软件管理,需求,设计,编码,测试,以及后期的维护等任务。9规模的单位LOC(LocofCode):源代码程序长度的测量FP(FunctionPoint):用系统的功能数量来测量人月人天人年10软件项目成本指完成软件规模相应付出的代价。待开发的软件项目需要的资金。人的劳动的消耗所需要的代价是软件产品的主要成本开发成本是以一次性开发过程所花费的代价来计算的11成本的单位货币单位人民币元美元……..12软件的规模和成本的关系规模是成本的主要因素,是成本估算的基础有了规模就确定了成本。13成本估算定义对完成项目所需费用的估计和计划包括预测开发一个软件系统所需要的总工作量的过程。是一种量化的结果可以有一些误差成本估算不同于项目定价贯穿于软件的生存周期。14什么时候开始成本估算?当决定竞标的时候开发WBS当中途接管一个项目的时候当项目进行到下一个阶段的时候项目范围变更的时候15成本估算的意义在项目取得前对项目的成本进行评估在取得项目后,进行开发项目时,为跟踪和管理项目提供一个参考没有很好的成本估算基础可能导致成本失控,最终可以导致项目的失控和失败。2、估算的过程1617成本估算过程估算输入估算结果成本估算方法18成本估算输入项目需求、WBS历史项目度量资源要求(资源编制计划)资源消耗率:如人员成本:100元/小时进度规划:项目总进度(一般是合同要求)学习曲线19资源规划需要的资源种类、数量等20SampleResourceHistogramforaLargeITProject024681012JanFebMarAprMayJunJulAugSepOctNovDecJavaprogrammersBusinessanalystsTechnicalwritersManagersAdministrativestaffDatabaseanalystsTestingspecialistsNumberofPeople21成本估算直接成本间接成本22直接成本与具体项目相关的成本23间接成本不能具体到某个项目中的成本,可以分摊到各个具体项目中的成本,例如:培训房租水电员工福利市场费用管理费其他等等24项目估算结果估算文件包括资源,资源的数量,质量标准,估算成本等信息单位:一般是货币单位相关说明文件工作范围的描述估算的基础和依据估算的假设估算的误差变动等3、估算的方法25成本估算方法估算的基本单位介绍1.代码行2.功能点3.对象点27代码行(LOC)从软件程序量的角度定义项目规模。LOC=NCLOC+CLOC要求功能分解足够详细的有一定的经验数据(类比和经验方法)与具体的编程语言有关生产率LOC/PM,LOC/hour等28功能点(FP)功能点(FP)是用系统的功能的数量来测量其规模。与实现产品所使用的语言和技术没有关系。两个评估内部基本功能外部基本功能加权和量化29功能点的公式FP==UFC*TCFUFC:未调整功能点计数TCF:技术复杂度因子30UFC-未调整功能点计数外部输入外部输出外部查询外部文件内部文件功能计数项:31UFC-未调整功能点计数功能计数项的复杂度等级复杂度权重因素项简单一般复杂外部输入346外部输出457外部查询346外部文件5710内部文件7101532功能点计算实例-UFC功能点项简单一般复杂外部输入6*32*43*6外部输出7*47*50*7外部查询0*32*44*6外部文件5*52*73*10内部文件9*70*102*15总计UFC30133TCF-技术复杂度因子TCF=0.65+0.01(sum(Fi)):Fi:0-5,TCF:0.65-1.35技术复杂度因子F1可靠的备份和恢复F2数据通信F3分布式函数F4性能F5大量使用的配置F6联机数据输入F7操作简单性F8在线升级F9复杂界面F10复杂数据处理F11重复使用性F12安装简易性F13多重站点F14易于修改34技术复杂度因子的取值范围调整系数描述0不存在或者没有影响1不显著的影响2相当的影响3平均的影响4显著的影响5强大的影响35功能点计算实例FP=UFC*TCFUFC=301TCF=0.65+0.01(14*3)=1.07FP=301*1.07=32236功能点与代码行的转换语言代码行/FPAssembly320C150COBOL105FORTRAN105PASCAL91ADA71PL/165PROLOG/LISP64SMALLTALK21SPREADSHEET637对象点(OP)对象点是基于对象的软件产品规模估算。著名的Probe方法---WattsHumphrey38对象规模表(C++)方法种类很小小中大很大计算2.345.1311.2524.6654.04数据2.64.798.8416.3130.09I/O9.0112.0616.1521.6228.93逻辑7.5510.9815.9823.2533.83设置3.885.046.568.5311.09文本3.758.0017.0736.4177.6639Probe方法的步骤①基于产品需求构建体系结构和概要设计。②对设计中的每个类(面向对象方法中的Class)的输入和交互,标识所设计的对象属于表中哪类方法并估算其复杂性。③将上述标识的结果构造成一个如表形式的矩阵,然后将这个矩阵中的值与表中对应的值相乘。④将上述所有相乘结果相加求和,产生估算结果。40对象点的估计-举例方法种类很小小中大很大计算2.345.13*11.2524.6654.04数据2.64.798.8416.3130.09I/O9.0112.0616.15*21.6228.93逻辑7.5510.9815.9823.2533.83设置3.885.046.568.53*11.09文本3.758.0017.0736.4177.66规模估算5865.13*5+16.15*8+8.53*6=206.0341估算的基本方法:类比(自顶向下)估算法自下而上估算法参数法估算法专家估算法42类比-定义从项目的整体出发,进行类推,即估算人员根据以往完成的类似项目所消耗的总成本(或工作量),来推算将要开发的软件的总成本(或工作量),然后按比例将它分配到各个开发任务单元中是一种自上而下的估算形式43类比—使用情况有类似的历史项目数据信息不足(要求不是非常精确)的时候在合同期和市场招标时在高层对任务的总的评估44类比—特点简单易行,花费少具有一定的局限性准确性差,可能导致项目出现困难45类比—举例证券交易网站需求类似历史数据:10万学习曲线:5-8万46估算的基本方法:自下而上估算法利用任务分解结构图,对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本。定义:47自下而上—使用情况在进入项目开始以后,WBS以后的开发阶段需要进行准确估算的时候48自下而上—特点这种方法最为准确。它的准确度来源于每个任务的估算情况非常费时,估算本身也需要成本支持可能发生虚报现象49估算的基本方法:参数法估算法定义一种使用项目特性参数建立数据模型来估算成本的方法,是一种统计技术,如回归分析和学习曲线。模型可以简单也可以复杂,很少有通用性。50参数估算法-说明参考历史信息重要参数必须量化处理根据实际情况,对参数模型按适当比例调整51参数估算法—使用情况存在成熟的项目估算模型应该具有良好的数据库数据为基础目前软件企业估算很少使用(其它行业如建筑行业等会经常使用)通用的数学模型,但是会存在一个特定的模型。52参数估算法-估算单位每个任务必须至少有一个统一的规模单位例如KLOC,FP人天,人月,人年参数:xx元/KLOC.xx元/FP,xx元/人天53参数估算法-特点比较简单,而且也比较准确如果模型选择不当或者数据不准,也会导致偏差54参量成本估算实例(适合单价合同)项目经理(30美元/小时)15,000美元分析家(20美元/小时)20,000美元技术员(13美元/小时)2,6000美元总劳动开支61,000美元一般管理费(35%)21,350美元总劳动费加管理费82,350美元额外费用(25%)16,470美元小计98,820美元交通费(四次旅行,1000/次)4000美元微机计算机费(2台,3500/台)7000美元打印与复制费2000美元总辅助费13,000美元总项目费用开支111,820美元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Balley-Basili:E=5.5+0.73*(KLOC)1.16COCOMO:E=3.2*(KLOC)1.05Doty:E=5.288*(KLOC)1.04759成本模型:面向FP驱动AlbrechtandGaffney:E=-12.39+0.0545FPMatson,Barnett:E=585.7+15.12FP60COCOMO(ConstructiveCostmodel)基本COCOMO中等COCOMO高级COCOMO由BarryBoehm开发的详见:(南加州大学网站)61基本COCOMO其中:E是所需的人力(人月)KLOC是交付的代码行ai,bi是依赖于项目自然属性的参数E=ai(KLOC)bi62系数表方式aibi有机2.41.05半有机3.01.12嵌入式3.61.263中等COCOMOE=ai(KLOC)bi*乘法因子Aibi是系数乘法因子是根据成本驱动属性打分的结果,对公式的校正系数64系数表方式aibi有机2.81.05半嵌入式3.01.12嵌入式3.21.265中等COCOMO的两类模型前设计模型(EarlyDesign)知之甚少的时候初步估计后体系结构模型(Postarchitecture)需求和早期的设计完成比较精确的估计66前设计模型的乘法因子属性1.人的能力2.产品的可靠性和复杂性3.所要求的复用4.平台困难5.经验6.设施7.进度67后体系结构模型乘法因子属性1.产品属性2.平台属性3.人员属性4.项目属性68产品属性可靠性数据复杂性文档复用

1 / 97
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功