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

上传人:20****08 文档编号:240919649 上传时间:2024-05-17 格式:PPT 页数:74 大小:834.99KB
返回 下载 相关 举报
软件成本与工期的测算方法课件_第1页
第1页 / 共74页
软件成本与工期的测算方法课件_第2页
第2页 / 共74页
软件成本与工期的测算方法课件_第3页
第3页 / 共74页
点击查看更多>>
资源描述
软件成本与工期的测算方法n对软件成本测算的方法有功能分解法、价值工程法、统计模型法、影响因子法、类比法、计算机模拟法以及利用成本测算工具软件作成本测算等多种方法,以下对其中部分内容作概要介绍。软件成本与工期的测算方法对软件成本测算的方法有功能分解法、价1软件成本与工期的测算方法n功能分解法n功能分解法的基本思想为首先从结构上将软件成本按功能/性能和生存周期阶段两个维度进行分解,若设系统的生存周期为n个阶段,软件按功能/性能分为m个子系统,则该系统的功能分解示意图见图3.2 软件成本与工期的测算方法功能分解法2图图3.2 系统的功能分解示意图系统的功能分解示意图软件软件N2NmN1N13N12N11N1nN21N22N23N2nNm1Nm2Nm3Nmn按功能分解图3.2 系统的功能分解示意图软件N2NmN1N13N123软件构建信息库软件构建信息库用户功能需求界定用户功能需求界定将系统划分成功能子系统(模块)将系统划分成功能子系统(模块),计算各功能子系统(模块)计算各功能子系统(模块)的平均工作量的平均工作量 ,计算各子系统(模,计算各子系统(模块)成本块)成本 ,计算各子系统(模块)工作量,计算各子系统(模块)工作量 ,汇总,汇总计算系统总成本与总工作量计算系统总成本与总工作量 ,由由专专家家或或经经验验给给出出i子子系系统统(模模块块)j 阶阶段段工工作作量量估估计计值值 ,合合成成系系统统各各阶段工作量阶段工作量 与总工作量与总工作量进行成本分析,寻找关键子系统(模块)或阶段,研究解决办法进行成本分析,寻找关键子系统(模块)或阶段,研究解决办法比较比较 是否基本一致是否基本一致由由专专家家或或经经验验给给出出各各功功能能子子系系统统(模模块块)的的工工作作量量下下限限 ,上上限限 和和最最可能值可能值 ,计算各阶段系统成本计算各阶段系统成本合成系统总成本合成系统总成本结结 束束修修改改修修改改YN图图3.3 功能分解法的成本测算流程图功能分解法的成本测算流程图软件构建信息库用户功能需求界定将系统划分成功能子系统(模块)4n例3.1 某计算机辅助设计(CAD)软件是计算机集成制造系统(CIMS)的一个子系统,根据对用户的需求调查与分析,确定该系统按功能可划分成七个功能模块,它们分别是用户接口控制模块、二维几何造型模块、三维几何造型模块、数据结构管理模块、外部设备控制模块、计算机图形显示模块和设计分析模块。试对该软件系统作成本与工作量估算。n解:设上述七个功能模块分别记为 各功能模块的成本费用率 (单位:元/行),劳动生产率 (单位:行/人月)及各阶段的工时费用率 (单位:元/人月),由该企业的软件构建(历史)信息库可得数据见表3.3,其中软件生存周期仅考虑需求分析、设计、编码、测试四个阶段。例3.1 某计算机辅助设计(CAD)软件是计算机集成5 模块模块 工程工程经济参数经济参数N1N2N3N4N5N6N7成本费用率成本费用率(元(元/行)行)14202018282218劳动生产率劳动生产率 (行(行/人月)人月)315220220240140200300 生存周期生存周期 阶段阶段工程经济参数工程经济参数需求分需求分析析系统设计系统设计编码编码测试测试工时费用率工时费用率 5200480042504500表表3.3 工程经济参数表工程经济参数表 模块成本费用率(元/行)142020182826u由专家及经验可给出该软件各模块的最小可能值(最乐观值),最大可能值(最悲观值)和最可能值 ,若设各模块工作量均服从 分布,则 由分布性质知各模块期望(平均)工作量 ,有 (单位:行)(3.2)u从而可计算各模块成本 和以人月为单位的工作量 ,其中 (单位:元)(3.3)(单位:人月)u最后汇总有 (元),(行),(人月)由专家及经验可给出该软件各模块的最小可能值(最乐观值)7u上述计算过程详见表3.4,观察表3.4可知系统成本 和工作量 是仅通过功能这一个维度分解而完成的汇总计算。为了使估算更具可靠性,我们还可以将系统工作量按功能与生存周期阶段二个维度进行分解,并利用表3.3的工时费用率 来计算系统在生存周期各阶段的成本,并有 (3.4)上述计算过程详见表3.4,观察表3.4可知系统成本 8 参数参数模块模块(行)(行)(行)(行)(行)(行)(行)(行)(元元/行行)(元)(元)(行行/人月人月)(人月人月)N1180024002650234014327603157.4N241005200740053802010760022024.4N346006900860068002013600022030.9N42950340036003350186030024013.9N52000210024502140285992014015.2N640504900620049502210890020024.7N766008500980084001815120030028.0总计总计表表3.4 CAD软件成本、工作量估算表(一)软件成本、工作量估算表(一)参数N11800240026502340143276039 时间维时间维功能维功能维需求分析需求分析设计设计编码编码测试测试总计总计(人月)(人月)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(人月)(人月)14.561.026.550.5=152.5(元(元/人月)人月)5200480042504500(元)(元)75400292800112625227250表表3.5 CAD软件成本、工作量估算表(二)软件成本、工作量估算表(二)时间维需求分析设计编码10u由表3.5可知,依次有 元 元 元 元u由此可得系统总成本 与总工作量(人月)有 (元)(人月)由表3.5可知,依次有11u注意到通过二条不同途径得到了该软件成本(单位:元)与工作量(单位:人月)的二组数值,但考虑到这二组数值有相对误差u相对误差均小于20%,故可从中选择二者之一输出,例如从保守的观点出发可选择系统成本与系统工作量有注意到通过二条不同途径得到了该软件成本(单位:元)与工作量(12n然而我们注意到上述之成本与工作量是在生存周期的需求分析、系统设计、程序编码、系统测试四个阶段成本与工作量基础上的累计值,而并非在整个生存周期内的累计值。而后者还包括系统运行与维护阶段的成本,因而我们可在 与 的基础上采用加乘因子的方法求得系统成本与工作量在整个生存周期内的估计值 与 有 (3.5)n此中 与 分别为工作量与成本的加乘因子,其取值将依赖于系统的功能与性能特性,例如根据此CAD软件特性,可取 ,则有系统成本与工作量在整个生存周期内的估计值为 人月 万元然而我们注意到上述之成本与工作量是在生存周期的需求分析、系统13u此外,观察表3.4可知,从成本分析的角度来看各模块中成本较高的为N3(三维几何造型模块)和N7(设计分析模块),因此为进行成本控制或降低系统成本首先应关注N3和N7模块u另外从人力资源投入的角度来分析,由表3.4可知投入量最大的同样为N3和N7,因此可将N3和N7模块作为系统成本分析的关键模块,系统管理员可寻找相关措施来降低N3与N7的成本(例如设法提高N3与N7的劳动生产率Eo3和Eo7和降低N3和N7的成本费用率Co3和Co7等)。u此外观察表3.5还可得知系统成本在需求分析、系统设计、程序编码和系统测试的阶段分布中以系统设计阶段为最大,程序编码阶段为次之,了解上述的成本的时间分布特点将有助于企业的资金运转过程。此外,观察表3.4可知,从成本分析的角度来看各模块中成本较高14u最后我们需要说明的是:在表3.4中关于各子系统Nj的成本特性值aj,mj,bj均是由一个专家给出的,考虑到一个专家对事物的认识难免会有主观、片面之处,因而由其个人来决定aj,mj,bj往往有可能不够科学、可靠,而理论分析与经验表明,若采用一个专家群体(专家组)来对上述成本特性值各自独立地作出判断,且当这些判断值彼此差异不大的情况下用这些判断值的平均值来作为软件各子系统的成本估值时将更为科学、可靠,从而产生了以专家群体作判断为基础的Delphi法。一般来说对于一些规模较大、研发经费较多的软件项目,在对其作成本估计时,项目管理部门往往采用Delphi法。u3.2.2 Delphi法(又称专家群体法)u由美国Rand公司首先推出的一种专家群体意见性预测法,设软件据系统概要设计拟由n个子系统构成,则采用Delphi法对该系统各子系统的成本估值求解流程见图3.5。最后我们需要说明的是:在表3.4中关于各子系统Nj的成本特性15确确定定决决策策主主持持人人,选选择择专专家家l人人,设设计计专专家家调查表,给出调查表,给出 ,进入第进入第P次调查,由主持人给每位专家发送专家调查表次调查,由主持人给每位专家发送专家调查表主主持持人人召召开开专专家家会会议议(现现场场或或网网上上),就就不不清楚的问题回答咨询,专家展开讨论清楚的问题回答咨询,专家展开讨论l个个专专家家填填写写(无无记记名名)调调查查表表,并并送送回回给给主主持持人人,主主持持人人计算专家计算专家 k 的成本估计值的成本估计值 ,计,计算专家组的成本估计均值算专家组的成本估计均值 ,成本均方差,成本均方差 和变异系数和变异系数主持人再次召开专家会,公布主持人再次召开专家会,公布 数值,数值,并并对对所所公公布布之之 数数值值进进行行讨讨论论,研研究究各各子子系系统统成成本本估值的决策问题估值的决策问题主主持持人人向向各各专专家家再再次次发发出出调调查查表表,要要求求各各专专家家按按照照修修改改准准则则进进行行填填写写23457进进入入下下一一次次调调查查依依据据决决策策准准则则来来决决定是否继续调查?定是否继续调查?6是是输出决策方案输出决策方案9否否18结结 束束图图3.5 Delphi法求解流程法求解流程确定决策主持人,选择专家l人,设计专家调查表,给出 16n在图3.4的框1中有关专家调查表的设计可见表3.6。1 软件名称软件名称 2 系统性能、功能、结构需求及有关说明系统性能、功能、结构需求及有关说明 3 概要设计及有关说明概要设计及有关说明 4 调查表填写规范与有关说明调查表填写规范与有关说明 5 专家编号:专家编号:6 填表日期:填表日期:年年 月月 日日子系统子系统 简要理由简要理由成本参数成本参数(单位:万元)(单位:万元)表表3.6 Delphi法专家调查表法专家调查表在图3.4的框1中有关专家调查表的设计可见表3.6。1 17u 表专家组对各子系统成本调查的终止上界u 表专家组对各子系统成本调查的次数u 表专家k对i子系统成本的估计值u 表专家组对i子系统成本估值的平均值u 表专家组对i子系统成本估值的样本均方差值u 表专家组对i子系统成本估值的变异系数u 表专家k对子i系统成本估计的最乐观值(下界)u 表专家k对子i系统成本估计的最可能值(中间值)u 表专家k对子i系统成本估计的最悲观值(上界)表3.6与图3.4中有关符号之含义如下:表专家组对各子系统成本调查的终止上界表3.6与图3.18u并有u 图3.4中框6中的决策准则I之有关内容如下:(1)对于专家组预先给定的 ,若在某次调查中有子系统 有 ,则可将对应的 作为专家组意见,以后的调查将不再对 进行,若该次调查有 ,则继续进行下一次调查。并有19(2)对于专家组预先设定的调查次数 ,若对所有的调查次数 子系统Nj均有 ,则可取各次调查 的平均值输出即有 ,此中 为第P次调查中专家组对Nj子系统成本的平均估值,图3.4中框7中的修改准则之有关内容如下:若专家k对子系统Nj之第P次成本估值有 ,则要求专家k在下一次调查中提高对Nj之成本估值,并有若专家k对子系统Nj之第P次成本估值有 ,则要求专家k在下一次调查中降低对Nj之成本估值,并有(2)对于专家组预先设定的调查次数 ,若对所有的调查次20若专家k对子系统Nj之第P次成本估值有 ,则要求专家k在下一次调查中对Nj之成本估值保持不变,或按、法则修改。n由于Delphi法是系统工程中的一种常用的综合评价方法,故上述Delphi法不仅对成本估值有效,而且也适用于对系统的规模、复杂性、性能、功能等的评价。若专家k对子系统Nj之第P次成本估值有213.2.3 统计模型法统计模型法n运用统计模型法来作软件成本预测或估计的基本思想为首先寻找对软件成本 y 的影响要素 ,一般来讲这些影响成本的要素有设备(硬件)、投入(购买)、人力资源投入、工作量、工期、系统功能与性能环境等等,然后从中选出一些主要影响要素及收集企业(机构)长期从事软件构建时这些要素的数据序列(可从IT企业信息库中获得)及对应的项目成本序列,在此基础上通过研究这些主要影响因素与成本的统计关联关系建立起统计模型,图3.5给出了统计模型的关联关系图,最后通过对这些主要统计模型来预测软件的成本。此中统计模型的建立常采用回归分析法。3.2.3 统计模型法22u统计模型通常有一元函数 与多元函数 两种,当然前者可看成后者当n=1时的特殊情况。以下我们以一元函数形式为例来介绍统计模型的建立及其数学原理,对于多元函数形式的统计模型的建立是类似的。u在工程经济分析中,常见的具一元函数形式的统计模型有如下六类,其数学形式与对应几何图形见图3.6图图3.5 统计模型的关联关系图统计模型的关联关系图统计模型通常有一元函数 与多元23 (a)(b)(c)(d)(e)(f)xxyxxxxyyyyy(a)(b)(c)(d)(e)(f)图图3.6 常见一元统计模型几何图形常见一元统计模型几何图形 (a)24u以下通过统计模型 为例来介绍该统计模型的建立过程及其数学原理:此中 y 为软件成本,x 为影响成本的主要要素,如人力资源投入量,工作量,设备购买费用等。u对 两边同取对数,则有 ,令 ,则统计模型 相当于如下线性模型以下通过统计模型 为例来介绍该25u如果企业在过去曾参与或主持过类似的软件项目l个,并在信息库中记录并存贮了这l个软件项目对应的 与 数值,亦即数据序列(),已知,则由线性回归分析的知识知可由此求解线性模型的参数A与b,并有(3.7)如果企业在过去曾参与或主持过类似的软件项目l个,并在信息库中26u利用(3.7)式的参数A与b的估计值,即可建立统计模型 (3.8)u根据回归分析的知识(3.8)式之统计模型能否作为合理、可靠的预测模型尚需经过统计检验,若记参数T有 ,其中 (3.9)u对于给定的参数 和置信度 ,若满足如下检验条件,则(3.8)式的统计模型通过统计检验,并可作为对 的预测模型若检验条件不满足,则或重新寻找拟合模型,或重新寻找影响因素。利用(3.7)式的参数A与b的估计值,即可建立统计模型27u检验条件:(3.10)u检验条件算式中的 为自由度为m的T统计量,对于给定的 和 可由统计检验表中查出 的数值,从而可判断(3.10)式是 否成立。图3.7给出了预测模型的求解流程u例3.2 美IBM公司的Walston&Felix对IBM联合系统分部(FSD)负责的60个软件工程项目的工作量与规模进行了统计,获得了数据序列 ,此中 表示第n个软件工件的工作量(单位:人月或PM),表示第n个软件工程项目的规模(源代码千行数,记为KLOC)。检验条件:28寻找对寻找对 有影响的主要要素有影响的主要要素收集数据序列收集数据序列将数据序列将数据序列 在平面在平面xoy上描点,并将这些离散点连成上描点,并将这些离散点连成曲曲线线,并并根根据据此此曲曲线线的的发发展展趋趋势势从从(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的的预预测测模模型型,并并通通过过此此预预测测模模型型及及对对xn的的估估值值来来求求解解yn的估计值的估计值结结 束束是是否否寻寻找找新新的模型的模型M1重新寻找对重新寻找对yn有有影响的主要要影响的主要要素,仍记为素,仍记为xn是是 是是 否否 否否 图图3.7 预测模型求解流程预测模型求解流程寻找对 有影响的主要要素收集数据序列将数据序列 29u此中60个软件工程的源代码行数从400到467000(LOC),而开发的工作量从1.2人月到117.58人月,共使用29种不同语言和66种计算机,他们根据数据序列 在xOy平面上的对应点序列进行了联结,并根据此联结曲线的趋势与图形选择了前述六种统计模型中的图3.6(b),并进而将上述数据序列代入(3.7)式求得有 ,u且通过了(3.9)式与(3.10)式的统计检验条件,从而得到了由软件工程规模来推算工作量的如下预测模型。(单位:人月)u如果再利用信息库中的有关工时费用率 (单位:元/人月),则又可得到IBM公司由软件工程规模推算对应成本的成本测算模型有 (单位:元)此中60个软件工程的源代码行数从400到467000(LOC30u利用上述(3.7)式(3.10)式的数学原理,IBM公司还得了如下一些估算公式u 此中 y 为软件工程项目的工作量(单位:人月),ux 为软件工程项目的规模(单位:源代码4行数)uD 为软件工程项目的持续时间或工期(单位:月)uS 为软件工程项目投入的人力资源数(单位:人)uF 为软件工程项目的文档数量(单位:页)利用上述(3.7)式(3.10)式的数学原理,IBM公司还31n此中需要说明的是上述统计模型是在IBM公司联合系统分部下属的技术人员水平、工作环境等条件下,经过统计分析与检验所得到的,如果技术人员的水平与工作环境发生变化,则上述统计模型就可能不一定合理可靠,因此我国的一些IT企业应该及早地建立符合我国国情及对企业本身合理可靠的对应统计模型,这样才有利于今后的软件成本分析的展开。此中需要说明的是上述统计模型是在IBM公司联合系统分部下属的323.2.4 影响因子法影响因子法n影响因子法又名驱动因子法,它是一种在统计模型的基础上通过引入更多的对y有影响的要素来完成对统计模型估计值的修正的一种定性与定量相结合的方法。该模型的求解思想为首先确定对因变量y作出估计的统计模型 ,此中 为对y有较大影响的有限的几个影响要素(定量估计值),考虑到仅凭上述统计模型来对y作出估计,有可能遗漏了更多的其他影响要素,从而使估计的结果不够合理和全面,为此在上述统计模型的基础上再引入一个综合影响要素U,并令 ,此中 是除 以外的其他对 有影响的影响要素(估计值),从而用以下修正模型来对y估计值作出求解将更为科学、合理3.2.4 影响因子法33u其中修正模型为 (3.11)u此中需要说明的是:(1)影响要素 与 的取舍依赖于y,显然对于不同工程经济含义的y应有不同的 与 。(2)诸多影响要素归入 的基本准则有三条:对y有重要影响的要素归入 ,而影响相对不重要的要素则归入 。易于定量的影响要素归入 ,不易定量的影响要素归入 。的个数不宜太多,否则统计模型的求解将成为困难。其中修正模型为34u例如考虑一个对通信性能要求较高的软件,若y表示该软件的成本(单位:万元),则其主要影响要素可考虑为硬(软)件的设备(开发工具)投资额x1(单位:万元)和系统构建工期x2(单位:人年),而除x1、x2以外对软件成本有影响的因素可分成四类,即系统的规模、复杂性与主要性能需求,系统的功能需求,系统的人力资源特性,系统构建的环境特性。此四类影响因素的详细分解见表3.7。从而有该软件采用影响因子法的修正模型如下 (3.12)例如考虑一个对通信性能要求较高的软件,若y表示该软件的成本(35影响类别影响类别影响要素影响要素因子因子系统的规模、复杂性与主要系统的规模、复杂性与主要性能要求性能要求系统规模(通信网络、计算机与数据库规模)U1系统复杂性(通信网络与系统集成的复杂性)U2网络吞吐量U3话音业务呼损率U4数据传输速率U5数据传输差错率U6系统功能需求系统功能需求系统可靠性、可维护性与综合保障性U7系统的安全性与抗毁性U8系统的可测性与可控性U9系统的连通性与互联性U10系统的人力资源投入特性系统的人力资源投入特性人员的软件构建经历U11人员的系统设计能力U12人员的系统生产(开发)能力U13人员的系统集成、测试、维护能力U14系统构建的环境特性系统构建的环境特性投入资金约束U15系统生产(开发)难度U16系统营销投入资金规模U17系统运行环境复杂性U18表表3.7 某软件影响要素表某软件影响要素表影响类别影响要素因子系统的规模、复杂性与主要性能要求系统规模36u有关统计模型 的建立与前述统计模型法所述类似,需利用IT企业信息库中有关x1(6设备与工具投资额)与x2(工期)的历史数据序列经过多元回归分析技术求解得到,常用的g(x1,x2)之函数形式有 等u2.修正模型中影响因子Uj的取值方法:u考虑到影响因子Uj大多为不易量化的定性变量,为使这些定性变量定量化和使模型求解简单化,人们常利用系统工程中给出的因子等级评分法。利用该方法求解Uj的基本思路为首先确定各影响因子的度量等级数(常用的等级数可在39中任取一数),然后给出Uj的每一个等级度量的定性(或定量)说明(如表3.8),最后给出各影响因子度量的等级分表(如表3.9),从而可由系统有有关人员(或专家)依据软件的具体各类特性的实际状况按照等级分表来给出Uj的具体等级分(度量)值,从而完成(3.11)式模型的求解。有关统计模型 37 因子因子等级等级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.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 影响因子等级分值表(部分)影响因子等级分值表(部分)因子U7(系统可靠度)U11(平均经历)U38u作为案例以下我们给出了Boehm所建立的利用影响因子法求解软件工程成本C、工作量M和进度 的修正模型及其有关参数。u例3.3 (COCOMO模型)COCOMO模型是构造性成本模型(Constructive Cost Model)的缩写,该模型是采用影响因子法原理所建立的一种适用于系统规划阶段作软件成本估算的预测成本估算模型。该模型的数学形式如下,它是一个由五个算术表达式构成的组合模型,组合模式的求解流程见图3.8。修正工作量修正工作量成本成本修正工作量修正工作量工期工期工作量工作量修正修正规模规模工作量工作量图图3.8 COCOMO模型求解流程模型求解流程 作为案例以下我们给出了Boehm所建立的利用影响因子法求解软39 (3.13)n式(3.13)模型中各变量的工程经济含义如下:软件开发成本(单位:美元):软件开发阶段的工时费用率(单位:美元/人月):软件开发阶段的修正工作量(单位:人月):软件开发阶段的基本工作量(单位:人月)L:软件开发规模(单位:源指令千行数或KDSI)40 U:软件综合影响因子(无量纲)Uj :对成本有一定影响的第j个影响因子(无量纲),j=115 :软件开发工期(单位:月):形式参数n根据 图3.8 所示的求解流程,为求解 与 首先应对待估目标软件的规模作出估计,这一任务通常可由软件开发机构中有经验的软件分析师或专家依据该软件的目标与功能需求以及系统结构设计来作出估计;n其次应该给出模型(3.13)式中形式参数 的具体数值,这一问题由Boehm根据对其所掌握的软件工程有关信息进行了统计分析后给出了如表3.10所示的 的经验数据所解决。U:软件综合影响因子(无量纲)41u在表3.10中Boehm给出了对应于三种不同类型软件的对应形式参数值u此中所谓组织型(Organic,又称有机型),是指规模相对较小,结构简单的软件项目,此类软件需求不那么苛刻,开发人员对此类软件产品开发目标理解充分,工作经验丰富,对软件的使用环境很熟悉,受硬件的约束较少,程序的规模不是很大(5万行)。例如,多数应用软件及老的操作系统和编译程序均属此种类型;u所谓嵌入型(Embedded)是指此种软件要求在紧密联系的硬件、软件和操作的限制条件下运行,通常与某些硬件设备结合在一起。因此,对接口、数据结构、算法要求较高。软件规模任意。例如,大而复杂的事务处理系统、大型/超大型的操作系统、航天测控系统、大型指挥系统,均属此种类型;u所谓半独立型(Semidetached)是指对此种软件的要求介于上述两种软件之间,但软件规模和复杂度都属于中等以上,最大可达30万行。例如,大多数事务处理系统、新的操作系统、新的数据库管理系统、大型的库存/生产控制系统、简单的指挥系统,均属此种类型。在表3.10中Boehm给出了对应于三种不同类型软件的对应形42软件总体类型软件总体类型基本工作量基本工作量 M0开发工期开发工期 Tdrkhd组织型组织型3.21.052.50.38半独立型半独立型3.01.122.50.35嵌入型嵌入型2.81.202.50.32表表3.10 形式参数表形式参数表u根据影响因子法的基本原理,为求解软件成本,还应解决对软件成本的影响要素的识别和给出各影响因子不同等级的等级分值表等问题。此中Boehm等人根据对其所掌握的软件工程的有关信息对软件成本有所影响的104个要素进行了研究,最终他们识别出四大类共15个影响要素如表3.11的第一、二列所示软件总体类型基本工作量 M0开发工期 Tdrkhd组织型3.43工作量影响要素工作量影响要素 U非常低非常低低低正常正常高高非常高非常高超高超高产品因素类产品因素类软件可靠性 U1数据库规模 U2产品复杂性 U30.750.700.880.940.851.001.001.001.151.081.151.401.161.301.65计算机因素类计算机因素类执行时间限制 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 开发进度限制 U151.241.241.231.101.101.081.001.001.000.910.911.040.820.831.10表表3.11 15种影响软件工作量的因素种影响软件工作量的因素Uj的等级分值表的等级分值表*虚虚拟机拟机是值是值为完为完成某成某一软一软件任件任务所务所使用使用的硬、的硬、软件软件的结的结合。合。工作量影响要素 U非常低低正常高非常高超高产品因素类软件可靠44u表中各影响因子Uj的度量等级分为六档,且根据各影响因子Uj的各自特性,有的度量等级采用四档(如U4,U5等)有的度量等级采用了五档(如U8,U9等),有的度量等级采用了六档(如U3)。显然,利用模型(3.13)式和图3.8的求解流程,以及表3.10的形式参数表和表3.11的影响因素等级分值表,即可根据目标软件的目标功能与结构设计估计出软件规模L以及各影响因子Uj的等级分值,从而使软件的成本、工作量与工期的估计问题得到解决。作为结构化模型的应用,以下我们介绍一个通信软件的成本与工期估计问题。表中各影响因子Uj的度量等级分为六档,且根据各影响因子Uj的45u例3.4 考虑一个规模为10KDSI的商用软件中的远程通信控制软件(嵌入型软件),根据该目标软件的目标、功能需求以及开发机构人力资源投入的现实状况,可得到各影响因子Uj的具体内涵如表6.17的第二列,又得知该软件开发机构的工时费用率 元/人月,试对该目标软件的成本、工作量与工期作出估计。u解:首先由目标软件的基本特性(嵌入型),表3.10和模型(3.12)式可知有 (人月)例3.4 考虑一个规模为10KDSI的商用软件中的远程46u其次,由表3.12第二列中对各影响因子的具体内涵及表3.11可得到各影响因子对应的等级分值并记录于表3.12第三列,于是可得到综合影响因子有 u最后由(3.12)式可得到其次,由表3.12第二列中对各影响因子的具体内涵及表3.1147影响工作量因素影响工作量因素 Uj对影响因子要求的现实情况对影响因子要求的现实情况等级分取值等级分取值U1软件可靠性(RELY)只用于局部地区,恢复问题不严重 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(正常)U12语言使用经验(LEXP)12个月1.00(正常)U13使用现代程序设计技术(MODP)1年以上0.91(高)U14使用软件工具(TOOL)基本的微型机软件1.10(低)U15工期(SCED)9个月1.00(正常)表表3.12 影响工作量因素影响工作量因素 Ui 的具体内涵的具体内涵影响工作量因素 Uj对影响因子要求的现实情况等级分取值U1软48u需要说明的是(3.12)式的模型国外称为中级COCOMO模型,它适用于中、小规模软件的成本估算问题,但对于大型软件而言这种估算过于粗略,且无法按阶段来估算其工作量与成本的分配问题,而上述问题则是大型软件人力资源投入与成本的组织与分配所关注的。于是在中级COCOMO模型的基础上人们引入了所谓详细(高级)COCOMO模型。需要说明的是(3.12)式的模型国外称为中级COCOMO模型49u详细COCOMO模型与中级COCOMO模型的区别在于:u详细COCOMO模型在中级COCOMO模型的 基础上对各影响因子按照开发阶段的四个子阶段(需求和产品设计子阶段,详细设计子阶段,编程和单元测试子阶段,集成与测试子阶段)作进一步的分解,并按各子阶段给出各影响因子Uj的等级度量分值表及其相应的说明。u对于不同类型(组织型、半独立型和嵌入型)和不同规模(小型、次中型、中型、大型、巨型)的软件工程,进一步给出了软件开发四个子阶段的工作量的分布比例(%)的推荐值。详细COCOMO模型与中级COCOMO模型的区别在于:503.模型的修正nBoehm推出的上述COCOMO模型是在其所在机构的特定环境下推出的,我们引入该模型时切不可机械搬用,而应在该模型的基础上进行适当修正来寻求适合于我国国情、本企业的构造性成本模型。以下介绍这样的修正工作的基本思想。n(1)单参数修正:设M0=rLsk中Boehm给出的k=1.05可用(y=axb中b反映了该曲线的弯曲程度),而r需修正。此时可利用本企业(软件开发机构)在同样配置环境下过去已完成的同一模式n个软件项目的样本数据,如规模Li,工作量乘数Ui,实际开发工作量MMi(i=1n),即可通过数理统计中的最小二乘法来求解新的适合于本企业的统计模型。3.模型的修正Boehm推出的上述COCOMO模型是在其所51(1)单参数修正(1)单参数修正52n例3.5 某软件开发机构已完成了五个组织型软件项目开发,各项目的参数如表3.13,现取k=1.05,拟对r进行修正。试求解在上述开发环境下的成本构造性模型。表3.13 样本参数表(一)例3.5 某软件开发机构已完成了五个组织型软件项目开发,53例3.5例3.554(2)双参数修正(2)双参数修正55软件成本与工期的测算方法课件56n例3.6 有关项目参数同表3.13,试求解在此开发环境下双参数修正的成本模型。例3.6 有关项目参数同表3.13,试求解在此开发环境下57例3.6例3.6584.COCOMO(2000)介绍nBoehm在87年推出的COCOMO基础上,经过多年的实践与研究,于2000年推出了一种新的COCOMO,该模型与COCOMO(81)相比较具有下述特点:n(a)保留了COCOMO(81)的基本功能,且具有兼容性;n(b)为适应软件工程技术学与软件工程管理学发展的需要,引入了在19802000年软件技术与软件管理中的一些新概念,如软件重用、过程成熟度等,以解决由此而产生的新的软件工程经济问题;4.COCOMO(2000)介绍Boehm在87年推出的C59n(c)在软件成本估算时提供了多条途径,如采用KLOC作为规模的度量和采用功能点作为规模的度量,然后转化成软件成本的估算;n(d)修改和调整了一些算法,如多模块工作量算法等;n(e)编制了相关的支持软件和数据库,可对软件开发、重用、外包、软件包购买、投资等决策活动提供支持;n(f)在将COCOMO推向市场时采用了一些软件营销手段(策略),如建立会员制、通过提供相关知识与教程培训、专家指导、提供经验数据、技术经济方法等服务策略来实现其运营目标。(c)在软件成本估算时提供了多条途径,如采用KLOC作为规模604.COCOMO(2000)介绍4.COCOMO(2000)介绍61软件成本与工期的测算方法课件62表3.16 指数修正因子等级分表表3.16 指数修正因子等级分表63软件成本与工期的测算方法课件643.2.5 表格法与类比法n1.类比法3.2.5 表格法与类比法1.类比法65软件成本与工期的测算方法课件662.表格法n表格法的基本思想是将与软件成本有关的工程经济参数,如系统规模、复杂性、工期(进度)、对计算机与通信资源的需求及资金投入约束、劳动生产率、工时费用率以及对成本有影响的其他各类各种影响因子有机地组织起来,并汇总成几张表格,然后系统设计人员可根据软件的功能需求及开发机构的人员素质、经历等具体情况,按照表格填写的顺序要求进行逐次计算与填写,并最终完成对目标系统软件的成本、工期等参数的估算。nAron模型、详细COCOMO模型等都可视为利用表格法做成本估算的应用案例。2.表格法表格法的基本思想是将与软件成本有关的工程经济参数67子系统DMj(%)CMj(%)IMj(%)AAFj(%)LAjLBjUj1 Uj2 Uj15UjA1909090(1)8000(2)(3)A21001001006000A380808010000(1)j模块修正百分比 AAFj=0.4DMj+0.3CMj+0.3IMj(2)j模块规模 LBj=LAjAAFj(3)j模块工作量乘数 Uj=Uj1Uj2Uj15子系统DMj(%)CMj(%)IMj(%)AAFj(%)LA68子系统 LBjUjM0jMjFdjFcjCjC0jB1(2)1.01(7)(8)(9)5.5(10)(11)B20.956.5B30.856.0LS(4)开发模式:MS:(12)CS:(15)M0S(5)Td:(13)FCS:(16)F0S(6)FdS:(14)FS:(17)(4)系统规模 LS=Lj (11)j模块成本费用率 C0j=Cj/Lj(5)系统基准工作量 M0S=rLSk (12)系统工作量 MS=Mj(6)系统基本劳动生产率 F0S=LS/M0S (13)系统工期 Td=h(MS)k(7)j模块基本工作量 M0j=Lj/F0S (14)系统劳动生产率FdS=LS/MS(8)j模块工作量 Mj=M0jUj (15)系统成本 CS=Cj(9)j模块劳动生产率 Fdj=Lj/Mj (16)系统成本费用率 FCS=CS/LS(10)j模块成本 Cj=FcjMj (17)系统工时费用率 FS=CS/MS子系统LBjUjM0jMjFdjFcjCjC0jB1(2)169n若需分阶段计算:则可将(8)的Mj按各阶段工作量划分,后述计算与上类同。n系统基准工作量M0S是在未考虑工作量乘数情况下采用函数计算而成n系统工作量MS是在综合考虑了工作量乘数后采用函数计算而成n同样,系统基本劳动生产率F0S与系统劳动成产率FdS的区别与上相同若需分阶段计算:则可将(8)的Mj按各阶段工作量划分,后述计703.2.6 设备的折旧u在前述各种成本测算方法中多数未考虑软件的固定资产折旧问题,例如计算机与通信设备的折旧问题,这是由于对多数软件而言,上述设备资源的购置费相对于其他成本(如生产成本、人力资源成本)而言要小得多,故在成本测算中可以忽略不计u然而对于某些特殊的软件,如某些大型的证券投资业务处理系统,银行联机业务处理系统,铁路、航空订票系统等作战单位中的中央计算机、通信设备及传感器等。由于其对存贮空间及运算速度及环境要求等性能的特殊要求,而使设备的购置费用较为昂贵,对于此类设备,在计算成本时,其设备折旧将无法忽略。3.2.6 设备的折旧在前述各种成本测算方法中多数未考虑软件71u有关设备折旧的方法很多,如直线折旧法,加速折旧法,余额递减法,偿还基金法,年金法等,本节主要介绍二种常用的设备折旧方法:直线折旧法与加速折旧法。u1.直线折旧法的基本思想是在使用期内,平均地分摊设备价值来作为设备的折旧额。若设 为一年设备的折旧额,为设备的原始价值,O为设备的残值(预计),T为设备的最终使用年限,为设备的年基本折旧率,则有基本算法如下 (3.19)有关设备折旧的方法很多,如直线折旧法,加速折旧法,余额递减法72u2.加速折旧法的基本思想是设备在整个使用过程中,其效能是变化的,其中使用的前几年,设备处于良好状态效能较高,因而可为企业提供较高的效益,而在使用后期,由于设备的各种有形磨损(如摩擦、振动、介质腐蚀、材料老化等导致)与无形磨损(如由于技术进步而不断出现新的高性能、低价格的设备,而使原设备价值降低导致)加速,从而为企业提供的效益相对较低。因此设备使用的前几年分摊的折旧费应比后期分摊的折旧费更多一些方为合理。为此人们又提出了一些新的设备折旧算法,如下 (3.20)u其中 为设备在使用年限内第t年的折旧额,t为设备使用的年数,T为设备使用年限。2.加速折旧法的基本思想是设备在整个使用过程中,其效能是变化73u例3.8 设某型计算机其购买价格(原始价值)为9200元,预计使用五年,其残值估计为200元。试求该计算机应摊入成本中的各年设备折旧费。u解:由于ko=9200元,T=5年,O=200元,,koO=9200-200=9000元从而由(3.20)式可得下表u由表3.18可知,该计算机设备各年折旧呈递降趋势,但各年折旧总额 ,再加上残值200元,即为 该计算机的原始价值tkoO12345900090009000900090005/154/153/152/151/153000240018001200600合计合计15/159000表表3.18 计算机各年折旧额(单位:元)计算机各年折旧额(单位:元)例3.8 设某型计算机其购买价格(原始价值)为92074
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!