简介:关于估算模型方面的的相关大学硕士和相关本科毕业论文以及相关估算模型论文开题报告范文和职称论文写作参考文献资料下载。
(海军工程大学 装备经济管理系 湖北武汉 430033)
摘 要:国内外有关软件成本估算技术的研究,文献数量从多到少,依次可以分为五类:基于算法模型的估算技术、基于功能点的估算技术、基于类比法的估算技术、基于专家经验的估算技术和其它类技术.其它类技术包括回归分析技术、神经网络技术、动态技术、贝叶斯分析技术、模糊理论技术、组合方法技术等等.本文首先综述了各类软件成本估算技术,然后总结了各类软件成本估算技术的优点和缺点.
关键词:软件成本估算 算法模型 功能点 类比法
中图分类号:TP393 文献标识码:A 文章编号:1672-3791(2013)06(c)-0201-03
早在20世纪60年代末,美国国防部门和软件界有关人士首先提出了“软件危机”的警告.软件危机首要体现在“难以正确的估计软件开发的成本和进度”[1].因此,国内外学者对软件成本估算技术进行了大量的研究.从作者收集到的文献看,现有的研究软件成本估算技术可以分为五类,根据文献数量的从多到少,依次为:基于算法模型的估算技术、基于功能点的估算技术、基于类比法的估算技术、基于专家经验的估算技术和其它类技术.其中,基于算法模型的估算技术包括COCOMO模型、PRICE-S模型、SLIM模型、SEER-SEM模型等等,基于功能点的估算技术包括IFPUG功能点、MarkⅡ功能点、CO论文范文IC-FFPⅠ、CO论文范文IC-FFPⅡ等等,基于专家经验的估算技术包括Delphi法、WBS法等等,其它技术包括回归分析技术、神经网络技术、动态技术、贝叶斯分析技术、模糊理论技术、组合方法技术等等.图1为软件成本估算技术的分类图.
1. 基于算法模型的软件成本估算技术
所谓算法模型是指从参数得到成本估算的一系列规则、公式.基于算法模型的软件成本估算技术的基本思想是:找到软件工作量的各种成本影响因子,并判定它对工作量所产生的影响程度是可加的、乘数的还是指数的.不同的算法模型不仅在因子的选取上各不相同,而且在成本因子的关系表达式上也有所区别[2].
1.1 COCOMO模型
在软件成本估算的模型方面,最具有影响力的算法模型是由南加里福尼亚大学软件工程中心计算机科学系主任Barry Boehm博士为首的团队提出的COCOMO模型(结构型成本估算模型).Barry Boehm博士在他编著的两本经典著作—— 《软件工程经济学》(1981年出版)和《软件成本估算:COCOMOⅡ模型》(2000年出版)中,介绍了世界上应用范围最为广泛的成本估算模型—— COCOMO模型.《软件工程经济学》以经济学的观点来研究和分析软件开发,以探讨软件成本估算技术与成本估算模型.该书是原版COCOMO模型(COCOMO
81)最完整的信息资源,提供了理解与应用COCOMOⅡ模型的大量素材.COCOMOⅡ模型是对COCOMO81的改进版本,在诸多方面进行了重要更新和扩展.Barry Boehm博士的这两本著作既是国内外的学者们研究COCOMO模型的理论起源,也是研究软件成本估算技术的重要参考文献.
COCOMO模型的通用的计算公式如下[3]:
其中,PM表示工作量(单位通常为人月),Size表示软件规模,E表示对工作量呈指数级影响的比例因子,EM表示工作量的乘数因子.
COCOMO模型共经历了三次发展,按照时间顺序分别是COCOMO81、COCOMOⅡ、COCOMO模型扩展.
1.2 PRICE-S模型
PRICE-S模型最初是由RCA公司为阿波罗登月计划的软件项目而开发的,仅供内部使用,然后于1977年作为专利模型获得版权,在美国国防部、美国宇航局等其它政府的软件项目中推广使用.尽管该模型的个别核心算法已经公开,但是尚未公布全部内容[4].美国国防部采用PRICE-S模型进行软件成本估算的项目有:F-22战斗机(ATF)、F-35联合攻击机(I论文范文)、Tanker Program美国空军新型空中加油机等[5].
1.3 SLIM模型
SLIM模型(the Software of Life-cycle Model)是由Quantitative Software Measurement的Larry Putnam于二十世纪七十年代末开发的、建立在Putnam采用一种被称为项目个人水平与时间的瑞利(Rayleigh)分布对软件生存期分析基础上的模型[6].
1.4 SEER-SEM模型
SEER-SEM[7]是由Galorath Inc.公司提供的产品,该模型是建立在原始Jensen模型基础上,推向市场已经有15年左右.在此期间,该产品已经演化为一个支持自顶向下和自底向上评估方法的成熟工具,其建模公式具有专利,但是它们采用的是参数估算方法.该模型的应用范围很广,覆盖了项目生存期的所有阶段,从早期定义,到设计、开发、交付和维护.可以处理各种环境和应用,如客户机-服务器、单机、分布式、图像等等.开发模式覆盖面向对象、重用、COTS、螺旋、瀑布、原型、增量型.
2. 基于功能点的软件成本估算技术
功能点方法是在需求分析阶段基于系统功能的一种规模度量方法,是基于应用软件的外部、内部特性以及软件性能的一种间接的规模测量[8].功能点方法可以细分为功能点、功能扩展点(包含特征点、3D功能点、全功能点)、对象点和用例点.具有影响力的功能点方法有以下几点.
2.1 IFPUG功能点分析法
1984年,功能点度量已得到广泛应用,形成了“国际功能点用户组”(International Function Point Users Group,简称IFPUG),现在已成为世界上最大的软件测量联盟,很多国家的大批软件机构都加入了IFPUG.该组织提出的“IFPUG功能点分析方法”是使用最为广泛的功能点分析方法,已经成为这一领域的标准,2004年该组织发布了《IFPUG功能点计数实践手册4.2版》[9].
2.2 MarkⅡ功能点分析法
1987年,Charles Symons正式提出了MarkⅡ功能点方法[10].该方法由英国软件度量协会(United Kingdom Software Metrics Association,简称UK论文范文A)研究和推广,主要在英国使用.MarkⅡ功能点方法是一种定量的、针对应用软件的测量分析方法.该方法的输入是《需求规格说明书》、《概要设计》、《数据库设计》和《业务说明书》,输出是未调整功能点、技术复杂度调整和已调整功能点.MarkⅡ方法在IFPUG方法的基础上精简组件模型,使用连续性的度量使计算结果更精确[11].
2.3 CO论文范文IC-FFPⅠ
1997年,魁北克大学软件项目风险管理研究实验室提出CO论文范文IC-FFPⅠ方法[12].该方法后来由国际组织软件度量共同协会(Common Software Measurement International Consortium, CO论文范文IC)继承并进行完善.FFP是指全功能点(full function point),CO论文范文IC-FFPⅠ是IFPUG方法的扩展,针对实时系统软件增加了度量控制进程的分析规则,处理实时系统中大量存在的一次性数据.
2.4 CO论文范文IC-FFPⅡ
CO论文范文IC-FFPⅡ是CO论文范文IC-FFPⅠ方法的升级,但其分析规则与CO论文范文IC-FFPⅠ完全不同,其计算规则于2001年发布.该方法综合了其它功能规模度量方法的优点,提出了全新的组件模型和分析规则,适用于MIS系统、实时系统、中间件等多种类型系统的功能规模计算.
另外,Checkpoint也是采用功能点作为初始输入.它是由软件生产率研究所(SPR)根据Capers Jones的研究开发的一种基于知识库的、拥有一个包含大约8000个软件项目的数据库的软件项目评估工具[13].
3. 基于类比法的软件成本估算技术
使用类比的方法进行估算是基于案例推理技术(Case Based Reasoning,简称CBR),在软件成本估算中的一种应用形式,其主要思想就是通过待估算的目标与一个或多个已经完成的类似项目的对比来预测其相应属性[14].基于案例推理的软件开发工作量估算方法的基本思路是:根据案例推理的基本原理,对以往发生的、历史的、具有真实数据的软件项目进行工作量驱动因子分析,寻求一般规律,从而估算当前待估算软件的开发工作量.估算软件工作量的关键步骤为:提取软件工作量驱动因子,计算待估软件与各个案例之间的相似度,估算软件工作量[15].
4. 基于专家经验的软件成本估算技术
基于专家经验的估算技术也称为专家判定法,是指与一位或多位专家进行商讨,专家根据自己的经验和对所涉及项目的理解,得出该项目的成本估算值.专家估算法适用于没有历史数据的情况下的成本估算,并且在决定其它模型的输入时特别有用[16].
4.1 Delphi技术
Delphi技术是最流行的专家评估技术.
Delphi技术是兰德公司在四十年代末为预测未来事件而开发的,其名字源于古希腊神使占卜所在Parnassos山南侧的Delphi.标准Delphi技术不允许小组讨论,宽带Delphi技术要求在评估后进行小组讨论.
4.2 WBS法
工作分解结构WBS(Work Breakdown Structure),通过将项目元素放置到一定的等级划分中来简化预算估计与控制的相关工作.WBS包括两个层次的分解:一个表示软件产品本身的划分,把软件系统分解为各个功能组件以及其下的各个子模块,另一个表示开发软件所需活动的划分,工作活动分解为需求、设计、编码、测试、文档等大块以及其下的更具体的细分.
5. 其它类软件成本估算技术
软件成本估算技术除了基于算法模型、功能点、类比法、专家经验的技术方法之外,还有回归分析、神经网络、动态技术、贝叶斯分析、模糊理论以及将不同的估算技术进行组合等技术方法.
5.1 回归分析
回归分析包括分类回归树、最优子集回归、逐步方差分析、普通最小均方回归、稳健回归等.其中普通最小均方回归是最传统的方法.
普通最小均方回归(Ordinary Least Squares,OLS)也称作标准回归,指的是采用最小均方普通线性回归的经典统计方法,该方法简单好用,很多商业软件包如Minitab、Splus和SPSS中都有该技术软件.“Robust”回归是对标准OLS方法的改进.很多现存的参数成本模型(COCOMO II,SLIM,Checkpoint,等)都使用了各种形式的回归技术.
5.2 神经网络
神经网络(Neural Network)(1996年根据Gray 和McDonell的研究),是最常见的代替最小均方回归的软件评估建模技术,这些模型可以用历史数据来“训练”,以便形成更好的能自动调整算法参数值的模型,减少实际结果和模型预算值之间的差异.
5.3 动态技术
动态技术(Dynamics-based Techniques)是指软件项目的成本因子在系统开发的期间不断变化,它是一个连续的仿真建模方法.该技术最早是在1961年Jay Forrester研究发明的,1994年Macdachy提出了系统仿真模型的公式,并用于软件工程估算.
5.4 贝叶斯分析
贝叶斯分析是允许调查人员根据样本和专家判断的预先信息采用逻辑相容的方法产生推论,COCOMO II就采用了该技术.
5.5 模糊理论
模糊理论一般不会单独用于软件成本估算中,通常需要与其它的方法结合使用.
5.6 组合方法
组合方法是指将不同的软件成本估算技术组合在一起使用,或者将其它理论与软件成本估算技术相组合的方法.典型的组合方法有COBRA(cost estimation, benchmarking, and risk asses论文范文ent)及其后来针对Web应用的扩展Web-COBRA.除此之外,还有:将贝叶斯网络与COCOMO模型组合,将模糊理论与COCOMO模型组合,将神经网络与COCOMO模型组合等等.
6. 各类软件成本估算技术的比较
下面通过表格的形式从估算技术的基本思想、主要优缺点两个方面对不同的软件成本估算技术进行比较.
参考文献
[1]总装备部电子信息基础部标准化研究中心.军用软件工程系列标准实施指南[M].北京:航空工业出版社,2006:2.
[2]Barry boehm.Software Engineering Economics[M].Canifornia:New Jersey Prentice Hall.
[3]Barry Boehm.Constructive Cost Model[M].Beijing:China Press,2005:1.
什么是估算模型:计量经济学_第02讲2_第二章_回归分析概述_一元线性单方程模型的参数估算2
[4]Park Riee.The Central Equations of the PRICE Software Cost Model[C].Price of the 4th COCOMO Users Group Meeting,1988:256.
[5]许道利.基于模型的软件成本估算技术研究及工具原型实现[D].长沙:国防科学技术大学,2007.
[6]Lawrence Ware Myers.Measures for Excellence[M].New York:Yourdon Press,1992:1.
[7]国家计委,财政部,总参谋部,国防科工委.军品论文范文管理办法[S].北京:四部委,1996.
[8]张文华.功能点的计算方法[J].电脑知识与技术,2006(4):17-18.
[9]Roger S.Pres论文范文an,Software Engineering[M].北京:机械工业出版社,2008:37.
[10]姚登峰.基于RUP的软件测试[M].北京:清华大学出版社,2009:33-35.
[11]John C.Hull.Fundamentals of Futures and Options Markets[M].北京:机械工业出版社,2009:177,206.
总结:本论文主要论述了估算模型论文范文相关的参考文献,对您的论文写作有参考作用。
什么是估算模型引用文献:
[1] 模型论文范文 模型类自考开题报告范文2万字
[2] 三维模型论文范文 三维模型方面在职研究生论文范文2万字
[3] 模型论文范文 模型方面毕业论文题目范文2万字