《软件项目管理原理与实践》 课件 第3章 软件项目成本估算.pdf
《《软件项目管理原理与实践》 课件 第3章 软件项目成本估算.pdf》由会员分享,可在线阅读,更多相关《《软件项目管理原理与实践》 课件 第3章 软件项目成本估算.pdf(102页珍藏版)》请在咨信网上搜索。
1、第3章软件项目成本e 3.1项目估算的挑战 3.2项目估算的基本内容e 3.3规模估算O 3.3.1 德尔菲方法o 3.3.2 类比估算法 3.4工作量估算O 3.4.1 普特纳姆模型o 3.4.2 经验估算模型o 3.4.3 功能点分析的要素o 3.4.4 功能点计算o 3.4.5 开发阶段工作量估算o 3.4.6 实施阶段工作量估算o 3.4.7 维护阶段工作量估算2 3.5开发工期估算您3.6成本估算方法O 3.6.1 咨询费o 3.6.2 建设费O 3.6.3 服务费 3.7本章小结3什么是成本估算?Table 1-AACE Cost Estimate Classification S
2、ystemPrimary CharacteristicSecondary CharacteristicESTIMATECLASSMATURITY LEVEL OF PROJECT DEFINITION DELIVERABLESExpressed as%of complete defin(t)onEND USAGETypical purpose ofMETHODOLOGYTypical estimating methodEXPECTED ACCURACY RANGETypical venation m low and highClass 50%to 2%Concept screeningCapa
3、city factored,parametric models,judgment,or analogyI:-20%to-50%H:+30%to+100%Class 41%to 15%Study or feasibilityEquipment factored or parametric modelsL:-15%to-30%H:+20%to+50%Class 310%to 40%Budget authorization or controlSemi-detailed unit costs with assembly level line itemsL:40%to-20%H:*10%to+30%C
4、lass 230%to 75%Control or bid/tenderDetailed unit cost with forced detailed take-offL:-S%to-15%H:+5%to+20%Class 165%to 100%Check estimate or bid/tenderDetailed unit cost with detailed take-offL:-3%to-10%H:+3%to+15%5软件项目开发成本估算对于一个大型的软件项目,由于项目的复杂 性及软件项目的独特性,开发成本的估算不 是一件容易的事情,需要进行一系列的估算 处理,因此,主要依靠分析和类比
5、推理的手 段进行。软件项目开发成本估算方法是一个很重要的 问题,因为管理好成本才能避免造成人力、物力和资源的浪费,而软件项目开发成本的 首要任务是先进行成本估算。O所以在软件开发前期对软件开发成本的估算就显得十分 重要。6软件项目开发成本估算Design 5%Coding 7%Unit test 8%X /System test 7%_ 二Requirements 3%:Specification 3%/X/V Maintenance67%/73.1项目估算的挑战项目成本估算(Project Cost Estimate)指根据项目的资源 需求和计划,以及各种项目资源的价格信息,估算、确定 项目
6、各种活动的成本和整个项目总成本的一项项目成本管 理工作。项目成本管理为使项目在批准的预算内,完成而对成本进 行规划、估算、预算、融资、筹资、管理、控制的各个过 程,从而确保项目在批准的预算内完工。项目成本管理过 程包括:O(1)规划成本管理:确定如何估算、预算、管理、监督、控制项目成本 的过程。O(2)估算成本:对完成项目活动所需货币资源,进行近似估算的过程。O(3)制定预算:汇总所有单个活动或工作包的估算成本,建立批准的成 本基准过程。O(4)控制成本:监督项目状态,以更新项目成本和管理成本基准变更的 过程。8Estimating;methodsHighAccuracy&Detailt CC
7、omparative EstimateEstimatexpert JudgeQuick&mentDirty、VBottom-up/Parametric EstimateEstimatePerceptionFact9估算不但对于项目计划和管理是非常有用的,而且在其他方面,也至关重要。厂家与客户之间的合同,取决于成本和时间 表的估算值。O如果没有这些估算值,那么客户也就丧失了对建议书进 行评判的基础。O合同的条款一般都会包括成本和时间表的估算值,而这 些条款一般都被认为是固定的。q_,一1t件项目?3 Key Factors Affecting Cost of Software Developme
8、ntTypes of SoftwareThe Complexity of Software ProjectsLocation of a Software Development TeamHOWTO ESTIMATE COSTS OF DEVELOPING SOFTWARE?Follow this simple equationTypesof x.Software I bsource:mangosofttechThe Complexity of Software Projects+Location of a Software Development TeamDesign 5%Coding 7%U
9、nit test 8%Xy 4 System test 7%_-I IIRequirements 3%11 Specification 3%1/f/w 1/Maintenance67%12软件成本管理工作量的估算,是任何项目的管理中最困难 和最重要的活动之一。3.1项目估算的挑战虽然说工作量和时间表的估算值都是制定计 划所必不可少的,但是,如果我们能够知道 工作量的估算值,那么时间表的估算就会变 得更加容易。所以,软件项目中的重点主要在于工作量的估算。O如果我们不能估算出执行一个项目到底需要付出多少工 作量和时间,那么我们也就不可能进行有效的项目计划 和管理。143.1项目估算的挑战估算的基本
10、活动是,以数值的形式获知正在开发 的软件的。某些特性的输入信息,然后,再利用 这些输入信息数值,来估算出项目的工作量。O 一个软件估算模型,可以精确地定义项目需要哪些数值以及应该如 何利用这些数值来计算出工作量。从一定意义上说,工作量估算模型也就是一个获 得某些输入信息(如软件特性的数值等),而后 再输出工作量估算值的函数。O软件生命周期各个阶段所做的估算和详细程度是不同的,在每次估 算中如规模、工作量等估算的先后顺序是有规律的项目估算工作的 改进,是软件过程改进的重要内容。15Software cost factors4 App Type and Complexity%PlatformsM
11、Complexity of UX/UI Design/Back-End Infrastructure and Connected APIs区 Geographic LocationN Hiring Modelupstech1617Product CostProduct Cost FormulasDirect Labor+Direct Material+Factory Overheads18PRODUCT COSTINGA product cost can be simply defined as the total amount of costs assigned to a particula
12、r product based on a specific PURPOSE of the management of the organization.DIFFERENT PURPOSE DIFFERENT PRODUCT COSTINGJ Pricing for Open Market Selling/Product Mix Decisions and Rating of Customers/Selling Products through Government Contracts/Reporting in Financial Statements/Market Penetration Pr
13、icing/Inter I nit transfers/aluing Stocks/Inventory for Insurance/Buy vs.Make Decision澹19Building an App From the Ground Up9%DevelopmentProject ManagementUIUX DesignQuality AssuranceBusiness AnalyticsFRESHCODE20软件开发成本估算主要指软件开发过程中所 花费的工作量及相应的代价。O不同与传统的工业产品,软件的成本不包括原材料和能 源的消耗,主要是人的劳动的消耗。另外,软件也没有一个明显的制
14、造过程,它 的开发成本是以一次性开发过程所花费的代 价来计算的。,因此,软件开发成本的估算Z应是从软件计 戈人需求分析、设计、编码、单元测试、集 成测试到认证测试,整个开发过程所花费的 代价作为依据的。2122涌;二 H中军空军沱茂学空空皆竺hcHcir5AJSs4、丁 HO J_ 1TAFTTFlTiTKi i TAr.23同样,软件项目开发的成本估算的过程也不是一 蹴而就的,这也许与传统的工业产品生产过程成 本估算过程相似,O但因为软件项目的开发成本主要在人力成本上,对人力成本的估算也是软 件项目开发成本估算的主要内容,而人力成本主要以工作量或以时计费所以先要对软件规模,工作量,开发进度等
15、的估 计,这些过程可以利用历史项目数据作为参考,完成上述步骤后再结合现有成本数据就可以进行 成本估算,成本估算不仅仅是在项目开发工作之 前进行,O为了保证成本估算结果的准确性,在软件项目过程中也要进行成本估算过 程,可以迭代进行估算过程。2425衡量软件规模最常用的单位O是源代码行数(Line of Code,LOG)和功能点数(Function Point,FP)。体软件规模估算。O LOC是指所有的可执行的源代码行,包括可交付的工作 控制语言(Job Control Language,JCL)语句、数据 定义、数据类型声明、等价声明、输入/输出格式声明 於-寸。/*Now how many
16、 lines of code is this?*/for(i=0;i 25CHBOTTOM UPDOOR:MATERIAL:3CHFIME:15MINSTAFF:1-6.25CHFVideoScribe35类算法基本步骤是:O(1)整理出项目功能列表和实现每个功能的代码行。O(2)标识出每个功能列表与历史项目的相同点和不同 点,特别要注意历史项目做得不够的地方。O(3)通过步骤1和2得出各个功能的估计值。o(4)产生规模估计。软件项目中用类比法,往往还要解决可重用 代码的估算问题。36类算法估算可重用代码量的最好办法就是由程序员或系 统分析员详细地考卷酵在的代码,O估算出新项目可重用的代码中需
17、重新设计的代码百分比、需重新编 码或修改的代码百分比以及需重新测试的代码百分比。根据这三个百分比力可用下面的计算公式计算等 价新代码行:O等价代码行=(重新设计+重新编码+重新测试)/3*已有代码O比如:有10000行代码,假定30%需要重新设计,50%需要重新编 码,70%需要重新测试,那么其等价的代码行可以计算为:O 等价代码行=(30%+50%+70%)/3 X 10000=5000。o即:重用这10000代码相当于编写5000代码行的规模。3734工作根据规模估计结果,并定义了项目开发周期 和裁剪项目过程后,需要目过程中各阶段的 工作量和总工作量。目前,可以参考的历史数据包括爵O(1)
18、有历史项目的准确数据;O(2)至少有一个历史项目与现有项目规模类似;O(3)现有项目将和类似的历史项目采用类似的生命周 期、开发过程、开发技术和工具,类似技能和经验的项 目成员。同时可以参照业界公布的经验数据。3834工作工作量的估计可采用下面的公式进行:O工作量(人月)=规模(LOC)/生产率(LOC/人天)/22(天/月)参考历史项目数据中各阶段工作量所占百分比,可估算出各阶段工作量:O各阶段工作量(人月)=总工作量(人月)X各阶段工作量百分比o此外还有很多基于算法模型的方法,如:Putnam算法模型,经验 估算模型等,其基本思想是,找到软件工作量的各种成本影响因子,并判定它对工作量所产生
19、影响的程度是可加的、乘数的还是指数 的,以期得到最佳的模型算法表达形式。O当某个因子只影响系统的局部时,一般说它是可加性的。393-41 普特纳姆模型这是1978年普特纳姆(L-HPumam)提出 的,一种动态多变量模型,通用的形式为:O L:源代码行数(以LOC计)。o K:整个开发过程所花费的工作量(以人年计)。o TD:开发持续时间(以年计)。o Ck:技术状态常数,它反映“妨碍开发进展的限制”40Ck的典型值及开发对应环境Ck的典型值开发环境开发环境举例2000差没有系统的开发方 法,缺乏文档和复 审8000好有合适的系统的开 发方法,有充分的 文档和复审11000优有自动的开发工具
20、和技术o经验估算模型又叫COCOMO模型(ConstructiveCOstMOdel),这是由TRW 公司开发,Boehm提出的结构化成本估算模 型,是一种精确的、易于使用的成本估算方 法。COCOMO模型主要从两个方面来构建:以 源代码行(Single Line Of Code,SLOC)统 计的软件规模,成本驱动因子(Cost Driver)?。这些因素可以被归入产品,平台,人员和项目四个方面。42342 经验估算模型 C1)组织型(Organic)官o相对较小、较简单的软件项目。开发人员对开发目标理解比较充分,与软件系统相关的工作经验丰富,对软件的使用环境很熟悉,受硬 件的约束较小,程序
21、的规模不是很大(50000行)。(2)嵌入型(Embedded):O要求在紧密联系的硬件、软件和操作的限制条件下运行,通常与某 种复杂的硬件设备紧密结合在一起。对接口,数据结构,算法的要 求高。软件规模任意。如大而复杂的事务处理系统,大型、超大型 操作系统,航天用控制系统,大型指挥系统等。(3)半独立型(Semidetached):O介于上述两种软件之间。规模和复杂度都属于中等或更高。最大可 达30万行。43 按照项目开发的详细程度也可分为三级a基 本型,中间型和详细型。所采用的计算通式 为:PM=axSizeExYEAfi,=8+0.0卜2耳.EM的参考取值范围很低低正常高很高极高0.700
22、.85 1.00 1.15 1.30 1.6545功能点分析法是从软件用户的角度来评估一 个软件系统的功能,它将软件的功能分为五 个基本要素。,其中两个表示终端用户的数据需求W内部逻 辑文件,外部接口文件。o另外三个表示用户对数据的获取处理的事务功能:用户 输入,用户输出,用户查询。46(1)内部逻辑文件(Internal Logical Files,ILF)o是一个用户可识别的逻辑相关的数据组,它在应用程序边界内,由用户输 入来维护。它可能是某个大型数据库的一部分或是一个独立的文件。(2)外部接 口文件(External Interface Files,EIFo是一个用户可识别的逻辑相关的数
23、据组,但仅仅是起参考的作用,且数据 完全存于软件边界之外,由另一个应用程序进行维护,是另一个应用程序 的内部逻辑文件。(3)用户输入(Externallnputs,EI)O来自软件外部的数据输入,可以是控制信息,也可是事务数据输入。如果 是事务数据,它必须维护一个或多个内部逻辑文件。也就是说那些最后没 有保存的中间计算结果和消息发送,都不算作数据输入单元。输入数据可 来自一个数据输入屏幕或其他应用程序。47(4)用户输出(External Outputs,EO)o是“经过处理”的数据,由程序内部输出到外部。这里“经过处理”是指其区别于用户查询数据,是将一个或 多个ILF、EIF中取出数据经过一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件项目管理原理与实践 软件项目管理原理与实践 课件 第3章 软件项目成本估算 软件 项目 管理 原理 实践 成本 估算
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【曲****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【曲****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。