第六章软件项目规模成本估算
- 格式:ppt
- 大小:781.00 KB
- 文档页数:117
软件项⽬管理第3版第6章习题答案参考答案成本管理[填空][直接]1.软件项⽬成本包括()成本和间接成本,⼀般⽽⾔,项⽬⼈⼒成本归属于直接成本。
[填空][类⽐估算法]2.在项⽬初期,⼀般采⽤的成本估算⽅法是()。
[填空][外部输⼊,外部输出,外部查询,内部逻辑⽂件,外部接⼝⽂件]3.功能点⽅法中5类功能组件的计数项是()、()、()、()、()。
[填空][⼈的劳动的消耗所需要的代价]4.软件项⽬的主要成本是()。
[填空][⽤例点]5.()⽅法通过分析⽤例⾓⾊、场景和技术与环境因⼦等来进⾏软件估算。
[是⾮][A]1.软件项⽬规模就是软件项⽬⼯作量。
()[A]正确[B]错误[是⾮][B]2.在软件项⽬估算中,估算结果是没有误差的。
()[A]正确[B]错误[是⾮][A]3.⼈的劳动消耗所付出的代价是软件产品的主要成本。
()[A]正确[B]错误[是⾮][B]4.功能点估算与项⽬所使⽤的语⾔和技术有关。
()[A]正确[B]错误[是⾮][B]5.COCOMO81有3个等级的模型:有机型、嵌⼊型、半嵌⼊型。
()[A]正确[B]错误[是⾮][B]6.经验对于估算来说不重要。
()[A]正确[B]错误[是⾮][A]7.估算时既要考虑直接成本⼜要考虑间接成本。
()[A]正确[B]错误[是⾮][B]8.在进⾏软件估算的时候,可以直接考虑参照其他企业的模型进⾏项⽬估算。
()[A]正确[B]错误[是⾮][B]9.间接成本是与⼀个具体项⽬相关的成本。
()[A]正确[B]错误[单选][C]1.下⾯关于估算的说法,错误的是()[A]估算是有误差的[B]估算时不要太迷信数学模型[C]经验对于估算来说不重要[D]历史数据对于估算来说⾮常重要[单选][B]2.()是成本的主要因素,是成本估算的基础。
[A]计划[B]规模[C]风险[D]利润[单选][D]3.常见的成本估算⽅法不包括()[A]代码⾏[B]功能点[C]类⽐法[D]关键路径法[单选][C]4.下列不是UFC的功能计数项是()[A]外部输出[B]外部⽂件[C]内部输出[D]内部⽂件[单选][A]5.成本预算的⽬的是()[A]⽣产成本基线[B]编写报告书[C]指导设计过程[D]⽅便进度管理[单选][D]6.估算的基本⽅法不包括()[A]代码⾏、功能点[B]参数估算法[C]专家估算法[D]函数估算法[单选][B]7.在项⽬初期,进⾏竞标合同时,⼀般采⽤的成本估算⽅法是()[A]参数估算法[B]类⽐估算法[C]专家估算法[D]功能点估算法[单选][D]8.下列不是软件项⽬规模单位的是()[A]源代码长度(LOC)[B]功能点(FP)[C]⼈天、⼈⽉、⼈年[D]⼩时[单选][B]9.在成本管理过程中,每个时间段中等各个⼯作单元的成本是()[A]估算[B]预算[C]直接成本[D]间接成本[简答]1.项⽬经理正在进⾏⼀个图书馆信息查询系统的项⽬估算,他采⽤Delphi的专家估算⽅法,邀请了3位专家进⾏估算,第⼀位专家给出了2万元、7万元、12万元的估算值,第⼆位专家给出了4万元、6万元、8万元的估算值,第三位专家给出了2万元、6万元、10万元的估算值,试计算这个项⽬的成本估算值。
软件项目的规模、工作量和成本是如何进行估算的根据软件项目规模的期望值e以及下列公式,就可以估算出软件项目的成本和工作量。
生产率pm = l / e其中,l表示软件项目的规模(单位:loc或者fp),e表示软件工作量(单位:人月),pm表示单个人月能够生产的功能点或者代码行数。
平均成本ckl = s / l其中,s为软件项目总开销,l表示软件项目的规模(单位:loc或者fp),ckl表示每行代码或者每个功能点的平均成本。
对于一个特定的软件开发组织或者项目组而言,其软件生产率和平均成本在不同的软件项目实施中可能是比较稳定的。
如果有以往软件项目的历史信息,可以很容易地获得关于软件开发组织或者项目组的pm和ckl值。
因此,一旦估算出了软件项目的规模,获得了软件开发组织或者项目组的pm和ckl的值,就可根据公式ckl = s / l计算出软件项目的成本s = ckl′ l,也可根据公式pm = l / e 计算出软件项目的工作量e= l / pm。
例如,假设项目组要开发一个软件项目a,经过估算该项目的规模是364个功能点。
进一步的,根据以往的历史数据,该项目组软件开发的生产率是8fp/人月,每个功能点的平均成本为12000元人民币,那么该软件项目的开发成本s = 6800元人民币′ 364 = 247,5200元人民币,工作量为e= 364/ 8 = 45.5人月。
基于经验模型的估算基于经验模型的估算根据以往软件项目实施的经验数据(如成本、工作量和进度等)建立相应的估算模型,并以此为基础对软件项目开发的有关属性进行估算。
构造性成本模型cocomo(constructive cost model)是目前应用最为广泛的经验模型之一。
在二十世纪七十年代后期,boehm对多达63个软件项目的经验数据进行了分析和研究,在此基础上于1981年提出了cocomo模型用于对软件项目的规模、成本、进度等方面进行估算。
boehm把cocomo模型分为基本、中间和详细三个层次,分别支持软件开发的三个不同阶段。
软件成本估算与控制学习要点软件开发是现代社会不可或缺的一部分,而软件开发过程中的成本估算与控制是确保项目成功的重要环节。
本文将介绍软件成本估算与控制的学习要点,以帮助读者更好地理解和应用这一知识。
一、软件成本估算1.1 项目规模估算软件项目的规模是成本估算的基础,可以通过功能点分析或代码行数等方法进行估算。
功能点分析是一种常用的估算方法,它以软件功能为单位进行估算,并结合历史数据和专家判断来确定各功能点的工作量。
1.2 成本估算模型成本估算模型是用来预测软件开发成本的数学模型,其中最著名的是COCOMO模型和函数点分析模型。
COCOMO模型根据项目的规模和复杂性等因素,通过对历史数据进行分析和调整,来预测出开发成本。
函数点分析模型则以软件功能点数为基础,通过对不同功能点的复杂性和开发条件等进行加权计算,来估算成本。
二、软件成本控制2.1 成本控制方法成本控制是指在软件开发过程中,通过合理的控制手段来确保开发成本不超出预算。
常用的成本控制方法包括资源管理、进度管理和风险管理等。
资源管理通过优化资源的分配和利用,来降低开发成本。
进度管理则通过合理的任务分配和进度监控,来控制开发进度,从而减少延误带来的额外开销。
风险管理则通过识别和评估项目风险,并采取相应的措施来减轻或避免风险对成本的影响。
2.2 软件度量与监控软件度量是软件成本控制的重要手段,它通过定量的方法来度量软件开发过程中的各项指标,从而提供可靠的依据来进行成本控制。
常用的软件度量指标包括进度度量、成本度量和质量度量等。
通过对这些指标的监控和分析,可以及时发现问题,并采取相应的措施来调整和控制成本。
三、学习要点总结3.1 熟悉成本估算模型和方法掌握和理解常用的成本估算模型和方法,如COCOMO模型和函数点分析模型,以及功能点分析等,对于准确的估算成本是非常重要的。
3.2 学习软件度量了解和学习软件度量的基本原理和方法,包括进度度量、成本度量和质量度量等,能够帮助进行准确的成本控制。
软件项目中的成本构成及估算方法随着学问经济、信息时代的来临,计算机软件业迅猛发展。
商品化、资本化、资产化的计算机软件的价值评估的社会需求也日益增多,而且有越来越多的趋势。
由于系统软件通常是一些规模大、复杂程度高的人一机系统,因此,系统软件的开发发、使用、维护、管理的过程,是一个特别复杂的系统工程,需要有巨大的人力、物力、财力资源,需要各种计算机软、硬件的支持。
这一特点是在系统软件评估中应予充分考虑的,也是从成本途径评估系统软件价值时应予着重关注的。
据统计,软件成本在软、硬件总成本中的份额,已从50 年月的百分之十几,上升到近期的百分之七八十,而且还在持续上升。
软件成本中的开发成本和维护成本的比例,也从50年月的接近1:1,达到了近期的1:2。
系统软件开发成本和维护成本在整个生命周期中份额。
本文对上表的数字作了部分调整。
主在维护阶段剔除了完善性维护成本。
这一项成本不应列入托付评估系统软件的本次价值评估。
这样,开发、维护成本在整个生命周期中的份额也相应发生了变化。
一、系统软件的成本构成系统软件的成本作为一个经济学范畴,应反映软件产品在其生产过程中所耗费的各项费用,为原材料、燃料、动力、折旧、人工费、管理费用、财务费用待项开支的总和。
从财务角度来看,列入系统软件的成本有如下的项目:(1)硬件购置费如计算机及相关设备的购置,不间断电源、空调器等的购置费。
(2)软件购置费,如操作系统软件、数据库系统软件和其它应用软件的购置费。
(3)人工费,主要是开发人员、操作人员、管理人员、的工资福利费等。
(4)培训费。
(5)通讯费,如购置计算机网络设备、通讯线路器材、租用公用通讯线路等的费用。
(6)基本建设费,如新建、扩建机房、购置计算机机台、机柜等的费用。
(7)财务费用。
(8)管理费用,如办公费、差旅费、会议费、交通费。
(9)材料费,如打印纸、包带、磁盘等的购置费。
(10)水、电、汽、气费。
(11)专有技术购置费。
(12)其它费用,如资料费、固定资产折旧费及咨询费。
软件项⽬中的成本构成及估算⽅法【转】随着知识经济、信息时代的来临,计算机软件业迅猛发展。
商品化、资本化、资产化的计算机软件的价值评估的社会需求也⽇益增多,⽽且有越来越多的趋势。
由于系统软件通常是⼀些规模⼤、复杂程度⾼的⼈⼀机系统,因此,系统软件的开发、使⽤、维护、管理的过程,是⼀个⾮常复杂的系统⼯程,需要有巨⼤的⼈⼒、物⼒、财⼒资源,需要各种计算机软、硬件的⽀持。
这⼀特点是在系统软件评估中应予充分考虑的,也是从成本途径评估系统软件价值时应予着重关注的。
据统计,软件成本在软、硬件总成本中的份额,已从50 年代的百分之⼗⼏,上升到近期的百分之七⼋⼗,⽽且还在持续上升。
软件成本中的开发成本和维护成本的⽐例,也从50年代的接近1:1,达到了近期的1:2。
系统软件开发成本和维护成本在整个⽣命周期中份额。
本⽂对上表的数字作了部分调整。
主在维护阶段剔除了完善性维护成本。
这⼀项成本不应列⼊委托评估系统软件的本次价值评估。
这样,开发、维护成本在整个⽣命周期中的份额也相应发⽣了变化。
⼀、系统软件的成本构成系统软件的成本作为⼀个经济学范畴,应反映软件产品在其⽣产过程中所耗费的各项费⽤,为原材料、燃料、动⼒、折旧、⼈⼯费、管理费⽤、财务费⽤待项开⽀的总和。
从财务⾓度来看,列⼊系统软件的成本有如下的项⽬:(1)硬件购置费如计算机及相关设备的购置,不间断电源、空调器等的购置费。
(2)软件购置费,如操作系统软件、数据库系统软件和其它应⽤软件的购置费。
(3)⼈⼯费,主要是开发⼈员、操作⼈员、管理⼈员、的⼯资福利费等。
(4)培训费。
(5)通讯费,如购置计算机⽹络设备、通讯线路器材、租⽤公⽤通讯线路等的费⽤。
(6)基本建设费,如新建、扩建机房、购置计算机机台、机柜等的费⽤。
(7)财务费⽤。
(8)管理费⽤,如办公费、差旅费、会议费、交通费。
(9)材料费,如打印纸、包带、磁盘等的购置费。
(10)⽔、电、汽、⽓费。
(11)专有技术购置费。
软件项目成本估算步骤:规模、工作量、工期、成本软件项目成本估算分为以下步骤:
1. 估算软件规模。
根据可行性研究报告或类似文档明确项目需求及系统边界。
选择估算方法时,要依据项目特点和需求详细程度来决定。
2. 估算工作量。
可以采用方程法、类比法和类推法。
如果软件项目需求极其模糊或不确定,可利用高度相似的历史项目数据来粗略估算工作量。
3. 估算工期。
同样可以采用类推法、类比法和方程法进行估算。
4. 估算成本,类比法和类推法同样适用于需求极期模糊或不确定时的成本估算。
5. 进行软件工作量评估,包括收集历史工作量数据、分析历史工作量数据、建立工作量评估模型、评估工作量、工作量模型的标定和更新。
6. 进行软件阶段工作量评估,团队应充分考虑软件项目的工期因素,对软件项目总工作量安排和各个阶段工作量安排进行优化分析,将软件项目的总工作量以合理可行的方式分解为各个阶段的工作量。
同时考虑各种约束条件,如客户强制工期要求、市场竞争性等。
泛。
例如,针对上面所述的软件项目a,如果已估算出该项目的软件规模是33.3kloc,而且该项目属于半独立型,即cocomo模型中的参数a、b、c、d的取值分别是3.0、1.12、2.5、0.35,那么根据模型公式e =a * (kloc)b可以估算出该项目的工作量是3.0*(33.3)1.12,即152人月;然后根据公式d = c * ed可以估算出该项目的开发时间是2.5*(152)0.35,即14.5月。
2. 其它估算方法其它估算方法包括:专家估算、类比估算等等。
专家估算方法是由一组专家来对软件项目所需的成本、工作量和进度等进行估算。
一般地,这些专家具有应用领域或者开发环境方面的知识、参与了以往类似软件项目的开发。
为了避免专家估算的片面性,专家估算方法一般要求每位专家给出估算的最小值a、可能值m和最大值b,然后计算出每位专家估算的平均值esti =(a+4m+b)/6,最后根据各位专家的估算情况计算出最终的估算值est=(est1+est2+est3+……+estn)/n。
如果软件开发组织或者项目组拥有一批经验丰富的专家,可以考虑采用该方法。
专家估算方法具有人为因素多、主观因素大的特点,一般应用于软件开发的初期阶段,此时软件项目组往往难以获得估算软件项目所需的各种数据和信息。
类比估算方法是指估算人员根据以往类似软件项目实施所积累下来的数据,通过分析待开发软件项目和以往软件项目二者之间的相似性,估算出软件项目的开发工作量、成本和进度等。
使用该方法的前提是:待估算的软件项目和以往的软件项目必须具有一定的相似性(如它们均属于同样的应用领域),并且拥有以往类似软件项目的开发数据(如工作量、周期、参与的人数、规模和成本等)。
软件估算发生在事前,因而估算的结果与实际的结果有所偏差是不可避免的。
但是,如果估算的偏差过大,那么估算的结果将会对软件项目的实施和管理产生消极的影响,甚至可能导致软件项目的失败。
因此,在对软件项目的规模、成本和工作量等进行估算的过程中,要避免低劣的估算,尽可能地获得合理和准确的估算数据。
成本管理:项目管理之软件项目成本估算一、软件成本估算贯穿于整个软件生命周期项目初期粗略的成本估算是必要的,它往往用于确定项目的可行性分析。
在项目计划阶段还需对项目进行详细的成本估算,设定项目工作分解表中每项任务可能的成本,作为项目执行阶段进行成本控制的基准。
并且,在项目执行阶段,当项目实际成本与计划成本出现差异时,还需对项目后期的成本重新进行必要的估算。
因此,项目成本估算在项目的管理和控制中占据着非常重要的地位。
而在软件项目中,由于在人员、开发周期、项目范围及技术难度等方面与其它项目相比具有更大的不确定性,故准确估算其成本就显得特别困难。
因而合理估算软件项目成本就尤其重要。
二、软件项目中的成本估算模型现有的大多数软件成本估算模型适于预算、权衡分析、计划、控制和投资分析等范畴。
成本估算模型技术多采用经验公式对软件项目进行成本估算。
在大多数估算模型中,软件规模是决定成本的主要因素。
有两种衡量软件规模的常规方法:基于代码行的估算方法和基于功能点的估算方法。
许多成本估算模型中将代码行或功能点数作为主要的输入参数。
1.面向代码行的成本估算模型代码行(lines of code,LOC)是衡量源代码长度的最常用的方法。
NCLOC(non-comments source lines ofcode缩写)用于表达不含注解的源代码行数。
NCLOC也常常被当作为有效的代码行数(effective lines of code,ELOC)。
在很多情况下,为了日后更清楚地阅读和理解程序,提高系统的可维护性,在程序开发中往往要求在程序中附上详细的注解,在这种情况下,包含注解的源代码行数也是一个有效的度量标准。
CLOC(commented source line of code缩写)用于表达含注解的源代码行数。
综上所述,我们给出代码行的定义如公式1所示:总长度(LOC)=NCLOC+CLOC(1)2.面向功能点的成本估算模型面向功能点(Function points,FP)的成本估算模型是用系统的功能数量来测量软件规模的。