- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工程项目管理之软件项目成本估算
工程项目管理之软件项目成本估算
? ? ? 一、软件成本估算贯穿于整个软件生命周期
项目初期粗略的成本估算是必要的,它往往用于确定项目的可行性分析。在项目计划阶段还需对项目进行详细的成本估算,设定项目工作分解表中每项任务可能的成本,作为项目执行阶段进行成本控制的基准。并且,在项目执行阶段,当项目实际成本与计划成本出现差异时,还需对项目后期的成本重新进行必要的估算。因此,项目成本估算在项目的管理和控制中占据着非常重要的地位。而在软件项目中,由于在人员、开发周期、项目范围及技术难度等方面与其它项目相比具有更大的不确定性,故准确估算其成本就显得特别困难。因而合理估算软件项目成本就尤其重要。
现有的大多数软件成本估算模型适于预算、权衡分析、计划、控制和投资分析等范畴。成本估算模型技术多采用经验公式对软件项目进行成本估算。在大多数估算模型中,软件规模是决定成本的主要因素。有两种衡量软件规模的常规方法:基于代码行的估算方法和基于功能点的估算方法。许多成本估算模型中将代码行或功能点数作为主要的输入参数。
1.面向代码行的成本估算模型
代码行( ,)是衡量源代码长度的最常用的方法。(- 缩写)用于表达不含注解的源代码行数。也常常被当作为有效的代码行数( ,)。在很多情况下,为了日后更清楚地阅读和理解程序,提高系统的可维护性,在程序开发中往往要求在程序中附上详细的注解,在这种情况下,包含注解的源代码行数也是一个有效的度量标准。( 缩写)用于表达含注解的源代码行数。综上所述,我们给出代码行的定义如公式1所示:总长度()=+(1)
2.面向功能点的成本估算模型
面向功能点( ,)的成本估算模型是用系统的功能数量来测量软件规模的。该方法先评估产品所需功能,然后根据技术复杂度因子(权)对其成本进行量化和修正,估算出最终的软件成本。
其基本步骤是:
(1)计算未调整的功能点()数目这里所谈的功能点数并非最终软件中实际的功能数量,最终软件实际功能模块的个数在软件开发之前是不可能精确估算的。在此,我们首先将软件的所有功能分为外部输入、外部输出、外部查询、外部文件及内部文件五大类,并估算每类功能的数量(),然后依据待开发软件的特点评估各类功能的复杂度权重(),在依据公式2可得未调整的功能点数()。=(*)
(2)外部输入由用户提供的、描述面向应用的数据外部输出系统向用户提供的、面向用户的数据外部查询要求回答的交互式输入外部文件对其他系统可读的文件内部文件系统里的逻辑主文件权重因素()项简单一般复杂外部输入3 4 6外部输出4 5 7外部查询3 4 6外部文件7 10 15内部文件5 7 10(2)计算调整后的功能点数考虑到用户对系统性能的不同要求,我们还需从表3中反映的14个方面对作进一步的调整,从而计算出待开发系统的技术复杂度因子( x ,)。表3技术复杂度因子第12期舒小仙:软件项目管理的成本估算811可靠的备份和恢复2数据通信3分布式处理4性能5大量使用的配置6联机数据输入7操作简便性8在线升级9界面的复杂性10数据处理的复杂性11代码的复用性12安装的简易性12多重站点14易修改性表3中的因子(其中:=1,2,……14)取值范围在0-5之间[1],值0表示该因子对系统无影响,值5表示该因子是对系统有强大的影响。技术复杂度因子的计算公式如公式3所示:=+(())(3)由乘以技术复杂度因子( x,)得到调整后的功能点数,参见公式4。=×(4)
3.基于回归分析的成本模型
成本模型提供工作量的直接估算,通常有一个主要的成本因素和若干个次要的调整因素。该模型是利用过去软件项目中收集的数据进行回归分析导出待开发软件的成本模型[1]。其整体结构如公式5所示:=+×(5)为经验性的导出常数,为每个月的投入,为主要输入(常用源代码行数或功能点数)[1]。以为主要输入参数来计算的成本模型的例子:=×() -x模型=×() 基础模型以为主要输入参数来计算的成本模型的例子:=-+ 模型=+ ,,和模型
4.各类模型存在的问题分析
当一个模型有75%的准确性时,我们认为是可以接受。但目前大多数的模型无法达到这个标准[1]。从前面模型中不难看出,无论是模型结构、复杂度或软件项目规模,都是靠开发者的经验估计出来的,而这些参数在开发的早期很难预测。大多数模型在当初导出它们的工作范围内工作的很好,但应用于普通情况时表现很差。软件需求是复杂的,有差异的。虽许多模型包含解决差异的调整因素,评估员可依靠调整因素去解决当前问题的任何变动,然而这种方法常常是不适当的。实际上,许多因素会相互影响,有时会导致过度忽略了某个因素的重要性。同时,这些方法也非常具有主观性
原创力文档


文档评论(0)