软件成本与工期的测算方法课件.ppt

上传人(卖家):三亚风情 文档编号:2221478 上传时间:2022-03-22 格式:PPT 页数:74 大小:1.71MB
下载 相关 举报
软件成本与工期的测算方法课件.ppt_第1页
第1页 / 共74页
软件成本与工期的测算方法课件.ppt_第2页
第2页 / 共74页
软件成本与工期的测算方法课件.ppt_第3页
第3页 / 共74页
软件成本与工期的测算方法课件.ppt_第4页
第4页 / 共74页
软件成本与工期的测算方法课件.ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

1、n对软件成本测算的方法有功能分解法、价值工程法、统计模型法、影响因子法、类比法、计算机模拟法以及利用成本测算工具软件作成本测算等多种方法,以下对其中部分内容作概要介绍。n功能分解法u功能分解法的基本思想为首先从结构上将软件成本按功能/性能和生存周期阶段两个维度进行分解,若设系统的生存周期为n个阶段,软件按功能/性能分为m个子系统,则该系统的功能分解示意图见图3.2 图图3.2 系统的功能分解示意图系统的功能分解示意图软件软件N2NmN1N13N12N11N1nN21N22N23N2nNm1Nm2Nm3Nmn按功能分解软件构建信息库软件构建信息库用户功能需求界定用户功能需求界定将系统划分成功能子

2、系统(模块)将系统划分成功能子系统(模块) ,计算各功能子系统(模块)计算各功能子系统(模块) 的平均工作量的平均工作量 ,计算各子系统(模,计算各子系统(模块)成本块)成本 ,计算各子系统(模块)工作量,计算各子系统(模块)工作量 ,汇总,汇总计算系统总成本与总工作量计算系统总成本与总工作量 , , ,由专家或经验给出由专家或经验给出i子系统(模块)子系统(模块)j 阶段工作量估计值阶段工作量估计值 ,合成系统,合成系统各阶段工作量各阶段工作量 与总工作量与总工作量进行成本分析,寻找关键子系统(模块)或阶段,研究解决办法进行成本分析,寻找关键子系统(模块)或阶段,研究解决办法比较比较 是否基

3、本一致是否基本一致由专家或经验给出各功能子系统(模块)的工作量下限由专家或经验给出各功能子系统(模块)的工作量下限 ,上限,上限 和最和最可能值可能值 ,计算各阶段系统成本计算各阶段系统成本合成系统总成本合成系统总成本结结 束束ssssMMCC与与,与与,1.2kkkCMkn njjssCCC1,njmiMij1,1, jM miijjminjijsMMMM111,jN64jjjjbmaE jojjCCEojjjEEM/ ssME ,mjjsCC1 mjjsEE1 mjjsMM1jajbjmmj1 jNmj1 ojojEC ,k修修改改修修改改YN图图3.3 功能分解法的成本测算流程图功能分解

4、法的成本测算流程图n例3.1 某计算机辅助设计(CAD)软件是计算机集成制造系统( CIMS )的一个子系统,根据对用户的需求调查与分析,确定该系统按功能可划分成七个功能模块,它们分别是用户接口控制模块、二维几何造型模块、三维几何造型模块、数据结构管理模块、外部设备控制模块、计算机图形显示模块和设计分析模块。试对该软件系统作成本与工作量估算。n解:设上述七个功能模块分别记为 各功能模块的成本费用率 (单位:元/行),劳动生产率 (单位:行/人月)及各阶段的工时费用率 (单位:元/人月),由该企业的软件构建(历史)信息库可得数据见表3.3,其中软件生存周期仅考虑需求分析、设计、编码、测试四个阶段

5、。,7654321NNNNNNNojCojEj 模块模块 工程工程经济参数经济参数N1N2N3N4N5N6N7成本费用率成本费用率 (元(元/行)行)14202018282218劳动生产率劳动生产率 (行(行/人月)人月)315220220240140200300 生存周期生存周期 阶段阶段工程经济参数工程经济参数需求分需求分析析系统设计系统设计编码编码测试测试工时费用率工时费用率 5200480042504500k ojCojE表表3.3 工程经济参数表工程经济参数表u由专家及经验可给出该软件各模块的最小可能值(最乐观值) ,最大可能值(最悲观值) 和最可能值 ,若设各模块工作量均服从 分布

