- 664.82 KB
- 72页
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'第6章IT软件项目成本管理6.1IT项目成本6.2IT项目开发成本的估算方法6.3成本估算案例6.4项目成本控制Page1
6.1IT项目成本直接成本:主要是指与项目有直接关系的成本费用,是与项目直接对应的,包括直接人工费、直接材料费、其他直接费等。管理费用:指为了组织、管理和控制项目所发生的费用,项目管理费用一般是项目的间接费用,主要包括管理人员费用支出、差旅费用、固定资产和设备使用费用、办公费用、医疗保险费用,以及其他一些费用等。期间费用:指与项目的完成没有直接关系,费用的发生基本上不受项目业务量增减所影响的费用。如日常行政管理费用、销售费用、财务费用等,不作为项目费用的一部分,而是作为期间费用直接计入公司当期损益。Page2
1.IT项目成本的构成主要由以下4部分构成:硬件成本:主要包括实施IT软件项目所需要的所有硬件设备、系统软件、数据资源的购置、运输、仓储、安装、测试等费用。差旅及培训费用:包括软件开发人员和用户的培训费用。软件开发成本:最主要的是人工成本。项目管理费用:用于项目组织、管理和控制的费用支出。Page3
IT项目成本与活动的对应关系Page4E1E2E3E4E5始于项目计划结束时间识别设计实施评估费用
2.影响项目成本的因素项目质量对成本的影响工期对成本的影响价格对成本的影响管理水平对成本的影响人力资源对成本的影响Page5
(1)项目质量对成本的影响质量对成本的影响,可以通过质量成本构成示意图来表示,如图6-2所示。质量总成本由质量故障成本和质量保证成本组成。质量故障成本指为了排除产品质量原因所产生的故障,保证产品重新恢复功能的费用。质量保证成本指为了保证和提高产品质量而采取的技术措施所消耗的费用。Page6
图6-2质量与费用之间的关系Page7费用质量质量保证费用质量故障费用质量总成本
(2)工期对成本的影响项目的费用由直接费用和间接费用组成,一般工期越长,项目的直接费用越低,间接费用越高;工期越短,直接费用越高,间接费用越低。相互之间的关系如图6-3所示。(3)价格对成本的影响中间产品和服务、市场人力资源、硬件、软件的价格也对成本产生直接的影响。价格对项目预算的估计影响很大。Page8
图6-3总成本与工期之间的关系Page9项目总成本项目工期直接费用间接费用总成本
(4)管理水平对成本的影响项目管理水平对项目的成本有时会产生根本性的影响。高的管理水平可以提高预算的准确度,加强对项目预算的执行和监管,对工期的控制严格限制在计划许可的范围之内,对设计方案和项目计划更改造成的成本增加、减少和工期的变更,可以较为有效地控制,减少风险的损失等。Page10
(5)人力资源对成本的影响人力资源的素质也是影响成本的重要因素之一。高技术能力、高技术素质的人才,本身的人力资源成本比较高,但可以产生高的工作效率、高质量的产品、较短的工期等间接效果,从而总体上会降低成本。相反一般人员,需要技术培训,对项目的理解及工作效率相对低下,工期会延长,造成成本的增加。Page11
3.项目成本管理的内容项目成本管理主要包括资源计划编制费用估算费用预算不可预见费用费用控制Page12
(1)资源计划编制资源计划编制工作主要是确定完成项目活动所需要的各种资源的种类、数量和时间,包括人力、财力和物力资源,完成资源的配置。意义:它是进行费用估算的基础,也是工作结构分解、项目范围定义、活动定义和工作进度计划编制的后续工作。依据:工作分解结构、项目范围定义、项目活动定义、历史资料、资源库信息、工作进度计划等。方法:通过若干专业技术人员采取诸如组织策略、数学模型、专家评估等技术手段,制定出项目的资源计划。Page13
(2)费用估算费用估算是对完成项目工作所需要的费用进行估计和计划,是项目计划中的一个重要组成部分。要实行成本控制,必须先估算费用。依据:工作分解结构、资源要求、活动持续时间估计、历史信息、财务规范等。方法:经验估算法、因素估算法、WBS全面详细估算法、数学模型法等。结果:经过费用估算,最终产生费用估算表、估算的详细依据、费用管理和控制计划等。Page14
(3)费用预算费用预算的目的是形成项目的基准费用计划。依据:注意控制费用预算的层次,层次太少影响预算的控制,层次太多则需要更多的计划准备时间和费用。方法:费用分解结构,将估算的费用按工作分解结构和工作任务进行分配,得到一个费用分配树,形成项目的费用预算表。结果:费用基线(成本基线),给出项目中每项工作任务分配的费用,并以此作为费用基线来控制项目执行和费用支出。如图6-5所示。Page15
图6-5利用费用基线控制实际支出Page16累计费用时间实际支出费用基线
(4)不可预见费用不可预见费用是为了应付突发事件或者未能预料到的变化而准备的资金,主要用于防范因失误、疏漏或者突变而造成的费用增加。该费用的数额是根据项目工作范围、风险分析、类似项目的经验以及项目团队的评估来确定的。该费用在项目费用所占的比例一般为10%。该费用在项目实施过程中需要不断地分析和调整。该费用不包括人力不可抗的因素造成的费用。Page17
(5)费用控制费用控制又称成本控制,是在整个项目的实施过程中,定期收集项目的实际成本数据,与成本的计划值进行对比分析,并进行成本预测,及时发现并纠正偏差,使项目的成本目标尽可能好地实现。总之,项目成本管理的主要目的就是控制项目的成本,将项目的运作成本控制在预算的范围内,或者控制在可以接受的范围内,以便在项目失控之前就及时采取措施予以纠正。Page18
补充:估算成本需要考虑的因素(1)类型成本因素系统规模1.程序指令的估算条数2.交付的机器语言指令数3.交付的源语言指令数4.新指令的百分比5.书写指令的百分比6.判定指令的数目7.非判定指令的数目8.信息存储和检索指令的百分比9.交付代码的百分比数据库10.数据库中词数Page19
估算成本需要考虑的因素(2)类型成本因素系统复杂性11.估算整个复杂性的级别12.接口的复杂性13.系统的惟一性14.难度15.硬件—软件接口16.程序结构的考虑17.文件、报告和应用程序的数目18.生存期人力总数、开发期人力总数,测试和验证期人力总数19.生存期总时间、开发期总时间20.作业类型Page20
估算成本需要考虑的因素(3)类型成本因素程序类型21.应用类型(商业性/非商业性)22.程序种类(控制、输入/输出、预处理/后处理、算法、数据、管理、时间临界)23.实时/非实时文档24.页式文档25.用户文档类型的数目26.内部使用的文档数目Page21
估算成本需要考虑的因素(4)类型成本因素环境与项目属性27.系统开发环境28.新或旧计算机29.显示控制台数30.专用显示设备(使用/未使用)31.随机存储设备(使用/未使用)32.使用语言33.存储器空间的限制34.计算机系统速度和存储容量35.分时或批处理36.程序员对所用语言、编译等的熟悉情况37.程序员的程序设计经验Page22
估算成本需要考虑的因素(5)类型成本因素环境与项目属性38.程序员参与设计程度39.人员的连续性40.程序开发点的数目41.生产率(代码行/单位时间)42.并行硬件开发43.人员数44.程序员应用经验45.用户接口46.需求定义47.需求易变性48.维护需求Page23
估算成本需要考虑的因素(6)类型成本因素环境与项目属性49.用户应用经验50.用户参与需求定义51.出差的里程数52.软件交付后操作的次数53.模拟的时间状态等级54.原型代码的目的55.容错计算56.可靠性57.安全性58.单CPU/多CPU应用环境59.需求中增加维护性Page24
6.2IT项目开发成本的估算方法6.2.1IT项目成本的常用估算方法6.2.2面向规模(LOC)的度量6.2.3面向功能点(FP)的度量6.2.4COCOMO模型Page25
6.2.1IT项目成本的常用估算方法成本建模技术:数学模型专家判定技术(Delphi法)类比评估技术Parkson法则:用所需的时间来表示的成本。自顶向下估算法自下而上估算法赢利定价法:成本的预算依靠客户的预算而不是软件的功能。Page26
软件开发项目估算的基本技术1)软件开发项目估算的基本技术代码行估算(LOC估算)功能点估算(FP估算)2)需要考虑的估算成本因素系统规模、数据库、系统复杂性程序类型、文档、环境与项目属性Page27
6.2.2面向规模(LOC)的度量每千行代码(KLOC)的错误数。每千行代码行(KLOC)的缺陷数。每千行代码行(KLOC)的成本。每千行代码行(KLOC)的文档页数。每人月错误数。每页文档的成本。代码行数依赖选择的硬件和软件,因此并不被认为是软件度量的最优方法。Page28
6.2.3面向功能点(FP)的度量面向功能点法是由Albrecht最先提出的。功能点估算是对程序规模的一个综合量度,经常用于项目早期阶段。从需求说明书确定功能点比确定代码行容易。功能点可由以下4个参数计算得到:外部输入和输出数量外部接口数用户交互数系统要用的文件数Page29
1.功能点估算的指标(1)输入:屏幕、表单、对话框、控件,或者最终用户以及其他程序添加、删除、改变程序数据的消息。(2)输出:屏幕、报告、图表或者程序产生的由最终用户以及其他程序使用的消息。(3)查询:输入输出的结合,输入能导致快速简单的输出。(4)内部逻辑文件:完全由程序控制的最终用户数据或控制信息的主要逻辑组。(5)外部接口文件Page30
2.功能点估算的方法程序功能功能点复杂因子(权重)数量FP=数量×功能点复杂因子简单平均复杂输入数量×3×4×6输出数量×4×5×7查询×3×4×6内部逻辑文件×7×10×15外部接口文件×5×7×10功能点总数Page31功能点系数
2.功能点估算的方法——调整功能点值根据计算所得功能点可能存在偏差,因此需要调整所计算的功能点。通过对表1的14个问题的回答情况来计算调整功能点系数。回答的权重调整取值Fi见下表。Page32调整各项权重值——Fi的取值012345没有影响偶有影响轻微影响平均影响较大影响严重影响
表1调整功能点时考虑问题的回答情况Page33序号问题(根据问题回答情况确实Fi值)回答Fi1234567891011121314系统是否需要可靠的备份和恢复是否需要数据通信是否有分布处理功能系统是否很关键系统是否在一个已有的、很实用的操作环境中运行系统是否需要联机处理联机数据项是否需要在多屏幕或多操作之间切换以完成操作是否需要联机更新主文件输入、输出及文件查询是否很复杂内部处理是否复杂内部处理是否需要设计成可复用的设计中是否需要包装转换及安装系统的设计是否支持不同组织的多次安装应用的设计是否方便用户修改及使用统计∑Fi值
2.功能点估算的方法——调整功能点调整所计算的功能点(FP):FP=功能点总数×调整系数其中:调整系数=0.65+0.01×∑Fi式中:总计数值是原始总计功能点数值;Fi是根据对调整功能点时需考虑问题的回答结果而得出的权重调整值;常数和参数的加权因子是根据经验确定的;调整系数一般在0.65~1.35之间变化。Page34
【例1】功能点估算实例问题:表2和表3分别给出了程序功能的数量和调整功能点时需考虑的问题的回答情况,试分别计算调整前、后的功能点数。【解】根据表3问题的回答情况,计算得出调整权重:∑Fi=50。调整前、后的功能点数计算结果见表4。Page35调整各项权重值——Fi的取值012345没有影响偶有影响轻微影响平均影响较大影响严重影响
表2功能点估算实例程序功能功能点复杂因子(权重)数量FP=数量×权重简单平均复杂输入数量6,2,3输出数量7,7,0查询0,2,4内部逻辑文件5,2,3外部接口文件9,0,2调整前功能点总数调整系数调整后功能点总数Page36
表3调整功能点时考虑问题的回答情况序号问题(根据问题回答情况确实Fi值)回答Fi1234567891011121314系统是否需要可靠的备份和恢复是否需要数据通信是否有分布处理功能系统是否很关键系统是否在一个已有的、很实用的操作环境中运行系统是否需要联机处理联机数据项是否需要在多屏幕或多操作之间切换以完成操作是否需要联机更新主文件输入、输出及文件查询是否很复杂内部处理是否复杂内部处理是否需要设计成可复用的设计中是否需要包装转换及安装系统的设计是否支持不同组织的多次安装应用的设计是否方便用户修改及使用严重影响严重影响较大影响严重影响平均影响较大影响较大影响严重影响平均影响较大影响较大影响偶有影响偶有影响轻微影响55453445344112∑Fi=50
表4功能点估算实例解程序功能功能点复杂因子(权重)数量FP=数量×权重简单平均复杂输入数量6×3=182×4=83×6=186,2,344输出数量7×4=287×5=350×7=07,7,063查询0×3=02×4=84×6=240,2,432内部逻辑文件5×7=352×10=203×15=455,2,3100外部接口文件9×5=450×7=02×10=209,0,265调整前功能点总数12671107304调整系数0.65+0.01×∑Fi=0.65+0.01×50=1.15调整后功能点总数304×1.15=350Page38
3.规模成本估算规则(1)避免无准备的估算(2)留出估算的时间,并做好计划(3)尽量使用以前类似项目的数据(4)尽量使用以开发人员为基础的估算(5)走查估算(6)分类法估算(7)详细检查较低层次上的估算(8)不要忽略普通任务(9)使用软件估算工具(10)使用几种不同估算技术,比较其结果Page39
6.2.4COCOMO模型1.基本COCOMO模型基本COCOMO模型为静态单变量模型,适用于对整个软件系统进行估算,其估算公式为:和式中:E表示工作量,即开发软件所需的人力(人月,PM)D表示所需的开发时间(月)L表示代码行估算值,单位是KLOC。a、b、c和d为常数,取值见表5。Page40
表5基本COCOMO模型常数值表组织模式指规模较小的、简单的软件项目半分离模式指规模和复杂性处于中等程度的软件项目嵌入模式指必须要求在一组紧密联系的硬件、软件及操作约束下开发的软件项目生产率=(KLOC)/E人员数=E/DPage41软件类型abcd适用范围组织模式2.41.052.50.38各类应用程序半分离模式3.01.122.50.35各类实用程序、编译程序等嵌入模式3.61.22.50.32实时处理、控制程序、操作系统
图6-6COCOMO成本曲线Page42开发成本(PM)开发工作量(E)2004006008001000020406080100120半分离模式嵌入模式组织模式
图6-7半分离COCOMO模型进度曲线Page43时间(月)成本(KLOC)8100123456开发进度(半分离模式)78121416182022
图6-8人员曲线Page44人员数时间
2.中级COCOMO模型中级COCOMO模型是在基本COCOMO模型基础上利用涉及产品、硬件、人员及其他与项目有关的影响因素来调整对工作量的估算。修正后的估算公式(成本及进度)为:式中:a、b、c、d为常数,取值见表6;EAF为调整因子,取值见表7。Page45
表6中级COCOMO模型常数值表Page46软件类型abcd组织模式3.21.052.50.38半分离模式3.01.122.50.35嵌入模式2.81.22.50.32
表7中级COCOMO模型调整因子影响属性描述取值很低低正常高很高非常高产品RELY要求的软件可靠性0.750.881.001.151.40—DATA数据库规模—0.941.001.081.16—CPLX产品复杂程度0.700.851.001.151.301.65硬件TIME执行时间约束——1.001.111.301.66STOR存储约束——1.001.061.211.56VIRT环境可变性—0.871.001.151.30—TURN计算机响应时间—0.871.001.071.15—辽宁工程技术大学软件学院Page47第6章IT软件项目成本管理软件项目管理
表7中级COCOMO模型调整因子(续)影响属性描述取值很低低正常高很高非常高人员ACAP系统分析员能力1.461.191.000.860.71—AEXP应用经验1.291.131.000.910.82—PCAP程序员能力1.421.171.000.860.70—VEXP环境知识1.211.101.000.90——LEXP编程语言经验1.141.071.000.95——项目MODP程序设计经验1.241.101.000.910.82—TOOL软件工具使用1.241.101.000.910.83—SCED规定的开发进度约束1.231.081.001.041.10—辽宁工程技术大学软件学院Page48第6章IT软件项目成本管理软件项目管理
3.高级COCOMO模型高级COCOMO模型的工作量及进度估算公式与中级COCOMO模型一致,但高级COCOMO模型引入了两种主要功能:阶段敏感工作权数:某些阶段(设计、编码、调试)比其他阶段有关因素的影响可能更大。高级COCOMO模型为每个因素提供了一个“阶段敏感工作权数”。三层产品分级结构:3个产品层次是模块、子系统和系统。Page49
6.3成本估算案例实例1:代码行、工作量和成本的估算【例1】估算计算机辅助设计(CAD)软件项目。已知:CAD项目按功能分解为以下7个子项目:用户界面和控制二维几何分析三维几何分析数据库管理Page50计算机图形显示外设控制设计分析7个子项目的已知数据和要求计算见下页。
7个子项目的已知数据和要求计算表8给出了7个子项目代码行的乐观估计、悲观估计和一般估计值。分析7个子项目的规模复杂性和难度,参照以前开发的类似项目的经验,给出了开发每行代码的平均成本、每月开发的代码行数。试计算:加权平均代码行估算值7个子项目的开发成本和工作量(人月)Page51
表8代码行、工作量和成本的估算Page52功能LOC美元/LOCLOC/PM工作量(人月)成本(美元)乐观一般悲观加权平均用户界面控制17902400265014315二维几何分析40805200740020220三维几何分析46006900860020220数据库管理29003400360018240计算机图形显示39004900620022200外设控制19902100245028140设计分析66008500980018300总计
解:代码行、工作量和成本的估算Page53功能LOC美元/LOCLOC/PM工作量(人月)成本(美元)乐观一般悲观加权平均用户界面控制1790240026502340143157.432760二维几何分析40805200740053802022024.4107600三维几何分析46006900860068002022030.9136000数据库管理29003400360033501824013.960300计算机图形显示39004900620049502220024.7108900外设控制19902100245021402814015.259920设计分析66008500980084001830028.0151200总计33360144.5656680
实例2:工作量和成本的估算【例2】估算计算机辅助设计(CAD)软件项目。已知:描述同【例1】,且已知四个开发阶段(需求分析、设计、编码和测试)的工作量估算值。试计算:7个子项目的开发成本工作量(人月)Page54
已知各阶段的工作量Page55功能需求分析设计编码测试总计用户界面控制1.02.00.53.5二维几何分析2.010.04.59.5三维几何分析2.512.06.011.0数据库管理2.06.03.04.0计算机图形显示1.511.04.010.5外设控制1.56.03.55.0设计分析4.014.05.07.0总计(人月)每人月成本5200480042504500成本(美元)作量工(人月)任务
解:工作量和成本的估算Page56功能需求分析设计编码测试总计用户界面控制1.02.00.53.57二维几何分析2.010.04.59.526三维几何分析2.512.06.011.031.5数据库管理2.06.03.04.015计算机图形显示1.511.04.010.527外设控制1.56.03.55.016设计分析4.014.05.07.030总计(人月)14.56126.550.5152.5每人月成本5200480042504500成本(美元)75400292800112625227250708075作量工(人月)任务
实例3:利用基本COCOMO模型估算【例3】估算计算机辅助设计(CAD)软件项目。已知:描述同【例1】。利用基本COCOMO模型估算:工作量(人月)开发时间参加项目开发的人数Page57
解:利用基本COCOMO模型估算由例1计算结果知:目标代码行数为33.3KLOCCAD软件开发属于中等规模、半分离模式,因此,由表4可知:a=3.0,b=1.12,c=2.5,d=0.35计算工作量E、开发时间D和参加人数N如下:Page58
例1、例2和例3比较Page59估算成本工作量例1656680144.5例2708075152.5例3152相差7%基本相同例1与例2相差5%基本相同
6.4项目成本控制6.4.1项目成本控制的内容6.4.2项目成本控制的流程与方法Page60
6.4.1项目成本控制的内容项目的成本控制就是在整个项目的实施过程中,定期收集项目的实际成本数据,与成本的计划值进行对比分析,并进行成本预测,发现并及时纠正偏差,以使项目的成本目标尽可能好地实现。项目成本管理的主要目的:就是控制项目的成本,将项目的运作成本控制在预算的范围内,或者控制在可以接受的范围内,以便在项目失控之前就及时采取措施预以纠正。项目成本控制的实质就是监控成本的正负偏差,分析偏差产生的原因,及时采取措施以确保项目朝着有利的方向发展。Page61
1.项目成本控制的内容对造成成本基准计划发生改变的因素施加影响,以保证这种变化朝着有利项目的方向发展。确定项目基准计划是否已经发生变化。在实际成本基准计划发生变化和正在发生变化时,对这种变化实施有效的管理。监视项目成本执行情况,及时发现与成本计划的偏差。确保所有有关成本的变更都准确记录在项目成本基准计划中。防止不正确、不适宜或者未核准的变更纳入成本基准计划中。将核准的变更通知有关项目干系人。Page62
2.实施成本控制的依据实施成本控制的依据有:费用基线、绩效报告、变更申请和成本管理计划。其中:绩效报告提供了费用执行方面的信息;变更申请可以是多种形式,直接的或间接的,外部的或内部的,口头的或书面的;成本管理计划描述当费用发生偏差时如何处理。进行成本控制时的结果是修订成本估算,更新成本预算,采取纠正措施,对项目完工重新进行估算等。Page63
6.4.2项目成本控制的流程与方法在项目管理中,成本控制、质量控制和进度控制一起贯穿项目实施的全过程。项目成本控制原理如图6-9所示;成本控制的工作流程如图6-10所示。Page64
图6-9动态成本控制原理Page65项目进展收集实际成本数据计划成本与实际成本比较偏差采取控制措施是否
图6-10成本控制的工作流程Page66工作范围投资/成本预算进度计划检查跟踪预测分析成本检查/预测报告/报表决策(采取措施纠正偏差)
1.成本控制的工作流程项目的成本控制工作首先是从确定工作范围开始,包括成本预算和工作进度计划。项目具体工作开始实施后,就要进行检查和跟踪,然后对检查跟踪的结果进行分析,预测其发展趋势,做出费用进展情况和发展趋势报告。根据该报告,做出进一步的决策,即采取措施纠正成本偏差。Page67
2.成本控制流程包括的内容监控项目费用执行情况,发现和计算与预算的偏差。确保所有适宜的更改已经包括在费用基线中,并准确地记录下来。通知与已经批准的更改的相关部门和人员。实施控制。Page68
3.实施成本控制的方法和基本技术成本控制改变系统:通常是描述成本基线被改变的基本步骤,包括记录工作、跟踪系统和调整系统,即信息、反馈和措施三要素。绩效度量:主要是分析项目目标成本的各种变化、变化的幅度及原因等,确定导致偏差的原因,需要采取的纠正措施等。附加计划:不可预见的各种情况要求在项目的实施过程中重新对项目的成本费用做出新的估计,编制补充计划。Page69
4.成本控制的核心成本控制的核心是管理好4个关键指标:TBC:总预算成本CBC:累计预算成本CAC:累计实际成本CEV:累计实现价值(挣得值)即:TBC是总共需要的“总投资”,CBC、CAC和CEV分别是某个特定时间点上的“总预算”、“总投入”和“总产出”。Page70
本章小结IT软件项目成本成本的构成影响项目成本的因素项目成本管理的内容项目成本控制成本控制的内容成本控制的流程和方法Page71IT项目成本的估算方法常用估算方法三种估算技术LOCFPCOCOMO
作业1IT项目成本包括哪四个部分,主要特点是什么?2影响软件成本的主要因素有那些?软件成本管理的主要内容有那些?软件项目成本估算有那些方法?说明这些方法的使用范围。简要说明LOC和FP两种度量方法的异同。Page72'