版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程软件开发成本估算软件工程软件开发成本估算1软件开发成本估算软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价。它不包括原材料和能源的消耗,主要是人的劳动的消耗。人的劳动消耗所需代价就是软件产品的开发成本。软件产品开发成本的计算方法不同于其它物理产品成本的计算。软件开发成本估算软件开发成本主要是指软件开发过程中所花费的工2软件的开发成本是以一次性开发过程所花费的代价来计算的。软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、组装测试到确认测试,整个软件开发全过程所花费的代价作为依据的。
软件的开发成本是以一次性开发过程所花费的代价来计算的。3软件开发成本估算方法对于一个大型的软件项目,由于项目的复杂性,开发成本的估算不是一件简单的事,要进行一系列的估算处理。主要靠分解和类推。基本估算方法分为三类。自顶向下的估算方法自底向上的估计法差别估计法软件开发成本估算方法对于一个大型的软件项目,由于项目的复杂性4自顶向下的估算方法这种方法的主要思想是从项目的整体出发,进行类推。估算人员根据以前已完成项目所消耗的总成本(或总工作量),推算将要开发的软件的总成本(或总工作量),然后按比例将它分配到各开发任务单元中去,再来检验它是否能满足要求。自顶向下的估算方法这种方法的主要思想是从项目的整体出发,进行5项目管理--软件成本估算概述课件6这种方法的优点是估算工作量小,速度快。缺点是对项目中的特殊困难估计不足,估算出来的成本盲目性大,有时会遗漏被开发软件的某些部分。这种方法的优点是估算工作量小,速度快。7自底向上的估计法这种方法的主要思想是把待开发的软件细分,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发的总工作量。它的优点是估算各个部分的准确性高。缺点是缺少各项子任务之间相互联系所需要的工作量,还缺少许多与软件开发有关的系统级工作量.自底向上的估计法这种方法的主要思想是把待开发的软件细分,直到8差别估计法这种方法综合了上述两种方法的优点,其主要思想是把待开发的软件项目与过去已完成的软件项目进行类比,从其开发的各个子任务中区分出类似的部分和不同的部分。类似的部分按实际量进行计算,不同的部分则采用相应方法进行估算。这种的方法的优点是可以提高估算的准确程度,缺点是不容易明确“类似”的界限。差别估计法这种方法综合了上述两种方法的优点,其主要思想是把待9专家判定技术由多位专家进行成本估算单独一位专家可能会有种种偏见,譬如有乐观的、悲观的、要求在竞争中取胜的、让大家都高兴的种种愿望及政治因素等。最好由多位专家进行估算,取得多个估算值。有多种方法把这些估算值合成一个估算值。专家判定技术由多位专家进行成本估算10一种方法是简单地求各估算值的中值或平均值。其优点是简便。缺点是可能会由于受一、二个极端估算值的影响而产生严重的偏差。一种方法是召开小组会,使各位专家们统一于或至少同意某一个估算值。优点是可以摈弃蒙昧无知的估算值,缺点是一些组员可能会受权威或政治因素的影响。
一种方法是简单地求各估算值的中值或平均值。其优点是简便。缺点11Deiphi技术标准Deiphi技术
①组织者发给每位专家一份软件系统规格说明书和一张记录估算值的表格,请他们进行估算。
②专家详细研究软件规格说明书的内容,对该软件提出三个规模的估算值,即:
ai(最小)mi(可能)bi(最大)
无记名地填写表格Deiphi技术标准Deiphi技术
①组织者发给每位专家12
在填表的过程中,专家互相不进行讨论但可以向组织者提问。
③组织者对专家们填在表格中的答复进行整理:
a.计算各位专家估算的期望值Ei;
b.对专家的估算结果分类摘要。
专家对此估算值另做一次估算。
④在综合专家估算结果的基础上,组织专家再次无记名地填写表格。比较两次估算的结果。若差异很大,则要通过查询找出差异的原因。在填表的过程中,专家互相不进行讨论但可以向组织者提问。13
⑤上述过程可重复多次。最终可获得一个得到多数专家共识的软件规模(源代码行数)。在此过程中不得进行小组讨论。最后,通过与历史资料进行类比,根据过去完成软件项目的规模和成本等信息,推算出该软件每行源代码所需要的成本。然后再乘以该软件源代码行数的估算值,就可得到该软件的成本估算值。⑤上述过程可重复多次。最终可获得一个得到多数专家共识的软14软件开发成本估算的经验模型软件开发成本估算是依据开发成本估算模型进行估算的。开发成本估算模型通常采用经验公式来预测软件项目计划所需要的成本、工作量和进度数据。用以支持大多数模型的经验数据都是从有限的一些项目样本中得到的。还没有一种估算模型能够适用于所有的软件类型和开发环境。软件开发成本估算的经验模型软件开发成本估算是依据开发成本估算15IBM模型
E=5.2×L0.91D=4.1×L0.36=14.47×E0.35S=0.54×E0.6DOC=49×L1.01L是源代码行数(KLOC),E是工作量(PM),D是项目持续时间(月),S是人员需要量(人),DOC是文档数量(页)。IBM模型E=5.2×L0.9116IBM模型是静态单变量模型。在此模型中,一般指一条机器指令为一行源代码。一个软件的源代码行数不包括程序注释、作业命令、调试程序在内。对于非机器指令编写的源程序,例如汇编语言或高级语言程序,应转换成机器指令源代码行数来考虑。定义:转换系数=机器指令条数/非机器语言执行步数。IBM模型是静态单变量模型。17转换系数表转换系数表18Putnam模型Putnam模型是一种动态多变量模型。适用于大型项目,但也可以应用在一些较小的软件项目中。它是假定在软件开发的整个生存期中工作量有特定的分布。大型软件项目的开发工作量分布可以用Rayleigh-Norden曲线表示。这个曲线把已交付的源代码行数与工作量和开发时间联系起来。Putnam模型Putnam模型是一种动态多变量模型。适用于19项目管理--软件成本估算概述课件20用Rayleigh-Norden曲线可以导出一个“软件方程”td
是开发持续时间(年),K是软件开发与维护在内的整个生存期所花费的工作量(人年),L是源代码行数(LOC),Ck是技术状态常数,因开发环境而异。用Rayleigh-Norden曲线可以导出一个“软件方程”21技术状态常数Ck的取值技术状态常数Ck的取值22COCOMO模型(COnstructiveCOstMOdel)结构型成本估算模型是一种精确、易于使用的成本估算方法。在该模型中使用的基本量有以下几个:DSI(源指令条数)定义为代码的源程序行数。若一行有两个语句,则算做一条指令。它包括作业控制语句和格式语句,但不包括注释语句。KDSI=1000DSI。COCOMO模型(COnstructiveCOstMO23MM(度量单位为人月)表示开发工作量。TDEV(度量单位为月)表示开发进度。它由工作量决定。软件开发项目的分类
软件开发项目的总体类型:组织型嵌入型半独立型MM(度量单位为人月)表示开发工作量。24COCOMO模型的分类
COCOMO模型按其详细程度分成三级:基本COCOMO模型中间COCOMO模型详细COCOMO模型基本COCOMO模型是一个静态单变量模型,它用源代码行数(LOC)为自变量的(经验)函数来计算软件开发工作量。COCOMO模型的分类
COCOMO模型按其详细程度分成三级25中间COCOMO模型则在用LOC为自变量的函数计算软件开发工作量(此时称为名义工作量)的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作量的估算。详细COCOMO模型包括中间COCOMO模型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中每一步骤(分析、设计等)的影响。中间COCOMO模型则在用LOC为自变量的函数计算软件开发工26基本COCOMO模型基本COCOMO模型的工作量和进度公式
基本COCOMO模型基本COCOMO模型的工作量和进度公式
27中间COCOMO模型进一步考虑15种影响软件工作量的因素,通过定下乘法因子,修正COCOMO工作量公式和进度公式,可以更合理地估算软件(各阶段)的工作量和进度。中间COCOMO模型的名义工作量与进度公式如下所示。中间COCOMO模型进一步考虑15种影响软件工作量的因素,通28中间COCOMO模型的名义工作量与进度公式中间COCOMO模型的名义工作量2915种影响软件工作量的因素
fi产品因素:软件可靠性、数据库规模、产品复杂性硬件因素:执行时间限制、存储限制、虚拟机易变性、环境周转时间人的因素:分析员能力、应用领域实际经验、程序员能力、虚拟机使用经验、程序语言使用经验项目因素:现代程序设计技术、软件工具的使用、开发进度限制15种影响软件工作量的因素fi产品因素:软件可靠性、数据库30项目管理--软件成本估算概述课件31此时,工作量计算公式改成
例1.一个32KDSI的声音输入系统是一个输入原型,或是一个可行性表演模型。所需可靠性非常低。把此模型看做半独立型软件。则有
MM=3.0(32)1.12=146
又查表知f1=0.75,其它fi=1.00,则最终有MM=146×0.75=110.
此时,工作量计算公式改成
32例14.一个规模为10KDSI的商用微机远程通信的嵌入型软件,使用中间COCOMO模型进行成本估算。程序名义工作量
MM=14.8(10)1.20=44.38(MM)程序实际工作量MM=44.38×=44.38×1.17=51.5(MM)例14.一个规模为10KDSI的商用微机远程通信的嵌入型软33项目管理--软件成本估算概述课件34开发所用时间TDEV=14.5(51.5)0.32=8.9(月)如果分析员与程序员的工资都按每月6,000美元计算,则该项目的开发人员的工资总额为51.5×6,000=309,000(美元)做为对比,现在用IBM模型计算:PM=5.2(10)0.91=414.27(人月)D=4.1(10)0.38=9.16(月)S=0.54(414.27)0.60=5.1(人)开发所用时间35详细COCOMO模型详细COCOMO模型的名义工作量公式和进度公式与中间COCOMO模型相同。工作量因素分级表分层、分阶段给出。针对每一个影响因素,按模块层、子系统层、系统层,有三张工作量因素分级表,供不同层次的估算使用。每一张表中工作量因素又按开发各个不同阶段给出。详细COCOMO模型详细COCOMO模型的名义工作量公式和进36例如,关于软件可靠性(RELY)要求的工作量因素分级表(子系统层),如表所示。使用这些表格,可以比中间COCOMO模型更方便、更准确地估算软件开发工作量。例如,关于软件可靠性(RELY)要求的工作量因素分级表(子系37软件可靠性工作量因素分级表(子系统层)软件可靠性工作量因素分级表(子系统层)38软件工程软件开发成本估算软件工程软件开发成本估算39软件开发成本估算软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价。它不包括原材料和能源的消耗,主要是人的劳动的消耗。人的劳动消耗所需代价就是软件产品的开发成本。软件产品开发成本的计算方法不同于其它物理产品成本的计算。软件开发成本估算软件开发成本主要是指软件开发过程中所花费的工40软件的开发成本是以一次性开发过程所花费的代价来计算的。软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、组装测试到确认测试,整个软件开发全过程所花费的代价作为依据的。
软件的开发成本是以一次性开发过程所花费的代价来计算的。41软件开发成本估算方法对于一个大型的软件项目,由于项目的复杂性,开发成本的估算不是一件简单的事,要进行一系列的估算处理。主要靠分解和类推。基本估算方法分为三类。自顶向下的估算方法自底向上的估计法差别估计法软件开发成本估算方法对于一个大型的软件项目,由于项目的复杂性42自顶向下的估算方法这种方法的主要思想是从项目的整体出发,进行类推。估算人员根据以前已完成项目所消耗的总成本(或总工作量),推算将要开发的软件的总成本(或总工作量),然后按比例将它分配到各开发任务单元中去,再来检验它是否能满足要求。自顶向下的估算方法这种方法的主要思想是从项目的整体出发,进行43项目管理--软件成本估算概述课件44这种方法的优点是估算工作量小,速度快。缺点是对项目中的特殊困难估计不足,估算出来的成本盲目性大,有时会遗漏被开发软件的某些部分。这种方法的优点是估算工作量小,速度快。45自底向上的估计法这种方法的主要思想是把待开发的软件细分,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发的总工作量。它的优点是估算各个部分的准确性高。缺点是缺少各项子任务之间相互联系所需要的工作量,还缺少许多与软件开发有关的系统级工作量.自底向上的估计法这种方法的主要思想是把待开发的软件细分,直到46差别估计法这种方法综合了上述两种方法的优点,其主要思想是把待开发的软件项目与过去已完成的软件项目进行类比,从其开发的各个子任务中区分出类似的部分和不同的部分。类似的部分按实际量进行计算,不同的部分则采用相应方法进行估算。这种的方法的优点是可以提高估算的准确程度,缺点是不容易明确“类似”的界限。差别估计法这种方法综合了上述两种方法的优点,其主要思想是把待47专家判定技术由多位专家进行成本估算单独一位专家可能会有种种偏见,譬如有乐观的、悲观的、要求在竞争中取胜的、让大家都高兴的种种愿望及政治因素等。最好由多位专家进行估算,取得多个估算值。有多种方法把这些估算值合成一个估算值。专家判定技术由多位专家进行成本估算48一种方法是简单地求各估算值的中值或平均值。其优点是简便。缺点是可能会由于受一、二个极端估算值的影响而产生严重的偏差。一种方法是召开小组会,使各位专家们统一于或至少同意某一个估算值。优点是可以摈弃蒙昧无知的估算值,缺点是一些组员可能会受权威或政治因素的影响。
一种方法是简单地求各估算值的中值或平均值。其优点是简便。缺点49Deiphi技术标准Deiphi技术
①组织者发给每位专家一份软件系统规格说明书和一张记录估算值的表格,请他们进行估算。
②专家详细研究软件规格说明书的内容,对该软件提出三个规模的估算值,即:
ai(最小)mi(可能)bi(最大)
无记名地填写表格Deiphi技术标准Deiphi技术
①组织者发给每位专家50
在填表的过程中,专家互相不进行讨论但可以向组织者提问。
③组织者对专家们填在表格中的答复进行整理:
a.计算各位专家估算的期望值Ei;
b.对专家的估算结果分类摘要。
专家对此估算值另做一次估算。
④在综合专家估算结果的基础上,组织专家再次无记名地填写表格。比较两次估算的结果。若差异很大,则要通过查询找出差异的原因。在填表的过程中,专家互相不进行讨论但可以向组织者提问。51
⑤上述过程可重复多次。最终可获得一个得到多数专家共识的软件规模(源代码行数)。在此过程中不得进行小组讨论。最后,通过与历史资料进行类比,根据过去完成软件项目的规模和成本等信息,推算出该软件每行源代码所需要的成本。然后再乘以该软件源代码行数的估算值,就可得到该软件的成本估算值。⑤上述过程可重复多次。最终可获得一个得到多数专家共识的软52软件开发成本估算的经验模型软件开发成本估算是依据开发成本估算模型进行估算的。开发成本估算模型通常采用经验公式来预测软件项目计划所需要的成本、工作量和进度数据。用以支持大多数模型的经验数据都是从有限的一些项目样本中得到的。还没有一种估算模型能够适用于所有的软件类型和开发环境。软件开发成本估算的经验模型软件开发成本估算是依据开发成本估算53IBM模型
E=5.2×L0.91D=4.1×L0.36=14.47×E0.35S=0.54×E0.6DOC=49×L1.01L是源代码行数(KLOC),E是工作量(PM),D是项目持续时间(月),S是人员需要量(人),DOC是文档数量(页)。IBM模型E=5.2×L0.9154IBM模型是静态单变量模型。在此模型中,一般指一条机器指令为一行源代码。一个软件的源代码行数不包括程序注释、作业命令、调试程序在内。对于非机器指令编写的源程序,例如汇编语言或高级语言程序,应转换成机器指令源代码行数来考虑。定义:转换系数=机器指令条数/非机器语言执行步数。IBM模型是静态单变量模型。55转换系数表转换系数表56Putnam模型Putnam模型是一种动态多变量模型。适用于大型项目,但也可以应用在一些较小的软件项目中。它是假定在软件开发的整个生存期中工作量有特定的分布。大型软件项目的开发工作量分布可以用Rayleigh-Norden曲线表示。这个曲线把已交付的源代码行数与工作量和开发时间联系起来。Putnam模型Putnam模型是一种动态多变量模型。适用于57项目管理--软件成本估算概述课件58用Rayleigh-Norden曲线可以导出一个“软件方程”td
是开发持续时间(年),K是软件开发与维护在内的整个生存期所花费的工作量(人年),L是源代码行数(LOC),Ck是技术状态常数,因开发环境而异。用Rayleigh-Norden曲线可以导出一个“软件方程”59技术状态常数Ck的取值技术状态常数Ck的取值60COCOMO模型(COnstructiveCOstMOdel)结构型成本估算模型是一种精确、易于使用的成本估算方法。在该模型中使用的基本量有以下几个:DSI(源指令条数)定义为代码的源程序行数。若一行有两个语句,则算做一条指令。它包括作业控制语句和格式语句,但不包括注释语句。KDSI=1000DSI。COCOMO模型(COnstructiveCOstMO61MM(度量单位为人月)表示开发工作量。TDEV(度量单位为月)表示开发进度。它由工作量决定。软件开发项目的分类
软件开发项目的总体类型:组织型嵌入型半独立型MM(度量单位为人月)表示开发工作量。62COCOMO模型的分类
COCOMO模型按其详细程度分成三级:基本COCOMO模型中间COCOMO模型详细COCOMO模型基本COCOMO模型是一个静态单变量模型,它用源代码行数(LOC)为自变量的(经验)函数来计算软件开发工作量。COCOMO模型的分类
COCOMO模型按其详细程度分成三级63中间COCOMO模型则在用LOC为自变量的函数计算软件开发工作量(此时称为名义工作量)的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作量的估算。详细COCOMO模型包括中间COCOMO模型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中每一步骤(分析、设计等)的影响。中间COCOMO模型则在用LOC为自变量的函数计算软件开发工64基本COCOMO模型基本COCOMO模型的工作量和进度公式
基本COCOMO模型基本COCOMO模型的工作量和进度公式
65中间COCOMO模型进一步考虑15种影响软件工作量的因素,通过定下乘法因子,修正COCOMO工作量公式和进度公式,可以更合理地估算软件(各阶段)的工作量和进度。中间COCOMO模型的名义工作量与进度公式如下所示。中间COCOMO模型进一步考虑15种影响软件工作量的因素,通66中间COCOMO模型的名义工作量与进度公式中间COCOMO模型的名义工作量6715种影响软件工作量的因素
fi产品因素:软件可靠性、数据库规模、产品复杂性硬件因素:执行时间限制、存储限制、虚拟机易变性、环境周转时间人的因素:分析员能力、应用领域实际经验、程序员能力、虚拟机使用经验、程序语言使用经验项目因素:现代程序设计技术、软件工具的使用、开发进度限制15种影响软件工作量的因素fi产品因素:软件可靠性、数据库68项目管理--软件成本估算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026宁夏教育厅招聘教研员8人笔试模拟试题及答案解析
- 2026福建医科大学附属医院招聘41人笔试参考题库及答案解析
- 2026年3月江苏扬州市教育系统事业单位招聘教师5人笔试备考试题及答案解析
- 2026年南充科技职业学院单招综合素质考试题库有答案详细解析
- 2026上海复旦大学彭慧胜院士团队招聘物理相关背景博士后笔试模拟试题及答案解析
- 中建安装南京公司2026届春季校园招聘笔试模拟试题及答案解析
- 2026四川广安市中医医院招聘12人笔试备考试题及答案解析
- 2026内蒙古包头市昆都仑区青年志愿者协会招聘见习岗位人员20人笔试参考题库及答案解析
- 2026年郑州市郑盐盐业集团有限公司招聘一批工作人员笔试备考试题及答案解析
- 2026届江苏省无锡市南长实验中学初三下学期期末考试(英语试题理)试题含解析
- 2026浙江温州市公安局招聘警务辅助人员42人笔试参考题库及答案解析
- 2026广东茂名市公安局招聘警务辅助人员67人考试参考题库及答案解析
- 2026年希望杯IHC全国赛二年级数学竞赛试卷(S卷)(含答案)
- 中国抗真菌药物临床应用指南(2025年版)
- 2025-2026 学年下学期八年级英语下册教学计划
- 幼儿园春季育儿知识分享:守护成长健康同行
- 2026年六安职业技术学院单招职业适应性考试题库附答案详解(预热题)
- 2025年安徽审计职业学院单招职业适应性测试试题及答案解析
- 2026年春节后复工复产“开工第一课”安全生产培训课件
- 2025年西南计算机有限责任公司招聘笔试真题
- 2026常德烟草机械有限责任公司招聘35人笔试参考题库及答案解析
评论
0/150
提交评论