软件项目工作量估算COCOMO和SLIM模型的应用研究文档格式.docx
- 文档编号:21902930
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:14
- 大小:54.24KB
软件项目工作量估算COCOMO和SLIM模型的应用研究文档格式.docx
《软件项目工作量估算COCOMO和SLIM模型的应用研究文档格式.docx》由会员分享,可在线阅读,更多相关《软件项目工作量估算COCOMO和SLIM模型的应用研究文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
COCOMO和SLIM模型进行介绍,并将两者分析比较,提出了综合运用这两种模型计算工作量的方法。
1COCOMO模型估算法
在20世纪70年代,BarryBoehm研究了从加利福尼亚TRW咨询公司的大量项目中收集了数据。
使用这些数据,他道出了构造性成本模型(COnstructiveCOstMOdel,COCOMO)。
后来他和他的同事提出了升级版,是对原始版的彻底更新。
原始的COCOMO模型
原始的COCOMO模型按其详细程度分为3级[3]:
(1)基本COCOMO模型,静态单变量模型,用已估算出来的源代码行数(LOC)为自变量的函数来计算软件开发工作量。
(2)中间COCOMO模型,在用LOC为自变量的函数计算软件开发工作量的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作量的估算。
(3)详细COCOMO模型,包括中间COCOMO模型的所有特性,但用上述各种影响因素调整工作量估算时,还要考虑对软件工程过程中分析、设计等各步骤的影响。
当对项目了解很少时,使用基本模型;
明确需求以后,使用中级模型;
当设计完成时,使用高级模型。
这三个模型具有相同的形式,
。
其中
是按人月计算的工作量,
是按千行交付源指令(KDSI)测量的规模,
是调整因子(在基本模型里等于1)。
和
的值见表1-1,与开发方式有关,而开发方式取决于所构造的软件类型(有机系统、嵌入式系统和半分利系统)[2]。
通过选择一种开发方式和使用恰当的工作量公式,COCOMO生成了对工作量的初步估计。
当知道项目的更多情况时,估计师可以应用COCOMO的中级模型。
Boehm假设了15中相互独立的成本驱动因素,每个成本驱动器按照最多6点的序数标度分等级:
非常低、低、正常、高、很高、极高,每个点对应一个调整因子(EAF)值,见表1-2。
工作量的最后估计值是乘以15个成本驱动器的值。
每个成本驱动器的调整因子是Boehm从TRW的开发环境中推导出来的。
因此模型必须按照你自己的开发环境进行校准。
表1-1三个COCOMO模型的工作量参数
方式
a
b
有机式
半分离式
嵌入式
表1-2各种影响EAF的值
成本驱动因素
级别
很低
低
正常
高
很高
极高
产品因素
软件可靠性
数据库规模
产品复杂性
硬件因素
执行时间限制
存储限制
虚拟机易变性
环境周转时间
人的因素
分析员能力
应用领域实际经验
程序员能力
虚拟机使用经验
程序语言使用经验
项目因素
现代程序设计技术
软件工具的使用
开发进度限制
[2]模型
模型广泛适用于新技术新工艺的应用。
在阶段1,项目通常通过构造原型来解决具有高风险的问题:
包括用户界面、软件和系统的交互、性能或技术成熟度。
因此,用对象点来估计规模。
为了计算对象点,首先需要对应用涉及到的屏数、报告数、第三代语言的组件数进行计算,来生成一个初始的规模度量。
表1-3展示了将所有对象分成简单、适中和复杂的分类指导。
表1-4的权值所反映的是实现该复杂性等级的某个实例所需要的相对工作量。
与功能点相似,需要把经过加权的实例相加,以产生一个单一的对象点数。
接下来是一个不同于功能点的规程,其中考虑用到了重用的情况,因为我们要把对象点拥有工作量的估计。
假定r%的对象是从以前的项目中重用的,新对象点数的计算公式为:
表1-3对象点复杂性等级
屏幕
包含的视图数
数据表的数量和来源
总数<
4(<
2服务器,<
2客户机)
8(2~3服务器,3~5客户机)
总数8+(>
3服务器,>
5客户机)
<
3
简单
适中
3~7
复杂
8+
报告
表1-4对象点的复杂性权值
对象类型
1
2
5
8
3GL组件
-
10
在第2阶段,使用功能点作为工作量的度量。
在进行功能点计算时,首先需要计算未调整的功能点数(UFC)。
计算公式如下:
表1-5功能点复杂性权值
项
加权系数
外部输入
4
6
外部输出
7
外部查询
外部文件
15
内部文件
功能点计算的最后一个步骤是,计算调整功能点数(FP),即用UFC乘以技术复杂因子TCF(这个因子涉及到表1-6所列的14个起作用的因素)。
运用下面的公式,我们可以将这14个评级的结构合并成一个最终技术复杂性因子:
其中Fi的值可从表1-7中查询出。
功能点的最终计算结果等于,用未调整功能点乘以技术复杂性因子:
表1-7权重表(Fi的取值)
没有影响
偶有影响
轻微影响
一般影响
较大影响
严重影响
表1-6技术复杂性系数的组成部分
F1可靠的备份与恢复
F2数据通信
F3分布式的功能
F4性能
F5大量使用的配置
F6在线数据入口
F7易操作性
F8在线更新
F9复杂接口
F10复杂处理
F11可重用性
F12易安装性
F13多场所
F14容易变更
在第3阶段,程序规模可以用代码行数来估算。
标准进度工作量PM估算公式为:
(1)
调整进度工作量PM估算公式为:
(2)
其中式
(1)中,A=,是常数。
EM为工作量乘数,计算方法可以参考原始COCOMO模型。
Size为规模估算的源代码千行数,指数E体现了五个比例因子SF的作用。
指数E的计算公式为:
(3)
式(3)中B=,是常数。
每个比例因子SF都有一个等级变动范围,见表1-7。
表1-7比例因子SFj值[4]
比例因子
标称
先例性
开发灵活性
体系结构/风险化解
团队凝聚力
过程成熟度
2SLIM模型估算法[2]
在1978年,为了满足美国陆军用来估算大型项目的总工作量和交付时间的需要,Putnam开发了一个约束模型,称为SLIM,应用于代码行数大于70000的项目。
基本的SLIM公式能够被调整以适用小项目。
Putnam模型假设软件开发工作量的分布符合Rayleigh曲线,每个点对应一个主要的开发活动,见图2-1。
Putnam使用关于生产率级别的经验观察值,从基本Rayleigh曲线公式导出他的“软件等式”。
这个等式与规模(代码行测量)的几个变量有关:
技术因子C,按人年计算的项目总工作量K(包含维护工作量),按年为计算单位的交付前剩余时间td,其关系表达式:
在理论上,td是Rayleigh曲线上达到的最大点。
td
管理阶段
人员级别(人数)
时间
维护阶段
项目
确认和测试阶段
设计和编码阶段
需求规格说明阶段
图2-1SLIM模型的Rayleigh曲线集合
技术因子C,反映了软件开发的技术影响程度,它随着对软件技术需求的增长而增大。
为了简化估算过程,并将该模型表示成更为通用的形式,Putnam和Mayers又提出了一组方程式,它们均从上述估算模型导出。
最小开发时间定于如下:
,对于tm>
6个月的情况,其中tm以月表示。
,以人月表示,对于E>
=20的情况,其中ty以年表示
3分析比较两种模型估算方法
对运用COCOMO模型估算所得工作量PMC和运用SLIM模型所得工作量PMS进行比较、分析,主要计算两种估算方法的差异系数δ来检查两种方法所得结果差异的大小。
然后分析δ,如果技术所得δ>
10%,就说明两种方法所得结果偏差过大,很可能估算过程中存在较严重的问题,就需要从多方面对两种估算方法进行检查、分析,再次计算差异系数δ,可以进行多次循环检查,不断完善。
另外,得出的估算结果还应与期望工作量作比较。
软件期望工作量指根据项目开发经验对项目最可能工作量进行估算的值PMQ,观察差异系数δ'
若δ'
>
20%,在很可能估算过程有问题,需重新检查。
对于这两种估算方法的有效性进行比较分析,可以从以下几个方面来看:
1.两种估算方法的估算范围。
由于两种模型解决问题的角度不同,所以经常出现而这的内容范围不一致,这也是两种估算结果相差较大的主要原因。
只有对估算范围进行合理取舍,仔细分析,才能保证估算结果保持在合理范围内。
2.两种模型的假设前提。
两种模型都有自己的假设前提,必须在项目中得到满足。
特别是模型假设前提比较多,应该仔细从管理方式、项目规模、开发流程等方面进行分析。
如果实际项目某些方面不符合模型的某些假设,就应进行必要的修改,以保证模型估算应用的有效性。
3.两种模型所需数据来源的有效性。
要保证估算的正确性,必须保证数据来源的真实性、一致性。
以客观数据位基础,忠于事实。
经过多次分析和模型修改后,对新故事所得工作量重新计算δ和δ'
通常情况下,δ和δ'
的范围控制在5%以内,也可以根据实际情况自己修改范围。
最后,利用如下公式可以取得项目的最终工作量:
4结束语
软件项目的工作量估算方法有很多种,一般可以根据历史数据和软件规模估算的结果进行估算。
原始的COCOMO模型基于源代码行数进行估算,后来改进的COCOMOⅡ模型又把功能点分析方法应用于规模估算,使得工作量估算的精确度进一步提高。
Putnam的SLIM模型也是一种估算准确度比较高的方法。
由于工作量估算是项目后期能够顺利实施、按预先计划的进度前进的关键影响因素之一,因此设法找到相对有效的估算方法是必要的。
综合分析利用COCOMO和SLIM这两种模型方法,并对两种估算结果进行比较,分析两种模型方法中存在的问题,不断修正估算,多次循环,最终得到可以接受的较符合实际的工作量估算结果。
这样不仅保证了更准确的估算结果,也避免了只使用一种方法的片面性。
参考文献:
[1]张家浩.软件项目管理.机械工业出版社,:
93
[2]芬顿,弗莱格(着);
杨海燕等译.机械工业出版社,:
202-203,206-207,334-342
[3]朱少民,韩莹.软件项目管理.人民邮电出版社,:
86-88
[4]BarryCostEstimationWithCOCOMOⅡ[M].PearsonEducation:
2005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 项目 工作量 估算 COCOMO SLIM 模型 应用 研究