软件工程教学课件cha

上传人:鲁** 文档编号:570198766 上传时间:2024-08-02 格式:PPT 页数:37 大小:538.50KB
返回 下载 相关 举报
软件工程教学课件cha_第1页
第1页 / 共37页
软件工程教学课件cha_第2页
第2页 / 共37页
软件工程教学课件cha_第3页
第3页 / 共37页
软件工程教学课件cha_第4页
第4页 / 共37页
软件工程教学课件cha_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《软件工程教学课件cha》由会员分享,可在线阅读,更多相关《软件工程教学课件cha(37页珍藏版)》请在金锄头文库上搜索。

1、1 第26章 软件项目估算2 软件项目策划软件项目策划项目策划的整体目标是建立一个能控制、跟踪和监视一个复杂技项目策划的整体目标是建立一个能控制、跟踪和监视一个复杂技术性项目的实际策略。术性项目的实际策略。为什么为什么? ?保证最终的结果按时按量完成保证最终的结果按时按量完成! !3 项目计划任务集项目计划任务集-1l规定项目范围l确定可行性l分析风险 风险分析的详细内容见第25章。l确定需要的资源确定需要的人力资源确定可复用的软件资源识别环境资源4 项目计划任务集项目计划任务集-2l估算成本和工作量分解问题使用规模、功能点、过程任务或用例等方法进行两种以上的估算调用不同的估算l制定项目进度计

2、划计划的具体制定过程。l建立一组有意义的任务集l定义任务网络l使用进度计划工具制定时间表l定义进度跟踪机制5 估算估算l对软件工程工作的资源、成本及进度进行估算时,需要经验了解有用的历史信息 (度量)当只存在定性的信息时,还要有进行定量预言的勇气l估算具有与生俱来的风险,正是这种风险导致了不确定性。6 把它记下来把它记下来!SoftwareSoftwareProjectProjectPlanPlanProject ScopeProject ScopeEstimatesEstimatesRisksRisksScheduleScheduleControl strategyControl strat

3、egy项目范围项目范围估算估算风险风险日程表日程表控制策略控制策略软件软件项目项目计划计划7 了解范围了解范围 .l了解客户的需求l了解商业环境l了解项目边界l了解客户的动机l了解可能变更的路径l了解 .即使当你了解了这些即使当你了解了这些即使当你了解了这些即使当你了解了这些也不能保证什么也不能保证什么也不能保证什么也不能保证什么! !8 什么是范围什么是范围?l软件范围 描述了 将要交付给最终用户的功能和特性;输入和输出数据;作为使用软件的结果呈现给用户的“内容” ;界定系统的性能、约束条件、接口和可靠性。 l定义范围可以使用两种技术:l在与所有利益相关者交流之后,写出软件范围的叙述性描述。

4、l由最终用户开发的一组用例。9 资源资源数量数量位置位置人员人员技能技能软件工具软件工具硬件硬件网络资源网络资源环境环境商业成商业成品构件品构件具有部分经验具有部分经验的构件的构件新构件新构件具有完全经具有完全经验的构件验的构件项目项目可重用软件可重用软件10 项目估算项目估算l必须理解项目范围l细化 (分解) 是必需的l历史度量是非常有用的l至少使用两种不同的技术l不确定性是一直存在于过程内部的11 估算技术估算技术l借鉴已完成的类似项目l常规的估算技术 任务分解和工作量估算 规模 (例如,功能点) 估算l经验模型l自动估算工具12 估算的准确性估算的准确性l取决于 策划者正确地估算待开发产

5、品规模的程度把规模估算转换成人员工作量、时间及成本的能力(受可靠软件度量的可用性的影响,这些度量数据来自以往的项目)项目计划反映软件团队能力的程度产品需求的稳定性和支持软件工程工作的环境13 功能分解功能分解functional functional decompositiondecompositionStatementStatementofofScopeScopePerform a Perform a Grammatical “parse”Grammatical “parse”范围的范围的申明申明执行语法执行语法“分析分析”功能分解功能分解14 基于问题的估算基于问题的估算l作为估算变量,度

6、量软件中每个元素的规模;l作为基线度量,这些度量数据是历史数据,将它们与估算变量结合使用,进行成本和工作量的估算。LOC、FP共性共性l从界定的软件范围陈述入手,将范围陈述分解成一些可分别独立进行估算的功能问题。l估算每个功能的LOC或FP(估算变量)l将基线生产率度量(LOC/pm或FP/pm)引用于适当的估算变量,导出每个功能的成本或工作量。15 乐观值、可能值、悲观值乐观值、可能值、悲观值l变量规模期望值S通过乐观值Sopt、可能值Sm、悲观值Spess加权平均来计算:16 17 例子例子:LOC方法方法这类系统的组织平均生产率是这类系统的组织平均生产率是 = 620 LOC/pm. =

