您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 第六章软件项目成本管理
第六章软件项目的成本管理ProjectCostManagement6.1软件项目成本管理概述6.2项目资源计划6.3项目成本估算6.4项目成本预算6.5项目成本控制本章目录5.1软件项目成本管理概述5.1.2软件项目成本管理概述项目成本管理概念——指为保障项目实际发生的成本不超过项目预算,使项目在批准的预算内按时、按质、经济高效地完成既定目标而开展的成本管理活动成本管理失败的原因成本估算和成本预算不够准确细致许多项目在成本估算、成本预算、成本控制方法上没有统一的标准可循思想上的误区:实际成本超出预算是必然的5.1软件项目成本管理概述5.1.2软件项目成本管理概述项目成本的类型项目直接成本:指与项目有直接关系的成本费用,例如,直接人工费、直接材料费、其他直接费用等。管理费用:是指为了组织、管理和控制项目所发生的费用。期间费用:是指不受项目业务量增减影响的费用,如日常行政管理费、销售费等5.1软件项目成本管理概述5.1.3影响成本的主要因素软件质量对成本的影响质量保证成本与故障成本是相互矛盾的:项目产品的质量越低,由于质量不合格引起的损失就越大,即故障成本增加;质量越高,相应的质量保证成本也越高,故障就越少,由故障引起的损失也相应减少。因此需要建立一个动态平衡关系。5.1软件项目成本管理概述5.1.3影响成本低主要因素工期对成本的影响缩短工期需要更多的、技术水平更高的人员,直接成本费用就会增加。5.1软件项目成本管理概述5.1.4成本管理的过程资源计划——是确定为完成项目活动所需的资源(人、设备、材料)和这些资源的数量与时间成本估算——为完成项目各活动所需要的资源成本的近似估算成本预算——将总成本估算分配到各单项工作活动上成本控制——控制项目预算的变更5.2资源计划5.2.1资源规划的依据资源规划的概念——资源计划是确定为完成项目活动所需要的各种资源的种类、数量和时间,包括人力、财力和物力资源,完成资源的配置5.2资源计划5.2.1资源规划的依据人员可复用构件硬件/软件工具人员需要的技能,可用性开始时间,工作期限硬件开发系统,目标机器,新系统其他硬件部分软件支持软件可用性,投入时间,持续时间资源的描述资源的有效性资源何时开始需要资源的持续时间5.2资源计划5.2.1资源规划的依据每种资源在软件生命周期的不同阶段占用比例不同管理人员初级技术人员高级技术人员高人员参与程度计划需求分析概要设计详细分析程序编码单元测试集成测试确认测试5.3软件项目成本估算软件项目估算概述软件项目估算的依据是对以往资源计划中所得到的有关工作量和时间的数据。只要事先得到相关的资源,很容易做到直接度量软件所需要的成本和工作量、产生的代码行数等软件项目估算分为基于规模估算和基于问题估算5.3软件项目成本估算基于规模的估算——基于规模的估算是对软件产品和软件开发过程的直接估算,可以建立一个面向规模的数据表格来记录项目的某些信息项目工作量千元KLOC文档页数错误数人数aaa-012416812.1365293ccc-046244027.21224865fff-034331420.21050646……………………………………5.3软件项目成本估算面向规模的估算对于每一个项目,可以根据表格中列出的基本数据计算简单的面向规模的生产率和质量的度量。生产率=KLOC/PM(人月)质量=错误数/KLOC成本=元/LOC文档=文档页数/KLOC5.3软件项目成本估算LOC估算法——实例某软件公司统计发现该公司每一万行C语言源代码形成的源文件(.c和.h文件)约为250K。某项目的源文件大小为3.75M,则可估计该项目源代码大约为15万行,该项目累计投入工作量为240人月,每人月费用为10000元(包括人均工资、福利、办公费用公滩等),则:该项目中1LOC的价值为:(240×10000)/150000=16元/LOC该项目的人月均代码行数为:150000/240=625LOC/人月5.3软件项目成本估算面向功能的估算——面向功能的估算,实质上就是功能点估算,根据软件信息域的特性及复杂性来计算输入——是由用户提供的、描述面向应用的数据项,如文件名和菜单选项输出——是由用户提供的、用于生成面向应用的数据项,如报告、屏幕信息、错误信息查询——是要求回答的交互式输入外部文件——是对其他系统的及其可读界面内部文件——是系统里的逻辑主文件(逻辑上的一组数据,可以是一个数据库的一部分,也可以是一个单独的文件)权重——使用者自行拟定一些准则来确定一个系数,带有主观性。5.3软件项目成本估算面向功能的估算——一旦收集到上述数据,下一步确定与每一个计数相关的复杂性值(加权因子)一个信息域是简单、平均还是复杂,由使用功能点方法的机构自行确定,从而计算出加权计数。计算功能点,使用如下的关系式:FP=总计数×(0.65+0.01×SUM(Fi))5.3软件项目成本估算基于经验的COCOMO模型——COnstructiveCOstModel,是软件工程的创始人Boehn提出的结构型成本估算模型,它是一种精确、易于使用的成本估算方法。在该模型中使用的基本量有以下几个:E——工作量(人月)S——千源代码行(KLOC)EAF——EffortAdjustmentFactor,工作量调整因子a,b——随开发模式而变化的因子5.3软件项目成本估算基于经验的COCOMO模型——在COCOMO模型中,考虑开发环境,软件开发的总体类型可以分为:组织型:相对项目较小、较简单的项目。开发人员对软件产品开发目标充分,与软件系统相关的工作经验丰富,对软件的使用环境很熟悉,受硬件的约束小,程序的规模不是很大(5万行)。嵌入型:紧密联系硬件、软件和操作的限制下运行,通常与某些硬设备紧密联系。因此,对接口、数据结构、算法要求较高半独立型:规模和复杂度都属于中等或更高。最大可达30万行5.3软件项目成本估算COCOMO模型的分类——COCOMO模型按照其详尽程度分为三类,即基本COCOMO模型、中间COCOMO模型、详尽COCOMO模型。基本COCOMO模型是一个静态单变量模型,用一个已经估算出来的源代码数为自动变量的函数来计算软件开发工作量。开发模式abcd组织型2.41.052.50.38半独立型3.01.122.50.35嵌入型3.61.202.50.325.3软件项目成本估算COCOMO模型的分类中间COCOMO模型:在用LOC为自变量的函数计算软件开发工作量(此时称为名义工作量)的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作量的估算。主要涉及15种因素。5.3软件项目成本估算成本驱动量描述取值很低低一般高很高非常高产品RELY必要的软件可靠性要求0.750.881.001.151.40DATA数据库规模0.941.001.081.16CPLX产品复杂性0.700.851.001.151.301.65计算机TIME执行时间限制1.001.111.30STOR主存限制1.001.061.211.66VIRT虚拟计算机可变性0.871.001.151.301.56TURN计算机响应时间0.871.001.071.15人员ACAP分析员能力1.461.191.000.860.71AEXP应用经验1.291.131.000.910.82PCAP程序员能力1.421.171.000.860.70VEXP虚拟机经验*1.211.101.000.90LEXP编程语言经验1.141.071.000.95项目MODP现代编程经验1.241.101.000.910.82TOOL软件工具使用1.241.101.000.910.83SCED规定的开发进度表1.231.081.001.041.105.4软件项目成本估算5.3.1项目成本估算影响成本估算的因素失败因素:多些时间做估算,并不能得到更准确的结果单点估计的结果往往不正确成功因素:估算的群体讨论,依靠更多的意见而不是时间提高估算准确度理智的方法是先给出大的区间,在软件开发过程本身中逐步缩小区间美国亚特兰大奥运会同时聘请三家机构进行成本估算,准确率高达83%5.4软件项目成本估算5.3.2软件项目成本估算的方法自顶向下的估计——又称类比估算,通常在项目的初期或信息不足时进行,只确定了初步的工作分解结构,分解层次少,估算精度较差特点:类比估算法通常比其他方法简便易行,费用低。这种估算是基于实际经验和实际数据的5.4软件项目成本估算5.3.2软件项目成本估算的方法自底向上的估算方法——把待开发的软件细分,直到每一个子任务都已经明确所需要的开发工作量,然后把他们加起来,得到软件开发的总工作量。差别估算法——把待开发的项目与过去完成的软件项目进行类比,从其开发的各个子任务中区分出类似的部分与不同的部分,分别进行差别估算5.4软件项目成本估算软件库存情况更新开发者W.Ward日期2/8/82阶段项目任务工作量分布(%)小计(%)计划和需求软件需求定义9.43开发计划1.8911.32产品设计11.32产品设计初步的用户手册5.66测试计划1.8918.87详细PDL描述7.55详细设计数据定义7.55过程设计3.77正式的用户手册3.7722.64编码与程序编码11.32单元测试单元测试结果18.8730.19集成与编写文档7.55系统测试集成与测试9.4316.98总计1005.4软件项目成本估算案例:过分乐观的估算MicrosoftWordforWindows1.0开发。包含249,000行代码,投入660人月,前后历时5年,实际花费时间为预期时间的5倍02004006008001000120014001600180020001984198519861987进度所需天数预期尚需时间实际尚需时间5.4软件项目成本估算导致WinWord1.0开发延迟的几个主要因素:项目初期制定的开发目标是不可实现的盖茨下达的指示是用最快的速度开发最好的字处理软件,争取在12月内完成。实现这两个目标中的任何一个都是困难的,同时达到则是不可能的过紧的进度计划降低了计划的精确度开发过程中频繁换人。5年中共换了4个组长,其中有2人因进度压力离职,1人是出于健康的原因而离职5.5软件项目成本预算5.5.1软件项目成本预算——项目成本预算是项目成本控制的基础,包括四部分:直接人工费用的预算;咨询服务费用的预算;资源采购费用的预算;意外成本的预算累积费用时间实际成本额计划成本额实际支出线计划支出线观测时点线5.5软件项目成本预算5.5.1软件项目成本预算分摊总预算成本5.5软件项目成本预算5.5.1软件项目成本预算活动天小计123456789101112…1需求分析计划0.30.3.0412流程优化0.80.80.90.70.70.74.63需求词汇表0.40.44绘制业务流程0.80.71.5预算累计0.30.611.82.63.54.24.95.666.87.57.5项目每天分摊预算与预算累计表5.6软件项目成本控制5.6.1成本控制的内容监控成本预算执行情况以确定与计划的偏差,对造成费用基准变更的因素施加影响确认所有发生的变化都被准确记录在费用线上确保合理变更请求获得同意,当变更发生时,管理这些实际的变更5.6软件项目成本控制5.6.2软件项目成本控制的依据项目成本基准项目执行报告项目变更申请项目成本管理计划5.6软件项目成本控制5.6.3软件项目成本控制方法成本因素分析法5.6软件项目成本控制5.6.3软件项目成本控制方法图像分析法——通过绘制成本曲线的形式,进行总成本和分项成本的比较分析,找出总成本出现偏差的原因
本文标题:第六章软件项目成本管理
链接地址:https://www.777doc.com/doc-782457 .html