欢迎来到天天文库
浏览记录
ID:51476374
大小:148.50 KB
页数:38页
时间:2020-03-23
《项目管理--软件成本估算概述.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、软件工程软件开发成本估算软件开发成本估算软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价。它不包括原材料和能源的消耗,主要是人的劳动的消耗。人的劳动消耗所需代价就是软件产品的开发成本。软件产品开发成本的计算方法不同于其它物理产品成本的计算。软件的开发成本是以一次性开发过程所花费的代价来计算的。软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、组装测试到确认测试,整个软件开发全过程所花费的代价作为依据的。软件开发成本估算方法对于一个大型的软件项目,由于项目的复杂性,开发成本的估算不
2、是一件简单的事,要进行一系列的估算处理。主要靠分解和类推。基本估算方法分为三类。自顶向下的估算方法自底向上的估计法差别估计法自顶向下的估算方法这种方法的主要思想是从项目的整体出发,进行类推。估算人员根据以前已完成项目所消耗的总成本(或总工作量),推算将要开发的软件的总成本(或总工作量),然后按比例将它分配到各开发任务单元中去,再来检验它是否能满足要求。这种方法的优点是估算工作量小,速度快。缺点是对项目中的特殊困难估计不足,估算出来的成本盲目性大,有时会遗漏被开发软件的某些部分。自底向上的估计法这种方法的主要思
3、想是把待开发的软件细分,直到每一个子任务都已经明确所需要的开发工作量,然后把它们加起来,得到软件开发的总工作量。它的优点是估算各个部分的准确性高。缺点是缺少各项子任务之间相互联系所需要的工作量,还缺少许多与软件开发有关的系统级工作量.差别估计法这种方法综合了上述两种方法的优点,其主要思想是把待开发的软件项目与过去已完成的软件项目进行类比,从其开发的各个子任务中区分出类似的部分和不同的部分。类似的部分按实际量进行计算,不同的部分则采用相应方法进行估算。这种的方法的优点是可以提高估算的准确程度,缺点是不容易明确“
4、类似”的界限。专家判定技术由多位专家进行成本估算单独一位专家可能会有种种偏见,譬如有乐观的、悲观的、要求在竞争中取胜的、让大家都高兴的种种愿望及政治因素等。最好由多位专家进行估算,取得多个估算值。有多种方法把这些估算值合成一个估算值。一种方法是简单地求各估算值的中值或平均值。其优点是简便。缺点是可能会由于受一、二个极端估算值的影响而产生严重的偏差。一种方法是召开小组会,使各位专家们统一于或至少同意某一个估算值。优点是可以摈弃蒙昧无知的估算值,缺点是一些组员可能会受权威或政治因素的影响。Deiphi技术标准De
5、iphi技术①组织者发给每位专家一份软件系统规格说明书和一张记录估算值的表格,请他们进行估算。②专家详细研究软件规格说明书的内容,对该软件提出三个规模的估算值,即:ai(最小)mi(可能)bi(最大)无记名地填写表格在填表的过程中,专家互相不进行讨论但可以向组织者提问。③组织者对专家们填在表格中的答复进行整理:a.计算各位专家估算的期望值Ei;b.对专家的估算结果分类摘要。专家对此估算值另做一次估算。④在综合专家估算结果的基础上,组织专家再次无记名地填写表格。比较两次估算的结果。若差异很大,则
6、要通过查询找出差异的原因。⑤上述过程可重复多次。最终可获得一个得到多数专家共识的软件规模(源代码行数)。在此过程中不得进行小组讨论。最后,通过与历史资料进行类比,根据过去完成软件项目的规模和成本等信息,推算出该软件每行源代码所需要的成本。然后再乘以该软件源代码行数的估算值,就可得到该软件的成本估算值。软件开发成本估算的经验模型软件开发成本估算是依据开发成本估算模型进行估算的。开发成本估算模型通常采用经验公式来预测软件项目计划所需要的成本、工作量和进度数据。用以支持大多数模型的经验数据都是从有限的一些项目样本中
7、得到的。还没有一种估算模型能够适用于所有的软件类型和开发环境。IBM模型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模型是静态单变量模型。在此模型中,一般指一条机器指令为一行源代码。一个软件的源代码行数不包括程序注释、作业命令、调试程序在内。对于非机器指令编写的源程序,例如汇编语言或高级语言程序,应转换成机器指令源代码
8、行数来考虑。定义:转换系数=机器指令条数/非机器语言执行步数。转换系数表Putnam模型Putnam模型是一种动态多变量模型。适用于大型项目,但也可以应用在一些较小的软件项目中。它是假定在软件开发的整个生存期中工作量有特定的分布。大型软件项目的开发工作量分布可以用Rayleigh-Norden曲线表示。这个曲线把已交付的源代码行数与工作量和开发时间联系起来。用Rayleigh-Norden曲线可以导
此文档下载收益归作者所有