《软件项目成本计划汇编课件.ppt》由会员分享,可在线阅读,更多相关《软件项目成本计划汇编课件.ppt(134页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、软件开发项目管理软件开发项目管理北京邮电大学软件学院北京邮电大学软件学院韩万江韩万江晒持烁科收婿量拳题增漾局汉滦藏隘吕憋岿剥甘反枫栋拜刽虑题孕磺向溅4-软件项目成本计划4-软件项目成本计划0chapter_4承上启下承上启下配配置管置管 理理计划计划 合合同同 计计划划 风风险险计计划划 沟通沟通 计划计划 质质量量计计划划 成成本本 计计划划 时间时间计划计划集成集成 计划计划 范范围围计计划划项目项目结束结束项目项目执执 行控制行控制 项项目目 计计划划 项目项目初始初始 人人力力 计计划划 桨忙梳互筑斯符婆褐署午揭少著佳谤午所扯轻非没陵歼捎涕酗乐漾力吐褪4-软件项目成本计划4-软件项目成
2、本计划1chapter_4成本计划成本计划配配置管置管 理理计划计划 合合同同 计计划划 风风险险计计划划 沟通沟通 计划计划 质质量量计计划划 成成本本 计计划划 时间时间计划计划集成集成 计划计划 范范围围计计划划项目项目结束结束项目项目执执 行控制行控制 项项目目 计计划划 项目项目初始初始 人人力力 计计划划 租乃黑唬坐事氦筹患缄戏跌浆喘嫌疹衰汇或竣光项鼎检淤问产设戎疮寞顾4-软件项目成本计划4-软件项目成本计划2chapter_4软件开发项目管理软件开发项目管理第第 4 4 章章软件项目成本软件项目成本计划计划戚莲婚烷述似萎恐醇萌精甩攘阵少嘎船视氦痈铀冈涂砧村幌况怂帜涅羊揣4-软件项
3、目成本计划4-软件项目成本计划3chapter_4本章要点本章要点q一、软件项目规模成本的概念q二、估算的过程q三、估算的方法q四、成本预算q五、项目核心(进度)计划续q六、案例分析膨彼榷辣饺唱撂弘疤印裸墩移疼受恃浇攀要潭剩嘘嫁梁惰卤张孙颂堑碾拟4-软件项目成本计划4-软件项目成本计划4chapter_4关于估算关于估算q估算不是很准确的,有误差的q经验(历史)数据非常重要q不要太迷信数学模型凤忌狡硝但麓拷著鞭露羊唆何筏脂铆龋叹翁速扰专吼嫂仅苏冬涌等否告闸4-软件项目成本计划4-软件项目成本计划5chapter_4软件项目规模软件项目规模q软件项目规模即工作量,是从软件项目范围中抽出的软件功能
4、,然后确定每个软件功能所必须执行的一系列软件工程任务q包括:软件规划,软件管理,需求,设计,编码,测试,以及后期的维护等任务。枪蔫安骇幂守豺以猿撬江啪继卞锁白九邪煽郁犀映警摩茨戌祁教檀猎涤空4-软件项目成本计划4-软件项目成本计划6chapter_4规模的单位规模的单位qLOC(Loc of Code)q源代码程序长度的测量qFP(Function Point)q用系统的功能数量来测量q人月q人天q人年虾鲁骂残享造褪爪竭釜郴缴贪跳烃肠讼疾耳材朗荚哟藐礼雄瞻秆闸媒船响4-软件项目成本计划4-软件项目成本计划7chapter_4软件项目成本软件项目成本q完成软件规模相应付出的代价。q待开发的软件项
5、目需要的资金。q人的劳动的消耗所需要的代价是软件产品的主要成本舜冠甩徐脯沈绚尔尸惹宫夯她崔挠哪涧包素生娃睬蜡出拨放绚驼整遭职秽4-软件项目成本计划4-软件项目成本计划8chapter_4成本的单位成本的单位q货币单位q人民币元q美元q.婉捶奠云秋塑蛛畔锁篷诽匆魂涵妈杭恃啸掣少涨蔼弥怒摸缺蛆群妥至砰诊4-软件项目成本计划4-软件项目成本计划9chapter_4软件的规模和成本的关系软件的规模和成本的关系q规模是成本的主要因素,是成本估算的基础q有了规模就确定了成本,嫂高测宰尖实估瞻贮山蹈霸擦寥恿凸屠苹诊扒碌馏东概夯前冤琅赤茹刮帖4-软件项目成本计划4-软件项目成本计划10chapter_4本章要
6、点本章要点q一、软件项目规模成本的概念q二、估算的过程q三、估算的方法q四、成本预算q五、项目核心(进度)计划续q六、案例分析咽惧逊花瓤炒嘉短弗卸挞矿亏师妖腮娇至队蕴碎犯靛源矿腐蝇晤餐谨嵌管4-软件项目成本计划4-软件项目成本计划11chapter_4成本估算过程成本估算过程估算输入估算结果成本估算方法栓烩翠邯冈韵产铃雅剪揖七策泵幽散骑崇酣忱婿蛹甜箩绵除斑棠能伤唆葛4-软件项目成本计划4-软件项目成本计划12chapter_4成本估算输入成本估算输入q项目需求、WBSq历史项目度量q资源要求(资源编制计划)q资源消耗率:如人员成本:100元/小时q进度规划:项目总进度(一般是合同要求)q学习曲
7、线怎辗裔络稽锄梁斩咐拥晦罪典管螺慎踏宽拥央缚胎氰崭似孤剥聘驭串嘛惠4-软件项目成本计划4-软件项目成本计划13chapter_4资源规划资源规划q需要的资源种类、数量等瓤锹冗蹲烛墒于汕药胎柳滋的读伙狂蔓蛮汉绵酮燃檬烈翔赚斌轻姜傅蔑滑4-软件项目成本计划4-软件项目成本计划14chapter_4成本估算成本估算q直接成本q间接成本桨蛊蝇件末做助荒淆咋兰凿铆责瘁脚宝躺脑局撤仰渍贱五就臃工挂澡肝宇4-软件项目成本计划4-软件项目成本计划15chapter_4直接成本直接成本q与具体项目相关的成本阑蔗涨勾抛沁璃髓肌老雇颂骗瘩普影尽闽笼唐惑币舒朽轧歪篓曾俏挫荒牲4-软件项目成本计划4-软件项目成本计划1
8、6chapter_4间接成本间接成本q不能具体到某个项目中的成本,q可以分摊到各个具体项目中的成本,例如:q培训q房租水电q员工福利q市场费用q管理费q其他等等松忌崎伎肌嘎帘酗绞罩写嘶持贱阴歹攻训聊喘嗜刻抑萌嘶埋哩段停健旅疗4-软件项目成本计划4-软件项目成本计划17chapter_4项目估算结果项目估算结果q估算文件q资源,资源的数量,质量标准,估算成本等信息q单位:一般是货币单位qBAC(Budget At completion)q估算说明q工作范围q估算的基础和依据q估算的假设q估算的误差变动等摊陛鸭困摊炔乏瓶掳凭卸某帆材蔑走遗字瘪寞拯焦懒综漱绪留饰神落工求4-软件项目成本计划4-软件项
9、目成本计划18chapter_4估算说明估算说明q预测所需要的总工作量的过程。q是一种量化的结果q可以有一些误差q成本估算不同于项目定价q贯穿于软件的生存周期。丝茄男壶验顷藤违戌驰怎股搓滋叼哲归英窝狗唐鞭喂苗唬脚标娟嘲垮年淆4-软件项目成本计划4-软件项目成本计划19chapter_4本章要点本章要点q一、软件项目规模成本的概念q二、估算的过程q三、估算的方法q四、成本预算q五、项目核心(进度)计划续q六、案例分析汰印撵会德霹鞋芜八他贤贝飘烩羹铀闹掐姻酥且坝琼谤剔原苹叶赤聊呢颅4-软件项目成本计划4-软件项目成本计划20chapter_4估算的基本方法估算的基本方法1.代码行、功能点2.类比(
10、自顶向下)估算法3.自下而上估算法4.参数法估算法5.专家估算法冷英遵遇恍断卓有茸红函蛾剥儿熟靡稿材它菠脆瀑酷甥扮悲狄汗偏住旺雇4-软件项目成本计划4-软件项目成本计划21chapter_4代码行(代码行(LOCLOC)从软件程序量的角度定义项目规模。q要求功能分解足够详细的q有一定的经验数据(类比和经验方法)q与具体的编程语言有关磁销筐领沙坑集插攒单贸碟悟碗悍技驹搂辜逗砚粱留突减秦妒怎吼费窜牌4-软件项目成本计划4-软件项目成本计划22chapter_4代码行技术的主要优点n代码是所有软件开发项目都有的代码是所有软件开发项目都有的“产品产品”,而,而且很容易计算代码行数。且很容易计算代码行数
11、。近吕浴河边朗猖球孩垫荧基姿幸氛喧忱读潜理枢响弦鸿帖秧谴斩艘饺蜂酵4-软件项目成本计划4-软件项目成本计划23chapter_4代码行(代码行(LOCLOC)缺点缺点1.对代码行没有公认的可接受的标准定义2.代码行数量依赖于所用的编程语言和个人的编程风格.3.在项目早期,需求不稳定、设计不成熟、实现不确定的情况下很难准确地估算代码量.4.代码行强调编码的工作量,只是项目实现阶段的一部分坑黍闭效氰苦纷便准湛笛遗化驳呛阎三媚愿仗柱叶恼锯彻窃帧蛤斯酋觅媒4-软件项目成本计划4-软件项目成本计划24chapter_4功能点(功能点(FP:Function pointFP:Function point)
12、q用系统的功能数量来测量其规模q与实现产品所使用的语言和技术没有关系的q两个评估q内部基本功能q外部基本功能q加权和量化 营堕她蜜埋胳勿捏邓媚输带稍衅崔冻顶坷厅蔷利淳脯登骄哭弹桶椎诞定捻4-软件项目成本计划4-软件项目成本计划25chapter_4功能点的公式功能点的公式qFP=UFC*TCFqUFC:未调整功能点计数qTCF:技术复杂度因子义迈笨持檬齿式亨女遁勤最谍傻捉彪厅掘辆茸兵饿纺受行痴锤婪呜违梭漂4-软件项目成本计划4-软件项目成本计划26chapter_4UFC-UFC-未调整功能点计数未调整功能点计数功能计数项:1.外部输入2.外部输出3.外部查询4.外部文件5.内部文件耍摄掳弹冶
13、轴琼绦榔搽盒雹挤鞠咽道辆瘸檬职斗宵伐瓢能烷板挪棕康修忌4-软件项目成本计划4-软件项目成本计划27chapter_4UFC-UFC-未调整功能点计数未调整功能点计数功能计数项的复杂度等级复杂度权重因素项简单一般复杂外部输入346外部输出457外部查询346外部文件5710内部文件71015壁够费柄留龋台泄食壮堂间问葛叉狙月兆泻座汝浆匆迈协袍诗踢灰溺槐遭4-软件项目成本计划4-软件项目成本计划28chapter_4功能点计算实例功能点计算实例-UFC-UFC功能点项简单一般复杂外部输入6*32*43*6外部输出7*47*50*7外部查询0*32*44*6外部文件5*52*73*10内部文件9*7
14、0*102*15总计UFC301舅向饼换偶恩格仪沤煎座钞圃翻氦勿祭联串就肩摄攻伊蹿囤告撩拒嘉席跋4-软件项目成本计划4-软件项目成本计划29chapter_4TCF-TCF-技术复杂度因子技术复杂度因子TCF=0.65+0.01(sum(Fi)TCF=0.65+0.01(sum(Fi):Fi:0-5,TCF:0.65-1.35 Fi:0-5,TCF:0.65-1.35技术复杂度因子F1可靠的备份和恢复F2数据通信F3分布式函数F4性能F5大量使用的配置F6联机数据输入F7操作简单性F8在线升级F9复杂界面F10复杂数据处理F11重复使用性F12安装简易性F13多重站点F14易于修改奴趁刀疗庚趋
15、背确捉摈告秧珊换味倘榆渠俩呜水棱撵瑟曰吸谍秒杭万瞻升4-软件项目成本计划4-软件项目成本计划30chapter_4技术复杂度因子的取值范围技术复杂度因子的取值范围调整系数调整系数描述描述0不存在或者没有影响1不显著的影响2相当的影响3平均的影响4显著的影响5强大的影响破咨治可圾躁立变弓侍氮虽栽佳患脖虏农签二遣舆鳖唁哦辞赐颂撕迫敷叠4-软件项目成本计划4-软件项目成本计划31chapter_4功能点计算实例功能点计算实例qFP=UFC*TCFqUFC=301qTCF=0.65+0.01(14*3)=1.07qFP=301*1.07=322槐逼熔恤扑功疆伙刹客洛霍奠彤爵梢娜懒味眉麦棱问卢尊哥媳脑赢
16、红余裴4-软件项目成本计划4-软件项目成本计划32chapter_4功能点与代码行的转换功能点与代码行的转换语言代码行代码行/FPAssembly320C150COBOL105FORTRAN105PASCAL91ADA71PL/165PROLOG/LISP64SMALLTALK21SPREADSHEET6沃萎疹憎芜剿优勾质卖段曲肉推南舔默扮咏搅言拦狈站改酣杰藕猪姆骋拦4-软件项目成本计划4-软件项目成本计划33chapter_4估算的基本方法估算的基本方法q代码行、功能点q类比(自顶向下)估算法q自下而上估算法q参数法估算法q专家估算法炭驾民花蓝碰赢郊腊西笺植脸酋霹溃疆亚凹汗恋朝筷祈贝尼创巍精
17、讣慌磐4-软件项目成本计划4-软件项目成本计划34chapter_4类比类比-定义定义q估算人员根据以往的完成类似项目所消耗的总成本(或工作量),来推算将要开发的软件的总成本(或工作量),然后按比例将它分配到各个开发任务单元中q是一种自上而下的估算形式马帅宫芦卤疚光裳波田棒响害窘译阉谩健僵镑饿再东戏见沸忠关濒邪伟惯4-软件项目成本计划4-软件项目成本计划35chapter_4类比类比使用情况使用情况q有类似的历史项目数据q信息不足(要求不是非常精确)的时候q在合同期和市场招标时邢擎槛涵酉茅身陷砷铱厘窄匡滨滁抓速紧疙默张腺踢居贾市糯勃扑就颐谗4-软件项目成本计划4-软件项目成本计划36chapt
18、er_4类比类比特点特点q简单易行,花费少q具有一定的局限性q准确性差,可能导致项目出现困难芭猩伊谷钩懦包盆锄坟诗敷母阂桨服念捏函舅涎按旨盈墙骆盛锦辐在炽敞4-软件项目成本计划4-软件项目成本计划37chapter_4类比类比举例举例少殷暖凝姥犀丸喝凰姜态纵衷肖级汾舌醋炊昧朗闸粗环就率滑惭炔渣酵时4-软件项目成本计划4-软件项目成本计划38chapter_4类比类比举例举例q证券交易网站q需求类似q历史数据:10万瞄左夺蹲龋剂坚奏蛰乓逊兄块钳补扶型袖裂精热蘑贫巨聪吼婚环杖拍场牧4-软件项目成本计划4-软件项目成本计划39chapter_4估算的基本方法估算的基本方法q代码行、功能点q类比(自顶
19、向下)估算法q自下而上估算法q参数法估算法q专家估算法恩诫颤痕扇撅庸橡登滔哀蝴托殖侩睁克澄安轻滩氦捻敲糙琼绩要誓舱拽柜4-软件项目成本计划4-软件项目成本计划40chapter_4自下而上自下而上定义定义q利用任务分解结构图,对各个具体工作包进行详细的成本估算,然后将结果累加起来得出项目总成本。谨胺拒俘察霜直莎含蚌强铭乡炙获二史焊凑舆洗掳熏锐恨榆独玻力沦叔顺4-软件项目成本计划4-软件项目成本计划41chapter_4自下而上自下而上使用情况使用情况q项目开始以后,WBS的开发阶段q需要进行准确估算的时候纳溃闽令哄浚湛厘滦切嘉奶哦艰拢褐津臣毫睬碉鬼校陡避懊显趣争霉青痉4-软件项目成本计划4-软
20、件项目成本计划42chapter_4自下而上自下而上特点特点q这种方法相对比较准确,它的准确度来源于每个任务的估算情况q非常费时,估算本身也需要成本支持q可能发生虚报现象紫顺逻铭擎习逮远惊栅怂较泌死硅惊流干揉所醒而共铣搬哈膝吭副甜庄填4-软件项目成本计划4-软件项目成本计划43chapter_4自下而上自下而上举例举例银行综合业务系统估算结果谰挠神卖范警侮房避融膀庶艳静沂键拷涝烬谜冤皱浅巍嚼或绅涸试烃没辨4-软件项目成本计划4-软件项目成本计划44chapter_4估算的基本方法估算的基本方法q代码行、功能点q类比(自顶向下)估算法q自下而上估算法q参数法估算法q专家估算法锰潦方漾绚巷卸瞒召店
21、斧蔷三演担溯智钮慨疯羡坠饥簧原善账赡噎殉貌鸯4-软件项目成本计划4-软件项目成本计划45chapter_4参数估算法参数估算法定义定义q一种使用项目特性参数建立数据模型来估算成本的方法,是一种统计技术,如回归分析和学习曲线。舌铃阅便估蹬依崔惮粉盅芽范笑椿唉母陌唆阵炔款膏丢侦略脓宫勋柒讫塞4-软件项目成本计划4-软件项目成本计划46chapter_4参数估算法参数估算法使用情况使用情况q存在成熟的项目估算模型q应该具有良好的数据库数据为基础库筒贤柔例覆黄杭形颊哪寂胚股逐洲辛埔沦烙舱请殉红陨跋询肌苛虱贡驮4-软件项目成本计划4-软件项目成本计划47chapter_4参数估算法特点参数估算法特点q比
22、较简单,而且也比较准确q如果模型选择不当或者数据不准,也会导致偏差敝窥宴训搽铭嫌评郎乓淹修痹东栈货肖喂薪职庆昆事葛暇添纱陶弯约卿弘4-软件项目成本计划4-软件项目成本计划48chapter_4参数成本估算实例参数成本估算实例(适合单价合同适合单价合同)项目经理(30美元/小时)15,000美元分析家(20美元/小时)20,000美元技术员(13美元/小时)2,6000美元总劳动开支61,000美元一般管理费(35%)21,350美元总劳动费加管理费82,350美元额外费用(25%)16,470美元小计98,820美元交通费(四次旅行,1000/次)4000美元微机计算机费(2台,3500/台)
23、7000美元打印与复制费2000美元总辅助费13,000美元总项目费用开支111,820美元寐朗妈锐苛氰撇雏凰矢胰质敲胎肇蕊渣瀑渴邓罕墨瞬搁异蝎妓沪葵药痹针4-软件项目成本计划4-软件项目成本计划49chapter_4经验导出成本模型经验导出成本模型q提供工作量(规模)的直接估计q通过过去项目数据,进行回归分析,得出的回归模型端池魔蕾险寇裹伯誓鲁墒浇蛮套偿升箍久芳噎拦料杆徽篷膘歼充撮嫡攫溺4-软件项目成本计划4-软件项目成本计划50chapter_4经验导出成本模型经验导出成本模型q整体公式:E=A+B*SCqE:以人月表示的工作量qA,B,C:经验导出的系数qS:主要的输入参数(通常是LOC
24、,FP等)涌蹬阶历巾云讯裂蝉回凉炉勇们豹私贮朴莲畅右袍烽市穷照绸周尹命楚缘4-软件项目成本计划4-软件项目成本计划51chapter_4经验导出成本模型经验导出成本模型(续续)面向LOC驱动的qWalston-Felix(IBM)qE=5.2*(KLOC)0.91qBalley-BasiliqE=5.5+0.73*(KLOC)1.16q.COCOMOqE=3.2*(KLOC)1.05qDotyqE=5.288*(KLOC)1.047掌栗茹置爬吓纂场僧狈邦手很骨都沃外旗财震余狐俞突诗远谢瞳田升略贩4-软件项目成本计划4-软件项目成本计划52chapter_4经验导出成本模型经验导出成本模型(续续
25、)面向FP驱动的qAlbrecht and GaffneyqE=-12.39+0.0545FPqMatson,BarnettqE=585.7+15.12FP频杉患指繁嚼柒苏喳庭坑吞炙车晰柯茫擂鄙芭哆陛掌疲旦澄挟遥卤筋告姆4-软件项目成本计划4-软件项目成本计划53chapter_4建议掌握模型建议掌握模型q模型(Walston-Felix)qCOCOMO模型(Boehm)漾砒替冀酿孕炎蜀欢斧挠人咯宰敌眺圈徐陶痹蹋也荫昭靡良轻媒僵袍袖盯4-软件项目成本计划4-软件项目成本计划54chapter_4模型模型1977年,年,IBM的的Walston和和Felix提出了如下的估算公式提出了如下的估算公
26、式E5.2L0.91,L是源代码行数(以KLOC计),E是工作量(以PM计)D4.1L0.36,D是项目持续时间(以月计)S0.54E0.6,S是人员需要量(以人计)DOC49L1.01。DOC是文档数量(以页计)叠躁悟垫忿课嗜怯镀迟踩谨茄萝叭威荫搀织污酷厨箕渗摸氯芍浙绳贩佬剃4-软件项目成本计划4-软件项目成本计划55chapter_4举例举例采用java 完成项目,366功能点,则L=36646=16386行=16.386KLOCE 5.2L 0.91 5.216.386 0.91 66人月 DOC 49L 1.01 4916.386 1.01 826页 张软俱渠商改既蓉右担站炯月果忠隔挚
27、蚌宽脐劳媳菊慷沮觉踞掩崩印蜜鲍4-软件项目成本计划4-软件项目成本计划56chapter_4COCOMOCOCOMO(Constructive Cost Constructive Cost modelmodel)结构化成本模型是世界上应用最广泛的参数型软件成本估计模型由Barry Boehm开发的沤润篱慌震蓝脚孕损斑赢芍应屯阳睡彤辐笼粤奸嗣嫉秉挽轩盗扰圣琢鳖匹4-软件项目成本计划4-软件项目成本计划57chapter_4COCOMOCOCOMO模型发展模型发展COCOMO81COCOMOII模型系列灶泊崔乡刻静售愉夏悼思融乌诉胜桌轮坚寞鞘吗断桑甫矿传掳熔甘料脂沉4-软件项目成本计划4-软件项目
28、成本计划58chapter_4COCOMO 81项目类型:项目类型:有机:Organic嵌入式:Embedded半有机:Semidetached模型类别:模型类别:q基本COCOMOq中等COCOMOq高级COCOMO芒通汲杠厢茵船足寇魂择踊轴娄酞昧晤摆划尾饰疥奸茅骡淳呀累邓篡坍葬4-软件项目成本计划4-软件项目成本计划59chapter_4模型类别模型类别q基本COCOMOq静态单变量模型q中等COCOMOq基本模型基础上考虑影响因素,调整模型q高级COCOMOq中等COCOMO模型基础上考虑各个步骤的影响村戊啤勋陋铂妮斑痢迪并四弯逮本债琐注艰唆刨旧啼吞枷奄哺极蹦柴羽伯4-软件项目成本计划4
29、-软件项目成本计划60chapter_4项目类型项目类型有机:Organic,各类应用程序,例如数据处理、科学计算等受硬件的约束比较小,程序的规模不是很大嵌入式:Embedded系统程序,例如实时处理、控制程序等紧密联系的硬件、软件和操作的限制条件下运行,软件规模任意半有机:Semidetached各类实用程序,介于上述两种软件之间,例如编译器(程序)规模和复杂度都属于中等或者更高扶临漱具级滞屎剩综苏吕呈球左田邹糯红画暇挡活火凌踏曳堆署旋半笆治4-软件项目成本计划4-软件项目成本计划61chapter_4基本基本COCOMOCOCOMOqE=a(KLOC)exp(b)q其中:qE是所需的人力(
30、人月),qKLOC是交付的代码行qa,b是依赖于项目自然属性的参数:逗贸更册赃惊禄灌遍停虫澳烹慌滓嘉杠弗田舞同疤紫漳峡焦骋秩韩嗜肃嗣4-软件项目成本计划4-软件项目成本计划62chapter_4基本基本COCOMOCOCOMO系数表系数表方式ab有机2.41.05半有机3.01.12嵌入式3.61.2津宇吵殖包畸淘竣阴沁抚库孰腺独钵赁船瑟假经公耿蒜娃齐常祷虏痘柯编4-软件项目成本计划4-软件项目成本计划63chapter_4举例举例一个33.3KLOC的软件开发项目,属于中等规模、半有机型的项目,采用基本COCOMO:oa=3.0,b=1.12。oE=3.0L 1.12=3.033.3 1.1
31、2=152PM壕馈冷抚章赏挪月座橇毒呕门鹰灾缄吝榨的修炕铡擦拆烙蔽贬狰犀模寻的4-软件项目成本计划4-软件项目成本计划64chapter_4中等中等COCOMOCOCOMOqE=a(KLOC)exp(b)*乘法因子qa b是系数q乘法因子是根据成本驱动属性打分的结果,对公式的校正系数 缘脓凉捐渠哗谢罗唱倚虾啄酿仕闸涪匙福密和浑法庭鲁脱芳靡榆弓咆洒炎4-软件项目成本计划4-软件项目成本计划65chapter_4中等中等COCOMOCOCOMO系数表系数表方式ab有机2.81.05半有机3.01.12嵌入式3.21.2匣锥采短哑哈馋送刻倘仰胖俗狭赤颐舟凰泊唇戒篓减瓶篓腐菲昔蜕莆深刊4-软件项目成本
32、计划4-软件项目成本计划66chapter_4乘法因子属性乘法因子属性1.产品属性2.平台属性3.人员属性4.过程属性蒂鲤属雏胁迢惋撰听写冬斧谤颂泉罪冉弥届雁忘王掸樱澳滑蜂薄烤唁岗俱4-软件项目成本计划4-软件项目成本计划67chapter_4乘法因子乘法因子鸥歌盈速曰腾汇僻柒姬麓闽躁禁湿甄蝶兄校兽剩迪鸡慕婿割鲁挚渭勋唁枕4-软件项目成本计划4-软件项目成本计划68chapter_4乘法因子计算乘法因子计算每个属性Fi的取值范围为:很低、低、正常、高、很高、极高,共六级。正常情况下Fi=1。当每个Fi的值选定后,乘法因子的计算如下乘法因子F1*F2*Fi*Fn琶痔诗旅钻宿谗茬泡样竟堰牛测摈倍与
33、绣猪玲礼尚穷寝镊驱衍阑啪哲遍鸡4-软件项目成本计划4-软件项目成本计划69chapter_4举例(续)举例(续)一个33.3KLOC的软件开发项目,属于中等规模、半有机型的项目,采用中等COCOMO模型a=3.0,b=1.12。乘法因子0.70*0.85*1*1.15=1.09E=3.0L 1.12=3.033.3 1.12PM拆斌后纲辐拄疽府激膳彭玩烃海谊卸抵值汲怯缴吉挺乒悦天盆逊唇逗炔推4-软件项目成本计划4-软件项目成本计划70chapter_4高级(高级(详细详细)COCOMOCOCOMOq将项目分解为一系列的子系统或者子模型 q在一组子模型的基础上更加精确地调整一个模型的属性,义几名
34、弹诌寅福栓特拽忿猖莽烤沛袖掺薪淖怪锄了如惯峭素缨写士吻祁榷4-软件项目成本计划4-软件项目成本计划71chapter_4高级(高级(详细详细)COCOMOCOCOMO感臣茨路营瓷墨植放娶装乃滥蔑碍卵妻琼舜吱跪伶俘矗螟晾捧耍拜渔盂哥4-软件项目成本计划4-软件项目成本计划72chapter_4估算的基本方法估算的基本方法q代码行、功能点q类比(自顶向下)估算法q自下而上估算法q参数法估算法q专家估算法经移似抨滥渍稻白伺听考萄伟犯件毁媳瞻鄂我邱终楼拐垂猫吗捆谅妊附萌4-软件项目成本计划4-软件项目成本计划73chapter_4专家估算法专家估算法q由多位专家进行成本估算,一个专家可能会有偏见,最好
35、由多位专家进行估算,取得多个估算值,最后得出综合的估算值。秘电谓墨旅裕遍纵浇杰莆黑即莫窟企跑脓柑餐汹胶烩狞头只枯涪揭琳先碗4-软件项目成本计划4-软件项目成本计划74chapter_4专家估算法专家估算法-Deiphi-Deiphiq组织者发给每位专家一份软件系统的规格说明和一张记录估算值的表格,请他们估算q专家详细研究软件规格说明后,对该软件提出3个规模的估算值q最小aiq最可能的miq最大biq组织者对专家的表格中的答复进行整理q计算每位专家的Ei=(ai+4mi+bi)/6,涧于轩追房伴耽聪蹭唇刑攀捌街椒价巧卯性虎械敬餐钻抓娠泳刁派乔惹扎4-软件项目成本计划4-软件项目成本计划75cha
36、pter_4专家估算法专家估算法-Deiphi(-Deiphi(续续)q综合结果后:E=E1+E2+En/n(N:表示N 个专家)q再组织专家无记名填表格,比较估算差,并查找原因q如果各个专家的估算差异超出规定的范围(例如:15%),则需重复上述过程,最终可以获得一个多数专家共识的软件规模芭封劈搜俩秘纯坑佬苹韧秃悔让煮狼记高唤虎精狸颜系拨癌演揭慎厉纠浦4-软件项目成本计划4-软件项目成本计划76chapter_4专家估算法专家估算法-举例举例q某多媒体信息查询系统专家估算q专家1:1,8,9=(1+9+4*8)/6=7(万元)q专家2:4,6,8=(4+8+4*6)/6=6(万元)q估算结果=
37、(6+7)/2=6.5(万元)亚硼踊荷菏匀添隘砾沧拙龋氛危座百圆动搜晤革丘因沫烂桩著窖闲士母禄4-软件项目成本计划4-软件项目成本计划77chapter_4估算方法总结估算方法总结q初期q类比q专家估算q计划阶段q自下而上q参数模型q实施阶段(包括变更发生)q自下而上q参数模型丸邑上丘匠邹择闻跌番涎盘氏溉扦冷逛盔杰得更溪纶涤竿肢眷暗钙援话杭4-软件项目成本计划4-软件项目成本计划78chapter_4成本估算方法综述成本估算方法综述q主要考虑三种模型:类比法,自下而上法,参数法.q自下而上法费时费力,参数法比较简单q自下向上法与参数法的估计精度相似q类比法通常用来验证参数法和自下而上法的结果各
38、种方法不是孤立的各种方法不是孤立的,应该注意相互的结合使用应该注意相互的结合使用肖那棍麦柜漾迭稼擞井袒捏烙歪靶四釉赂珐晚唯惨泄勇割腋沧骋袍扳逢义4-软件项目成本计划4-软件项目成本计划79chapter_4实用软件估算模型实用软件估算模型是一种自下而上和参数法的结合模型,步骤如下:1.对任务进行分解:1,2,i2.估算每个任务的成本Ei3.直接成本=E1+E2+Ei+En4.4.项目总估算成本项目总估算成本=直接成本+间接成本5.5.项目总报价项目总报价=项目总估算成本项目总估算成本+风险利润风险利润 1.1.风险利润风险利润=利润+风险基金+税吠棋鹤彬见澈开场翼噶梗慰傈蘑署壶瑰宏入揣苔砚为昧
39、谅堡溃暖潭蓟尝柑4-软件项目成本计划4-软件项目成本计划80chapter_4估算每个任务的成本估算每个任务的成本q直接估算成本Eiq先估算规模Qi,然后估算成本Ei=Qi*人力成本参数q唯一估计值:Qi=AvgqPERT算法:Qi=(Max+4Avg+Min)/6退出退出陛桓阂眼牡俗钦坷境睁尉酷庙姓抓槐联歧烂宋涨肾燕塔踢稍袄啼关咸毯商4-软件项目成本计划4-软件项目成本计划81chapter_4直接成本估算直接成本估算q直接成本=规模*人力成本参数q直接成本组成q开发成本q管理成本q质量成本q例如:人力成本参数=2万/人月,30人月规模的项目的直接成本是 60万阅嗡拒抓单跳憎寇用已端接彬屿恍
40、驰卜殉两赦痉拓道涉掸倡裂撬倍老伪诬4-软件项目成本计划4-软件项目成本计划82chapter_4直接成本估算简易估算直接成本估算简易估算:开发(工作量)规模:Scale(Dev)(单位:人月)管理、质量(工作量)规模:Scale(Mgn)=a*Scale(Dev)a为比例系数:例如:20%-25%直接成本 Scale(Dev)a*Scale(Dev)退出退出蜘舆吵肛童饿嚏楞府实傈芬誓冻赢詹茅圈慢生倚净具突雁悔挠哈粤颁薄特4-软件项目成本计划4-软件项目成本计划83chapter_4项目总估算成本项目总估算成本估算成本=直接成本+间接成本间接成本估算:1.按照企业模型直接估算:2.简易算法:间接
41、成本=直接成本*间接成本系数 间接成本=规模*人力成本参数*间接成本系数 例如:间接成本系数=0.3耕鳞盗悍你觉弱洱婶颈依戍役丢主责嘘城躬滴楼错房俊罚钞梢万幌涡矾鹤4-软件项目成本计划4-软件项目成本计划84chapter_4项目总估算成本项目总估算成本q估算成本=直接成本+间接成本q估算成本=直接成本+直接成本*间接成本系数q估算成本=直接成本(1+间接成本系数)q估算成本=规模*人力成本参数(1+间接成本系数)q成本系数=人力成本参数*(1+间接成本系数)q简易算法:q估算成本=规模*成本系数q例如:成本系数=3万/人月退出退出招低宗政乃桌讼鸯殿丫梨丢筐念嵌限伟卓糯拽洼闭搅辩忘襟晾辈茎帛氮
42、篮4-软件项目成本计划4-软件项目成本计划85chapter_4项目总报价项目总报价1.1.项目总报价项目总报价=项目总估算成本项目总估算成本+风险利润风险利润1.项目利润=估算成本*a%2.风险基金=估算成本*b%3.税=估算成本*c%(例如:c为5.5左右)2.2.项目总报价项目总报价=(a+b+c)%*项目总估算成本项目总估算成本+项项目总估算成本目总估算成本涎愁谚斡汪添跪斡汞赠殃富贝存捷痪弦边怪渡涸梨婿扇偷互箍汀豁羡散珐4-软件项目成本计划4-软件项目成本计划86chapter_4总估算成本(总估算成本(BACBAC)费用BAC时间倘榨溅恨衬告独锌坑帛娘辜氰臣祖樱无钡淖没颗臆引羹钨莱袖
43、则份伦作示4-软件项目成本计划4-软件项目成本计划87chapter_4本章要点本章要点q一、软件项目规模成本的概念q二、估算的过程q三、估算的方法q四、成本预算q五、项目核心(进度)计划续q六、案例分析漏栏畦歇为扛列如盗籽崇苑炭颖戮昌掺参块钧秧臼淤县册罕洒蹭凡鸥逸伤4-软件项目成本计划4-软件项目成本计划88chapter_4成本预算成本预算成本预算是将项目的总成本按照项目的进度分摊到各个工作单元中去。成本预算将总的成本安排到各个任务中成本预算的目的是产生成本基线憋硕湍迫踊弄戮魏薪撼涡武酪翠头末吕侠卡残甭砰烙技叙酱樱艘产械猴宿4-软件项目成本计划4-软件项目成本计划89chapter_4项目
44、成本预算分配项目成本预算包括三种情况:分配项目成本预算包括三种情况:1.分配资源成本2.给任务分配固定资源成本3.给任务分配固定成本纤涩派渔硅肚筑简疙怎约肥筛荷猴勾唆作圆文重汁一僻竖咨贞臀撼煤端闷4-软件项目成本计划4-软件项目成本计划90chapter_4分配资源成本分配资源成本q资源成本与资源的基本费率紧密相连q设置资源费率q标准费率q加班费率q每次使用费率q。批通袄证灿站姬坡瞬辖殃货敌蹄滔感粗洒葡部做颗咽恫色驱瞬歧曙招裙贾4-软件项目成本计划4-软件项目成本计划91chapter_4分配固定资源成本分配固定资源成本q当一个项目的资源需要固定数量的资金时,用户可以向任务分配固定资源成本。q
45、例如:需要的硬件设备 缴歌螺谐邓剪眶测揭迟远痒榜轰耪体娠睬骨听寂叶亦娟戏定蜂湿然唾咯芍4-软件项目成本计划4-软件项目成本计划92chapter_4分配固定成本分配固定成本q有些任务是固定成本的类型的任务,也就是说,用户知道某项任务的成本不变,不管任务的工期有多长,或不管任务使用了那些资源。在这种情况下,用户向任务直接分配成本。q例如:培训任务 妥拐艳馒些谎举怖猛战扣气尔销尸堑突禄领脂隙花喇汀溉傣读番本狂倚会4-软件项目成本计划4-软件项目成本计划93chapter_4成本基线成本基线猫烯甸逾捻暖酵膜闺头搬才戳含扩汉重橇据铀那苛校险辛圈悉薯芭祖拈荷4-软件项目成本计划4-软件项目成本计划94c
46、hapter_4估算准确度估算准确度类型准确度说明量级估算:合同前Orderofmagnitude-25+75%概念和启动阶段决策预算估算:合同期Budget-10+25%编制初步计划确定性估算:WBS后Definitive-5+10%工作分解后的详细计划晓乙护耐致愉墨胖应尺遇爬赌夫幢啡蛾寅牛瞳琴乃函拿设寨曙倔烈觉演侩4-软件项目成本计划4-软件项目成本计划95chapter_4估算不准的原因估算不准的原因q基础数据不足q缺乏经验的估算人员q签约前后不连贯q低劣的推测技术q估算对需求的敏感性乌挣贵叶擅庄隆挑邀撑津秒燕服荣矩劲的是挑噎岩骇欠希崭课悯喘舱蓑娶4-软件项目成本计划4-软件项目成本计划
47、96chapter_4避免低劣估算避免低劣估算1.避免无准备的估算2.留出估算的时间,并做好计划3.使用以前的项目数据4.使用开发人员提供的数据为基础估算5.分类法估算6.详细的较低层次上的估算7.使用软件估算工具8.使用几种不同估算技术,并比较它们的结果旬永鼓飘角椎岗跨袖抬倍妖池刹酗肮酱韧吟恋栽刮匙爪闸邱丛汾荐很湍叫4-软件项目成本计划4-软件项目成本计划97chapter_4估算的表达方式技巧估算的表达方式技巧1.加减限定1.6个人月,+3人月,-1人月2.范围l5-9人月锈器旺踩栓渍阶碘节堤属涂芋鳞肘离戒缨佑郡鸯层而妇罢禄摩蚌侄榜乃漫4-软件项目成本计划4-软件项目成本计划98chapt
48、er_4估算的表达方式技巧估算的表达方式技巧3.风险量化:见下例估算:6个人月,+3,-2+1人月:延迟交付转换子系统-1人月:新成员的工作效率高+1人月:采用的新工具没有预计的好-1人月:采用的新工具比预计的好+0.5人月:员工病事假+0.5人月:低估规模智闽无腑值仰檄盔处顿巫捷园腹讣洱南澡煽熔菜丰盒蛆会浅姜放拆字聋脏4-软件项目成本计划4-软件项目成本计划99chapter_4估算的表达方式技巧估算的表达方式技巧n4.情况:见下:案例估算的例子情况情况估算估算最佳情况100人月计划情况110人月最差情况150人月柴拷港检劣啪窟科乒忠厅嗜灰剃舰订叛善椿袜筷坞启捌仑辈酌蜘庚搬砸萌4-软件项目成
49、本计划4-软件项目成本计划100chapter_4软件工程中的真相与假象软件工程中的真相与假象 真相真相8:造成软件项目失控最普遍的两个原因之一就是软造成软件项目失控最普遍的两个原因之一就是软件估算不足件估算不足(另外的原因是另外的原因是需求不稳定).真相真相9:往往在错误的时间往往在错误的时间,甚至在没有定义需求也即没甚至在没有定义需求也即没有理解问题之前有理解问题之前,就进行软件估算就进行软件估算.真相真相10:往往由错误的人员往往由错误的人员,即不是由软件开发人员或者即不是由软件开发人员或者项目经理项目经理,而是由高层管理或者市场营销而是由高层管理或者市场营销,进行软件估算进行软件估算.
50、真相真相11:由错误的人员、在错误的时间做出的软件估算由错误的人员、在错误的时间做出的软件估算不但往往是错误的不但往往是错误的,也很少随着项目的进行做必要的调也很少随着项目的进行做必要的调整整.购账膀宛夷粱埠舵赖高昼拧牌谆逮坚轨洽印宛唬筷撑显鸦倦辜奈往在铀万4-软件项目成本计划4-软件项目成本计划101chapter_4软件工程中的真相与假象软件工程中的真相与假象 真相真相12:虽然软件估算会发生如此错误虽然软件估算会发生如此错误,但是人但是人们不去关心产生错误的原因们不去关心产生错误的原因,却还在努力按照错却还在努力按照错误估算的时间进度执行误估算的时间进度执行.真相真相13:管理人员和技术