7、 620 LOC/pm. 如果一个劳动力价格如果一个劳动力价格 =$8000 /=$8000 /月,则每行代码的成本约为月,则每行代码的成本约为1313美美元。元。 根据根据LOCLOC估算及历史生产率数据,估算及历史生产率数据, 该项目总成本的估算值是该项目总成本的估算值是 431,000431,000美元,工作量的估算值是美元,工作量的估算值是美元,工作量的估算值是美元,工作量的估算值是5454人月。人月。人月。人月。功能功能LOCLOC估算估算用户接口及控制设备用户接口及控制设备二维几何分析二维几何分析三维几何分析三维几何分析数据库管理数据库管理计算机图形显示设备计算机图形显示设备外部设

8、备控制功能外部设备控制功能设计分析模块设计分析模块总代码行估算总代码行估算18 例子例子: FP方法方法最后,得出最后,得出FPFP的估算值:的估算值:FPFPestimatedestimated = = 总计总计 0.65 + 0.01 0.65 + 0.01 3 3 S S (F (Fi i) )FPFPestimatedestimated = 375 = 375组织平均生产率组织平均生产率 = 6.5 FP/pm. = 6.5 FP/pm. 如果一个劳动力价格如果一个劳动力价格 = 8000= 8000美元美元/ /月月, , 则每个则每个FPFP的成本约为的成本约为12301230美元

9、。美元。根据根据FPFP估算和历史生产率数据,估算和历史生产率数据,项目总成本的估算值是项目总成本的估算值是项目总成本的估算值是项目总成本的估算值是461,000461,000美元,工作量美元,工作量美元,工作量美元,工作量的估算值是的估算值是的估算值是的估算值是5858人月。人月。人月。人月。信息域值信息域值乐观值乐观值 可能值可能值 悲观值悲观值估算值估算值加权因子加权因子 FPFP值值总计总计外部输入数外部输入数外部输出数外部输出数外部查询数外部查询数内部逻辑文件数内部逻辑文件数外部接口文件数外部接口文件数复杂度调整因子复杂度调整因子19 20 基于过程的估算基于过程的估算Obtaine

10、d from “Process frameworkObtained from “Process framework” ”applicationapplicationfunctionsfunctionsframework activitiesframework activitiesEffort required to Effort required to accomplishaccomplisheach framework each framework activity for each activity for each application functionapplication func

11、tion从从从从 “ “过程框架过程框架过程框架过程框架” ”中获得中获得中获得中获得应用程序功能应用程序功能应用程序功能应用程序功能对每个应用程对每个应用程对每个应用程对每个应用程序功能实现每序功能实现每序功能实现每序功能实现每个框架活动所个框架活动所个框架活动所个框架活动所需的工作量需的工作量需的工作量需的工作量框架活动框架活动框架活动框架活动21 基于过程估算的实例基于过程估算的实例如果平均一个劳动力价格是每月如果平均一个劳动力价格是每月8 0008 000美元,美元,则项目总成本的则项目总成本的则项目总成本的则项目总成本的估算值是估算值是估算值是估算值是368,000368,000美元

12、,美元,美元,美元, 工作量的估算值是工作量的估算值是工作量的估算值是工作量的估算值是4646人月。人月。人月。人月。活动活动任务任务功能功能合计合计%工作量工作量客户沟通客户沟通 策划策划 风险分析风险分析 工程工程 构造发布构造发布 客户评估客户评估 合计合计分析分析 设计设计 编码编码 测试测试22 经验估算模型经验估算模型通用式:通用式:通用式:通用式:工作量工作量工作量工作量 调优系数调优系数调优系数调优系数 规模规模规模规模指数指数指数指数通常以人月为通常以人月为通常以人月为通常以人月为单位来表示所单位来表示所单位来表示所单位来表示所需的工作量需的工作量需的工作量需的工作量一个常数

13、或者一个常数或者一个常数或者一个常数或者基于项目复杂基于项目复杂基于项目复杂基于项目复杂度的一个变量度的一个变量度的一个变量度的一个变量通常是通常是通常是通常是LOCLOC或功能点估或功能点估或功能点估或功能点估算变量算变量算变量算变量经验常数经验常数经验常数经验常数usually derivedusually derivedas person-monthsas person-monthsof effort requiredof effort requiredeither a constant oreither a constant ora number derived based a num

14、ber derived based on complexity of projecton complexity of projectusually LOC butusually LOC butmay also bemay also befunction pointfunction pointempiricallyempiricallyderivedderivedGeneral form:General form:effort = tuning coefficient * sizeeffort = tuning coefficient * sizeexponentexponent估算模型的结构估

15、算模型的结构lE=A+B(ev)cl其中,A、B、C是经验常数,E是工作量(人月为单位),ev是估算变量(LOC或FP)。23 24 构造性成本模型构造性成本模型(COCOMO)IIl COCOMO II 实际上是一种层次结构的估算模型,主要应用于以下领域:l应用组装模型。 在软件工程的前期阶段使用,这时,用户界面的原型开发、对软件和系统交互的考虑、性能的评估以及技术成熟度的评价是最重要的。l早期设计阶段模型。 在需求已经稳定并且基本的软件体系结构已经建立时使用。l体系结构后阶段模型。 在软件的构造过程中使用。例应用组装模型:对象点例应用组装模型:对象点l屏幕数(用户界面的);l报表数;l构造

