《软件估算讲义》PPT课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《软件估算讲义》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《软件估算讲义》PPT课件.ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六讲第六讲软件估算软件估算软件估算Software EstimationSoftware EstimationInputInput:需求说明书 系统设计 对象设计 变更请求OutputOutput:软件规模 工作量 进度 The Software-Estimation StoryEstimation-Process OverviewSize EstimationEffort EstimationSchedule EstimationEstimate RefinementSoftware EstimationSoftware Estimation软件估算软件估算定义定义 估算的通常定义:对未来
2、事实非零可能性的最乐观的预测。软件项目估算是指以准确的调查资料和项目信息(如人员和设备信息)为依据,从估算对象的历史,现状及其规律性出发,运用科学的方法,对估算对象的规模,所需工作量和成本进行的测定。Software EstimationSoftware Estimation介绍介绍 有些估算做的很仔细,而有些却只是凭直觉的猜测。大多数项目超过估算进度25%到100%,但也有少数一些组织的进度估算准确到10%以内,能控制在5%之内的还没有听说(Jones,1994)。Software EstimationSoftware Estimation介绍介绍 软件项目估算是项目计划的依据,但是大多数软
3、件开发组织没有意识到软件估算的重要性。调查结果表明:n35%的组织没有对软件开发的成本和时间作估算。n50%的组织没有记录任何正在进行的项目的相关数据。n57%的组织没有使用成本会计。n80%的项目在成本或时间上超出预算。n超出成本和时间的项目里仅有50%的是有意义的超出。n进行了成本估算的组织里,62%的组织是基于感觉和经验,仅仅16%的组织使用了正式的估算方法,如成本估算模型。Software EstimationSoftware EstimationCase Study案例案例 Carl负责负责Gaga-safe公司库存控制系统公司库存控制系统1.0版本的开发(版本的开发(ICS),在参
4、加项目监督委员会第),在参加项目监督委员会第一次会议的时候,他对期望的功能已经有了总体设想。一次会议的时候,他对期望的功能已经有了总体设想。Bill是监督委员会的领导,他问:是监督委员会的领导,他问:“Carl,ICS1.0需要多长时间?需要多长时间?”Carl回答:回答:“大概要大概要9个月个月,不过这只是粗略的估算。,不过这只是粗略的估算。”“不行,不行,”Bill说,说,“我真希望你说我真希望你说3或或4个月,我们一定要在个月,我们一定要在6个月个月内拿出系统,能完成内拿出系统,能完成吗?吗?”“我不能肯定,我不能肯定,”Carl坦白地说,坦白地说,“我还得仔细研究一下,不过我相信可以找
5、到办法在我还得仔细研究一下,不过我相信可以找到办法在6个月内完成。个月内完成。”“那么把那么把6个月当成项目完成的目标,个月当成项目完成的目标,”Bill说,说,“无论如何我们都必须这样做。无论如何我们都必须这样做。”委员委员会的其他人一致同意了这个决定。会的其他人一致同意了这个决定。到第五周的时候,又增加了一些产品概要设计工作,这使到第五周的时候,又增加了一些产品概要设计工作,这使Carl更确信项目的时间更接更确信项目的时间更接近近9个月而非个月而非6个月,然而他还是认为运气好的话有可能在个月,然而他还是认为运气好的话有可能在6个月内完成项目。他不想被看作个月内完成项目。他不想被看作惹麻烦的
6、人,所以决定等等再说。惹麻烦的人,所以决定等等再说。凭直觉的项目估算 Software EstimationSoftware EstimationCase Study案例(续)案例(续)Carl的团队努力地工作着,进展稳定,但需求分析的时间比期望的要长。预定的团队努力地工作着,进展稳定,但需求分析的时间比期望的要长。预定6个月要个月要完成的项目已经过去完成的项目已经过去4个月了。个月了。“2个月无论如何也做不完剩下的工作。个月无论如何也做不完剩下的工作。”他只好告诉他只好告诉Bill,项目需要延长项目需要延长2个月,总共需要个月,总共需要8个月个月时间。时间。几个星期后几个星期后Carl意识到
7、设计进度也不像期望的那么快。意识到设计进度也不像期望的那么快。“先做容易的部分,先做容易的部分,”他告诉他告诉项目组成员,项目组成员,“其余的部分遇到时再考虑。其余的部分遇到时再考虑。”Carl再次向监督委员会汇报:再次向监督委员会汇报:“8个月的项目已经过去个月的项目已经过去7个月,详细设计基本完成,工作个月,详细设计基本完成,工作卓有成效,但是卓有成效,但是8个月内还是无法完成。个月内还是无法完成。”Carl通报了第通报了第2次进度拖延,并将完成时间定为次进度拖延,并将完成时间定为10个月个月。Bill对拖延产生了抱怨,并要求对拖延产生了抱怨,并要求Carl想办法仍将进度安排在想办法仍将进
8、度安排在8个月左右。个月左右。第第9个月,项目组完成了详细设计,但部分模块的编码还没有开始。个月,项目组完成了详细设计,但部分模块的编码还没有开始。Carl第第3次要求要次要求要求延期求延期12个月个月。Bill?编码进行顺利,但一些地方需要重新设计和重新实现,而这些地方项目组没有把详细编码进行顺利,但一些地方需要重新设计和重新实现,而这些地方项目组没有把详细设计调整好,一些实现过程相互冲突。在第设计调整好,一些实现过程相互冲突。在第11个月的项目监督委员会上,个月的项目监督委员会上,Carl宣布了第宣布了第4次次项目延期项目延期13个月个月。Bill?结果?结果?凭直觉的项目估算 Softw
9、are EstimationSoftware EstimationThe Software-Estimation Story软件估算与建筑预算软件估算与建筑预算一年的时间建这样一幢房子一年的时间建这样一幢房子?没问题!?没问题!太好了,那我们赶快开工吧!太好了,那我们赶快开工吧!软件与建筑 Software EstimationSoftware EstimationThe Software-Estimation Story软件估算软件估算 软件开发是一个改进的过程 盖一幢房子要花多少钱呢?这取决于房子本身。一个新盖一幢房子要花多少钱呢?这取决于房子本身。一个新的计费系统要花多少钱呢?这也取决于
10、计费系统本身!的计费系统要花多少钱呢?这也取决于计费系统本身!一些组织希望在需求定义投入前就把成本估算的误差一些组织希望在需求定义投入前就把成本估算的误差控制在控制在10%10%以内,尽管项目估算的精确程度越早达到越好,以内,尽管项目估算的精确程度越早达到越好,但理论上是不可能实现的。如果真能那么早实现,精确度但理论上是不可能实现的。如果真能那么早实现,精确度可以控制在可以控制在2%2%以内。以内。软件开发是一个逐步细化的过程,在每个阶段,都可软件开发是一个逐步细化的过程,在每个阶段,都可能做出影响最终项目成本与进度的决策。能做出影响最终项目成本与进度的决策。Software Estimati
11、onSoftware EstimationThe Software-Estimation Story软件估算软件估算 可能细化的数量 估估算算收收敛敛图图初始的产品定义批准的产品定义需求说明书产品设计说明书详细设计说明书产品完工项目成本项目成本(工作量和成本)(工作量和成本)项目进度项目进度1.0 x1.0 x4.0 x2.0 x1.5x1.25x0.8x0.67x0.5x0.25x1.6x1.25x1.15x1.1x0.9x0.85x0.8x0.6xSoftware EstimationSoftware EstimationThe Software-Estimation Story软件估算软
12、件估算 可能细化的数量 基于项目阶段的估算误差系数工作量和规模工作量和规模进度进度阶段阶段乐观乐观悲观悲观乐观乐观悲观悲观初始产品定义0.254.00.601.60批准的产品定义0.502.00.801.25需求说明书0.671.500.851.15产品设计说明书0.801.250.901.10详细设计说明书0.901.100.951.05Software EstimationSoftware EstimationThe Software-Estimation Story软件估算软件估算 估算与控制 功能资源功能资源项目的演变项目的演变项目的演变项目的演变产品产品规模规模产品产品规模规模功能趋
13、于与可用的资源相匹配功能趋于与可用的资源相匹配资源趋于与想得到的功能相匹配资源趋于与想得到的功能相匹配期望的功能与可用的资源期望的功能与可用的资源 大多数软件项目在开始时,期望的功能与可用的资源之间不匹配,但随着项大多数软件项目在开始时,期望的功能与可用的资源之间不匹配,但随着项目的进展,功能或资源(或两者)必定要互相匹配目的进展,功能或资源(或两者)必定要互相匹配Software EstimationSoftware EstimationThe Software-Estimation Story软件估算软件估算 合作 表达你合作的意愿 估算既不要过高也不要过低,应该正好与费用相符。估算的目标
14、是寻找估算与实际情况的交汇点。精确与准确:航班时刻通常精确到分,但不准确。可能的最短软件开发进度是通过建立最可能的准确估算而不是最精确的估算达到的。如果想获得最快的开发速度,就要避免错误的精确。Software EstimationSoftware Estimation软件估算步骤软件估算步骤1.确定软件范围2.确定工作所需资源3.确定估算内容4.估算改进Software EstimationSoftware Estimation确定软件范围确定软件范围确定软件估算范围,就是确定目标软件的数据和控制,功能,性能,约束,接口以及可靠性。软件估算步骤软件估算步骤Software Estimatio
15、nSoftware Estimation确定工作所需资源确定工作所需资源功能资源功能资源项目的演变项目的演变项目的演变项目的演变产品产品规模规模产品产品规模规模功能趋于与可用的资源相匹配功能趋于与可用的资源相匹配资源趋于与想得到的功能相匹配资源趋于与想得到的功能相匹配期望的功能与可用的资源期望的功能与可用的资源 大多数软件项目在开始时,期望的功能与可用的资源之间不匹配,但随着项大多数软件项目在开始时,期望的功能与可用的资源之间不匹配,但随着项目的进展,功能或资源(或两者)必定要互相匹配目的进展,功能或资源(或两者)必定要互相匹配软件估算步骤软件估算步骤Software EstimationSo
16、ftware Estimation确定工作所需资源确定工作所需资源可重用软件资源可分为以下几种:n可直接复用的构件n具有完全经验的构件n具有部分经验的构件能够从第三方厂商获得或已经在以前的项目中使用过的软件,这些构件已经经过验证及确认,且可以直接用在当前的项目中。、以前在类似项目中建立的规约,设计,代码或测试数据,在本项目中需做修改。、以前在类似项目中建立的规约,设计,代码或测试数据,在本项目中需做实质上的修改。软件估算步骤软件估算步骤Software EstimationSoftware Estimation确定估算内容确定估算内容 n规模估算n工作量估算n进度估算n成本估算n缺陷数估算软件
17、估算步骤软件估算步骤Software EstimationSoftware Estimation规模估算规模估算 n软件规模指的是非常普通意义上的软件总的范围。它包括功能集的深度和广度以及软件的难度和复杂性。n规模估算方法有以下几种:n用估算算法,如功能点方法,特征点,对象点,模糊逻辑,标准构件法,Delphi方法,PERT方法等。n用规模估算软件。n如果参与过类似的项目,并知道它的规模,那么按百分比形式估算新系统每个主要部分与旧系统相似部分的规模。每部分的规模加起来是总规模。软件估算步骤软件估算步骤Software EstimationSoftware Estimation工作量估算工作量估
18、算 n对软件所需的工作时间的估算,通常以人时,人天,人月,人年等单位来衡量。n工作量估算可以采用以下方法进行:使用估算软件直接从规模估算得出使用组织中的历史数据确定具有已估算规模的先前的项目花了多少工作量。使用COCOMO模型或其他模型将代码行估算转换成工作量估算。采用Delphi方法,PERT方法等直接进行工作量估算。软件估算步骤软件估算步骤Software EstimationSoftware Estimation进度估算进度估算 n进度估算是针对以阶段为单位的估算,进度以不同阶段的里程碑作为标志,而不是对每一个细小任务都加以估算,对任务的适当分解很重要,分解的越细反而会不准确。n进度估算
19、可以采用以下方法进行:采用经验法,或Delphi方法,PERT方法等直接进行工作量估算。使用组织中的历史数据。使用COCOMO算法或其他算法的进度估算步骤,提供一种更好的估算。基于承诺的进度表。即将任务分解后,由承担任务的项目组成员给出进度承诺,这种方法许多时候非常有效。软件估算步骤软件估算步骤Software EstimationSoftware Estimation进度估算方法进度估算方法 经验估算方法估算方法 月进度月进度=3.03.0*人月人月(1/3)(1/3)例:例:6565人月的工作量,进度人月的工作量,进度=3.0*65(1/3)=3.0*65(1/3)1.1.1212个月个月
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件估算讲义 软件 估算 讲义 PPT 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内