软件项目成本计划分解_第1页
软件项目成本计划分解_第2页
软件项目成本计划分解_第3页
软件项目成本计划分解_第4页
软件项目成本计划分解_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 chapter_40服务外包软件项目组织与管理 五朱建凯 chapter_41软件项目组织与管理软件项目组织与管理第第 4 4 章章软件项目成本计划软件项目成本计划 chapter_42本章要点本章要点q一、软件项目规模成本的概念q二、成本估算过程q三、成本估算方法q四、成本预算q五、案例分析 chapter_43成本管理过程成本管理过程 成本成本:为了达到某一特定的目标而为了达到某一特定的目标而放弃或牺放弃或牺牲牲的资源。的资源。 项目的成本管理贯穿于项目实施的始终,项目的成本管理贯穿于项目实施的始终,项目的项目的开发开发成本是指其开发过程中所花费的工成本是指其开发过程中所花费的工作量及相

2、应的代价。作量及相应的代价。 项目的成本管理包括,为确保批准的预算项目的成本管理包括,为确保批准的预算内完成项目,在项目管理过程中所需的内完成项目,在项目管理过程中所需的方法和方法和过程过程。 chapter_44项目开发成本管理在项目立项时就开始了,成本管理项目开发成本管理在项目立项时就开始了,成本管理的过程如下图所示。的过程如下图所示。 chapter_45项目成本管理过程包括:项目成本管理过程包括: 1. 规划成本管理,包括为规划、管理、花费和控制规划成本管理,包括为规划、管理、花费和控制项目成本而制定政策、程序和文档的过程。项目成本而制定政策、程序和文档的过程。 2. 估算成本,包括估

3、计完成项目所需资源成本的估算成本,包括估计完成项目所需资源成本的近近似值。似值。3. 成本预算,包括将整个成本估算分配到各单项工作,成本预算,包括将整个成本估算分配到各单项工作,并经批准以建立衡量成本的基准。并经批准以建立衡量成本的基准。 4. 成本控制,控制项目预算的变化,更新项目成本,成本控制,控制项目预算的变化,更新项目成本,管理成本基准变更的过程。管理成本基准变更的过程。 chapter_46项目资源的一些示例项目资源的一些示例 chapter_47项目资源的一些示例项目资源的一些示例n一些特殊的成本:l辅助成本l机会成本l沉没成本 chapter_48项目成本管理的重要性 在国内,许

4、多项目管理者都不重视软件项目的成本管理,在国内,许多项目管理者都不重视软件项目的成本管理,他们认为,这是会计的事情,经常低估了开发的成本,或超他们认为,这是会计的事情,经常低估了开发的成本,或超出预算后只是出预算后只是“淡处理淡处理” 。 其实,项目是否控制在预先制定的范围内,是衡量项目其实,项目是否控制在预先制定的范围内,是衡量项目成败的因素之一,成本的大小,直接关系到项目的利润,也成败的因素之一,成本的大小,直接关系到项目的利润,也就是单位就是单位(公司公司)的的利润利润。 现在许多项目组成员的现在许多项目组成员的奖金奖金都与项目的成本直接挂钩,按都与项目的成本直接挂钩,按纯利润的多少进行

5、提成,这是一种必要的管理方法和措施。纯利润的多少进行提成,这是一种必要的管理方法和措施。 外贸企业的内部银行管理也是一种手段。外贸企业的内部银行管理也是一种手段。 chapter_49本章要点本章要点q一、软件项目规模成本的概念q二、成本估算过程q三、成本估算方法q四、成本预算q五、案例分析 chapter_410成本估算输入成本估算输入q成本管理计划q人力资源管理计划q范围基准:软件需求、项目需求、 WBSq项目进度计划:项目总进度(一般是合同要求)q风险登记册q事业环境因素:如人员成本: 100元/小时q组织过程资产:历史项目数据 chapter_411项目估算输出项目估算输出q项目活动成

