ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:102.43KB ,
资源ID:14984927      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-14984927.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(成本管理软件开发成本估算.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

成本管理软件开发成本估算.docx

1、成本管理软件开发成本估算(成本管理)软件开发成本估算软件开发成本估算软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价。不同与传统的工业产品,软件的成本不包括原材料和能源的消耗,主要是人的劳动的消耗。另外, 软件也没有一个明显的制造过程,它的开发成本是以一次性开发过程所花费的代价来计算的。因此,软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试,整个开发过程所花费的代价作为依据的。软件开发成本估算的经验模型1.Putnam 模型1978 年 Putnam 提出的,一种动态多变量模型。L=Ck*K1/3*td4/3其中:L 源代码行数(以 LOC

2、计)K 整个开发过程所花费的工作量(以人年计)td 开发持续时间(以年计)Ck 技术状态常数,它反映“妨碍开发进展的限制”,取值因开发环境而异,见下表Ck 的典型值开 发 环境开发环境举例2000差没有系统的开发方法,缺乏文档和复审8000好有合适的系统的开发方法,有充分的文档和复审11000优有自动的开发工具和技术从上述方程加以变换,可以得到估算工作量的公式:K=L3/(Ck3*td4) 还可以估算开发时间:td=L3/(Ck3*K)1/42.COCOMO 模型(constructivecostmodel)这是由 TRW 公司开发,Boehm 提出的结构化成本估算模型。是一种精确的、易于使用

3、的成本估算方法。COCOMO 模型中用到以下变量:DSI 源指令条数。不包括注释。1KDSI=1000DSI。MM 开发工作量(以人月计)1MM=19 人日=152 人时=1/12 人年TDEV 开发进度。(以月计)COCOMO 模型中,考虑开发环境,软件开发项目的类型可以分为 3 种:1.组织型(organic):相对较小、较简单的软件项目。开发人员对开发目标理解比较充分,与软件系统相关的工作经验丰富,对软件的使用环境很熟悉,受硬件的约束较小,程序的规模不是很大(50000 行)2.嵌入型(embedded):要求在紧密联系的硬件、软件和操作的限制条件下运行,通常与某种复杂的硬件设备紧密结合

4、在一起。对接口,数据结构,算法的要求高。软件规模任意。如大而复杂的事务处理系统,大型/超大型操作系统,航天用控制系统,大型指挥系统等。3.半独立型(semidetached):介于上述两种软件之间。规模和复杂度都属于中等或更高。最大可达 30 万行。估算公式:基本 COCOMO 模型估算工作量和进度的公式如下工作量:MM=r*(KDSI)c进度:TDKV=a(MM)b其中经验常数 r,c,a,b 取决于项目的总体类型。COCOMO 模型按其详细程度可以分为三级:基本 COCOMO 模型,中间 COCOMO 模型,详细COCOMO 模型。其中基本 COCOMO 模型是是一个静态单变量模型,它用一

5、个以已估算出来的原代码行数(LOC)为自变量的经验函数计算软件开发工作量。中级 COCOMO 模型在基本 COCOMO 模型的基础上,再用涉及产品、硬件、人员、项目等方面的影响因素调整工作量的估算。详细 COCOMO 模型包括中间 COCOMO 模型的所有特性,但更进一步考虑了软件工程中每一步骤(如分析、设计)的影响。基本 COCOMO 模型通过统计 63 个历史项目的历史数据,得到如下计算公式。总体类型工作量进度组织型MM=10.4*(KDSI)1.05TDKV=10.5(MM)0.38半独立型MM=3.0*(KDSI)1.12TDKV=10.5(MM)0.35嵌入型MM=3.0*(KDSI

6、)1.20TDKV=10.5(MM)0.32最近在温习软件工程的课程,对软件项目成本估算模型有了些认识,以下是我的一些心得,希望与大家分享.首先我们需要明确的是为什么要做软件项目预算.首先软件项目是不同于一般工程项目的项目类型.受用户需求,开发方式的影响很大.没有明确的预算,会导致软件开支的不可控制,随着项目的进行,开发放要承担的风险也会增加.另外如果没有预算,更不可能与客户达成开发协议.没有人会傻到委托别人做一个自己都不知道要花多少钱才能完成的项目.最后也就是我个人对项目预算的看法,好的项目预算应该包括团体预算与小组或个人预算两部分,好的项目经理应该了解自己的团队,对突发事件等的考虑应该放在

7、项目预算之中,然后将项目的开支细化到小组乃至个人,这一点看似多余,但是却很有必要.比如在实际的开发过程中,由于为了缩短工期而招收新的程序员,这就需要对新程序员进行培训.新程序员消耗的团队成本是要考虑在内的.这也就是传统意义上的 peron-monthes 所不能完全表达的部分.新增人员的开支是不能被忽略的.这需要在实际开发过程中统计得到数据,来精确计算.项目策划任务集:1.明确项目范围2.确定可行性3.分析风险4.确定需要的资源a.确定需要的人力资源b.确定可复用的软件资源c.标识环境资源5.估算成本和工作量a.分解问题b.使用规模,功能点,过程任务或用例等方法进行两种以上的估算c.调和不同的

8、估算6.制定项目进度计划a.建立一组有意义的任务集合b.定义任务网络c.使用进度计划工具制定时间表d.定义进度跟踪机制在项目策划任务集中,每一步都涉及到软件开发成本.对人员,环境,可复用软件的资源的统一调度,将直接影响成本.其中受软件开发的特殊行,人力资源成本是最不好控制的.相对来说环境资源就容易控制得多.环境资源包括软件工具,硬件,网络资源等,当然还要包括公司的日常费用(刨除开发团队佣金与开支,因为这部分属于人力资源成本).这些无非是买来或者维持,成本是很容易计算的.可复用软件资源就要考虑到软件的具体设计,功能模块的关系以及系统架构等具体信息.专家建议是将软件资源分为如下四部分:1.成品构件

9、:指能够从第三方直接购买的商品构件.或者以前项目中完全相同的构件.2.具有完全经验的构件:以前项目开发过的,与当前需求相似的功能构件.3.具有部分经验的构件:为以前项目开发,与当前项目要构造的软件有关的已有规格,设计,代码或测试数据.但是需要从新架构. 4.新构件开发的成本可像而知,是升序排列的.所以在软件开发的一开始就应该考虑的使用以后技术,对可复用软件资源进行整理,不能在开发过程中才考虑,要知道一个关键构件的重用会为软件开发带来多大的效益.不过凡事也不是必然,不已有构件的扩展要考虑到原构件设计,开发文档的完整性等因素.还是就人力资源进行分析,由于跟人能力与技术方向的不同,programme

10、r 不可能像一般意义上的工人或者机器一样有效地预期成本.我们可以开发一个原型,利用原型数据来对应分析每个人的价值与成本.但是应该考虑的是,随着程序员的个人因素的变更(年龄,职务,时间,身体状况等),原型数据只能作为一个一般参考.例如 SARS 期间,或流行性感冒的传播,人力成本就会变得不好控制.(极限情况下, 这将使一个项目面临流产)目前流行的估算模式大致可分为如下几类:分解估算:1.软件规模估算.2.基于问题的估算.3.基于 loc 估算.(loc:代码行数)4.基于 fp 估算.(fp:functionpoint 功能点) 5.基于过程估算.6.基于用例估算.经验估算:典型的经验估算模型是

11、通过回归分析从以往的软件项目中收集的数据得来的.这种模型的总体结构表现为下面的形式:E=A+B*(e)C其中 A,B,C 都是经验常量.E 是工作量(单位:人*月),e 是估算变量(loc 或者 fp).除了公式表达的方式以外,还有一些形式的项目调整成分,如问题的复杂程度,开发人员经验,开发环境等,一下列出些常用的调整系数:PersonnelAttributesAnalystcapability(ACAP)Programmercapability(PCAP)Applicationsexperience(AEXP)VirtualmachineExperience(VEXP)Programming

12、languageexperience(LEXP) ProjectAttributesModernprogrammingpractices(MODP)SoftwareTools(TOOL)RequiredDevelopmentschedule(SCED)这些系数都应该应该根据具体的项目进行调整和设计.cocomo:(constructivecostmodel)这种模型是 BarryBoehm 在其论述软件工程经济学中介绍的一种层次结构的软件估算模型.现在已经被广泛应用.主要应用于应用组装模型,早期设计阶段模型,体系结构后阶段模型.将在以后的日志中对大家进行更深入的介绍.目前,有三种基本的软件项目

13、成本估算方法:自顶向下、自底向上和差别估算法。自顶向下的方法是对整个项目的总开发时间和总工作量做出估算,然后把它们按阶段、步骤和工作单元进行分配;自底向上的方法是分别估算个工作单元所需的开发时间,然后汇总得出总的工作量和开发时间;差别估算是将开发项目与一个或多个已完成的类似项目进行比较,找出与某个类似项目的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。专家估算法专家估算法是依靠一个或多个专家对项目做出估计,它要求专家具有专门知识和丰富的经验,是一种近似的猜测。Delphi 法是最流行的专家评估技术,在没有历史数据的情况下,这种方式适用于评定过去与将来,新技术与特定程序之间

14、的差别,但专家专的程度及对项目的理解程度是工作中的难点,尽管 Delphi 技术可以减轻这种偏差,专家评估技术在评定一个新软件实际成本时通常用得不多,但是,这种方式对决定其它模型的输入时特别有用。Delphi 法鼓励参加者就问题相互讨论,要求有多种软件相关经验人的参与,互相说服对方。类推估算法类推估算法是比较科学的一种传统估算方法,它适合评估一些与历史项目在应用领域、环境和复杂度的相似的项目,通过新项目与历史项目的比较得到规模估计。类推估算法估计结果的精确度取决于历史项目数据的完整性和准确度,因此,用好类推估算法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的数据分析是可信赖

15、的。这种方法的基本步骤是:(1)整理出项目功能列表和实现每个功能的代码行;(2)标识出每个功能列表与历史项目的相同点和不同点,特别要注意历史项目做得不够的地方;(3)通过步骤 1 和 2 得出各个功能的估计值;(4)产生规模估计。算式估算法算式估算法利用经验模型进行成本估算,它通常采用经验公式来预测软件项目计划所需要的成本、工作量和进度数据。目前还没有一种估算模型能够适用于所有的软件类型和开发环境,从这些模型中得到的结果必须慎重使用。(1)Putnam 模型Putnam 模型是一种动态多变量模型,它是假定软件开发的整个生存期中工作量的分布,如一个 30 人年以上的项目,其人力使用分布如图 7.

16、3 所示。然后根据曲线导出一个估算公式:(2)COCOMO 模型结构性成本模型 COCOMO(COnstructiveCOstMOdel)是一种精确的、易于使用的成本估算方法,它分为基本 COCOMO 模型和中级 COCOMO 模型两种类型。基本 COCOMO 模型是一个静态单变量模型,它用一个以已估算出来的源代码行数(LOC)为自变 量的经验函数来计算软件开发工作量。中间 COCOMO 模型则在用 LOC 为自变量的函数计算软件开发工作量的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作量的估算。更详细的 COCOMO 模型除了包括中间 COCOMO 模型的所有特性外,还

17、考虑了在需求分析、软件设计等每一步的影响。*基本 COCOMO 模型估算公式Eab(KLOC)exp(bb) Dcb(E)exp(db)方式abbbcbdb组织型2.41.052.50.38半独立型3.01.122.50.35嵌入型3.61.22.50.32其中,E 为开发所需的人力(人月),D 为所需的开发时间(月),KLOC 为估计提交的代码行,ab、bb、cb 和 db 为不同软件开发方式的值,见下表。由以上公式可以导出生产率和所需人数的公式: 生产率(KLOC)E(代码行/人月)人数ED*中级 COCOMO 模型估算公式中级 COCOMO 模型先产生一个基本 COCOMO 模型一样形式

18、的估算公式,然后对 15 个成本驱动属性打分,定出乘法因子,对公式进行修正。15 个影响软件工作量的因素见下表:工作量因素 fi非常低低正常高非常高超高产品因素软件可靠性数据库规模产品复杂性0.750.881.001.151.400.941.001.081.160.700.851.001.151.301.65计算机因素执行时间限制存储限制虚拟机易变性环境周转时间0.870.871.001.001.001.001.111.061.151.071.301.211.301.151.661.56人的因素分析员能力应用论域实际经验程序员能力虚拟机使用经验程序语言使用经验1.291.421.211.411

19、.461.131.171.101.071.001.001.001.001.000.860.910.860.900.950.710.820.70项目因素现代程序设计技术软件工具的使用开发进度限制1.241.241.231.101.101.081.001.001.000.910.911.040.820.831.10方式aibi组织型3.21.05半独立型3.01.12嵌入型2.81.2中级 COCOMO 模型的估算公式: Eai(KLOC)exp(bi)乘法因子其中 ai 和 bi 的值见下表。(3)IBM 模型1977 年,Walston 和 Felix 总结了 IBM 的 60 个项目数据,提出了如下的估算公式:E5.2L0.91,L 是源代码行数(以 KLOC 计),E 是工作量(以 PM 计) D4.1L0.362.4E0.35,D 是 项 目 持 续 时 间 ( 以 月 计 ) S0.54E0.6,S 是人员需要量(以人计)DOC49L1.01,DOC 是文档数量(以页计)

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2