基于功能点COCOMOⅡ估算模型的应用.docx

大小 5.5MB 页数 7 页 格式 DOCX

经济与社会发展

2009年第1期 2009年1月

VOL.7.No.1

ECONOMIC AND SOCIAL DEVELOPMENT

JAN.2009

基于功能点COCOMOⅡ估算模型的应用

欧阳钟辉,李莉

[摘要】使用COCOMOII模型进行软件成本估算,可以将经济分析的一般概念和技术与软件工程 紧密 地联系起来;可以帮助项目经理测定各个软件开发阶段所需要的时间和工作量;可以进行软件的成本 效益分析、盈亏分界分析及用户作出是否自主开发的决策。

【关键词】COCOMOII模型;软件工程;成本效益分析;盈亏分界分析C作者简介】欧阳钟辉,泉州

师范学院陈守仁工商信息学院院长。电子商务研究所所长,厦门大学软 件学院、泉州师范学院教授,博士,福建厦门361005;李莉,泉州师范学院硕士研究生,福建泉州

362000 [中图分类号】G202 2728(2009)01-0056—04

【文献标识码】A [文章编号】1672—

软件成本估算将经济分析的一般概念和技术 与软件工程紧密地联系起来,能够较好地进行软件 的成本效益分析、盈亏分界分析及在面对自主开发 等还是购买产品的难题时作出决策。它为软件分析 硬件分析时提供

靠的依据,帮助项目经理确定各个软件阶段及活

一动需要的时间和工作量。

基于上述原因,国内软件行业也开始重视软件 工程的思想方法并逐步地将这些方法和技术运用 到实践中去。因此,研究和开发适合我国软件行业 其特点的软件成本估算技术是势在必行的。

(二)在工作量和工作进度估算阶段,人们根 据有关软件大小的信息来估算软件开发成本。一 般来说主要有专家判定、类比法、成本估算模型 3种估算方法。员在系统设计阶段进行实际的软

(三)估算反馈阶段。这里的反馈有两层含可 义:一层是针对成本估算方法本身而言的;另外 层含义则是指估算实践当中的阶段性结果反馈。

下面介绍的成本估算模型一COCOMO II模型 及其估算方法着重研究成本驱动因子,并根据国内 软件行业情况,对这些因子进行了一一筛选,使 本地化。

一、软件成本估算的定义及过程

二、COCOMO lI模型的研究与改进

软件成本估算是对将要开发的软件项目所需

(一)COCOMO II模型简介。1981年,Barry 的 Boehm在其经典著作《软件工程经济学》中,介绍 了一种软件成本估算模型的层次体系,称为CO- 性 COMO(Constructive Cost Model,构造型成本模

工作量和工作进度做出预测。从实践中看,软件 成本估算是从软件项目中一些较为容易把握的属 出发,比如软件的功能点、源代码行数等,推导开

发软件项目所需的工作量和工作进度。 软件成本估算并非资金意义上的估算,它仅对

型)‘‘1‘Pn。

在利用COCOMOⅡ模型进行软件成本估算过

将要开发的软件项目的工作量和工作进度做出 件估算‘1】‘胛’12]‘一’‘31。 万方数据 代在对一个软件项目进行成本估算时一般要经

程中,首先采用功能点或代码行度量法估算出软 项目的功能点数,再通过调整后的功能点数进行

码行转换,使用千代码行数作为描述项目规模的单过

本文将基于功能点的规模估算作为一个单元

本文将基于功能点的规模估算作为一个单元 A可较准,一般取2. 94。单独介绍,现在先对工作量估算方法进行介绍和 B可较准,一般取0. 9l。 改进。 在COCOMO lI中,用工作量估算公式中的指 (二)工作量估算方法。以人月(Person— 数E体现不同规模的软件项目所具有的相对规模 Month,简称PM)表示的工作量值PMNS,用公式2 经济性和不经济性的最终影响合力。一l进行估 算。 若E<1.O,则表明项目总体能够体现出规模 Ⅳ 经济性。如果项目的规模加倍,则工作量不会翻 P肘鹏=A x$/z.e。×II 2—1 倍。项目的生产率也随着产品规模的增加而提高。 其中,Size表示估算的规模,单位是源代码千 若E=1.0,则表明项目的规模经济性和不经 行数(KSLOC)。EMi为工作量乘数,EMi的个数n 济性是平衡的。这种线性模型通常用于小项目的的 值对于后体系结构模型是17,对早期设计模型 成本估算。 是7。指数E的计算如式2—2所示: 若E>1.0,则项目就表现出总体的规模不经 5 E=B+0.01×三SB 2—2 济性。这通常是由于人员交流开销的增大和大型 .参数A,B,EMi,SFj的值是根据数据库中历史 系统集成开销的增长。项目的实际参数和工 作量的值进行校准而获得的。 sF代表五个指数比例因子。具体见表1。 表I五个比例因子 比例因子 说明 先例性(PREC) 表示以前是否开发过类似项目

94。单独介绍,现在先对工作量估算方法进行介绍和 9l。 改进。

开发灵活性(fLEX) 表示软件性能与已经建立的需求和外部接口规范的一致程度 体系结构/风险化解(RESL) 通过风险管理衡量项目的风险及建立体系结构的工作量团 队凝聚力(TERM) 衡量项目相关人员的管理状况 过程成熟度(PMAT) 衡量项目过程的规范程度,主要围绕SEI的CMM而进行 (三)软件开发成本驱动因子的本地化分析和 1.对规模经济性比例因子进行分析和改进。 改进。为了提高候选因子的覆盖面,同时尽量避免 在COCOMO II模型的标称工作量估算公式中,规重 复,有必要对候选因子进行筛选,筛选因子的时 模经济型比例因子总共有五个,详见表1。对这五 候,有三个基本原则:一是一般重要性原则;--是独 个比例因子分别作出筛选,筛选的结果如表2 立性原则;三是简单性原则。 所示。 表2规模经济型比例因子筛选结果

综上所述,规模经济性指数E可改进为如下:

三、基于功能点的规模估算

E=B+0.01 × (PREC+FLEX+RESL+

(一)功能点分析法是由20世纪70年代末期 IBM公司的工程师Alan Albrecht首先提出来的. 功能点估算的过程共有7个步骤【5】。

TERM+PMAT)

  • =B+0.01×(PREC+FLEX+5.65+2.19 +6.24)

通过综合14个GSC的影响程度(degreeofin.

=B+0.1408+O.01×(PREC+FLEX)

  • fluence,DI),根据以下的公式计算功能点调整因 子VAFC 61:

其中B的值可校准,COCOMOII中标称值一 般取0.91。

VAF=TDI×0.01+0.65

2.改进工作量乘数。在COCOMO II模型中。 成本驱动因子体现了项目的特征以及组织的差异, 对成本驱动因子的改进主要有以下几点:

其中TDI等于14项GSC的DI总和。 计算开发型项目功能点计数用下式计算开发

型项目的功能点计数:

(1)合并冗余成本驱动因子。中小型项目需 求不是很复杂,配备人员较少,情况相对简单,对于 这样的项目,COCOMO lI的许多成本驱动因子就是 冗余的,必须对冗余因子进行合并。

FPC=(UFP+CFP)×VAF

  • 其中;FPC是开发型项目功能点计数; UFP是未调整功能点读数;

CFP是数据转换的功能点计数;

(2)保留其标称值的成本驱动因子。有些成 本驱动因子不适用中小型项目,在中小型项目中的 作用无需考虑,取其标称值即可。 (3)无需考虑其作用,但要弱化其标称值的成 驱动因子。由于COCOMOⅡ原模型的有些成本

VAF是值调整因子。

(二)改进功能点分析法

1.系统基本特征的调整。针对我国软件行业 的特点和现状,对其提出改进的方案,对技术方面本

的管理特性进行删减,取消估算结果差异很小的 系 统特性。中国中小企业的实际情况,所以对这些

驱动因子可以无需考虑其作用,但其标称值不符合 成本驱动因 子保留一个非标称的新值。 终

(1)保留数据通信、性能、在线数据输入、最 用户效率、安装难易程度、跨平台性这6个系统特 性,取消其他8个系统特性。

(4)保留并增强其作用的因子。人员连续性

因子(PCON),描述了项目组成员的年/人员周转

(2)增加新技术运用难度一个系统特性。由 于采用了新技术,因此开发人员需要花费时间去 习并掌握,也就增加了项目开发的时间和精力, 时新技术导致风险的增加,即增加了难度。

率。本文将这两个因子的等级量化,其量化描述。 如表3所示。 学

同表3人员连续性(PCON)因子 因子等级 极低 很低 低 标称 高 量化描述 ≥80% 48% 24% 12% 6%

2.开发管理的影响因素的调整。我国软件行 业的人员流动性大,开发人员的平均水平不高, 就给软件开发的管理增加了难度。因此, 增加开发 人员管理难度的调整因素。 3.对功能点法在权值取值范围不妥当方面的 改进。在于中小型软件中,每个基本功能组件通 比较简单,根据笔者的经验,中小型软件的规模

这工作量乘数 1.70 1.29 1.12 1.00 O.90

CPLX:产品复杂性,该成本驱动因子描述产品

本身的实现复杂程度,是不受企业规模、国情差别 常环境影响的,因此保留COCOMOII的等级划分。 一如表4所示。

般不超过500个功能点。另外,在中小型软件中, ILF中的DET数目通常不足50,而EIF中的DET

表4产品复杂性(CPLX)因子

数目通常不足20,在这种情况下,RET的数目就是 决定复杂度的关键。因此,提出以下的复杂度确定 规则:

因子等级l很低l低l标称I高I很高 工作量乘数10.73 lo.87 f 1.001.17|1.34

预览结束 · 共 7 页

下载完整版