参数模型估计算法
主要外部数据或控制输入、输出或文件类型相联系的信
息处理功能来度量软件项目。主要把用户功能类型分为 五种:外部输入、外部输出、内部逻辑文件、外部接口 文件、外部查询;这些类型的每个实例再按照复杂等级
义一行代码是困难的,因为这涉及到不同语言中可
执行语句和数据声明概念上的差异。当试图跨越不 同编程语言而定义一直的度量标准时就会出现困难, 为此COCOMO II模型选择逻辑源语句作为标准的代 码行,并且使用美国软件工程研究所对逻辑源语句 的定义检查表来度量代码行。
a 2.8 3.0
b 1.05 1.12
嵌入式
3.2
1.2
E= ax(KLOC)bxF
COCOMO 81:中等COCOMO-81工作量调节因子表(F)
lOgO
乘法因子=F1XF2 X ……X F15
COCOMO 81:中等COCOMO-81
lOgO
Eg:一个33.3 KLOC的软件开发项目,属于中等规 模、半有机型的项目,采用中等COCOMO模型。 a=3.0,b=1.12。 乘法因子F=0.70x0.85x……x1.15=1.09 E = ax(KLOC)bxF E = 3.0x33.31.12×1.09=16pm
B为对工作量呈指数或非线性影响的比例因子;
EM为影响软件开发量的工作量乘数
COCOMO 81:
lOgO
模型类别:
基本COCOMO
中等COCOMO
:项目类型
有机: Organic
嵌入式: Embedded
高级COCOMO
半有机: Semidetached
COCOMO 81 :通用公式 E= a X(KLOC) ^ b ×F 其中: E:工作量(人月) KLOC:是交付的代码行
在得到未调整功能点数之后,我们必须把它们转化为实现语言的源 代码行;COCOMO II模型采 用向后细化表把未调整功能点转化成等价的SLOC。每种语言都有一个UFP/SLOC的转换率,并且 COCOMO II模型还支持五个用户自定义的语言转换率。
COCOMO Ⅱ:工作量及进度计算
lOgO
COCOMO Il仍然使用人月来度量软件开发的工作量。人月是指除去节假日之后一个人在一月 内所完成的项目工作量。在COCOMO中,人月与项目进度不同,前者是指工作量,并从中计算开 发成本,后者则是指完成项目所需的时间。
早期设计模型---设计阶段
适用于在软件架构确定之前对软件进行粗略的成本和事件估算,包 含了一系列新的成本和进度估算方法。基于功能点或可用代码行以 及5个规模指数因子、7个工作量乘数因子,用于体系结构设计阶段。
后体系结构模型---开发阶段
3
这是COCOMOII中最详细的模型。它使用在在整体软件架构已确定 之后。包含最新的成本估算、代码行计算方法。基于源代码行或功 能点以及17个工作量乘数因子。
201 参数模型估计算法 9
【1.参数估算法的基本介绍】
【2-1 COCOMO模型】 【2.参数估算法的两种基本模型】
【2-1 Walston-Felix模型】
汇报人:卢中华
01
1.参数估算法的基本介绍
目录
Contents
02
2.参数估算法的两种基本模型
03
04
3. COCOMO模型
4. Walston-Felix模型
COCOMO 81:高级COCOMO-81
lOgO
高级(详细)COCOMO
1.将项目分解为一系列的子系统或者子模型 2.更加精确地调整一个模型的属性
适用范围
详细 COCOMO 模型是在中间模型的又一次细化。 详细模型针对每一影响因素,按模块层、子系统层、 系统层,有三张工作量因素分级表,供不同层次的 估算使用,而每一张表中又按开发各个不同阶段给 出。
Eg:一个33.3 KLOC的软件开发项目,属于中等规模、 半有机型的项目,采用基本COCOMO:
o a=3.0,b=1.12。 o E= ax(KLOC)bxF=3.0x33.31.12x1=152pm
COCOMO 81:中等COCOMO-81
lOgO
中等COCOMO-81系数表
方式 有机 半有机
(2)未调整功能点计算。功能点成本估算方法基于软
件项目中的功能数和一组独立的项目因子,是一种很有 用的估算方法,因为它是基于项目生命周期早期就可以 得到的信息。在COCOMO II模型中,功能点通过量化与
(KLSoC),源代码行一般不包括未交付的支持软件,
比如测试驱动程序等。但是, 如果这些部分的开发 与交付软件的开发一样仔细,需要有自己的评审、 文档等,则应把它们计算在内。值得注意的是,定
1.各类实用程序,介于上述两种软件之间,例如编译
器(程序)。 2.规模和复杂度都属于中等或者更高。
COCOMO 81:基本COCOMO-81
lOgO
b 1.05 1.12 1.2
注:基本COCOMO-81中F=1
基本 COCO MO81系 数表
方式 有机 半有机 嵌入式
a 2.4 3.0 3.6
E= ax(KLOC)bxF a、b是系数 F乘法因子是对公式的校正系数
1.在设计完成后使 用。 2.中等COCOMO 模型基础上考虑各 个步骤的影响。
COCOMO 81:项目类别
有机: Organic 1.各类应用程序,例如数据处理、科学计算等。 2.受硬件的约束比较小,程序的规模不是很大。
lOgO
项目 类型
嵌入式: Embedded 1.系统程序,例如实时处理、控制程序等。 2.紧密联系的硬件、软件和操作的限制条件下运行, 软件规模任意。 半有机: Semidetached
lOgO
每个任务必须至少有一个统一的规模单位
LOC(Loc of Code)
源代码程序长度的测量
FP(Function Point)
用系统的功能数量来测量
人月
人天
人年
参数:xx元/ KLOC. xx元/ FP, xx元/人天
Classification of parameter model estimates 参数模型估算法分类:
lOgO
它是一种精确、易于使用的,基于模型的成本估算方法,最早由勃 姆 (Barry Boehm)于1981年提出。是世界上应用最广泛的参数型软件成 本估计模型。下面是cocomo模型的一个通用公式:
pm=A×(KLOC)^B×Ⅱ(EM)
PM为工作量,通常表示为人月; A为校准因子;KLOC源代码程序长度的测量;
工作量评估的基本模型如下:
其中,size 是估算的软件功能单元的代码行数(以千行为单位),通过模
块功能结构分解和专家法估计,或者使用功能点转化为代码行数。指数B反映 了项目的规模经济性,当它大于1时所需工作量(pm) 的增加速度大于软件规 模(size)的增加速度,体现出规模非经济性:反之,B小于1则表示规模经济 性。COCOMO 使用5个规模度因子Wi,采用公式(2)计算指数B。常A通常 取值为2.94.。
通常具有如下的形式:
E=A+B×S^C其中 E 是估算的工作量(单位是人月),A、B、 C 是经验常数,S:主要的输入参数(通常是LOC,FP等)。 常用的静态单变量模型有: 面向代码行的模型 Walston_Felix 模型: Bailey_Basili模型: Boehm简单模型: E=5.2×(KLOC) ^ 0.91 E=5.5+0.73×(KLOC) ^1.16 E=3.2×(KLOC) ^1.05 E=5.2racteristics of parameter estimation method 参数估算法的特点:
lOgO
1.比较简单,而且也比较准确。
参数估算 法特点
2.如果模型选择不当或者数据不准 , 也会导致偏差。
Basic unit of parameter estimation 参数估算法的基本单位:
lOgO
a , b:依赖于项目自然属性的系数,具体取决于建模等级和项目等级。
F:为调整因子。
COCOMO 81:模型类别
lOgO
cocomo 81有3个等级的模型,级别越高,模型中的参数约束越多。
01 02 03
基本模型
中等模型
高级或详细模型
1.在需求确定以后 1.在项目相关信息 极少的情况下使用。 使用。 2.基本模型基础上 2.静态单变量模型。 考虑影响因素,调 整模型。
0 1
参数估算法的基本介绍
Basic Introduction of Parameter Estimation 参数估算法的基本介绍:
lOgO
参数估算法是一种使用项目特性参数建立数据模型来估算成本的方法,是
一种统计技术,如回归分析和学习曲线。
参数估算法 的使用情况
存在成熟的项目估算模型
应该具有良好的数据库数据为基础
COCOMO Ⅱ:COCOMO II模型中的规模估算
能点两种方法来估算规模。
lOgO
要得到好的模型估算,好的规模估算是很重要的。COCOMOlI模型主要采用源代码行和未调整功
(1 )源代码行计算。有几种原谅资料可用于估算
新代码行,其中最好的就是历史数据。在缺乏历史 数据时,可用专家意见推导出可能的、最不可能的、 最 有 可 能的规模 。 代码规模 表示为源代码千行数
Doty模型(KLOC>9 时): 面向功能点的模型 Albrecht & Gaffney模型:
E= -13.39+0.0545FP E=585.7+15.15FP
Maston,Barnett 和 Mellichamp 模型:
0 2
COCOMO模型
COCOMO模型(构造性成本模型): Constructive Cost model