6、,则 由分布性质知各模块期望(平均)工作量 ,有 (单位:行) (3.2)u从而可计算各模块成本 和以人月为单位的工作量 ,其中 (单位:元) (3.3) (单位:人月)u最后汇总有 (元), (行), (人月)jajbjmjE4jjjjambEbjCjMjojjCCEojjjEEM/ 65669071 jjsCC3336071 jjsEE5 .14471 jjsMMu上述计算过程详见表3.4,观察表3.4可知系统成本 和工作量 是仅通过功能这一个维度分解而完成的汇总计算。为了使估算更具可靠性,我们还可以将系统工作量按功能与生存周期阶段二个维度进行分解,并利用表3.3的工时费用率 来计算系统在

7、生存周期各阶段的成本,并有 (3.4)4 , 3 , 2 , 1, kMCkkk sC()ssE Mk 参数参数模块模块(行)(行)(行)(行)(行)(行)(行)(行)(元元/行行)(元)(元)(行行/人月人月)(人月人月)N1180024002650234014327603157.4N241005200740053802010760022024.4N346006900860068002013600022030.9N42950340036003350186030024013.9N52000210024502140285992014015.2N64050490062004950221089002

8、0024.7N766008500980084001815120030028.0总计总计33360sE 656680sC 144.5sM jajmjbjEojCjCojEsM表表3.4 CAD软件成本、工作量估算表(一)软件成本、工作量估算表(一) 时间维时间维功能维功能维需求分析需求分析设计设计编码编码测试测试总计总计(人月)(人月)N11.02.00.53.57.0N22.010.04.59.526.0N32.512.06.011.031.5N42.06.03.04.015.0N51.56.03.55.016.0N61.511.04.010.527.0N74.014.05.07.030.0(

9、人月)(人月)14.561.026.550.5=152.5(元(元/人月)人月)5200480042504500(元)(元)754002928001126252272501 iM2iM3iM4iMiMkMkkCsM708075sC 表表3.5 CAD软件成本、工作量估算表(二)软件成本、工作量估算表(二)u由表3.5可知,依次有 元 元 元 元u由此可得系统总成本 与总工作量(人月) 有 (元) (人月)11114.5 520075400CM22261 4800292800CM33326.5 4250112625CM44450.5 450022725CMsCsM41708075skkCC741

10、1152.5siikikMMMu注意到通过二条不同途径得到了该软件成本(单位:元)与工作量(单位:人月)的二组数值,但考虑到这二组数值有相对误差u相对误差均小于20%,故可从中选择二者之一输出,例如从保守的观点出发可选择系统成本与系统工作量有7080756566807%708075152.5 144.55%152.5ssCsssMsCCCMMM 152.5(),708075()ssMC人月元n然而我们注意到上述之成本与工作量是在生存周期的需求分析、系统设计、程序编码、系统测试四个阶段成本与工作量基础上的累计值,而并非在整个生存周期内的累计值。而后者还包括系统运行与维护阶段的成本,因而我们可在

11、与 的基础上采用加乘因子的方法求得系统成本与工作量在整个生存周期内的估计值 与 有 (3.5)n此中 与 分别为工作量与成本的加乘因子,其取值将依赖于系统的功能与性能特性,例如根据此CAD软件特性,可取 ,则有系统成本与工作量在整个生存周期内的估计值为 人月 万元sMsCsMsC(1),(1)ssMssCMMCC121240%,40%(1)152.5(1 0.4)213.5ssMMM(1)708075(10.4)991305=99.13ssCCC元u此外,观察表3.4可知,从成本分析的角度来看各模块中成本较高的为N3(三维几何造型模块)和N7(设计分析模块),因此为进行成本控制或降低系统成本首

12、先应关注N3和N7模块u另外从人力资源投入的角度来分析,由表3.4可知投入量最大的同样为N3和N7 ,因此可将N3和N7模块作为系统成本分析的关键模块,系统管理员可寻找相关措施来降低N3与N7的成本(例如设法提高N3与N7的劳动生产率Eo3和Eo7和降低N3和N7的成本费用率Co3和Co7等)。u此外观察表3.5还可得知系统成本在需求分析、系统设计、程序编码和系统测试的阶段分布中以系统设计阶段为最大,程序编码阶段为次之,了解上述的成本的时间分布特点将有助于企业的资金运转过程。u最后我们需要说明的是:在表3.4中关于各子系统Nj的成本特性值aj,mj,bj均是由一个专家给出的,考虑到一个专家对事