16、应用系统可能需要的构建数。25 对象点对象点l当采用基于构件的开发或一般的软件复用时,还要估算复用的百分比,并调整对象点数:26 生产率、工作量生产率、工作量27 28 软件方程软件方程一个动态的多变量模型一个动态的多变量模型E = LOC x B/PE = LOC x B/PE = LOC x B/PE = LOC x B/P3 3 3 3 x (1/t x (1/t x (1/t x (1/t4 4 4 4) ) ) )其中,其中, E E 为工作量,以人月或人年为单位为工作量,以人月或人年为单位t t 为项目持续时间,以月或年为单位为项目持续时间,以月或年为单位B B 为为“特殊技能因子

17、特殊技能因子”P P 为为“生产率参数生产率参数”取值取值l随着“对集成、测试、质量保证、文档和管理技能的需求增长”,B的值缓慢增加。对于较小的程序(。对于超过70KLOC的较大程序,。l嵌入式软件开发P=2000;l电信及系统软件P=10000;l商业系统应用 P=2800029 最短开发时间方程最短开发时间方程lP=12000(对科学计算软件的推荐值):30 31 面向对象项目的估算面向对象项目的估算-1l使用工作量分解、FP分析和任何其他适合于传统应用的方法进行估算。l使用需求模型 (第6章)建立用例并确定用例数。l由需求模型确定关键类 (在第6章中称为分析类)的数量。l对应用的界面类型

18、进行归类,确定支持类的乘数:界面类型界面类型 乘数乘数 没有图形用户界面 基于文本的用户界面 图形用户界面 复杂的图形用户界面 32 面向对象项目的估算面向对象项目的估算-2l关键类的数量 (第3步) 乘上乘数就得到了支持类数量的估算值。l将类的总数 (关键类+ 支持类) 乘以每个类的平均工作单元数。Lorenz和Kidd建议每个类的平均工作单元数是15 20 人日。l将用例数乘以每个用例的平均工作单元数,对基于类的估算做交叉检查。33 敏捷项目的估算敏捷项目的估算l从估算目的出发,分别考虑每个用户场景 (一个微型用例) 。l将场景分解成一组开发它所需要完成的软件工程任务。l分别估算每一项任务

19、所需的工作量。注意,可以根据历史数据、经验模型或“经验”进行估算。或者,可以利用LOC、FP或其他某种面向规模的测量 (如用例点)来估算场景的“规模”。l对每项任务的估算结果求和,就得到了对整个场景的估算值。或者,使用历史数据,将场景规模的估算值转换成工作量。l将实现给定软件增量的所有场景的工作量估算值求和,就得到了该增量的工作量估算。自行开发或购买的决策自行开发或购买的决策l购买成品构件l购买“具有完全经验”或“具有部分经验”的软件构件,并进行修改和集成,以满足需求l由外面的承包商根据买方的规格说明定制开发。34 自行开发或者购买的决策自行开发或者购买的决策l软件产品的交付日期是否比内部开发

20、要快?l购买的成本加上定制的成本是否比内部开发软件的成本低?l外部支持的成本是否比内部支持的成本低?35 36 购买决策购买决策系统系统系统系统X X X X外包外包外包外包购买购买购买购买构建构建构建构建复用复用复用复用简单简单简单简单困难困难困难困难较小的变更较小的变更较小的变更较小的变更简单简单简单简单较大的较大的较大的较大的变更变更变更变更复杂复杂复杂复杂较小的变更较小的变更较小的变更较小的变更较大的变更较大的变更较大的变更较大的变更没有变更没有变更没有变更没有变更有变更有变更有变更有变更37 计算预期成本计算预期成本 ( ( ( (路径概率路径概率路径概率路径概率) ) ) ) x

21、x ( ( ( (估算的路径成本估算的路径成本估算的路径成本估算的路径成本) ) ) ) i i i ii i i i例如,对于例如,对于例如,对于例如,对于“构建系统构建系统构建系统构建系统”这条路径而言这条路径而言这条路径而言这条路径而言: : : :预期成本预期成本预期成本预期成本 = 0.30 ($380K) + 0.70 ($450K) = 0.30 ($380K) + 0.70 ($450K) = 0.30 ($380K) + 0.70 ($450K) = 0.30 ($380K) + 0.70 ($450K) 相似的相似的相似的相似的, , , ,预期成本预期成本预期成本预期成本 = $382K= $382K= $382K= $382K预期成本预期成本预期成本预期成本 = $267K= $267K= $267K= $267K预期成本预期成本预期成本预期成本 = $410K= $410K= $410K= $410K(K K K K表示千美元)表示千美元)表示千美元)表示千美元)构建构建构建构建复用复用复用复用购买购买购买购买外包外包外包外包预期成本预期成本预期成本预期成本= = = = $429 K= $429 K= $429 K= $429 K

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号