6、本估算q资源,资源的数量q估算成本等信息q估算依据说明q工作范围依据q估算的基础、依据和方法q估算的假设q估算的可能误差变动等q说明:无法一劳永逸,且不是项目定价(不是一个概念) chapter_412本章要点本章要点q一、软件项目规模成本的概念q二、成本估算过程q三、成本估算方法q四、成本预算q五、案例分析 chapter_413估算的基本方法估算的基本方法l估算技术基础:代码行、功能点估算技术基础:代码行、功能点n类比 (自顶向下)估算法n自下而上估算法n参数模型估算法n专家估算法 chapter_414代码行(代码行(LOCLOC)从软件程序量的角度定义项目规模。q要求功能分解足够详细q

7、有一定的经验数据(类比和经验方法)q与具体的编程语言有关 chapter_415代码行(代码行(LOCLOC)缺点缺点n对代码行没有公认的可接受的标准定义n代码行数量依赖于所用的编程语言和个人的编程风格. n在项目早期,需求不稳定、设计不成熟、实现不确定的情况下很难准确地估算代码量. n代码行强调编码的工作量,只是项目实现阶段的一部分 chapter_416功能点(功能点(FP: Function pointFP: Function point)q用系统的功能数量来测量其规模q与实现产品所使用的语言和技术没有关系q两个评估q内部基本功能q外部基本功能q加权和量化 chapter_417功能点的

8、公式功能点的公式qFP =UFC*TCFqUFC:未调整功能点计数qTCF:技术复杂度因子 chapter_418UFC-UFC-未调整功能点计数未调整功能点计数功能计数项:n外部输入n外部输出n外部查询n外部文件1.内部文件 chapter_419UFC-UFC-未调整功能点计数未调整功能点计数功能计数项的复杂度等级复杂度权重因素项简单一般复杂外部输入346外部输出457外部查询346外部文件5710内部文件71015 chapter_420n某个系统使用了My SQL 数据库,请问是否应该作为外部接口文件来考虑?n某个查询需要从两个类中获取数据,而且有15个数据元素被使用,请问这个查询算几

9、个功能点? chapter_421功能点计算实例功能点计算实例-UFC-1-UFC-1功能点项简单一般复杂外部输入62 3 外部输出77 0 外部查询02 4 外部文件52 3 内部文件90 2 总计UFC? chapter_422功能点计算实例功能点计算实例-UFC-2-UFC-2功能点项简单一般复杂外部输入6 * 32 * 43 * 6外部输出7 * 47 * 50 * 7外部查询0 * 32 * 44 * 6外部文件5 * 52 * 73 * 10内部文件9 * 70 * 102 * 15总计UFC301 chapter_423TCF-TCF-技术复杂度因子技术复杂度因子TCF=0.65

10、+0.01(sum(Fi)TCF=0.65+0.01(sum(Fi): Fi:0-5,TCF:0.65-1.35Fi:0-5,TCF:0.65-1.35技术复杂度因子F1可靠的备份和恢复F2数据通信F3分布式函数F4性能F5大量使用的配置F6联机数据输入F7操作简单性F8在线升级F9复杂界面F10 复杂数据处理F11重复使用性F12安装简易性F13多重站点F14易于修改 chapter_424技术复杂度因子的取值范围技术复杂度因子的取值范围调整系数调整系数描述描述0不存在或者没有影响1不显著的影响2相当的影响3平均的影响4显著的影响5强大的影响 chapter_425功能点计算实例功能点计算实

11、例qFP=UFC*TCFqUFC=301qTCF=0.65+0.01(14*3)=1.07qFP=301*1.07=322 chapter_426功能点与代码行的转换功能点与代码行的转换语言代码行代码行/FPAssembly320C150COBOL105FORTRAN105PASCAL91ADA71PL/165PROLOG/LISP64SMALLTALK21SPREADSHEET6 chapter_427估算的基本方法估算的基本方法q估算技术基础:代码行、功能点q类比类比 ( (自顶向下自顶向下) )估算法估算法q自下而上估算法q参数法估算法q专家估算法 chapter_428类比类比- -定

12、义定义q估算人员根据以往的完成类似项目所消耗的总成本(或工作量),来推算将要开发的软件的总成本(或工作量),然后按比例将它分配到各个开发任务单元中q是一种自上而下的估算形式 chapter_429类比类比使用情况使用情况q有类似的历史项目数据q信息不足(要求不是非常精确)的时候q在合同期和市场招标时使用 chapter_430类比类比特点特点q简单易行,花费少q具有一定的局限性q准确性差,可能导致项目出现困难 chapter_431估算的基本方法估算的基本方法q估算技术基础:代码行、功能点q类比 (自顶向下)估算法q自下而上估算法自下而上估算法q参数法估算法q专家估算法 chapter_432

13、自下而上自下而上定义定义q利用任务分解结构图(WBS),对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本。 chapter_433自下而上自下而上使用情况使用情况q项目开始以后,WBS的开发阶段q需要进行准确估算的时候 chapter_434自下而上自下而上特点特点q这种方法相对比较准确,它的准确度来源于每个任务的估算情况q非常费时,估算本身也需要成本支持q可能发生虚报现象 chapter_435估算的基本方法估算的基本方法q估算技术基础:代码行、功能点q类比 (自顶向下)估算法q自下而上估算法q参数法估算法参数法估算法q专家估算法 chapter_436参数估算法参数估算

14、法定义定义q模型方法q一种使用项目特性参数建立数据模型来估算成本的方法,是一种统计技术,如回归分析和学习曲线。 chapter_437软件成本估算模型软件成本估算模型q理论导出:不成熟阶段q经验导出:软件估算常常采用 chapter_438参数估算法参数估算法使用情况使用情况q存在成熟的项目估算模型q应该具有良好的数据库数据为基础 chapter_439参数估算法特点参数估算法特点q比较简单,而且也比较准确q如果模型选择不当或者数据不准,也会导致偏差 chapter_440参数成本估算实例参数成本估算实例(适合单价合同适合单价合同)项目经理(30美元/小时)15,000美元分析家(20美元/小

15、时)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_441经验导出成本模型经验导出成本模型q提供工作量(规模)的直接估计q通过过去项目数据,进行回归分析,得出的回归模型 chapter_442经验导出成本模型经验导出成本模型q整体公式:E=A+B*SCqE

16、:以人月表示的工作量qA,B,C:经验导出的系数qS:主要的输入参数(通常是LOC,FP等) chapter_443经验导出成本模型经验导出成本模型( (续续) )面向LOC驱动的qWalston-Felix(IBM)qE= 5.2*(KLOC)0.91qBalley-BasiliqE=5.5+0.73*(KLOC)1.16q.COCOMOqE=3.2*(KLOC)1.05qDotyqE=5.288*(KLOC)1.047 chapter_444经验导出成本模型经验导出成本模型( (续续) )面向FP驱动的qAlbrecht and GaffneyqE=-12.39+0.0545FPqKeme

17、rerqE=60.62*7.728*10-8FP3qMatson,BarnettqE=585.7+15.12FP chapter_445建议掌握模型建议掌握模型q模型(Walston-Felix)qCOCOMO模型(Boehm) chapter_446模型模型1977年,年,IBM的的Walston和和Felix提出了如下的估算公式提出了如下的估算公式E 5.2L 0.91 ,L是源代码行数(以KLOC计),E是工作量(以PM计) D 4.1L 0.36,D是项目持续时间(以月计) S 0.54E 0.6,S是人员需要量(以人计) DOC 49L 1.01。DOC是文档数量(以页计) chap

18、ter_447举例举例采用java 完成项目,366功能点,则L 36646 = 16386行 = 16.386 KLOCE 5.2L 0.91 5.216.386 0.91 66人月 D 4.1L 0.36 = 4.116.386 0.36 = 11.2 月S 0.54E 0.6 0.5416.386 0.6 2.89人 DOC 49L 1.01 4916.386 1.01 826页 chapter_448COCOMOCOCOMO(Constructive Cost Constructive Cost modelmodel)由Barry Boehm开发的详见:(南加州大

19、学网站)/csse/research/COCOMOII/cocomo_downloads.htm 列出了由USC-CSSE提供的 COCOMO 软件攻击和 相应的文档. 各种 USC 用 COCOMO II 和 COCOMO 81来实现的软件实例,这些实例都是由 Dr. Ellis Horowitz 带领的已毕业的学生完成的. chapter_449COCOMOCOCOMO模型发展模型发展COCOMO 81 COCOMO II 模型系列 chapter_450COCOMO 81项目类型:项目类型:有机: Organic嵌入式: Embedded半有机: Se

20、midetached模型类别:模型类别:q基本COCOMOq中等COCOMOq高级COCOMO chapter_451模型类别模型类别q基本COCOMOq静态单变量模型q中等COCOMOq基本模型基础上考虑影响因素,调整模型q高级COCOMOq中等COCOMO模型基础上考虑各个步骤的影响 chapter_452项目类型项目类型 有机: Organic, 各类应用程序,例如数据处理、科学计算 等 受硬件的约束比较小,程序的规模不是很大 嵌入式: Embedded 系统程序,例如实时处理、控制程序等 紧密联系的硬件、软件和操作的限制条件下运行,软件规模任意 半有机: Semidetached 各类

21、实用程序,介于上述两种软件之间,例如编译器(程序) 规模和复杂度都属于中等或者更高 chapter_453基本基本COCOMOCOCOMOqE= a(KLOC)exp(b)q其中: qE是所需的人力(人月), qKLOC是交付的代码行qa , b是依赖于项目自然属性的参数: chapter_454基本基本COCOMOCOCOMO系数表系数表方式ab有机2.41.05半有机3.01.12嵌入式3.61.2 chapter_455举例举例一个33.3 KLOC的软件开发项目,属于中等规模、半有机型的项目,采用基本COCOMO:oa=3.0,b=1.12。oE = 3.0L 1.12 = 3.033

22、.3 1.12 = 152 PM chapter_456中等中等COCOMOCOCOMOqE=a(KLOC)exp(b)*乘法因子qa b是系数q乘法因子是根据成本驱动属性打分的结果,对公式的校正系数 chapter_457中等中等COCOMOCOCOMO系数表系数表方式ab有机2.81.05半有机3.01.12嵌入式3.21.2 chapter_458成本驱动因子成本驱动因子 chapter_459乘法因子计算乘法因子计算每个属性Fi的取值范围为: 很低、低、正常、高、很高、极高,共六级。正常情况下 Fi=1。Boehm推荐的Fi取值范围 0.70, 0.85, 1.00, 1.15, 1.

23、30, 1.65当每个Fi的值选定后,乘法因子的计算如下 乘法因子F1*F2* Fi * Fn chapter_460举例(续)举例(续)一个33.3 KLOC的软件开发项目,属于中等规模、半有机型的项目,采用中等COCOMO模型 a=3.0,b=1.12。 乘法因子0.70*0.85*1*1.15=1.09E = 3.0L 1.12 = 3.033.3 1.12 PM chapter_461高级(高级(详细详细)COCOMOCOCOMOq将项目分解为一系列的子系统或者子模型 q在一组子模型的基础上更加精确地调整一个模型的属性, chapter_462高级(高级(详细详细)COCOMOCOCO

24、MO chapter_463估算的基本方法估算的基本方法q估算技术基础:代码行、功能点q类比 (自顶向下)估算法q自下而上估算法q参数法估算法q专家估算法专家估算法 chapter_464专家估算法专家估算法q由多位专家进行成本估算,一个专家可能会有偏见,最好由多位专家进行估算,取得多个估算值,最后得出综合的估算值。 chapter_465专家估算法专家估算法-Deiphi-Deiphiq组织者发给每位专家一份软件系统的规格说明和一张记录估算值的表格,请他们估算q专家详细研究软件规格说明后,对该软件提出3个规模的估算值q最小aiq最可能的miq最大biq组织者对专家的表格中的答复进行整理q计算每位专家的Ei=(ai+4mi+bi)/6, chapter_466专家估算法专家估算法-Deiphi(-Deiphi(续续) )q综合结果后:E=E1+E2+En/n(N:表示N 个专家)q再组织专家无记名填表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论