13、物的认识难免会有主观、片面之处,因而由其个人来决定aj,mj,bj往往有可能不够科学、可靠,而理论分析与经验表明,若采用一个专家群体(专家组)来对上述成本特性值各自独立地作出判断,且当这些判断值彼此差异不大的情况下用这些判断值的平均值来作为软件各子系统的成本估值时将更为科学、可靠,从而产生了以专家群体作判断为基础的Delphi法。一般来说对于一些规模较大、研发经费较多的软件项目,在对其作成本估计时,项目管理部门往往采用Delphi法。u3.2.2 Delphi法(又称专家群体法)u由美国Rand公司首先推出的一种专家群体意见性预测法,设软件据系统概要设计拟由n个子系统构成,则采用Delphi法

14、对该系统各子系统的成本估值求解流程见图3.5。 确定决策主持人,选择专家确定决策主持人,选择专家l人,设计专家人,设计专家调查表,给出调查表,给出 , , 进入第进入第P次调查,由主持人给每位专家发送专家调查表次调查,由主持人给每位专家发送专家调查表主持人召开专家会议(现场或网上),就不主持人召开专家会议(现场或网上),就不清楚的问题回答咨询,专家展开讨论清楚的问题回答咨询,专家展开讨论l个专家填写(无记名)调查表,并送回给主持人,主持人个专家填写(无记名)调查表,并送回给主持人,主持人计算专家计算专家 k 的成本估计值的成本估计值 ,计,计算专家组的成本估计均值算专家组的成本估计均值 ,成本

15、均方差,成本均方差 和变异系数和变异系数主持人再次召开专家会,公布主持人再次召开专家会,公布 数值,数值, ,并对所公布之并对所公布之 数值进行讨论,研究各子系统成本数值进行讨论,研究各子系统成本估值的决策问题估值的决策问题主持人向各专主持人向各专家再次发出调家再次发出调查表,要求各查表,要求各专家按照修改专家按照修改准则准则进行填进行填写写23457进入下一次调进入下一次调查查依据决策准则依据决策准则来决来决定是否继续调查?定是否继续调查?6是是输出决策方案输出决策方案9否否18结结 束束00P1P ,1 ,1kiCkl iniCi,1iin,iiiC和1in,iiiC和12(,)nCC C

16、C1PP图图3.5 Delphi法求解流程法求解流程n在图3.4的框1中有关专家调查表的设计可见表3.6。 1 软件名称软件名称 2 系统性能、功能、结构需求及有关说明系统性能、功能、结构需求及有关说明 3 概要设计及有关说明概要设计及有关说明 4 调查表填写规范与有关说明调查表填写规范与有关说明 5 专家编号:专家编号: 6 填表日期:填表日期: 年年 月月 日日子系统子系统 简要理由简要理由成本参数成本参数(单位:万元)(单位:万元)1N2N3NnN1:ka2:ka3:ka:kna1:km2:km3:km:knm1:kb2:kb3:kb:knb表表3.6 Delphi法专家调查表法专家调查

17、表u 表专家组对各子系统成本调查的终止上界u 表专家组对各子系统成本调查的次数u 表专家k对i子系统成本的估计值u 表专家组对i子系统成本估值的平均值u 表专家组对i子系统成本估值的样本均方差值u 表专家组对i子系统成本估值的变异系数u 表专家k对子i系统成本估计的最乐观值(下界)u 表专家k对子i系统成本估计的最可能值(中间值)u 表专家k对子i系统成本估计的最悲观值(上界)00PkiCiCiikiakimkib表3.6与图3.4中有关符号之含义如下:u并有u 图3.4中框6中的决策准则I之有关内容如下: (1)对于专家组预先给定的 ,若在某次调查中有子系统 有 ,则可将对应的 作为专家组意

