Cocomo

Cocomo

COCOMO,英文全称为constructive cost model,中文为构造性成本模型。它是一种精确、易于使用的,基于模型的成本估算方法,最早由勃姆 (Boehm) 于 1981 年提出。从本质上说是一种参数化的项目估算方法,参数建模是把下那个目的某些特征作为参数,通过建立一个数字模型预测项目成本(类似于居住面积作为参数计算的整体的住房成本)。

1简介

COCOMO模型——常见的软件规模估算方法。代码行分析方法作为一种度量估计方法,在20世纪80和90年代得到非常广泛的发展,在业界开发了又许多中估算 工作量和进度的参数模型,其中最著名的就COCOMO模型,它的最新版本是COCOMO II模型。 [1]
在COCOMO模型中,工作量调整因子(Effort Adjustment Factor, EAF)代表多个参数的综合效果,这些参数使得项目可以特征化和根据COCOMO数据库中的项目规格化。每个参数可以定位很低,低,正常,高,很高。每个参数都作为乘数,其值通常在0。5到1。5之间,这些参数的乘积作为成本方程中的系数。 [1]
(概述内容来源: [1]

2模型

COCOMO用3个不同层次的模型来反映不同程度的复杂性,他们分别为:
● 基本模型 (Basic Model)。 是一个静态单变量模型,它用一个以已估算出来的源代码行数 (LOC) 为自变量的函数来计算软件开发工作量。
● 中间模型 (Intermediate Model)。 则在用 LOC 为自变量的函数计算软件开发工作量的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作量的估算。
● 详细模型 (Detailed Model) 包括中间 COCOMO 模型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中分析、设计等各步骤的影响。
同时根据不同应用软件的不同应用领域,COCOMO模型划分为如下3种软件应用开发模式:
● 组织模式(Organic Mode)。这种应用开发模式的主要特点是在一个熟悉稳定的环境种进行项目开发,盖项目与最近开发的 其他项目有很多相似点,项目相对较小,而且并不需要许多创新。
● 嵌入式应用开发模式 (Embedded Mode)。在这种应用开发模式种,项目受到接口要求的限制。接口对整个应用的开发要求非常高,而且要求项目有很大的创新,例如开发一种全新的游戏。
● 中间应用开发模式 (Semidetached Mode)。这时介于组织模式和嵌入式应用开发模式之间的类型。 [1]

3特点

COCOMO 模型具有估算精确、易于使用的特点。在该模型中使用的基本量有以下几个: (1)DSI( 源指令条数 ) ,定义为代码行数,包括除注释行以外的全部代码。若一行有两个语句,则算做一条指令。 (2)MM( 度量单位为人月 ) 表示开发工作量。 (3)TDEV( 度量单位为月 ) 表示开发进度,由工作量决定。 (4)COCOMO 模型重点考虑 15 种影响软件工作量的因素,并通过定义乘法因子,从而准确、合理地估算软件的工作量。 [1]

4基本COCOMO算法

通过基础COCOMO的计算可以得出每个开发者需要投入的时间,整个项目的开发时间以及需要的人数,所需要的输入是软件的大小(以代码的行数(千行)为单位,记做SLOC)
针对不同三种不同的工程结构,基础cocomo提供不同的系数:
  • 基础工程 - 小组拥有经验的开发人员开发需求定义不是十分严格的项目
  • 半独立项目 - 拥有不同程度的经验的中等规模的开发组开发部分需求是严格定义的,部分需求不是十分严格定义的项目
  • 嵌入式项目 - 开发拥有着严格的约束的项目,在软硬件等需求方面基础工程和半独立项目的组合
基础COCOMO等式:
需要的工作 (E) = ab(KLOC)^bb [  单位是人员×月 ]
开发时间 (D) = cb(Effort Applied)^db [单位是月]
需要的人数 (P) = E/D [单位是个] [2]
其中KLOC是以千行代码为单位的软件大小,其他系数如: ab, bb, cb,db 如下图所示
工程类型
ab
bb
cb
db
基础项目
2.4
1.05
2.5
0.38
半独立项目
3.0
1.12
2.5
0.35
嵌入式项目
3.6
1.20
2.5
0.32

5缺点

但是COCOMO也存在一些很严重的缺陷,例如分析时的输入时优先的,不能处理意外的环境变换,得到的数据往往不能直接使用,需要校准,只能得到过去的情况总结,对于将来的情况无法进行校准等。
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值