4-软件项目成本计划

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

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

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

资源描述

chapter__40软件开发项目管理北京邮电大学软件学院韩万江chapter__41承上启下配置管理计划合同计划风险计划沟通计划质量计划成本计划时间计划集成计划范围计划项目结束项目执行控制项目计划项目初始人力计划chapter__42成本计划配置管理计划合同计划风险计划沟通计划质量计划成本计划时间计划集成计划范围计划项目结束项目执行控制项目计划项目初始人力计划chapter__43软件开发项目管理第4章软件项目成本计划chapter__44本章要点一、软件项目规模成本的概念二、估算的过程三、估算的方法四、成本预算五、项目核心(进度)计划—续六、案例分析chapter__45关于估算估算不是很准确的,有误差的经验(历史)数据非常重要不要太迷信数学模型chapter__46软件项目规模软件项目规模即工作量,是从软件项目范围中抽出的软件功能,然后确定每个软件功能所必须执行的一系列软件工程任务包括:软件规划,软件管理,需求,设计,编码,测试,以及后期的维护等任务。chapter__47规模的单位LOC(LocofCode)源代码程序长度的测量FP(FunctionPoint)用系统的功能数量来测量人月人天人年chapter__48软件项目成本完成软件规模相应付出的代价。待开发的软件项目需要的资金。人的劳动的消耗所需要的代价是软件产品的主要成本chapter__49成本的单位货币单位人民币元美元……..chapter__410软件的规模和成本的关系规模是成本的主要因素,是成本估算的基础有了规模就确定了成本,chapter__411本章要点一、软件项目规模成本的概念二、估算的过程三、估算的方法四、成本预算五、项目核心(进度)计划—续六、案例分析chapter__412成本估算过程估算输入估算结果成本估算方法chapter__413成本估算输入项目需求、WBS历史项目度量资源要求(资源编制计划)资源消耗率:如人员成本:100元/小时进度规划:项目总进度(一般是合同要求)学习曲线chapter__414资源规划需要的资源种类、数量等chapter__415成本估算直接成本间接成本chapter__416直接成本与具体项目相关的成本chapter__417间接成本不能具体到某个项目中的成本,可以分摊到各个具体项目中的成本,例如:培训房租水电员工福利市场费用管理费其他等等chapter__418项目估算结果估算文件资源,资源的数量,质量标准,估算成本等信息单位:一般是货币单位BAC(BudgetAtcompletion)估算说明工作范围估算的基础和依据估算的假设估算的误差变动等chapter__419估算说明预测所需要的总工作量的过程。是一种量化的结果可以有一些误差成本估算不同于项目定价贯穿于软件的生存周期。chapter__420本章要点一、软件项目规模成本的概念二、估算的过程三、估算的方法四、成本预算五、项目核心(进度)计划—续六、案例分析chapter__421估算的基本方法1.代码行、功能点2.类比(自顶向下)估算法3.自下而上估算法4.参数法估算法5.专家估算法chapter__422代码行(LOC)从软件程序量的角度定义项目规模。要求功能分解足够详细的有一定的经验数据(类比和经验方法)与具体的编程语言有关chapter__423代码行技术的主要优点n代码是所有软件开发项目都有的“产品”,而且很容易计算代码行数。chapter__424代码行(LOC)缺点1.对代码行没有公认的可接受的标准定义2.代码行数量依赖于所用的编程语言和个人的编程风格.3.在项目早期,需求不稳定、设计不成熟、实现不确定的情况下很难准确地估算代码量.4.代码行强调编码的工作量,只是项目实现阶段的一部分chapter__425功能点(FP:Functionpoint)用系统的功能数量来测量其规模与实现产品所使用的语言和技术没有关系的两个评估内部基本功能外部基本功能加权和量化chapter__426功能点的公式FP=UFC*TCFUFC:未调整功能点计数TCF:技术复杂度因子chapter__427UFC-未调整功能点计数功能计数项:1.外部输入2.外部输出3.外部查询4.外部文件5.内部文件chapter__428UFC-未调整功能点计数功能计数项的复杂度等级复杂度权重因素项简单一般复杂外部输入346外部输出457外部查询346外部文件5710内部文件71015chapter__429功能点计算实例-UFC功能点项简单一般复杂外部输入6*32*43*6外部输出7*47*50*7外部查询0*32*44*6外部文件5*52*73*10内部文件9*70*102*15总计UFC301chapter__430TCF-技术复杂度因子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易于修改chapter__431技术复杂度因子的取值范围调整系数描述0不存在或者没有影响1不显著的影响2相当的影响3平均的影响4显著的影响5强大的影响chapter__432功能点计算实例FP=UFC*TCFUFC=301TCF=0.65+0.01(14*3)=1.07FP=301*1.07=322chapter__433功能点与代码行的转换语言代码行/FPAssembly320C150COBOL105FORTRAN105PASCAL91ADA71PL/165PROLOG/LISP64SMALLTALK21SPREADSHEET6chapter__434估算的基本方法代码行、功能点类比(自顶向下)估算法自下而上估算法参数法估算法专家估算法chapter__435类比-定义估算人员根据以往的完成类似项目所消耗的总成本(或工作量),来推算将要开发的软件的总成本(或工作量),然后按比例将它分配到各个开发任务单元中是一种自上而下的估算形式chapter__436类比—使用情况有类似的历史项目数据信息不足(要求不是非常精确)的时候在合同期和市场招标时chapter__437类比—特点简单易行,花费少具有一定的局限性准确性差,可能导致项目出现困难chapter__438类比—举例chapter__439类比—举例证券交易网站需求类似历史数据:10万chapter__440估算的基本方法代码行、功能点类比(自顶向下)估算法自下而上估算法参数法估算法专家估算法chapter__441自下而上—定义利用任务分解结构图,对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本。chapter__442自下而上—使用情况项目开始以后,WBS的开发阶段需要进行准确估算的时候chapter__443自下而上—特点这种方法相对比较准确,它的准确度来源于每个任务的估算情况非常费时,估算本身也需要成本支持可能发生虚报现象chapter__444自下而上—举例银行综合业务系统估算结果chapter__445估算的基本方法代码行、功能点类比(自顶向下)估算法自下而上估算法参数法估算法专家估算法chapter__446参数估算法—定义一种使用项目特性参数建立数据模型来估算成本的方法,是一种统计技术,如回归分析和学习曲线。chapter__447参数估算法—使用情况存在成熟的项目估算模型应该具有良好的数据库数据为基础chapter__448参数估算法-特点比较简单,而且也比较准确如果模型选择不当或者数据不准,也会导致偏差chapter__449参数成本估算实例(适合单价合同)项目经理(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美元chapter__450经验导出成本模型提供工作量(规模)的直接估计通过过去项目数据,进行回归分析,得出的回归模型chapter__451经验导出成本模型整体公式:E=A+B*SCE:以人月表示的工作量A,B,C:经验导出的系数S:主要的输入参数(通常是LOC,FP等)chapter__452经验导出成本模型(续)面向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.047chapter__453经验导出成本模型(续)面向FP驱动的AlbrechtandGaffneyE=-12.39+0.0545FPMatson,BarnettE=585.7+15.12FPchapter__454建议掌握模型IBM模型-(Walston-Felix)COCOMO模型-(Boehm)chapter__455IBM模型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是文档数量(以页计)chapter__456举例采用java完成项目,366功能点,则L=366×46=16386行=16.386KLOCE=5.2×L^0.91=5.2×16.386^0.91=66人月DOC=49×L^1.01=49×16.386^1.01=826页chapter__457COCOMO(ConstructiveCostmodel)结构化成本模型是世界上应用最广泛的参数型软件成本估计模型由BarryBoehm开发的chapter__458COCOMO模型发展COCOMO81COCOMOII模型系列chapter__459COCOMO81项目类型:•有机:Organic•嵌入式:Embedded•半有机:Semidetached模型类别:基本COCOMO中等COCOMO高级COCOMOchapter__460模型类别基本COCOMO静态单变量模型中等COCOMO基本模型基础上考虑影响因素,调整模型高级COCOMO中等COCOMO模型基础上考虑各个步骤的影响chapter__461项目类型•有机:Organic,•各类应用程序,例如数据处理、科学计算等•受硬件的约束比较小,程序的规模不是很大•嵌入式:Embedded•系统程序,例如实时处理、控制程序等•紧密联系的硬件、软件和操作的限制条件下运行,软件规模任意•半有机:Semidetached•各类实用程序,介于上述两种软件之间,例如编译器(程序)•规模和复杂度都属于中等或者更高chapter__462基本COCOMOE=a(KLOC)exp(b)其中:E是所需的人力(人月),KLOC是交付的代码行a,b是依赖于项目自然属性的参数:chapter__463基本COCOMO系数表方式ab有机2.41.05半有机3.01.12嵌入式3.61.2chapter__464举例一个33.3KLOC的软件开发项目,属于中

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

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

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

×
保存成功