ch05-工作量估算.ppt
- 文档编号:2643712
- 上传时间:2022-11-04
- 格式:PPT
- 页数:63
- 大小:1.10MB
ch05-工作量估算.ppt
《ch05-工作量估算.ppt》由会员分享,可在线阅读,更多相关《ch05-工作量估算.ppt(63页珍藏版)》请在冰豆网上搜索。
第五讲:
软件工作量估算第五讲:
软件工作量估算过于乐观的进度计划过于乐观的进度计划nMicrosoftWord1.0开开发n包含包含249,000行代行代码,投入,投入660人月,人月,前后前后历时5年,年,实际花花费为预期期时间的的5倍。
倍。
软件估算特点软件估算特点不确定性问题不确定性问题n客客户会要求会要求X功能功能吗?
n客客户要的是要的是X功能的便宜版本功能的便宜版本还是昂是昂贵版本?
同一功能版本?
同一功能的不同版本的的不同版本的实施施难度至少有度至少有10%的差的差别。
n如果如果实施了施了X功能的便宜版本,客功能的便宜版本,客户会不会以后又想要会不会以后又想要昂昂贵的版本?
的版本?
nX功能如何功能如何设计?
同一功能的不同?
同一功能的不同设计,在复,在复杂度方面度方面会有会有10%左右的差左右的差别。
nX功能的功能的质量差量差别是什么?
根据是什么?
根据实施施过程的不同,首次程的不同,首次提交的提交的X功能的缺陷数量会有功能的缺陷数量会有10%的差异。
的差异。
n调试和和纠正正X功能功能实施施过程中的程中的错误要花多少要花多少时间?
研?
研究究发现调试和和纠正同正同样的的错误,不同程序,不同程序员所花所花费的的时间会有会有10%左右的差异。
左右的差异。
n把把X功能和其它功能功能和其它功能结合起来要花合起来要花费多少多少时间?
n软件估算的特点软件估算的特点渐进性渐进性n必需随着必需随着项目的目的进行行调整估整估计。
软件估算的特点软件估算的特点准确性和精确准确性和精确性性n准确准确(accuracy)是是结果与目果与目标之之间有多近有多近。
n用用3代表代表圆周率比周率比4更准确。
更准确。
n精确精确(precision)是是结果有多少有意果有多少有意义的位数的位数。
n3.14比比3代表代表圆周率更精确。
周率更精确。
n一个一个结果可以不准确而精确,不精确而准确。
果可以不准确而精确,不精确而准确。
n软件估算中件估算中错误的精确是准确的的精确是准确的敌人人n40-70个人月的工作量估算可能是最准确而又最精个人月的工作量估算可能是最准确而又最精确的估算,而精确到确的估算,而精确到55人月看起来更精确,但不准人月看起来更精确,但不准确。
确。
软件工作量估算软件工作量估算困难困难n估算困估算困难是由于是由于软件的本件的本质带来的,特来的,特别是其是其复复杂性和不可性和不可见性。
性。
n软件开件开发是人力密集型的工作,因而不能以机是人力密集型的工作,因而不能以机械的械的观点来看待。
点来看待。
n传统的工程的工程项目目经常会以相近的常会以相近的项目做参考,目做参考,不同的只是客不同的只是客户和地点,而和地点,而绝大部分大部分软件件项目目是独一无二的。
是独一无二的。
n缺少缺少项目目经验的数据,的数据,许多多组织无法提供原有无法提供原有项目的数据,而即使提供了目的数据,而即使提供了这些数据,也未必些数据,也未必非常有用。
非常有用。
工作量估算的其它困难工作量估算的其它困难n某些人某些人试图建立一个建立一个过去去项目的全目的全软件件业的数的数据据库,但是,但是许多多词汇意意义的不明确使得的不明确使得这种努种努力没有效果,例如力没有效果,例如“测试”阶段究竟包含哪些段究竟包含哪些活活动就不明确。
就不明确。
n估估计的主的主观性性:
人:
人们容易低估小容易低估小项目的工作量,目的工作量,而而过分夸大大分夸大大项目的工作量。
目的工作量。
n估估计的角色因素的角色因素:
不同的人有不同的目:
不同的人有不同的目标,如,如项目目经理会高估理会高估项目的工作量。
目的工作量。
许多机构采用多机构采用独立的估算小独立的估算小组,但是将,但是将项目目经理和理和项目成目成员吸收吸收进估算小估算小组,能,能够增增强他他们的的责任感。
任感。
在何处进行估计?
在何处进行估计?
n策略策略计划:
划:
选择合适的合适的项目目n可行性分析:
可行性分析:
n系系统需求分析:
需求分析:
实现各个需求的工作量需要被各个需求的工作量需要被衡量。
衡量。
n评估供估供应商的建商的建议n项目目计划:
划:
n项目目进行行过程中,估算越来越准确(估算的程中,估算越来越准确(估算的渐进性)性)n在在项目的开始目的开始阶段考段考虑的是用的是用户的需求,不考的需求,不考虑实现,但是,但是为了估算,有了估算,有时需要考需要考虑一些一些实现的方法。
的方法。
过高估计和过低估计的问题过高估计和过低估计的问题n过高估高估计的的问题nParkingson法法则:
给的的时间越多,工作花越多,工作花费的的时间越多。
越多。
nBrooks法法则:
当人数增加后,:
当人数增加后,项目所需的工作量目所需的工作量将不成比例的增加。
当将不成比例的增加。
当团队规模模变大以后,由于管大以后,由于管理、理、协调和通信的增加,将造成工作量的增加。
因和通信的增加,将造成工作量的增加。
因而,而,“投入更多的人将使延期的投入更多的人将使延期的项目更加延期目更加延期”n过低估低估计的的问题n质量降低量降低nWeinberg的可靠性零法的可靠性零法则:
如果系:
如果系统不必可靠,不必可靠,那么它可以那么它可以满足任何目足任何目标。
工作量估算对员工的影响工作量估算对员工的影响n如果如果职员能能够完成目完成目标,那么他,那么他们将受到鼓将受到鼓舞舞n如果他如果他们发现目目标根本不能完成,那么他根本不能完成,那么他们的激情将受到极大的的激情将受到极大的损害害n如果如果软件开件开发成本估算成本估算误差在差在该项目工作估目工作估算理想成本估算的算理想成本估算的20以内,那么以内,那么优秀的秀的经理就能将其理就能将其变成自我成自我实现的的预言!
言!
BarryBohemn因而,估因而,估计不是一个不是一个简单的的预测行行为,而是,而是一种管理的目一种管理的目标。
n工作量估工作量估计不不仅仅是技是技术问题软件估算的基础(软件估算的基础
(1)n历史数据的需要史数据的需要n在参考在参考历史数据的史数据的时候需要考候需要考虑不同的不同的环境,境,如如编程程语言、言、软件工具、件工具、标准和人准和人员的的经验。
n工作的度量工作的度量n直接直接计算真正的成本或算真正的成本或时间是不可能的。
是不可能的。
编写程序的写程序的时间不同的人将有不同的人将有显著的区著的区别。
n通常将工作量表达通常将工作量表达为源代源代码的数量的数量(sourcelineofcode,SLOC)或者千行)或者千行代代码量(量(KLOC)n复复杂性:
性:
递归程序程序Vs.图形用形用户界面界面基于承诺的估计基于承诺的估计n一些一些组织直接从需求出直接从需求出发,安排,安排进度而不度而不进行行中中间的工作量估的工作量估计。
他。
他们要求每个开要求每个开发者做出者做出进度承度承诺而非而非进度估度估计。
n有利于开有利于开发者者对进度的关注,开度的关注,开发者在接受承者在接受承诺后士气高后士气高涨,自愿加班加点。
,自愿加班加点。
n问题在于开在于开发者的估算比者的估算比较乐观,大,大约低估低估20%30%(VanCenuchten,1991)n承承诺应该现实可行,以使你的可行,以使你的团队不断成功而不断成功而不是不断失不是不断失败。
软件工作量估计的方法软件工作量估计的方法n软件工作量估算的方法件工作量估算的方法n自底向上的方法自底向上的方法n自自顶向下的方法向下的方法n差差别估算法估算法自底向上方法自底向上方法n该方法首先将方法首先将项目分成部件任目分成部件任务,然后估算每,然后估算每个任个任务所需的工作量所需的工作量.n在大型的在大型的项目中,分解任目中,分解任务的的过程是一个迭代程是一个迭代的的过程,直到最下面的任程,直到最下面的任务不可分解,不可分解,产生生WBS。
n该方法适合于方法适合于项目目规划的后期。
如果划的后期。
如果应用在前用在前期,那么必期,那么必须对最最终系系统作出一些假作出一些假设,例如,例如对软件模件模块的数量和大小的数量和大小进行假行假设。
n如果如果项目是全新的或者没有目是全新的或者没有历史数据,建史数据,建议用用该方法。
方法。
练习练习n工工资系系统已已经被安装在被安装在Brightmouth学学院,目前有一个新的需求,需要在系院,目前有一个新的需求,需要在系统中添加一个子系中添加一个子系统,该系系统分析每分析每节课时老老师的成本。
每个老的成本。
每个老师的工的工资可以从可以从系系统中中获得,每个老得,每个老师的在每个的在每个课程上程上的的时间也可以从系也可以从系统中中获得。
得。
n为了了实现该系系统,需要哪些任,需要哪些任务,哪些,哪些任任务的工作量比的工作量比较难计算。
算。
n可能的活可能的活动包括:
包括:
n获取用取用户的需求的需求n分析系分析系统中已有的数据中已有的数据结构构n设计报表和表和编写用写用户建建议书n编写写测试计划划n编写写软件件规格格说明明书n编写写软件件n测试软件件n编写操作写操作说明明书n执行行验收收测试n最最难估估计的任的任务通常是通常是对要要产生生软件的件的规模和复模和复杂程程度最有影响的活度最有影响的活动:
n设计、编码和和测试。
n由于上述原因,由于上述原因,软件件规格格说明明书的的编写也比写也比较困困难自顶向下方法自顶向下方法n自自顶向下方法和参数化模型向下方法和参数化模型n一般采用一般采用对比方法确定比方法确定总的工作量的工作量n对比是建立在一系列参数的基比是建立在一系列参数的基础上,通上,通过这些些参数可以参数可以计算出新系算出新系统的工作量。
的工作量。
n形式形式n工作量工作量=系系统规模模生生产率率n例如系例如系统规模可以用模可以用KLOC来来计算,生算,生产率以率以40天天/KLOCn预测软件开件开发工作量的模型有两个部分,第一部分工作量的模型有两个部分,第一部分为估算估算软件大小,第二部分件大小,第二部分为估算工作效率估算工作效率差别估算方法差别估算方法n将待开将待开发项目与目与过去已完成去已完成项目相比目相比较,通通过估算每个不同之估算每个不同之处对项目成本的影目成本的影响,响,导出出项目的目的总成本。
成本。
软件工作量估算的技术软件工作量估算的技术n软件工作量估算的技件工作量估算的技术n专家判断家判断n类比估比估计n算法模型算法模型nParkinson:
能:
能够使用的参与使用的参与该项目的人力目的人力n赢利价格:
利价格:
赢得合同的价格(成本的得合同的价格(成本的预算依算依靠靠预算而不是算而不是软件功能)件功能)专家判断专家判断n具有具有应用用领域或者开域或者开发环境知境知识的人的人员对任任务的的评估估n该方法特方法特别是在是在对原有系原有系统进行替行替换时有用。
有用。
评估者估者对影响的代影响的代码的比例的比例进行行分析,从而得到工作量的估算。
分析,从而得到工作量的估算。
专家估算法专家估算法-Delphi-Delphiq组织者者发给每位每位专家一份家一份软件系件系统的的规格格说明明和一和一张记录估算估算值的表格,的表格,请他他们估算估算q专家家详细研究研究软件件规格格说明后,明后,对该软件提出件提出33个个规模的估算模的估算值q最小最小aiaiq最可能的最可能的mimiq最大最大bibiq组织者者对专家的表格中的答复家的表格中的答复进行整理行整理q计算每位算每位专家的家的EiEi=(ai+4mi+bi)/6=(ai+4mi+bi)/6专家估算法专家估算法-Delphi(-Delphi(续续)q综合合结果后果后:
E=E1+E2+E=E1+E2+En/nEn/n(N:
N:
表示表示NN个个专家)家)q比比较估算差,并估算差,并查找原因找原因q如果各个如果各个专家的估算差异超出家的估算差异超出规定的范定的范围(例如:
(例如:
15%15%),),则需重复上述需重复上述过程程,最,最终可以可以获得一个多数得一个多数专家共家共识的的软件件规模模专家估算法专家估算法-举例举例q某多媒体信息某多媒体信息查询系系统专家估算家估算q专家家11:
189=189=(1+9+4*8)/6=7(1+9+4*8)/6=7(万元)(万元)q专家家22:
468=468=(4+8+4*6)/6=6
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ch05 工作量 估算
![提示](https://static.bdocx.com/images/bang_tan.gif)