成本估算课件_第1页
成本估算课件_第2页
成本估算课件_第3页
成本估算课件_第4页
成本估算课件_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四讲-成本估算第四讲-成本估算1估算的目标生成一个简单的表,描述要完成的任务、要实现的功能、以及完成每一项所需的成本、工作量和时间。估算的目标生成一个简单的表,描述要完23、估算对估算的观察。项目策划过程。软件范围和可行性。资源。软件项目估算。分解技术。经验估算模型。面向对象项目估算特殊的估算技术。自行开发或购买的决策。3、估算对估算的观察。33、估算-对估算的观察估算是对未来的一种预测。有很大的不确定性。采用实用技术,对时间和工作量进行估算。估算是所有其他活动的基础。好的估算方法和可靠的历史数据提供了好的希望。估算的风险:取决于对资源、成本及进度的定量估算中存在的不确定性。采用现代软件工程的方法,可以在一定程度上接受用户需求的变更所带来的风险。3、估算-对估算的观察估算是对未来的一种预测。有很大的不确定43、估算-项目策划过程软件项目策划的目标是提供一个能使管理人员对资源、成本及进度做出合理估算的框架。3、估算-项目策划过程软件项目策划的目标是提供一个能使管理人5第四讲-成本估算课件63、估算-软件范围软件范围描述了将要交给最终用户的功能和特性、输入和输出的数据、使用软件时要呈现给用户的内容,以及界定系统的性能、约束条件、接口和可靠性。确定软件范围的方法:与所有相关人员交流之后,写出对软件范围的叙述性描述。由最终用户开发的一组用例。3、估算-软件范围软件范围描述了将要交给最终用户的功能和特性73、估算-软件可行性四个固定因素:技术:项目在技术上是可行的吗?它在技术水平范围内吗?能够将缺陷减少到一定程度而满足应用要求吗?经济:它在经济上可行吗?能以开发组织、客户或市场负担起的成本完成开发吗?时间:项目投入市场的时间可以击败竞争者吗?资源:组织拥有取得成功所需要的资源吗?3、估算-软件可行性四个固定因素:83、估算-资源人力资源。可复用软件资源。环境资源。3、估算-资源人力资源。9项目资源图项目资源图10对每种资源必须描述的特征1、资源的描述。2、可用性说明。3、何时需要该资源。4、使用资源的持续时间。对每种资源必须描述的特征1、资源的描述。113、估算-软件项目估算

软件成本和工作量的估算从来没有成为一门精确的科学。所以,一般是在一定的可接受的风险范围内的估算。把估算推迟到项目的后期进行。根据已完成的类似项目进行估算。使用比较简单的分解技术,生成项目的成本和工作量估算。使用一个或多个经验模型来进行软件成本和工作量的估算。3、估算-软件项目估算软件成本和工作量123、估算-分解技术软件估算是一种解决问题的形式,在多数情况下,要解决的问题非常复杂,不能作为一个整体考虑。因此,要针对问题进行分解,把它分解成一组小的问题,再定义他们的特性。软件规模估算。基于问题的估算。基于过程的估算。基于用例的估算。调和不同的估算方法。3、估算-分解技术软件估算是一种解决133、估算-分解技术-基于规模的估算

规模:是指软件项目可量化的结果。直接的方法是代码行技术,间接的方法是功能点技术。3、估算-分解技术-基于规模的估算规模:是指软件项目143、估算-分解技术-基于规模的估算四种不同方法:1、模糊逻辑:计划人员先确定应用类型,定性地确定其量级,然后在初始范围内在细化该量级。2、功能点法:计划人员对信息域进行估算。3、标准构件:项目计划人员估算每个标准构件出现的次数,再根据历史数据来确定每个标准构件交付时的规模。4、修改法:计划人员要估算必须完成修改的数量和类型。3、估算-分解技术-基于规模的估算四种不同方法:153、估算-分解技术-基于规模的估算采用LOC或FP方法之后,再采用三点估算法(期望值估算法)进行校正。S=(Sopt+4Sm+Spess)/6Sopt--乐观值。Sm--可能值。(遵循ß概率分布)Spess–悲观值。3、估算-分解技术-基于规模的估算采用LOC或FP方法之后,163、估算-分解技术-基于问题的估算代码行技术。任务估算技术。Delphi法。类比法。功能点估计法。PERT估计法。3、估算-分解技术-基于问题的估算代码行技术。17代码行技术LOC是指所有的可执行的源代码行数,包括可交付的语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。一代码行(1LOC)的价值和人月均代码行数可以体现一个软件生产组织的生产能力,开发组织可以根据对历史项目的审计来核算组织的单行代码价值。

