版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、情景引入0多少工作量?多少成本?路线图:成本计划1软件项目管理 第二篇2第第 6 6 章章软件项目成本计划软件项目成本计划本章要点3估算过程概念估算方法成本预算案例分析 课程实践关于估算 chapter_64关于估算关于估算估算不是很准确,有误差项目经验数据非常重要不要太迷信某些数学模型软件项目规模 chapter_65软件项目规模即工作量,是从软件项目范围中抽出的软件功能,然后确定每个软件功能所必须执行的一系列软件工程任务例如:软件规划,软件管理,需求,设计,编码,测试,以及后期的维护等任务。软件规模单位 chapter_66LOC(Loc of Code)源代码长度的测量FP(Functi
2、on Point)用系统的功能数量来测量人月人天人年软件项目成本 chapter_67完成软件规模相应付出的代价。待开发的软件项目需要的资金。人的劳动的消耗所需要的代价是软件产品的主要成本 货币单位软件规模和软件成本的关系 chapter_68规模是成本的主要因素,是成本估算的基础,有了规模就确定了成本,软件项目成本的影响因素n项目质量对成本的影响项目质量对成本的影响n工期对成本的影响工期对成本的影响n管理水平对成本的影响管理水平对成本的影响n人力资源对成本的影响人力资源对成本的影响n价格对成本的影响价格对成本的影响成本估算结果 chapter_610直接成本与具体项目相关的成本,例如:参与项
3、目的人员成本间接成本可以分摊到各个具体项目中的成本,例如: 培训 房租水电 员工福利 市场费用 管理费 其他等等成本估算过程估算输入估算结果成本估算方法成本估算输入q项目需求、 WBSq历史项目度量q资源要求(资源编制计划)q资源消耗率:如人员成本: 100元/小时q进度规划:项目总进度(一般是合同要求)q学习曲线资源规划q需要的资源种类、数量等成本估算q直接成本q间接成本直接成本q与具体项目相关的成本 包括开发成本、管理成本、质量成本等。 例如:人员的工资、材料费、外包外购成本等。间接成本q不能具体到某个项目中的成本,是企业的运营成本。q可以分摊到各个具体项目中的成本,例如:q培训q房租水电
4、q员工福利q市场费用q管理费q其他等等项目估算结果q估算文件q资源,资源的数量,质量标准,估算成本等信息q单位:一般是货币单位qBAC(Budget At completion)q估算说明q工作范围q估算的基础和依据q估算的假设q估算的误差变动等估算说明q预测所需要的总工作量的过程。q是一种量化的结果q可以有一些误差q成本估算不同于项目定价q贯穿于软件的生存周期。 本章要点19估算过程概念估算方法成本预算案例分析 课程实践估算的基本方法 chapter_620代码行估算法功能点估算法用例点估算法类比 (自顶向下)估算法自下而上估算法参数估算法专家估算法代码行估算法 chapter_621与具体
5、的编程语言有关分解足够详细有一定的经验数据从软件程序量的角度定义项目规模代码行技术的主要优缺点 chapter_622代码是所有软件开发项目都有的代码是所有软件开发项目都有的“产品产品”,而,而且很容易计算代码行数。且很容易计算代码行数。 主要优点对代码行没有公认的可接受的标准定义对代码行没有公认的可接受的标准定义代码行数量依赖于所用的编程语言和个人的编程风格代码行数量依赖于所用的编程语言和个人的编程风格. . 在项目早期在项目早期, ,需求不稳定、设计不成熟、实现不确定的需求不稳定、设计不成熟、实现不确定的情况下很难准确地估算代码量情况下很难准确地估算代码量. . 代码行强调编码的工作量代码
6、行强调编码的工作量, ,只是项目实现阶段的一部分只是项目实现阶段的一部分 主要缺陷基于代码行的成本估算步骤一种自底向上的成本估算方法,即从模块开始进行估算Putnam 与 Fitzsimmons在一篇文章中以一个大型仓库控制程序为例,说明如何估算。68%范围 程序的真实长度有68%的机会落入 期望值加减标准偏差期望值加减标准偏差99%范围 程序的真实长度有99%的机会落入 期望值加减期望值加减3倍标准偏差倍标准偏差Putnam公式L=Ck1/3T4/3C为开发环境,典型取值为12500、10000与6500分别对应“优良”、“好”与“不好”估算的基本方法 chapter_628代码行估算法功能
7、点估算法用例点估算法类比 (自顶向下)估算法自下而上估算法参数估算法专家估算法功能点估算 chapter_629 与实现的语言和技术没有关系 用系统的功能数量来测量其规模 通过评估、加权、量化得出功能点功能点估算功能点公式FP =UFC*TCF UFC:未调整功能点计数 TCF:技术复杂度因子。UFC-未调整功能点计数 chapter_630外部输入外部输入外部查询外部查询内部逻辑文件内部逻辑文件外部接口文件外部接口文件外部输出外部输出功能计数项功能计数项外部输入(External Inputs: EI) chapter_6给软件提供面向应用的数据的项(如屏幕、表单、对话框、控件,文件等);在
8、这个过程中,数据穿越外部边界进入到系统内部。 外部输出(External Outputs EO) chapter_632向用户提供(经过处理的)面向应用的信息,例如,报表和出错信息等。输出外部查询(External Inquiry EQ) chapter_633外部查询是一个输入引出一个即时的简单输出。没有处理过程。 外部接口文件(External Interface Files EIFs) chapter_634外部接口文件是用户可以识别的一组逻辑相关数据,这组数据只能被引用。用这些接口把信息传送给另一个系统。 内部逻辑文件(Internal Logical Files: ILFS) cha
9、pter_635用户可以识别的一组逻辑相关的数据,而且完全存在于应用的边界之内,并且通过外部输入维护,是逻辑主文件的数目。 文件UFC-未调整功能点计数36功能计数项的复杂度等级复杂度权重因素项简单(低)一般(中)复杂(高)外部输入346外部输出457外部查询346外部接口文件 5710内部逻辑文件 71015功能点估算方法举例 chapter_337外贸订单:-UFC38功能点项简单一般复杂外部输入2 * 31 * 40 * 6外部输出0 * 40 * 51* 7外部查询0 * 31 * 40 * 6外部接口文件0 * 51 * 70 * 10内部逻辑文件1 * 71 * 100* 15总计
10、UFC45外部输入:3项;外部输出:1项;外部查询:1项;外部接口文件:1项;内部逻辑文件:2项TCF-技术复杂度因子39TCF=0.65+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易于修改0.65的含义: 如果对应用程序完全没有特殊的功能要求(即综合特征总值为0),那么功能点数
11、应该比未调整的(原有的)点数降低35%。 否则除了降低35%之外,功能点数还应该比未调整的点数增加1%的综合特征总值。TCF=0.65+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技术复杂度因子的取值范围 chapter_641调整系数调整系数描述描述0不存在或者没有影响1不显著的影响2相当的影响3平均的影响4显著的影响5强大的影响功能点与代码行的转换语言代码行代码行/FPAssembly320C150COBOL105FORTRAN105PASCAL91ADA71PL/165PROLOG/
12、LISP64SMALLTALK21SPREADSHEET6外贸订单项目:功能点计算 chapter_646因为:UFC=45 TCF=0.65+0.01(14*3)=1.07 所以:FP=UFC*TCF=45*1.07=48如果:PE=15工时/功能点则:Effort=48*15=720工时功能点与代码行的转换47语言代码行代码行/FP/FPAssembly320C150COBOL105FORTRAN105PASCAL91ADA71PL/165PROLOG/LISP64SMALLTALK21SPREADSHEET6估算的基本方法 chapter_648代码行估算法功能点估算法用例点估算法类比
13、(自顶向下)估算法自下而上估算法参数估算法专家估算法用例模型 chapter_349用例点估算模型 chapter_350用例点估算方法的基本步骤 chapter_651计算未调整的角色的权值UAW;计算未调整的用例的权值UUCW ;计算未调整的用例点UUCP;计算技术和环境因子TEF;计算调整的用例点UCP ;计算工作量( manhours) 。1、计算未调整的角色的权值UAW chapter_652UAW= 2、计算未调整的用例的权值UUCW chapter_653UUCW= 3、计算未调整的用例点UUCP chapter_354UUCP =UAW+UUCW : 例如4、计算技术因子TCF
14、554、 计算环境因子ECF chapter_356)_03.0(4.181iiiValueWeightECFECF5、计算调整的用例点UCP chapter_657UCP =UUCPTCFECF = 1101.020.785 = 886、计算工作量 chapter_658如果:如果:PF = 20工时工时/用例点用例点则:则:Effort =UCPPF = 8820 = 1760h=220人天人天估算的基本方法 chapter_659代码行估算法功能点估算法用例点估算法类比 (自顶向下)估算法自下而上估算法参数估算法专家估算法类比估算-定义 chapter_660估算人员根据以往的完成类似项
15、目所消耗的总成本(或工作量),来推算将要开发的软件的总成本(或工作量)。是一种自上而下的估算形式类比估算使用情况 chapter_661q有类似的历史项目数据q信息不足(例如市场招标)的时候q要求不是非常精确估算的时候类比估算理论举例 chapter_362类比估算主观判断举例 chapter_663证券交易网站需求类似历史数据:10万类比估算:10万估算的基本方法 chapter_664代码行估算法功能点估算法用例点估算法类比 (自顶向下)估算法自下而上估算法参数估算法专家估算法自下而上估算-定义 chapter_665利用任务分解图(WBS),对各个具体工作包进行详细的成本估算,然后将结果
16、累加起来得出项目总成本。“变化计数器”系统文件比较预处理增加代码结果处理统计总行标记修改记录修改版本比较找出增删行统计增删行删除代码增加行数删除行数估算结果自下而上估算-特点 chapter_666q相对比较准确,它的准确度来源于每个任务的估算情况q花费时间自下而上估算举例 chapter_6估算的基本方法 chapter_668代码行估算法功能点估算法用例点估算法类比 (自顶向下)估算法自下而上估算法参数估算法专家估算法参数估算法定义chapter_669通过项目数据,进行回归分析,得出回归模型通过参数模型估算(规模)成本的方法。参数估算法70 比较简单,而且也比较准确 如果模型选择不当或者
17、数据不准,也会导致偏差特点特点具有良好的项目数据为基础存在成熟的项目估算模型使用条件使用条件参数模型:面向LOC驱动的 chapter_671Walston-Felix(IBM)qE= 5.2*(KLOC)0.91Balley-BasiliqE=5.5+0.73*(KLOC)1.16COCOMOqE=3.2*(KLOC)1.05DotyqE=5.288*(KLOC)1.047参数模型:面向FP驱动的 chapter_672Albrecht and GaffneyqE=-12.39+0.0545FPMatson,BarnettqE=585.7+15.12FP参数模型:整体公式 chapter_6
18、73E=a+b*SCE:以人月表示的工作量a,b,c:经验导出的系数S:主要的输入参数(通常是LOC,FP等)建议掌握模型 chapter_674Walston-Felix模型COCOMO模型Walston-Felix模型 chapter_6751977年,年,IBM的的Walston和和Felix提出了如下的估算提出了如下的估算公式公式E 5.2(KLOC)0.91, KLOC是源代码行数,E是工作量(以PM计) D 4.1(KLOC)0.36,D是项目持续时间(以月计) S 0.54E 0.6,S是人员需要量(以人计) DOC 49(KLOC)1.01 ,DOC是文档数量(以页计) Wal
19、ston-Felix举例 chapter_676采用java 完成项目,估计有366功能点,则L = 36646 = 16386行 = 16.386KLOCE 5.2(KLOC)0.91 5.216.386 0.91 66人月 DOC =49 (KLOC)1.01 4916.386 1.01 826页 COCOMO(Constructive Cost model) chapter_677结构化成本模型 是目前应用最广泛的参数型软件成本估计模型由Barry Boehm团队开发的COCOMO模型发展 chapter_678COCOMO 81 COCOMO II 模型系列COCOMO基本原理 cha
20、pter_679将开发所需要的工作量表示为将开发所需要的工作量表示为KLOC软件规模软件规模和一系列成本因子的函数和一系列成本因子的函数,基本估算公式基本估算公式:A:可以校准的常量可以校准的常量; S为为KLOC软件规模软件规模; E为规模的为规模的指数指数,说明不同规模软件具有的相对规模经济和不说明不同规模软件具有的相对规模经济和不经济性经济性;EM为工作量乘数为工作量乘数,反映某个项目特征对完反映某个项目特征对完成项目开发所需工作量的影响程度成项目开发所需工作量的影响程度;n为描述软件为描述软件项目特征的成本驱动因子的个数项目特征的成本驱动因子的个数COCOMO 81 chapter_6
21、80项目类型:项目类型:有机: Organic嵌入式: Embedded半有机: Semidetached模型级别:模型级别:基本COCOMO中等COCOMO高级COCOMOCOCOMO 81模型的级别 chapter_681高级COCOMO中等COCOMO基本COCOMO静态单变量模型基本模型基础上考虑影响因素,调整模型中等COCOMO模型基础上考虑各个步骤的影响COCOMO 81项目类型82有机: Organic,各类应用程序,例如数据处理、科学计算 等受硬件的约束比较小,程序的规模不是很大 嵌入式: Embedded系统程序,例如实时处理、控制程序等 紧密联系的硬件、软件和操作的限制条件
22、下运行,软件规模任意 半有机: Semidetached各类实用程序,介于上述两种软件之间,例如编译器(程序) 规模和复杂度都属于中等或者更高 基本COCOMO-81 chapter_683E:工作量(人月) KLOC:是交付的代码行a , b:依赖于项目自然属性的系数E= a X(KLOC)b基本COCOMO-81系数表 chapter_684方式ab有机2.41.05半有机3.01.12嵌入式3.61.2举例 chapter_685一个33.3 KLOC的软件开发项目,属于中等规模、半有机型的项目,采用基本COCOMO,计算项目规模。a=3.0,b=1.12。E = 3.0L 1.12 =
23、 3.033.3 1.12 = 152 PM 5、中等COCOMO-81 chapter_686方式ab有机2.81.05半有机3.01.12嵌入式3.21.2 E:工作量(人月) KLOC:是交付的代码行 a , b:依赖于项目自然属性的系数 乘法因子是对公式的校正系数E= E= a*(KLOC)(KLOC)b* *乘法因子乘法因子乘法因子的成本驱动属性 chapter_687成本驱动因子过程属性过程属性人员属性人员属性产品属性产品属性平台属性平台属性乘法因子 chapter_388乘法因子F1XF2 X 。X F15举例 chapter_689一个33.3 KLOC的软件开发项目,属于中等
24、规模、半有机型的项目,采用中等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 PM5、高级(详细)COCOMO chapter_690将项目分解为一系列的子系统或者子模型 更加精确地调整一个模型的属性 高级(详细)COCOMO chapter_691COCOMO II chapter_692COCOMO II规划阶段规划阶段设计阶段设计阶段应用组装应用组装模型模型早期设计早期设计模型模型后体系结后体系结构模型构模型开发阶段开发阶段COCOMO II-后体系结构模型93A是
25、可以校准 ,目前设定A=2.94B是可以校准 ,目前设定B=0.91模型研究例子项目数据 chapter_694步骤: xx=41 132 144 194 194 291 255 378 591;时间:yy=6,10,11,16,22,32,30,35,42;模型研究例子项目数据图式 chapter_695模型研究例子-拟合算法 chapter_696算法:function n = cocomo(m)xx=41 132 144 194 194 291 255 378 591;yy=6,10,11,16,22,32,30,35,42;fun=(c,x)c(1) * x.c(2); abc0=1
26、1; c= lsqcurvefit(fun,abc0,xx,yy); n=fun(c,m);end模型研究例子-结果输出 chapter_697模型输出图形输出模型研究例子-模型应用 chapter_698估算的基本方法 chapter_699代码行估算法功能点估算法用例点估算法类比 (自顶向下)估算法自下而上估算法参数估算法专家估算法专家估算法 chapter_6100由多位专家进行成本估算,一个专家可能会有偏见,最好由多位专家进行估算,取得多个估算值,最后得出综合的估算值。专家估算法-Deiphi101组织者确定专家,这些专家互相不见面组织者发给每位专家一份软件规格说明专家以无记名对该软件
27、给出3个规模的估算值最小ai最可能的mi最大bi组织者计算每位专家的Ei=(ai+4mi+bi)/6如果各个专家的估算差异超出规定的范围(例如:15%),则需重复上述过程最终可以获得一个多数专家共识的软件规模:E=E1+E2+En/n(N:表示N 个专家)Deiphi专家估算法-举例某多媒体信息查询系统,采用专家估算方法 chapter_6102Click to add Text专家1:1,8,9估算结果=(6+7)/2=6.5(1+9+4 * 8 )/6=7专家2: 4, 6 , 8(4+8+4*6)/6=6估算方法总结 chapter_6103代码行估算法功能点估算法用例点估算法类比 (自
28、顶向下)估算法自下而上估算法参数估算法专家估算法估算方法总结q初期q类比q专家估算q计划阶段q自下而上q参数模型q实施阶段(包括变更发生)q自下而上q参数模型成本估算方法综述q主要考虑三种模型:类比法,自下而上法,参数法.q自下而上法费时费力,参数法比较简单q自下向上法与参数法的估计精度相似q类比法通常用来验证参数法和自下而上法的结果各种方法不是孤立的各种方法不是孤立的, ,应该注意相互的结合使用应该注意相互的结合使用实用软件估算步骤 chapter_6106是一种自下而上和参数法的结合模型,步骤如下:对任务进行分解:1,2,I,n估算每个工作包的成本Ei直接成本=E1+E2+ Ei+ En间
29、接成本估算间接成本估算项目总估算成本项目总估算成本= 直接成本+间接成本估算每个任务的成本chapter_6107直接估算成本Ei先估算规模Qi,然后估算成本Ei= Qi *人力成本参数直接成本估算chapter_6108例如:人力成本参数=5万/人月,30人月(包括开发管理质量)规模的项目的直接成本是 150万开发成本管理成本质量成本直接成本组成直接成本估算简易估算:chapter_6109开发(工作量)规模:Scale(Dev) (单位:人月)管理、质量(工作量)规模:Scale(Mgn)=a* Scale(Dev)a为比例系数:例如:20%-25%直接成本 Scale(Dev) a* S
30、cale(Dev) 间接成本chapter_6110按照企业模型直接估算:简易算法:间接成本=直接成本*间接成本系数 例如:间接成本系数=0.3项目总估算成本 chapter_6111估算成本=直接成本+间接成本估算成本=直接成本+直接成本*间接成本系数估算成本=直接成本(1+间接成本系数)估算成本=规模*人力成本参数(1+间接成本系数)成本系数=人力成本参数* (1+间接成本系数)简易算法:估算成本=规模*成本系数例如:成本系数= 8万/人月总估算成本(BAC)112费用BAC时间本章要点113估算过程概念估算方法成本预算案例分析 课程实践成本预算chapter_6114成本预算是将项目的总
31、成本按照项目的进度分摊到各个工作单元中去成本预算的目的是产生成本基线 项目成本预算 chapter_6115给任务分配资源成本给任务分配固定资源成本给任务分配固定成本分配项目成本预算包括三种情况:分配项目成本预算包括三种情况:给任务分配资源成本chapter_6116标准费率加班费率每次使用费率。与资源的基本费率紧密相连,设置资源费率分配固定资源成本 chapter_6117当一个项目的资源需要固定数量的资金时,可以向任务分配固定资源成本。例如:项目中的一个兼职人员成本 分配固定成本chapter_6118有些任务是固定成本的类型的任务,也就是说,管理者知道某项任务的成本不变,不管任务的工期有
32、多长,或不管任务使用了那些资源。在这种情况下,管理者向任务直接分配成本。例如:某外包任务、培训任务 成本基线chapter_6119编制成本预算的原则分摊总预算成本估算准确度类型准确度说明量级估算:合同前Order of magnitude-25+75%概念和启动阶段决策预算估算:合同期Budget-10+25%编制初步计划确定性估算:WBS后Definitive-5+10%工作分解后的详细计划估算不准的原因q基础数据不足q缺乏经验的估算人员q签约前后不连贯q低劣的推测技术q估算对需求的敏感性避免低劣估算n避免无准备的估算n留出估算的时间,并做好计划n使用以前的项目数据n使用开发人员提供的数据为基础估算n分类法估算n详细的较低层次上的估算n使用软件估算工具n使用几种不同估算技术,并比较它们的结果本章要点128估算过程概念估算方法成本预算案例分析 课程实践医疗信息商务平台成本估算 chapter_6129MEDMED的工作量成本估算案例的工作量成本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度绿色建材采购与施工一体化服务合同4篇
- 2025年度美容院消防安全管理服务合同4篇
- 2025年老旧小区改造工程服务合同
- 二零二五年度离婚前财产分割专项合同4篇
- 二零二五年度古建筑泥工修缮工程承包合同8篇
- 2025年个人房产抵押贷款合同范本2篇
- 2025年度农药产品安全评价与风险评估合同
- 2025年度个人名下房产出售合同范本2篇
- 课题申报参考:民国时期华东地区传统体育史料搜集与辑录研究
- 课题申报参考:面向能源结构转型的掺氢天然气负荷预测及其储能布局优化研究
- 2024年全国职业院校技能大赛高职组(研学旅行赛项)考试题库(含答案)
- 2025年温州市城发集团招聘笔试参考题库含答案解析
- 2025年中小学春节安全教育主题班会课件
- 2025版高考物理复习知识清单
- 除数是两位数的除法练习题(84道)
- 2025年度安全检查计划
- 2024年度工作总结与计划标准版本(2篇)
- 全球半导体测试探针行业市场研究报告2024
- 反走私课件完整版本
- 2024年注册计量师-一级注册计量师考试近5年真题附答案
- 四年级下册数学知识点总结
评论
0/150
提交评论