18、见,以后的调查将不再对 进行,若该次调查有 ,则继续进行下一次调查。nilkbmaCkikikiki1,1,64 2121)(11,1ilkkiilkkiiCClClC niCiii1,/ 0 jN0 jjCjN0 j(2)对于专家组预先设定的调查次数 ,若对所有的调查次数 子系统Nj均有 ,则可取各次调查 的平均值输出即有 ,此中 为第P次调查中专家组对Nj子系统成本的平均估值,图3.4中框7中的修改准则之有关内容如下:若专家k对子系统Nj之第P次成本估值有 ,则要求专家k在下一次调查中提高对Nj之成本估值,并有若专家k对子系统Nj之第P次成本估值有 ,则要求专家k在下一次调查中降低对Nj之

19、成本估值,并有0P01PP 0j( )jCP11( )oPjjPoCCPP( )jCP( )( )kjjCPCP( )(1)( )kkjjjCPCPCP( )( )kjjCPCP( )(1)( )kkjjjCPCPCP若专家k对子系统Nj之第P次成本估值有 ,则要求专家k在下一次调查中对Nj之成本估值保持不变,或按、 法则修改。n由于Delphi法是系统工程中的一种常用的综合评价方法,故上述Delphi法不仅对成本估值有效,而且也适用于对系统的规模、复杂性、性能、功能等的评价。( )( )kjjCPCP3.2.3 统计模型法统计模型法u运用统计模型法来作软件成本预测或估计的基本思想为首先寻找对

20、软件成本 y 的影响要素 ,一般来讲这些影响成本的要素有设备(硬件)、投入(购买)、人力资源投入、工作量、工期、系统功能与性能环境等等,然后从中选出一些主要影响要素及收集企业(机构)长期从事软件构建时这些要素的数据序列(可从IT企业信息库中获得)及对应的项目成本序列,在此基础上通过研究这些主要影响因素与成本的统计关联关系建立起统计模型,图3.5给出了统计模型的关联关系图,最后通过对这些主要统计模型来预测软件的成本。此中统计模型的建立常采用回归分析法。12,nx xxu统计模型通常有一元函数 与多元函数 两种,当然前者可看成后者当n=1时的特殊情况。以下我们以一元函数形式为例来介绍统计模型的建立

21、及其数学原理,对于多元函数形式的统计模型的建立是类似的。u在工程经济分析中,常见的具一元函数形式的统计模型有如下六类,其数学形式与对应几何图形见图3.612( ,)nyf x xx1x2x3xy图图3.5 统计模型的关联关系图统计模型的关联关系图( )yf x12( ,)nyf x xx (a) (b) (c) (d) (e) (f)yabxbyax1bayxbxyaelnyabx001axkkyabexxyxxxxyyyyy(a) (b) (c) (d) (e) (f) 图图3.6 常见一元统计模型几何图形常见一元统计模型几何图形u以下通过统计模型 为例来介绍该统计模型的建立过程及其数学原理

22、:此中 y 为软件成本,x 为影响成本的主要要素,如人力资源投入量,工作量,设备购买费用等。u对 两边同取对数,则有 ,令 ,则统计模型 相当于如下线性模型byaxbyaxlnlnlnyabxxXaAyYln,ln,lnbyaxbXAYu如果企业在过去曾参与或主持过类似的软件项目l个,并在信息库中记录并存贮了这l个软件项目对应的 与 数值,亦即数据序列( ), 已知,则由线性回归分析的知识知可由此求解线性模型的参数A与b,并有12111()()()11,ln,ln,lnnnlnnllnnnnnnnnXXYYbXXAYbXXXYYllXx Yynxny,nnxy1nl(3.7) u利用( 3.7

23、 )式的参数A与b的估计值,即可建立统计模型 (3.8)u根据回归分析的知识(3.8)式之统计模型能否作为合理、可靠的预测模型尚需经过统计检验,若记参数T有 , 其中 (3.9)u对于给定的参数 和置信度 ,若满足如下检验条件,则( 3.8 )式的统计模型通过统计检验,并可作为对 的预测模型若检验条件不满足,则或重新寻找拟合模型,或重新寻找影响因素。bAbyaxex21()lnnTXX2211()2lnnnYAbXl,T bnyu检验条件: (3.10)u检验条件算式中的 为自由度为m的T统计量, ,对于给定的 和 可由统计检验表中查出 的数值,从而可判断(3.10)式是 否成立。图3.7给出

24、了预测模型的求解流程u例3.2 美IBM公司的Walston & Felix对IBM联合系统分部(FSD)负责的60个软件工程项目的工作量与规模进行了统计,获得了数据序列 ,此中 表示第n个软件工件的工作量(单位:人月或PM), 表示第n个软件工程项目的规模(源代码千行数,记为KLOC)。 22(2)(2)bT tlbTtl 或( )tm1 2ml 1 2(2)tl(,),1,2,60nnxyn nynx寻找对寻找对 有影响的主要要素有影响的主要要素收集数据序列收集数据序列将数据序列将数据序列 在平面在平面xoy上描点,并将这些离散点连成上描点,并将这些离散点连成曲线,并根据此曲线的发展趋势从

25、曲线,并根据此曲线的发展趋势从(a)、(b)、(c)、(d)、(e)、(f)中选择一个作中选择一个作为拟合模型,设为为拟合模型,设为M1利用初等变换将拟合模型利用初等变换将拟合模型M1转化为形如转化为形如(6.18)式的线性模型式的线性模型M2利用利用(6.19)式求解线性模型式求解线性模型M2的参数的参数 与与 ,并将其,并将其代入代入(6.20)式,从而得到模型式,从而得到模型M对预测模型对预测模型M按照按照(6.21)式与式与(6.22)式进行统计检验式进行统计检验统计检验是否通过统计检验是否通过可将形如可将形如(6.20)式的模型作为对式的模型作为对yn的预测模的预测模型,并通过此预测

26、模型及对型,并通过此预测模型及对xn的估值来求解的估值来求解yn的估计值的估计值结结 束束是否寻找新是否寻找新的模型的模型M1重新寻找对重新寻找对yn有有影响的主要要影响的主要要素,仍记为素,仍记为xnnynx(,),1,2, nnxynl(,),1,2, nnxynlbA是是 是是 否否 否否 图图3.7 预测模型求解流程预测模型求解流程u此中60个软件工程的源代码行数从400到467000(LOC),而开发的工作量从1.2人月到117.58人月,共使用29种不同语言和66种计算机,他们根据数据序列 在xOy平面上的对应点序列进行了联结,并根据此联结曲线的趋势与图形选择了前述六种统计模型中的

27、图3.6(b),并进而将上述数据序列代入(3.7)式求得有 ,u且通过了(3.9)式与(3.10)式的统计检验条件,从而得到了由软件工程规模来推算工作量的如下预测模型。 (单位:人月)u如果再利用信息库中的有关工时费用率 (单位:元/人月),则又可得到IBM公司由软件工程规模推算对应成本的成本测算模型有 (单位:元)(,),1,2,60nnxyn 5.2Aae0.91b 0.915.2yx0.915.2Cyxu利用上述(3.7)式(3.10)式的数学原理,IBM公司还得了如下一些估算公式u 此中 y 为软件工程项目的工作量(单位:人月), ux 为软件工程项目的规模(单位:源代码4行数)uD

28、为软件工程项目的持续时间或工期(单位:月)uS 为软件工程项目投入的人力资源数(单位:人)uF 为软件工程项目的文档数量(单位:页)0.360.350.61.014.113.470.5449DxySyFxn此中需要说明的是上述统计模型是在IBM公司联合系统分部下属的技术人员水平、工作环境等条件下,经过统计分析与检验所得到的,如果技术人员的水平与工作环境发生变化,则上述统计模型就可能不一定合理可靠,因此我国的一些IT企业应该及早地建立符合我国国情及对企业本身合理可靠的对应统计模型,这样才有利于今后的软件成本分析的展开。3.2.4 影响因子法影响因子法u影响因子法又名驱动因子法,它是一种在统计模型

29、的基础上通过引入更多的对y有影响的要素来完成对统计模型估计值的修正的一种定性与定量相结合的方法。该模型的求解思想为首先确定对因变量y作出估计的统计模型 ,此中 为对y有较大影响的有限的几个影响要素(定量估计值),考虑到仅凭上述统计模型来对y作出估计,有可能遗漏了更多的其他影响要素,从而使估计的结果不够合理和全面,为此在上述统计模型的基础上再引入一个综合影响要素U,并令 ,此中 是除 以外的其他对 有影响的影响要素(估计值),从而用以下修正模型来对y估计值作出求解将更为科学、合理12( ,)nyg x xx(1 ),jxjn1mjjUU12,mU UU12,nx xx yu其中修正模型为 (3.

30、11)u此中需要说明的是:(1)影响要素 与 的取舍依赖于y,显然对于不同工程经济含义的y应有不同的 与 。(2)诸多影响要素归入 的基本准则有三条:对y有重要影响的要素归入 ,而影响相对不重要的要素则归入 。易于定量的影响要素归入 ,不易定量的影响要素归入 。 的个数不宜太多,否则统计模型的求解将成为困难。 121( ,)nmjjyU g x xxUU12,nx xx12,mU UU(1 )jxjn(1)kUkmjxjxjxjUjUjxu例如考虑一个对通信性能要求较高的软件,若y表示该软件的成本(单位:万元),则其主要影响要素可考虑为硬(软)件的设备(开发工具)投资额x1(单位:万元)和系统

31、构建工期x2(单位:人年),而除x1 、x2以外对软件成本有影响的因素可分成四类,即系统的规模、复杂性与主要性能需求,系统的功能需求,系统的人力资源特性,系统构建的环境特性。此四类影响因素的详细分解见表3.7。从而有该软件采用影响因子法的修正模型如下 (3.12)12181( ,)jjyU g x xUU影响类别影响类别影响要素影响要素因子因子系统的规模、复杂性与主系统的规模、复杂性与主要性能要求要性能要求系统规模(通信网络、计算机与数据库规模)U1系统复杂性(通信网络与系统集成的复杂性)U2网络吞吐量U3话音业务呼损率U4数据传输速率U5数据传输差错率U6系统功能需求系统功能需求系统可靠性、

32、可维护性与综合保障性U7系统的安全性与抗毁性U8系统的可测性与可控性U9系统的连通性与互联性U10系统的人力资源投入特性系统的人力资源投入特性人员的软件构建经历U11人员的系统设计能力U12人员的系统生产(开发)能力U13人员的系统集成、测试、维护能力U14系统构建的环境特性系统构建的环境特性投入资金约束U15系统生产(开发)难度U16系统营销投入资金规模U17系统运行环境复杂性U18表表3.7 某软件影响要素表某软件影响要素表u有关统计模型 的建立与前述统计模型法所述类似,需利用IT企业信息库中有关x1(6设备与工具投资额)与x2(工期)的历史数据序列经过多元回归分析技术求解得到,常用的g(

33、x1,x2) 之函数形式有 等u2. 修正模型中影响因子Uj的取值方法:u考虑到影响因子Uj大多为不易量化的定性变量,为使这些定性变量定量化和使模型求解简单化,人们常利用系统工程中给出的因子等级评分法。利用该方法求解Uj的基本思路为首先确定各影响因子的度量等级数(常用的等级数可在39中任取一数),然后给出Uj的每一个等级度量的定性(或定量)说明(如表3.8),最后给出各影响因子度量的等级分表(如表3.9),从而可由系统有有关人员(或专家)依据软件的具体各类特性的实际状况按照等级分表来给出Uj的具体等级分(度量)值,从而完成(3.11)式模型的求解。112( ,)yg x x1122101 12

34、2112,xxyxxyx xyaa或 因子因子等级等级U7(系统(系统可靠度)可靠度)U11(平均(平均经历)经历)U13(能(能力)力)U15(资金约束)(资金约束)U18(复(复杂性)杂性)很低很低0.54个月很低若投入资金不足,允许追加资金简单较低较低0.50.75个月2年较低若投入资金不足,允许追加一定数额资金较简单一般一般0.70.85 2年5年一般按原合同资金结算不允许追加资金投入一般较高较高0.850.985年11年较高要求降低合同资金预算较复杂很高很高0.9812年很高合同资金投入有较大风险复杂 因因子子等级等级 U1U7U8U11U15U18很低很低0.500.800.501

35、.400.750.70较低较低0.751.000.751.200.850.85一般一般1.001.201.001.001.001.00较高较高1.251.601.250.851.251.15很高很高1.501.851.500.781.501.30表表3.8 影响因子等级说明表(部分)影响因子等级说明表(部分)表表3.9 影响因子等级分值表(部分)影响因子等级分值表(部分)u作为案例以下我们给出了Boehm所建立的利用影响因子法求解软件工程成本C、工作量M和进度 的修正模型及其有关参数。u例3.3 (COCOMO模型)COCOMO模型是构造性成本模型(Constructive Cost Mode

36、l)的缩写,该模型是采用影响因子法原理所建立的一种适用于系统规划阶段作软件成本估算的预测成本估算模型。该模型的数学形式如下,它是一个由五个算术表达式构成的组合模型,组合模式的求解流程见图3.8。T修正工作量修正工作量成本成本修正工作量修正工作量工期工期工作量工作量修正修正规模规模工作量工作量151jjUU0MrksMsCdThd图图3.8 COCOMO模型求解流程模型求解流程 (3.13)u式(3.13)模型中各变量的工程经济含义如下: :软件开发成本(单位:美元) :软件开发阶段的工时费用率(单位:美元/人月) :软件开发阶段的修正工作量(单位:人月) :软件开发阶段的基本工作量(单位:人月

37、) L :软件开发规模(单位:源指令千行数或KDSI)001 51()ssddsskjjCMThMMUMMrLUUsCsM0M U :软件综合影响因子(无量纲) Uj :对成本有一定影响的第j个影响因子(无量纲),j = 115 :软件开发工期(单位:月) :形式参数u根据 图3.8 所示的求解流程,为求解 与 首先应对待估目标软件的规模作出估计,这一任务通常可由软件开发机构中有经验的软件分析师或专家依据该软件的目标与功能需求以及系统结构设计来作出估计;u其次应该给出模型(3.13)式中形式参数 的具体数值,这一问题由Boehm根据对其所掌握的软件工程有关信息进行了统计分析后给出了如表3.10

38、所示的 的经验数据所解决。dT, , ,r k h dsCdT, , ,r k h d, , ,r k h du在表3.10中Boehm给出了对应于三种不同类型软件的对应形式参数值u此中所谓组织型(Organic,又称有机型),是指规模相对较小,结构简单的软件项目,此类软件需求不那么苛刻,开发人员对此类软件产品开发目标理解充分,工作经验丰富,对软件的使用环境很熟悉,受硬件的约束较少,程序的规模不是很大(5万行)。例如,多数应用软件及老的操作系统和编译程序均属此种类型;u所谓嵌入型(Embedded)是指此种软件要求在紧密联系的硬件、软件和操作的限制条件下运行,通常与某些硬件设备结合在一起。因此

39、,对接口、数据结构、算法要求较高。软件规模任意。例如,大而复杂的事务处理系统、大型/超大型的操作系统、航天测控系统、大型指挥系统,均属此种类型;u所谓半独立型(Semidetached)是指对此种软件的要求介于上述两种软件之间,但软件规模和复杂度都属于中等以上,最大可达30万行。例如,大多数事务处理系统、新的操作系统、新的数据库管理系统、大型的库存/生产控制系统、简单的指挥系统,均属此种类型。 软件总体类型软件总体类型基本工作量基本工作量 M0开发工期开发工期 Tdrkhd组织型组织型3.21.052.50.38半独立型半独立型3.01.122.50.35嵌入型嵌入型2.81.202.50.3

40、2表表3.10 形式参数表形式参数表u根据影响因子法的基本原理,为求解软件成本,还应解决对软件成本的影响要素的识别和给出各影响因子不同等级的等级分值表等问题。此中Boehm等人根据对其所掌握的软件工程的有关信息对软件成本有所影响的104个要素进行了研究,最终他们识别出四大类共15个影响要素如表3.11的第一、二列所示工作量影响要素工作量影响要素 U非常低非常低低低正常正常高高非常高非常高超高超高产品因素类产品因素类软件可靠性 U1数据库规模 U2产品复杂性 U30.750.700.880.940.851.001.001.001.151.081.151.401.161.301.65计算机因素计算

41、机因素类类执行时间限制 U4主存储限制 U5虚拟机*易变性 U6环境周转时间 U70.870.871.001.001.001.001.111.061.151.071.301.211.301.151.661.56人员的因素人员的因素类类分析员能力 U8应用领域实际经验 U9 程序员能力 U10 虚拟机*使用经验 U11 程序语言使用经验 U121.461.291.421.211.411.191.131.171.101.071.001.001.001.001.000.860.910.860.900.950.710.820.70项目因素类项目因素类现代程序设计技术 U13 软件工具的使用 U14 开

42、发进度限制 U151.241.241.231.101.101.081.001.001.000.910.911.040.820.831.10表表3.11 15种影响软件工作量的因素种影响软件工作量的因素Uj的等级分值表的等级分值表jU*虚虚拟机拟机是值是值为完为完成某成某一软一软件任件任务所务所使用使用的硬的硬、软、软件的件的结合结合。u表中各影响因子Uj的度量等级分为六档,且根据各影响因子Uj的各自特性,有的度量等级采用四档(如U4 , U5等)有的度量等级采用了五档(如U8 , U9等),有的度量等级采用了六档(如U3 )。显然,利用模型(3.13)式和图3.8的求解流程,以及表3.10的形

43、式参数表和表3.11的影响因素等级分值表,即可根据目标软件的目标功能与结构设计估计出软件规模L以及各影响因子Uj的等级分值,从而使软件的成本、工作量与工期的估计问题得到解决。作为结构化模型的应用,以下我们介绍一个通信软件的成本与工期估计问题。 u例3.4 考虑一个规模为10KDSI的商用软件中的远程通信控制软件(嵌入型软件),根据该目标软件的目标、功能需求以及开发机构人力资源投入的现实状况,可得到各影响因子Uj的具体内涵如表6.17的第二列,又得知该软件开发机构的工时费用率 元/人月,试对该目标软件的成本、工作量与工期作出估计。u解:首先由目标软件的基本特性(嵌入型),表3.10和模型(3.1

44、2)式可知有 (人月)40001.202.8 1044.38kMrLu其次,由表3.12第二列中对各影响因子的具体内涵及表3.11可得到各影响因子对应的等级分值并记录于表3.12第三列,于是可得到综合影响因子有 u最后由(3.12)式可得到1511 0.94 1.30 1.100.91 1.10 1.001.17jjUU 00.321.17 44.3851.5()()2.5 (51.5)8.9()4000 51.520.6sddsssMU MTh MCM人月月万元影响工作量因素影响工作量因素 Uj对影响因子要求的现实情况对影响因子要求的现实情况等级分取值等级分取值U1软件可靠性(RELY)只用

45、于局部地区,恢复问题不严重 1.00(正常)U2数据库规模(DATA)2000字节0.94(低)U3产品复杂性(CPLX)用于远程通信处理1.30(很高)U4时间限制(TIME)使用70%的CPU时间1.10(高)U5主存储限制(STOR)64KB中使用45KB1.06(高)U6机器易变性(VIRT)使用商用微处理器1.00(额定值)U7周转时间(TURN)平均2小时1.00(额定值)U8分析员能力(ACAP)优秀人才0.86(高)U9工作经验(AEXP)远程通信工作3年1.10(低)U10程序员能力(PCAP)优秀人才0.86(高)U11工作经验(VEXP)微机工作6个月1.00(正常)U1

46、2语言使用经验(LEXP)12个月1.00(正常)U13使用现代程序设计技术(MODP)1年以上0.91(高)U14使用软件工具(TOOL)基本的微型机软件1.10(低)U15工期(SCED)9个月1.00(正常)表表3.12 影响工作量因素影响工作量因素 Ui 的具体内涵的具体内涵ifu需要说明的是(3.12)式的模型国外称为中级COCOMO模型,它适用于中、小规模软件的成本估算问题,但对于大型软件而言这种估算过于粗略,且无法按阶段来估算其工作量与成本的分配问题,而上述问题则是大型软件人力资源投入与成本的组织与分配所关注的。于是在中级COCOMO模型的基础上人们引入了所谓详细(高级)COCO

47、MO模型。u详细COCOMO模型与中级COCOMO模型的区别在于:u详细COCOMO模型在中级COCOMO模型的 基础上对各影响因子按照开发阶段的四个子阶段(需求和产品设计子阶段,详细设计子阶段,编程和单元测试子阶段,集成与测试子阶段)作进一步的分解,并按各子阶段给出各影响因子Uj的等级度量分值表及其相应的说明。 u对于不同类型(组织型、半独立型和嵌入型)和不同规模(小型、次中型、中型、大型、巨型)的软件工程,进一步给出了软件开发四个子阶段的工作量的分布比例(%)的推荐值。nBoehm推出的上述COCOMO模型是在其所在机构的特定环境下推出的,我们引入该模型时切不可机械搬用,而应在该模型的基础

48、上进行适当修正来寻求适合于我国国情、本企业的构造性成本模型。以下介绍这样的修正工作的基本思想。n(1)单参数修正:设M0=rLsk中Boehm给出的k=1.05可用(y=axb中b反映了该曲线的弯曲程度),而r需修正。此时可利用本企业(软件开发机构)在同样配置环境下过去已完成的同一模式n个软件项目的样本数据,如规模Li,工作量乘数Ui,实际开发工作量MMi(i=1n),即可通过数理统计中的最小二乘法来求解新的适合于本企业的统计模型。 设kii iMMU rL,作如下平方误差和 S(r) nnn2k22iii iiiii 1i 1i 1S(r)(MM -MM )(U rL -MM )(r-MM

49、) 此中1.05iiU L,为求 S(r)取最小时的 r,可作求导运算有 niiii 1S(r)2(r-MM )0r,可解得有 nn2iiii=1i 11.05iii r=MM/U L (3.13) n例3.5 某软件开发机构已完成了五个组织型软件项目开发,各项目的参数如表3.13,现取k=1.05,拟对r进行修正。试求解在上述开发环境下的成本构造性模型。项目序号 iL(KLOC) iU iMM(人月) i iiMM 2i 1 2 3 4 5 5 0.75 15 10 1.00 44 20 0.80 60 30 1.00 140 40 0.70 133 4 60 16 11 484 121 1

50、9 1140 361 36 5040 1296 34 4522 1156 总和 11246 2950 表3.13 样本参数表(一)解:由(3.13)式及表 3.12 可得 552iiii 1i=111246 rMM /3.812950 由此可得新模型为 s01.050sMUMM3.81L 双参数修正:若模型k0sMrL可用,但需对参数 r 与 k 同时修正,此时可利用软件开发机构过去已开发过的同一模式的参数样本序列iL,iU,iMM,i=1n运用最小二乘法,求解最优化问题r,kminS(r,k)即可,为此,可设 kii iMMU rL, nk2i iii 1S(r)(U rL -MM ),令S

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件成本与工期的测算方法课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|