L=(a+4m+b)/6;代码行技术LOC是指所有的可执行的源代码行数,包括可交付的语18任务估算技术

项目计划人员首先给出一个有界的软件范围的叙述,再由此叙述把软件分解成一些小的可分别独立进行估算的子功能。然后对每一个子功能估算其FP(即估算变量)。生产率度量(FP/PM)用做特定的估算变量,导出子功能的成本或工作量。将子功能的估算进行综合后就能得到整个项目的总估算。

计算公式:L=(a+4m+b)/6;任务估算技术19Delphi法Delphi法是最流行的专家估算法。是依靠一个或多个专家对项目做出估计,它要求专家具有专门知识和丰富的经验,是一种近似的猜测。向专家提供项目规格和估计表格。协调人召开专家讨论。各专家匿名填写估计表格。协调人整理估计表格,再将迭代表返回专家。协调人再次召开专家会,讨论较大的估计差异。专家重新填写估计表。重复4-6,直到达到一个最低和最高估计的一致。Delphi法Delphi法是最流行的专家估算法。是依靠一个20类比法将新项目与历史项目比较,估算出各功能的估计值。等价代码行=[(重新设计%+重新编码+重新测试)/3]*已有代码行类比法将新项目与历史项目比较,估算出各功能的估计值。213、估算-分解技术-基于过程的估算最通用的项目估算技术是根据将要采用的过程进行估算。即,将过程分解为一组较小的任务,并估算完成每个任务所需的工作量。具体方法:先抽取功能,在针对每个功能所必需的一系列框架活动;计算每个功能的持续时间和所需要的人数(不同级别的人的工资不同),就可以计算工作量和成本了。3、估算-分解技术-基于过程的估算最通用的项目估算技术是根据22第四讲-成本估算课件233、估算-分解技术-基于用例的估算建立基于用例的估算方法的困难:1、没有标准形式。2、用例表现的是软件的外部视图。3、用例没有标识它所描述的功能和特性的复杂性。4、用例没有描述出涉及很多功能和特性的复杂行为。3、估算-分解技术-基于用例的估算建立基于用例的估算方法的困243、估算-分解技术-基于用例的估算当一个大型系统按层次分解完成后,并要求每个层次由不超过10个用例,每个用例的场景不超过30个时,可以采用如下的经验公式:但是,最终还要落实到LOC或FP上。3、估算-分解技术-基于用例的估算当一个大型系统按层次分解完25基于用例估算的经验公式LOC估算=N*LOCavg+[(Sa/Sh-1)+(Pa/Ph-1)*LOCadjustN:实际用例数。LOCavg在这种类型的子系统中,每个用例包含的平均场景数。LOCadjust校正值。以LOCavg的n%来表示。Sa:每个用例实际包含的场景数。Sh:在这类子系统中,每个用例包含的平均场景数。Pa:每个用例的实际页数。Ph:在这类系统中,每个用例的平均页数。基于用例估算的经验公式LOC估算=263、估算--经验模型IBM模型。Putnam模型COCOMO模型(COnstructiveCostMOdel)3、估算--经验模型IBM模型。273、估算--经验模型--IBM模型1977年,IBM的Walston和Felix提出。估算公式:

E=5.2×L0.91

L是源代码行数。以KLOC计。E是工作量。以PM计。D=4.1×L0.36,D是项目持续时间(以月计)。S=0.54×E0.6,S是人员需要量(以人计)。DOC=49×L1.01。DOC是文档数量(以页计)。

在此模型中,一般指一条机器指令为一行源代码。一个软件的源代码行数不包括程序注释、作业命令、调试程序在内。对于非机器指令编写的源程序,如汇编语言或高级语言程序,应转换成机器指令源代码行数来考虑。3、估算--经验模型--IBM模型1977年,IBM的Wal283、估算--经验模型--

Putnam模型1978年Putnam对从美国军队计算机指挥系统的软件项目中收集到的数据分析而得的估算模型。Putnam模型是一个基于Norden-Rayleigh曲线的动态模型,在工作量、提交时间和程序规模之间有一个非线性的折中平衡功能。适用项目规模:30人年的项目。3、估算--经验模型--Putnam模型1978年Put29Putnam模型td是开发持续时间(以年计)。K是软件开发与维护在内的整个生存期所花费的工作量(以人年计)。L是源代码行数(以LOC计)。Ck是技术状态常数。Ck值开发环境2000差

8000好11000优Putnam模型td是开发持续时间(以年计)。Ck值303、估算--经验模型--COCOMO这是由TRW公司开发。Boehm提出的结构型成本估算模型,是一种精确、易于使用的成本估算方法。基本参数:DSI(源指令条数)KDSI=1000DSI。MM(度量单位为人月)。TDEV(度量单位为月)表示开发进度。3、估算--经验模型--COCOMO这是由TRW公司开发。31Putnam模型中Ck值Putnam模型中Ck值32效益分析案例一个公司实际项目预算审批流程:项目经理提出-部门经理审核-项目管理部审核-公司领导批准。各项控制指标:软件开发部门可控的费用:50%。与实际发生成本误差控制在±10%。公司管理费大约占20-30%。平均利润在30%左右。效益分析案例一个公司实际项目预算审批流程:33演讲完毕,谢谢观看!演讲完毕,谢谢观看!34第四讲-成本估算第四讲-成本估算35估算的目标生成一个简单的表,描述要完成的任务、要实现的功能、以及完成每一项所需的成本、工作量和时间。估算的目标生成一个简单的表,描述要完363、估算对估算的观察。项目策划过程。软件范围和可行性。资源。软件项目估算。分解技术。经验估算模型。面向对象项目估算特殊的估算技术。自行开发或购买的决策。3、估算对估算的观察。373、估算-对估算的观察估算是对未来的一种预测。有很大的不确定性。采用实用技术,对时间和工作量进行估算。估算是所有其他活动的基础。好的估算方法和可靠的历史数据提供了好的希望。估算的风险:取决于对资源、成本及进度的定量估算中存在的不确定性。采用现代软件工程的方法,可以在一定程度上接受用户需求的变更所带来的风险。3、估算-对估算的观察估算是对未来的一种预测。有很大的不确定383、估算-项目策划过程软件项目策划的目标是提供一个能使管理人员对资源、成本及进度做出合理估算的框架。3、估算-项目策划过程软件项目策划的目标是提供一个能使管理人39第四讲-成本估算课件403、估算-软件范围软件范围描述了将要交给最终用户的功能和特性、输入和输出的数据、使用软件时要呈现给用户的内容,以及界定系统的性能、约束条件、接口和可靠性。确定软件范围的方法:与所有相关人员交流之后,写出对软件范围的叙述性描述。由最终用户开发的一组用例。3、估算-软件范围软件范围描述了将要交给最终用户的功能和特性413、估算-软件可行性四个固定因素:技术:项目在技术上是可行的吗?它在技术水平范围内吗?能够将缺陷减少到一定程度而满足应用要求吗?经济:它在经济上可行吗?能以开发组织、客户或市场负担起的成本完成开发吗?时间:项目投入市场的时间可以击败竞争者吗?资源:组织拥有取得成功所需要的资源吗?3、估算-软件可行性四个固定因素:423、估算-资源人力资源。可复用软件资源。环境资源。3、估算-资源人力资源。43项目资源图项目资源图44对每种资源必须描述的特征1、资源的描述。2、可用性说明。3、何时需要该资源。4、使用资源的持续时间。对每种资源必须描述的特征1、资源的描述。453、估算-软件项目估算

软件成本和工作量的估算从来没有成为一门精确的科学。所以,一般是在一定的可接受的风险范围内的估算。把估算推迟到项目的后期进行。根据已完成的类似项目进行估算。使用比较简单的分解技术,生成项目的成本和工作量估算。使用一个或多个经验模型来进行软件成本和工作量的估算。3、估算-软件项目估算软件成本和工作量463、估算-分解技术软件估算是一种解决问题的形式,在多数情况下,要解决的问题非常复杂,不能作为一个整体考虑。因此,要针对问题进行分解,把它分解成一组小的问题,再定义他们的特性。软件规模估算。基于问题的估算。基于过程的估算。基于用例的估算。调和不同的估算方法。3、估算-分解技术软件估算是一种解决473、估算-分解技术-基于规模的估算

规模:是指软件项目可量化的结果。直接的方法是代码行技术,间接的方法是功能点技术。3、估算-分解技术-基于规模的估算规模:是指软件项目483、估算-分解技术-基于规模的估算四种不同方法:1、模糊逻辑:计划人员先确定应用类型,定性地确定其量级,然后在初始范围内在细化该量级。2、功能点法:计划人员对信息域进行估算。3、标准构件:项目计划人员估算每个标准构件出现的次数,再根据历史数据来确定每个标准构件交付时的规模。4、修改法:计划人员要估算必须完成修改的数量和类型。3、估算-分解技术-基于规模的估算四种不同方法:493、估算-分解技术-基于规模的估算采用LOC或FP方法之后,再采用三点估算法(期望值估算法)进行校正。S=(Sopt+4Sm+Spess)/6Sopt--乐观值。Sm--可能值。(遵循ß概率分布)Spess–悲观值。3、估算-分解技术-基于规模的估算采用LOC或FP方法之后,503、估算-分解技术-基于问题的估算代码行技术。任务估算技术。Delphi法。类比法。功能点估计法。PERT估计法。3、估算-分解技术-基于问题的估算代码行技术。51代码行技术LOC是指所有的可执行的源代码行数,包括可交付的语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。一代码行(1LOC)的价值和人月均代码行数可以体现一个软件生产组织的生产能力,开发组织可以根据对历史项目的审计来核算组织的单行代码价值。

L=(a+4m+b)/6;代码行技术LOC是指所有的可执行的源代码行数,包括可交付的语52任务估算技术

项目计划人员首先给出一个有界的软件范围的叙述,再由此叙述把软件分解成一些小的可分别独立进行估算的子功能。然后对每一个子功能估算其FP(即估算变量)。生产率度量(FP/PM)用做特定的估算变量,导出子功能的成本或工作量。将子功能的估算进行综合后就能得到整个项目的总估算。

计算公式:L=(a+4m+b)/6;任务估算技术53Delphi法Delphi法是最流行的专家估算法。是依靠一个或多个专家对项目做出估计,它要求专家具有专门知识和丰富的经验,是一种近似的猜测。向专家提供项目规格和估计表格。协调人召开专家讨论。各专家匿名填写估计表格。协调人整理估计表格,再将迭代表返回专家。协调人再次召开专家会,讨论较大的估计差异。专家重新填写估计表。重复4-6,直到达到一个最低和最高估计的一致。Delphi法Delphi法是最流行的专家估算法。是依靠一个54类比法将新项目与历史项目比较,估算出各功能的估计值。等价代码行=[(重新设计%+重新编码+重新测试)/3]*已有代码行类比法将新项目与历史项目比较,估算出各功能的估计值。553、估算-分解技术-基于过程的估算最通用的项目估算技术是根据将要采用的过程进行估算。即,将过程分解为一组较小的任务,并估算完成每个任务所需的工作量。具体方法:先抽取功能,在针对每个功能所必需的一系列框架活动;计算每个功能的持续时间和所需要的人数(不同级别的人的工资不同),就可以计算工作量和成本了。3、估算-分解技术-基于过程的估算最通用的项目估算技术是根据56第四讲-成本估算课件573、估算-分解技术-基于用例的估算建立基于用例的估算方法的困难:1、没有标准形式。2、用例表现的是软件的外部视图。3、用例没有标识它所描述的功能和特性的复杂性。4、用例没有描述出涉及很多功能和特性的复杂行为。3、估算-分解技术-基于用例的估算建立基于用例的估算方法的困583、估算-分解技术-基于用例的估算当一个大型系统按层次分解完成后,并要求每个层次由不超过10个用例,每个用例的场景不超过30个时,可以采用如下的经验公式:但是,最终还要落实到LOC或FP上。3、估算-分解技术-基于用例的估算当一个大型系统按层次分解完59基于用例估算的经验公式LOC估算=N*LOCavg+[(Sa/Sh-1)+(Pa/Ph-1)*LOCadjustN:实际用例数。LOCavg在这种类型的子系统中,每个用例包含的平均场景数。LOCadjust校正值。以LOCavg的n%来表示。Sa:每个用例实际包含的场景数。Sh:在这类子系统中,每个用例包含的平均场景数。Pa:每个用例的实际页数。Ph:在这类系统中,每个用例的平均页数。基于用例估算的经验公式LOC估算=603、估算--经验模型IBM模型。Putnam模型COCOMO模型(COnstructiveCostMOdel)3、估算--经验模型IBM模型。613、估算--经验模型--IBM模型1977年,IBM的Walston和Felix提出。估算公式:

E=5.2×L0.91

L是源代码行数。以KLOC计。E是工作量。以PM计。D=4.1×L0.36,D是项目持续时间(以月计)。S=0.54×E0.6,S是人员需要量(以人计)。DOC=49×L1.01。DO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论