版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二篇项目计划第4章软件项目成本计划规模成本的概念成本估算过程估算方法估算准确度成本预算项目核心(进度)计划—续核心计划小结估算不是很准确的,有误差的一、规模成本的概念关于估算经验(历史)数据对估算非常重要不要太迷信数学模型软件项目的变化因素太多—人员、技术、环境和行政。数据的有效性、可靠性对估算的风险和效果有很大影响。估算不是估计,是一种科学行为,存在估算模型。但模型多数不稳定。软件项目规模即工作量,是从软件项目范围中抽出的软件功能,然后确定每个软件功能所必须执行的一系列软件工程任务。软件项目规模规模的单位有:代码行(LOC)、功能点(FP)、人天、人月和人年等。软件规模是指软件项目的可量化的结果。规模是成本的主要因素,是成本估算的基础。软件项目成本是指完成软件规模相应付出的代价、待开发的软件项目需要的资金。软件项目成本软件项目成本的关键成本:成本一般采用货币单位:RMB元、美元等直接材料(项目外购的、直接用于项目、并将最终交付给用户的软硬件、服务等)成本;直接人力资源成本;实施费用(差旅、交通、通讯等)成本;其他直接成本(设备租用、设备折旧、税费、广告等);间接成本(场地租用、水电费等)。直接成本二、成本估算过程估算输入估算结果成本估算方法项目需求与WBS:确保所有工作均被估算;历史项目度量:项目估算的主要参考;资源要求(资源编制计划):资源消耗情况;资源消耗率:资源单价;进度规划:项目总进度(一般是合同要求);学习曲线:风险控制程度。成本估算输入规模成本估算是项目各活动所需资源消耗的定量估算。包括需要的资源种类、数量等。估算处理直接成本:与项目活动(开发、管理)直接相关的成本;间接成本:不归属于一个具体项目,是企业的运营成本,可以分摊到各个项目中。预测所需要的总工作量的过程。是一种量化的结果可以有一些误差成本估算不同于项目定价贯穿于软件的生存周期。估算文件资源:资源的数量,质量标准,估算成本等信息单位:一般是货币单位竣工估算(BAC,BudgetAtCompletion):优化与修正估算说明工作范围:WBS估算的基础和依据:确认估算的合理估算的假设:确认假设的合理性估算的误差变动等项目估算结果代码行功能点类比(自顶向下)估算法自下而上估算法参数法估算法专家估算法三、估算方法从软件程序量的角度定义项目规模。能与其他项目中的度量进行比较。代码行(LOC)度量数据:错误数/KLOC缺陷数/KLOC成本/KLOC文档页数/KLOC生产率数据:LOC/pm错误数/pm将基线生产率度量应用于规模估算变量中,导出每个活动的成本或工作量,将所有活动的估算合并起来,即可产生整个项目的总体估算。对代码行没有公认的可接受的标准定义代码行数量依赖于所用的编程语言和个人的编程风格在项目早期,需求不稳定、设计不成熟、实现不确定的情况下很难准确地估算代码量代码行强调编码的工作量,只是项目实现阶段的一部分代码行缺点:用LOC当做估算变量时,需要进行活动定义(分解)根据软件信息域的特性及复杂性估算规模。与实现产品所使用的语言和技术没有关系。功能点(FP)信息域的值以以下方式定义:外部输入(EI)数:源于外部系统或用户的输入;外部输出(EO)数:从系统中导出的信息(不对信息中的数据项分开计数);外部查询(EQ)数:一个输入与输出的响应;内部逻辑文件(ILF)数:驻留在系统边界之内的数据逻辑分组,通过EI维护;外部接口文件(EIF)数:驻留在应用系统外部的数据逻辑分组,为系统提供有用的数据。FP=UFC*TCFUFC:未调整功能点计数TCF:技术复杂度因子UFC-未调整功能点计数信息域值加权因子计数简单中等复杂EI346EO457EQ346ILF71015EIF5710TCF-技术复杂度因子TCF=0.65+0.01(∑(Fi))值调整因子(VAF)F1可靠的备份和恢复F2数据通信F3分布处理F4性能F5配置环境F6联机数据输入F7操作简单性F8ILF在线升级F9复杂操作F10复杂数据处理F11代码复用F12安装F13多点安装F14易于修改值调整因子Fi的取值范围调整系数描述0不存在或者没有影响1不显著的影响2相当的影响3平均的影响4显著的影响5强大的影响对象点其他方法计算应用中屏幕、报表和3GL构件数量的最可能值。对象点也可分为3个不同级别。
r:重用构件的百分比对象类型复杂度加权简单的中等的复杂的屏幕123报表2583GL构件10用例点UCP=UUCP×TCF×ECFUCP:用例点UUCP:未调整用例点TCF:技术复杂度因子ECF:环境复杂度因子最终工作量
=UCP×生产率因子用例表现的是不同抽象级别上的软件的外部视图,没有标识出功能和特性的复杂性,因此,基于用例的估算方法建立还有困难。类比(analogy)-定义类比(自顶向下)估算法估算人员根据以往的完成类似项目所消耗的总成本(或工作量),来推算将要开发的软件的总成本(或工作量),然后按比例将它分配到各个开发任务单元中类比-使用情况有类似的历史项目数据信息不足(要求不是非常精确)的时候在合同期和市场招标时简单易行,直观,花费少具有一定的局限性准确性差,可能导致项目出现困难类比-特点项目间相似度计算公式:类比-计算
自下而上估算法自下而上-定义利用任务分解结构图,对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本。自下而上-使用情况项目开始以后,WBS的开发阶段需要进行准确估算的时候自下而上-特点比较准确,来源于每个任务的估算情况非常费时,估算本身也需要成本支持可能发生虚报现象参数估算法(经验导出模型)找到软件工作量的各种成本影响因子,并判定它对工作量所产生影响的程度是可加的、乘数的还是指数的,以期得到最佳的模型算法表达形式。参数估算法-基本思想参数估算法-使用情况存在成熟的项目估算模型应该具有良好的数据库数据为基础参数估算法-特点比较简单,而且也比较准确如果模型选择不当或者数据不准,也会导致偏差提供工作量(规模)的直接估计,通过过去项目数据,进行回归分析得出的回归模型。经验导出成本模型静态单变量模型提供工作量(规模)的直接估计,通过过去项目数据,进行回归分析得出的回归模型。E=A+B×SCE:以人月表示的工作量A,B,C:经验导出的系数S:主要的输入参数(通常是LOC,FP等)Walston-Felix:E=5.2×(KLOC)0.91Balley-Basili:E=5.5+0.73×(KLOC)1.16COCOMO(Boehm基本):E=3.2×(KLOC)1.05Doty(KLOC>9):E=5.288×(KLOC)1.047面向LOC驱动的面向FP驱动的AlbrechtandGaffney:E=-91.4+0.355FPMatson,Barnett:E=585.7+15.12FPKemerer:E=-37+0.96FP小型项目回归:E=-12.88+0.405FPE=5.2×L0.91
,L是源代码行数(以KLOC计),E是工作量(以人月计)D=4.1×L0.36,D是项目持续时间(以月计)S=0.54×E0.6,S是人员需要量(以人计)DOC=49×L1.01。DOC是文档数量(以页计)Walston-Felix模型1977年,IBM的Walston和Felix提出了如下的估算公式L=366×46=16386LOC
=16.386KLOCE=5.2×L0.91
=5.2×16.3860.91
=66人月DOC=49×L1.01
=49×16.3861.01
=826页例,采用java完成项目,366功能点,则结构化成本模型(ConstructiveCostModel),是世界上应用最广泛的参数型软件成本估计模型COCOMO(Boehm简单模型)
PM:以人月表示的工作量A:校准因子size:对工作量呈可加性影响的软件模块功能尺寸B:对工作量呈指数或非线性影响的比例因子EM:工作量乘数COCOMO81基本模型:静态单变量模型;中等模型:基本模型基础上考虑影响因素,调整模型。需求确定后使用;高级模型:中等模型基础上考虑各个步骤的影响。设计完成后使用。E:所需的人力(人月),KLOC:交付的代码行a,b:系数,取决于模型等级和项目模式F:调整因子E=a×(KLOC)b×F项目模式有机:Organic,各类应用程序,例如数据处理、科学计算等,受硬件的约束比较小,程序的规模不是很大嵌入式:Embedded,系统程序,例如实时处理、控制程序等紧密联系的硬件、软件和操作的限制条件下运行,软件规模任意半嵌入式:Semidetached,各类实用程序,介于上述两种软件之间,例如编译器(程序),规模和复杂度都属于中等或者更高基本COCOMO模型静态的单变量模型,不考虑任何成本驱动,适于起始阶段粗略迅速估算。F=1方式ab有机2.41.05半嵌入式3.01.12嵌入式3.61.2F是根据成本驱动属性打分的结果中等COCOMO模型在用LOC为自变量的函数计算工作量的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作量的估算方式ab有机2.81.05半嵌入式3.01.12嵌入式3.21.2乘法因子计算公式与中等COCOMO模型相同高级COCOMO模型包括中间COCOMO模型的所有特性,还要考虑分析、设计等各步骤的影响,将项目分解成一系列子系统。1)将软件项目分解为模块、子系统、系统3个等级2)增加了与阶段相关的工作量乘数更细粒度的因子影响分析,考虑阶段的区别COCOMOIICOCOMOII给出3个层次的估算模型:1.应用组装模型:规划阶段使用,基于对象点;2.早期设计模型:体系结构设计阶段使用,基于功能点或者代码行;3.后体系结构模型:软件构造阶段使用,基于功能点或代码行
E:所需的人力(人月),KLOC:交付的代码行a,b:系数,模型系数fi:成本因素专家估算法一个专家可能会有偏见,最好由多位专家进行估算,取得多个估算值,最后得出综合的估算值。组织者发给每位专家一份软件系统的规格说明和一张记录估算值的表格,请他们估算专家提出3个规模的估算值:最小ai、最可能mi、最大bi组织者对专家的表格中的答复进行整理计算每位专家的Ei=(ai+4mi+bi)/6综合结果后:E=E1+E2+…En/n(n:表示n个专家)再组织专家无记名填表格,比较估算差,并查找原因如果各个专家的估算差异超出规定的范围(例如:15%),则需重复上述过程Delphi方法初期类比专家估算计划阶段自下而上参数模型实施阶段(包括变更发生)自下而上参数模型估算方法总结主要考虑三种模型:类比法,自下而上法,参数法自下而上法费时费力,参数法比较简单自下向上法与参数法的估计精度相似类比法通常用来验证参数法和自下而上法的结果成本估算方法综述各种方法不是孤立的,应该注意相互的结合使用对任务进行分解:1,2,…,i,…,n估算每个任务的规模(人月)估算直接成本估算间接成本项目总估算成本=直接成本+间接成本项目总报价=项目总估算成本+风险利润风险利润=利润+风险基金+税实用软件估算模型是一种自下而上和参数法的结合模型,步骤如下:PERT算法:Qi=(Max+4Avg+Min)/6最可能值:Qi=Avg估算每个任务的规模直接成本估算直接估算任务成本Ei
=Qi×人力成本参数直接成本=E1+E2+…+Ei+…+En直接成本=规模×人力成本参数直接成本组成开发成本管理成本质量成本间接成本估算间接成本:日常开销、行政管理费用、员工福利、培训、预防性维护费用、市场宣传等间接成本=直接成本×间接成本系数(1.5~3)项目总估算成本估算成本=直接成本+间接成本估算成本=直接成本+直接成本×间接成本系数估算成本=直接成本(1+间接成本系数)估算成本=规模×人力成本参数(1+间接成本系数)成本系数=人力成本参数×(1+间接成本系数)简易算法:估算成本=规模×成本系数项目总报价=项目总估算成本+风险利润项目利润=估算成本×a%风险基金=估算成本×b%税=估算成本×c%(例如:c为5.5左右)项目总报价=(a+b+c)%×项目总估算成本+项目总估算成本项目总报价四、估算准确度类型准确度说明量级估算:合同前,Orderofmagnitude-25~~+75%概念和启动阶段决策预算估算:合同期,Budget-10~~+25%编制初步计划确定性估算:WBS后,Definitive-5~~+10%工作分解后的详细计划基础数据不足缺乏经验的估算人员签约前后不连贯低劣的推测技术估算对需求的敏感性估算不准的原因避免无准备的估算留出估算的时间,并做好计划使用以前的项目数据使用开发人员提供的数据为基础估算分类法估算详细的较低层次上的估算使用软件估算工具使用几种不同估算技术,并比较它们的结果避免低劣估算加减限定:6个人月,+3人月,-2人月范围:4~9人月风险量化:估算的表达方式技巧估算:6个人月,+3,-2+1人月:延迟交付转换子系统-1人月:新成员的工作效率高+1人月:采用的新工具没有预计的好-1人月:采用的新工具比预计的好+0.5人月:员工病事假+0.5人月:低估规模真相8:造成软件项目失控最普遍的两个原因之一就是软件估算不足(另外的原因是需求不稳定)真相9:往往在错误的时间,甚至在没有定义需求也即没有理解问题之前,就进行软件估算真相10:往往由错误的人员,即不是由软件开发人员或者项目经理,而是由高层管理或者市场营销,进行软件估算真相11:由错误的人员、在错误的时间做出的软件估算不但往往是错误的,也很少随着项目的进行做必要的调整真相12:虽然软件估算会发生错误,但是人们不去关心产生错误的原因,却还在努力按照错误估算的时间进度执行真相13:管理人员和技术人员对软件估算的认识是完全隔绝的,因此也难以达到一致的目标真相14:很少有真正的可行性研究.假象6:要估算软件项目开发时间和开发成本,必须首先估算软件项目的代码行成本预算是将项目的总成本按照项目的进度分摊到各个工作单元(任务)中去。五、成本预算成本预算的目的是产生成本基线项目成本预算分配项目成本预算包括三种情况:分配资源成本给任务分配固定资源成本给任务分配固定成本资源成本与资源的基本费率紧密相连设置资源费率:标准费率、加班费率、每次使用费率分配资源成本当一个项目的资源需要固定数量的资金时,用户可以向任务分配固定资源成本。例如:需要的硬件设备分配固定资源成本有些任务是固定成本的类型的任务,也就是说,用户知道某项任务的成本不变,不管任务的工期有多长,或不管任务使用了那些资源。在这种情况下,用户向任务直接分配成本。例如:培训任务分配固定成本成本基线六、项目核心(进度)计划—续进度编制资源调整成本预算计划优化调整计划基线编制项目核心(进度)计划步骤3.成本预算:结合进度重新调整项目成本预算4.计划优化调整调整资源,解决资源冲突资源冲突(过度分配)主要有两种表现:1)分配给一个资源的工时总量大于它的最大可用工时量。2)同一种资源被分配给时间上重叠的几个任务或项目中。资源调配推迟资源开始工作时间替换资源设置资源加班时间调整资源日历只使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025湖南省建筑安全员《C证》考试题库及答案
- 2025甘肃省建筑安全员-C证(专职安全员)考试题库
- 2025年山西省建筑安全员A证考试题库及答案
- XX科技集团开工大吉课件模板
- 班主任工作经验交流52
- 《心理健康案例》课件
- 《扑动及纤颤》课件
- 三年级科学复习
- 单位人力资源管理制度范文大全十篇
- 单位管理制度展示大全人员管理篇
- 第一学期六年级家长会课件1
- 年产120万吨氧化铝拜尔法生产高压溶出工艺设计
- APQP产品开发流程与管理(汽车行业)课件
- 2021年监理工程师《建设工程案例分析(水利工程)》真题及答案
- 中心卫生院关于成立按病种分值付费(DIP)工作领导小组及制度的通知
- 医院感染监测清单
- 社区老年人项目计划书
- 《1.我又长大了一岁》教学课件∣泰山版
- 断裂力学-1绪论课件
- 深基坑工程验收表
- 医学交流课件:RCT的基本概念及原则(PPT 37页)
评论
0/150
提交评论