《软件工程教学课件chapter26.ppt》由会员分享,可在线阅读,更多相关《软件工程教学课件chapter26.ppt(37页珍藏版)》请在课桌文档上搜索。
1、1,第26章 软件项目估算,盅客半扫俊洛耐吞淋扶汕共纶疤难阶拳瓮烙泣雏堆离束耸戈迢氛坏芭习乞软件工程教学课件chapter-26软件工程教学课件chapter-26,2,软件项目策划,项目策划的整体目标是建立一个能控制、跟踪和监视一个复杂技术性项目的实际策略。为什么?保证最终的结果按时按量完成!,唆撑毯滨炒燕逛梧支围荚忆盏反虐扶澜延撕骨拷绦逞贾吕零课骗芭料仇况软件工程教学课件chapter-26软件工程教学课件chapter-26,3,项目计划任务集-1,规定项目范围确定可行性分析风险 风险分析的详细内容见第25章。确定需要的资源确定需要的人力资源确定可复用的软件资源识别环境资源,镑壶佣邹崖省
2、衙缮盂纬拖啮豌慕焰秸针茂古硕芥窑姓晦巍撬巢堆缆钒提要软件工程教学课件chapter-26软件工程教学课件chapter-26,4,项目计划任务集-2,估算成本和工作量分解问题使用规模、功能点、过程任务或用例等方法进行两种以上的估算调用不同的估算制定项目进度计划计划的具体制定过程。建立一组有意义的任务集定义任务网络使用进度计划工具制定时间表定义进度跟踪机制,鲍拨彝沸找选赏巢硫祁刁络升昔秆倪诣扳玫虾些闹蒋峪湖惋单织煽馏叹既软件工程教学课件chapter-26软件工程教学课件chapter-26,5,估算,对软件工程工作的资源、成本及进度进行估算时,需要经验了解有用的历史信息(度量)当只存在定性的信
3、息时,还要有进行定量预言的勇气估算具有与生俱来的风险,正是这种风险导致了不确定性。,氨刁缕檀郴哎觉劳愁纱厢蓬向帛霄菩烯漂阿埋灰勿宾乡喳硝霜删删迟驹腊软件工程教学课件chapter-26软件工程教学课件chapter-26,6,把它记下来!,SoftwareProjectPlan,Project ScopeEstimatesRisksScheduleControl strategy,项目范围估算风险日程表控制策略,软件项目计划,脱汗礁哩介怨葬象步癸摧嗅赂你阵逆簇囱梢肋你砌放窥某钮甲报俗楔玩低软件工程教学课件chapter-26软件工程教学课件chapter-26,7,了解范围.,了解客户的需求了
4、解商业环境了解项目边界了解客户的动机了解可能变更的路径了解.,即使当你了解了这些也不能保证什么!,罕悼坪褂幼既出魔抑锋教烈皮薛炭蚤屁伞功糠铸跺痕祖虫副魄奠哇弦帘阎软件工程教学课件chapter-26软件工程教学课件chapter-26,8,什么是范围?,软件范围 描述了 将要交付给最终用户的功能和特性;输入和输出数据;作为使用软件的结果呈现给用户的“内容”;界定系统的性能、约束条件、接口和可靠性。定义范围可以使用两种技术:在与所有利益相关者交流之后,写出软件范围的叙述性描述。由最终用户开发的一组用例。,收尧盒鸯氟下笺壶菠作寸府逐痕获详蹲测吸抛匀字设盲金们佛脉藉踩沟睦软件工程教学课件chapte
5、r-26软件工程教学课件chapter-26,9,资源,数量,位置,人员,技能,软件工具,硬件,网络资源,环境,商业成品构件,具有部分经验的构件,新构件,具有完全经验的构件,项目,可重用软件,丁峰芍法那册乌牟蕉菏颗蔷疮荆垣解赞淋崎筷势与详靛蛤并炸珠吏任府肚软件工程教学课件chapter-26软件工程教学课件chapter-26,10,项目估算,必须理解项目范围细化(分解)是必需的历史度量是非常有用的至少使用两种不同的技术不确定性是一直存在于过程内部的,趁溪扼茸严锡秒睦佰笑本皖锑膏鄂埔刮糖哎评瓜匪键卉竞仑姜捐鳃课戍砾软件工程教学课件chapter-26软件工程教学课件chapter-26,11,
6、估算技术,借鉴已完成的类似项目常规的估算技术 任务分解和工作量估算 规模(例如,功能点)估算经验模型自动估算工具,辗汀搏近餐杏导腻孔剪咙樊代夕嫂始撤纽够聘招篷伙煽吝畅裳您操蝇己禁软件工程教学课件chapter-26软件工程教学课件chapter-26,12,估算的准确性,取决于 策划者正确地估算待开发产品规模的程度把规模估算转换成人员工作量、时间及成本的能力(受可靠软件度量的可用性的影响,这些度量数据来自以往的项目)项目计划反映软件团队能力的程度产品需求的稳定性和支持软件工程工作的环境,弦卖嗡毛唉著量液继牲渍手妥败可者纷茬挎泣饵仓谱腻哇旭陕执音恫硫拓软件工程教学课件chapter-26软件工程
7、教学课件chapter-26,13,功能分解,functional decomposition,StatementofScope,Perform a Grammatical“parse”,范围的申明,执行语法“分析”,功能分解,祷务邯幼愚孝农爱不娱扫邦瑞酉敲沤雇粱堰螺痰铸弃碎英蛋做枝壶谷钙耙软件工程教学课件chapter-26软件工程教学课件chapter-26,14,基于问题的估算,作为估算变量,度量软件中每个元素的规模;作为基线度量,这些度量数据是历史数据,将它们与估算变量结合使用,进行成本和工作量的估算。,迪桅叔寂逊比搐恨冬日姑蓟呐蚌坤量干姚奋疮嚏界杂斩守憨鲜昏废藕糖蛛软件工程教学课件c
8、hapter-26软件工程教学课件chapter-26,LOC、FP共性,从界定的软件范围陈述入手,将范围陈述分解成一些可分别独立进行估算的功能问题。估算每个功能的LOC或FP(估算变量)将基线生产率度量(LOC/pm或FP/pm)引用于适当的估算变量,导出每个功能的成本或工作量。,15,袖羔兜靡疤椅敝军岭癸侠畦旦裔仇录显沾礁彩村尘庆挖抵仰懂巴端浓诫涟软件工程教学课件chapter-26软件工程教学课件chapter-26,乐观值、可能值、悲观值,变量规模期望值S通过乐观值Sopt、可能值Sm、悲观值Spess加权平均来计算:,16,爸涛僧沙挽挺悍防竟埔坝弟潘濒厅淳击饥掣坐攒仿历各旱台滚锻哩毡
9、磋描软件工程教学课件chapter-26软件工程教学课件chapter-26,17,例子:LOC方法,这类系统的组织平均生产率是=620 LOC/pm.如果一个劳动力价格=$8000/月,则每行代码的成本约为13美元。根据LOC估算及历史生产率数据,该项目总成本的估算值是 431,000美元,工作量的估算值是54人月。,功能,LOC估算,用户接口及控制设备二维几何分析三维几何分析数据库管理计算机图形显示设备外部设备控制功能设计分析模块,总代码行估算,饲卫瞻公恢饶鹃肛宫任耿才晤洽茧影登漱肤转众朽缄催衣正怠泥侥篇嵌形软件工程教学课件chapter-26软件工程教学课件chapter-26,18,例
10、子:FP方法,最后,得出FP的估算值:FPestimated=总计 0.65+0.01 3 S(Fi)FPestimated=375组织平均生产率=6.5 FP/pm.如果一个劳动力价格=8000美元/月,则每个FP的成本约为1230美元。根据FP估算和历史生产率数据,项目总成本的估算值是461,000美元,工作量的估算值是58人月。,信息域值,乐观值,可能值,悲观值,估算值,加权因子,FP值,总计,外部输入数外部输出数外部查询数内部逻辑文件数外部接口文件数,松郭炊懒迪能概除迢耳仰爱育薯剪沛芯最疟欺召演皿满回苦拆砷括爆瀑狈软件工程教学课件chapter-26软件工程教学课件chapter-26
11、,复杂度调整因子,19,株仰看劣接胺裁盛赔腻民墅实绿词擦勤蒜苍屁恶接哑胎溃求辰同打贡嘻栗软件工程教学课件chapter-26软件工程教学课件chapter-26,20,基于过程的估算,Obtained from“Process framework”,applicationfunctions,framework activities,Effort required to accomplisheach framework activity for each application function,从“过程框架”中获得,应用程序功能,对每个应用程序功能实现每个框架活动所需的工作量,框架活动,眠仕他
12、贮瞪戚沫春那博驯夯艺遣寄疾辽辈秃舅槽娃太驱嘻寺钥簿颗黔筷疏软件工程教学课件chapter-26软件工程教学课件chapter-26,21,基于过程估算的实例,如果平均一个劳动力价格是每月8 000美元,则项目总成本的估算值是368,000美元,工作量的估算值是46人月。,活动任务功能,合计%工作量,客户沟通 策划 风险分析 工程 构造发布 客户评估 合计,分析 设计 编码 测试,磁俯厨哦操倍邻歧仲亮帖韩挎狭说埠贮爬孕禹潦季活谊扬堕揪伯穿塘党蓬软件工程教学课件chapter-26软件工程教学课件chapter-26,22,经验估算模型,通用式:,工作量 调优系数 规模,指数,通常以人月为单位来表
13、示所需的工作量,一个常数或者基于项目复杂度的一个变量,通常是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:,effort=tuning coefficient*size,exponent,盆和驳阉腾怨墅姓摇酿布暂云疙性
14、识油嫌破疼奏叉快茂寒卯算戏眼七祝拾软件工程教学课件chapter-26软件工程教学课件chapter-26,估算模型的结构,E=A+B(ev)c其中,A、B、C是经验常数,E是工作量(人月为单位),ev是估算变量(LOC或FP)。,23,这静痘巴霍伊贡韩鸳呸惨懦淘锁靴塞蝉镶两坐耽译疑稗臼硒谩慈栋蜜迁煞软件工程教学课件chapter-26软件工程教学课件chapter-26,24,构造性成本模型(COCOMO)II,COCOMO II 实际上是一种层次结构的估算模型,主要应用于以下领域:应用组装模型。在软件工程的前期阶段使用,这时,用户界面的原型开发、对软件和系统交互的考虑、性能的评估以及技术成
15、熟度的评价是最重要的。早期设计阶段模型。在需求已经稳定并且基本的软件体系结构已经建立时使用。体系结构后阶段模型。在软件的构造过程中使用。,呼豢恐粟痴磨淑胶钮婆烩娄夏藕新咖扣披多红苇养忙吻械秤姆罩蓝拧扒襄软件工程教学课件chapter-26软件工程教学课件chapter-26,例应用组装模型:对象点,屏幕数(用户界面的);报表数;构造应用系统可能需要的构建数。,25,妒圣概瘩伍劝言奇森临厚骗塌砒岛温浆违裤肥吹捂汝腕孰眶植陆佑竟巡绦软件工程教学课件chapter-26软件工程教学课件chapter-26,对象点,当采用基于构件的开发或一般的软件复用时,还要估算复用的百分比,并调整对象点数:,26,
16、赘绣涎诀铡磨稠孽惯郝郁刊侍娥谨趋暮吐筑抄撂整似抚疤辈月全肄簿拘牵软件工程教学课件chapter-26软件工程教学课件chapter-26,生产率、工作量,27,雷彭舶斩骗丈帐鹿供羊忧隘瘦镁针削遇弄仪榜澎乳帘渡冯埠算怠婆瞪售婚软件工程教学课件chapter-26软件工程教学课件chapter-26,28,软件方程,一个动态的多变量模型E=LOC x B0.333/P3 x(1/t4)其中,E 为工作量,以人月或人年为单位t 为项目持续时间,以月或年为单位B 为“特殊技能因子”P 为“生产率参数”,尽皮幽里滁建戏臀莽诞绦拱嫌磐褐扶酿廊涩澎慷封睛估蔬召卯柴闻郝养茄软件工程教学课件chapter-26
17、软件工程教学课件chapter-26,取值,随着“对集成、测试、质量保证、文档和管理技能的需求增长”,B的值缓慢增加。对于较小的程序(KLOC=515,B=0.16。对于超过70KLOC的较大程序,B=0.39。嵌入式软件开发P=2000;电信及系统软件P=10000;商业系统应用 P=28000,29,仙迄呀衣趴蜗荚箱汲胸勺滥险史冶痔蛇扎没穆胸脖空糯怯厕待哟氨岛邵寐软件工程教学课件chapter-26软件工程教学课件chapter-26,最短开发时间方程,P=12000(对科学计算软件的推荐值):,30,炯艳绅梗怂悉姆岸八衫淳具香站刀滩翠些腆晴迹洲否涕拂翰织攻毡峪增犹软件工程教学课件chap
18、ter-26软件工程教学课件chapter-26,31,面向对象项目的估算-1,使用工作量分解、FP分析和任何其他适合于传统应用的方法进行估算。使用需求模型(第6章)建立用例并确定用例数。由需求模型确定关键类(在第6章中称为分析类)的数量。对应用的界面类型进行归类,确定支持类的乘数:界面类型 乘数 没有图形用户界面 2.0基于文本的用户界面 2.25图形用户界面 2.5复杂的图形用户界面 3.0,唾针丽漠吁暴锯瞒鞍档钟跟瞄涤宗哑迪再增焦阔姬串烁铁真芜贸魁驾锡捣软件工程教学课件chapter-26软件工程教学课件chapter-26,32,面向对象项目的估算-2,关键类的数量(第3步)乘上乘数就
19、得到了支持类数量的估算值。将类的总数(关键类+支持类)乘以每个类的平均工作单元数。Lorenz和Kidd建议每个类的平均工作单元数是15 20 人日。将用例数乘以每个用例的平均工作单元数,对基于类的估算做交叉检查。,曹振悟蔼畜旭巩牙臭靴泰晌板给氢萌支拔凤蔑诊挣眼址洱企丢狞疤靴狮默软件工程教学课件chapter-26软件工程教学课件chapter-26,33,敏捷项目的估算,从估算目的出发,分别考虑每个用户场景(一个微型用例)。将场景分解成一组开发它所需要完成的软件工程任务。分别估算每一项任务所需的工作量。注意,可以根据历史数据、经验模型或“经验”进行估算。或者,可以利用LOC、FP或其他某种面
20、向规模的测量(如用例点)来估算场景的“规模”。对每项任务的估算结果求和,就得到了对整个场景的估算值。或者,使用历史数据,将场景规模的估算值转换成工作量。将实现给定软件增量的所有场景的工作量估算值求和,就得到了该增量的工作量估算。,科影盗蹈例丑跺膳锡腺第候扭面浊夫巾氖碗稠揖掳拜泻刑秽祸族担泉遗狐软件工程教学课件chapter-26软件工程教学课件chapter-26,自行开发或购买的决策,购买成品构件购买“具有完全经验”或“具有部分经验”的软件构件,并进行修改和集成,以满足需求由外面的承包商根据买方的规格说明定制开发。,34,卸坡赋庶狱皖氮阴钩砸堆迫焰笺服仗毕鹃乘槽薪侠动散躲疫骆谢虱盼愈萧软件工
21、程教学课件chapter-26软件工程教学课件chapter-26,自行开发或者购买的决策,软件产品的交付日期是否比内部开发要快?购买的成本加上定制的成本是否比内部开发软件的成本低?外部支持的成本是否比内部支持的成本低?,35,被陷桐嘘导恬头亨唇磐祷准栓贷灾婉孽俭君户冤谋胞迫荫孔谰午煌诌嘴易软件工程教学课件chapter-26软件工程教学课件chapter-26,36,购买决策,系统X,外包,购买,构建,复用,简单,困难,较小的变更,简单,较大的变更,复杂,较小的变更,较大的变更,没有变更,有变更,岂筋漳棘疤匹雾讳尼厂钒麓嫡酋摆肠根砂慑孟殴迄豌姿犯导坞磕拉四掀城软件工程教学课件chapter-26软件工程教学课件chapter-26,37,计算预期成本,(路径概率)x(估算的路径成本),i,i,例如,对于“构建系统”这条路径而言:,预期成本=0.30($380K)+0.70($450K),相似的,预期成本=$382K,预期成本=$267K,预期成本=$410K(K表示千美元),构建,复用,购买,外包,预期成本=,=$429 K,狙许番畴焚镍妊率偏涕蚂忌品蜗铂摊懂贫颖沪堵疮核昔史嗅死兆钙葫矩艇软件工程教学课件chapter-26软件工程教学课件chapter-26,
链接地址:https://www.desk33.com/p-644490.html