软件工程教学课件cha.ppt

上传人:牧羊曲112 文档编号:6027924 上传时间:2023-09-16 格式:PPT 页数:37 大小:469KB
返回 下载 相关 举报
软件工程教学课件cha.ppt_第1页
第1页 / 共37页
软件工程教学课件cha.ppt_第2页
第2页 / 共37页
软件工程教学课件cha.ppt_第3页
第3页 / 共37页
软件工程教学课件cha.ppt_第4页
第4页 / 共37页
软件工程教学课件cha.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《软件工程教学课件cha.ppt》由会员分享,可在线阅读,更多相关《软件工程教学课件cha.ppt(37页珍藏版)》请在三一办公上搜索。

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

2、要经验了解有用的历史信息(度量)当只存在定性的信息时,还要有进行定量预言的勇气估算具有与生俱来的风险,正是这种风险导致了不确定性。,6,把它记下来!,SoftwareProjectPlan,Project ScopeEstimatesRisksScheduleControl strategy,项目范围估算风险日程表控制策略,软件项目计划,7,了解范围.,了解客户的需求了解商业环境了解项目边界了解客户的动机了解可能变更的路径了解.,即使当你了解了这些也不能保证什么!,8,什么是范围?,软件范围 描述了 将要交付给最终用户的功能和特性;输入和输出数据;作为使用软件的结果呈现给用户的“内容”;界定系

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

4、规模估算转换成人员工作量、时间及成本的能力(受可靠软件度量的可用性的影响,这些度量数据来自以往的项目)项目计划反映软件团队能力的程度产品需求的稳定性和支持软件工程工作的环境,13,功能分解,functional decomposition,StatementofScope,Perform a Grammatical“parse”,范围的申明,执行语法“分析”,功能分解,14,基于问题的估算,作为估算变量,度量软件中每个元素的规模;作为基线度量,这些度量数据是历史数据,将它们与估算变量结合使用,进行成本和工作量的估算。,LOC、FP共性,从界定的软件范围陈述入手,将范围陈述分解成一些可分别独立进

5、行估算的功能问题。估算每个功能的LOC或FP(估算变量)将基线生产率度量(LOC/pm或FP/pm)引用于适当的估算变量,导出每个功能的成本或工作量。,15,乐观值、可能值、悲观值,变量规模期望值S通过乐观值Sopt、可能值Sm、悲观值Spess加权平均来计算:,16,17,例子:LOC方法,这类系统的组织平均生产率是=620 LOC/pm.如果一个劳动力价格=$8000/月,则每行代码的成本约为13美元。根据LOC估算及历史生产率数据,该项目总成本的估算值是 431,000美元,工作量的估算值是54人月。,功能,LOC估算,用户接口及控制设备二维几何分析三维几何分析数据库管理计算机图形显示设

6、备外部设备控制功能设计分析模块,总代码行估算,18,例子:FP方法,最后,得出FP的估算值:FPestimated=总计 0.65+0.01 3 S(Fi)FPestimated=375组织平均生产率=6.5 FP/pm.如果一个劳动力价格=8000美元/月,则每个FP的成本约为1230美元。根据FP估算和历史生产率数据,项目总成本的估算值是461,000美元,工作量的估算值是58人月。,信息域值,乐观值,可能值,悲观值,估算值,加权因子,FP值,总计,外部输入数外部输出数外部查询数内部逻辑文件数外部接口文件数,复杂度调整因子,19,20,基于过程的估算,Obtained from“Proce

7、ss framework”,applicationfunctions,framework activities,Effort required to accomplisheach framework activity for each application function,从“过程框架”中获得,应用程序功能,对每个应用程序功能实现每个框架活动所需的工作量,框架活动,21,基于过程估算的实例,如果平均一个劳动力价格是每月8 000美元,则项目总成本的估算值是368,000美元,工作量的估算值是46人月。,活动任务功能,合计%工作量,客户沟通 策划 风险分析 工程 构造发布 客户评估 合计,分

8、析 设计 编码 测试,22,经验估算模型,通用式:,工作量 调优系数 规模,指数,通常以人月为单位来表示所需的工作量,一个常数或者基于项目复杂度的一个变量,通常是LOC或功能点估算变量,经验常数,usually derived,as person-months,of effort required,either a constant or,a number derived based,on complexity of project,usually LOC but,may also be,function point,empirically,derived,General form:,effo

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

10、界面的);报表数;构造应用系统可能需要的构建数。,25,对象点,当采用基于构件的开发或一般的软件复用时,还要估算复用的百分比,并调整对象点数:,26,生产率、工作量,27,28,软件方程,一个动态的多变量模型E=LOC x B0.333/P3 x(1/t4)其中,E 为工作量,以人月或人年为单位t 为项目持续时间,以月或年为单位B 为“特殊技能因子”P 为“生产率参数”,取值,随着“对集成、测试、质量保证、文档和管理技能的需求增长”,B的值缓慢增加。对于较小的程序(KLOC=515,B=0.16。对于超过70KLOC的较大程序,B=0.39。嵌入式软件开发P=2000;电信及系统软件P=100

11、00;商业系统应用 P=28000,29,最短开发时间方程,P=12000(对科学计算软件的推荐值):,30,31,面向对象项目的估算-1,使用工作量分解、FP分析和任何其他适合于传统应用的方法进行估算。使用需求模型(第6章)建立用例并确定用例数。由需求模型确定关键类(在第6章中称为分析类)的数量。对应用的界面类型进行归类,确定支持类的乘数:界面类型 乘数 没有图形用户界面 2.0基于文本的用户界面 2.25图形用户界面 2.5复杂的图形用户界面 3.0,32,面向对象项目的估算-2,关键类的数量(第3步)乘上乘数就得到了支持类数量的估算值。将类的总数(关键类+支持类)乘以每个类的平均工作单元

12、数。Lorenz和Kidd建议每个类的平均工作单元数是15 20 人日。将用例数乘以每个用例的平均工作单元数,对基于类的估算做交叉检查。,33,敏捷项目的估算,从估算目的出发,分别考虑每个用户场景(一个微型用例)。将场景分解成一组开发它所需要完成的软件工程任务。分别估算每一项任务所需的工作量。注意,可以根据历史数据、经验模型或“经验”进行估算。或者,可以利用LOC、FP或其他某种面向规模的测量(如用例点)来估算场景的“规模”。对每项任务的估算结果求和,就得到了对整个场景的估算值。或者,使用历史数据,将场景规模的估算值转换成工作量。将实现给定软件增量的所有场景的工作量估算值求和,就得到了该增量的

13、工作量估算。,自行开发或购买的决策,购买成品构件购买“具有完全经验”或“具有部分经验”的软件构件,并进行修改和集成,以满足需求由外面的承包商根据买方的规格说明定制开发。,34,自行开发或者购买的决策,软件产品的交付日期是否比内部开发要快?购买的成本加上定制的成本是否比内部开发软件的成本低?外部支持的成本是否比内部支持的成本低?,35,36,购买决策,系统X,外包,购买,构建,复用,简单,困难,较小的变更,简单,较大的变更,复杂,较小的变更,较大的变更,没有变更,有变更,37,计算预期成本,(路径概率)x(估算的路径成本),i,i,例如,对于“构建系统”这条路径而言:,预期成本=0.30($380K)+0.70($450K),相似的,预期成本=$382K,预期成本=$267K,预期成本=$410K(K表示千美元),构建,复用,购买,外包,预期成本=,=$429 K,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号