`

软件规模估算之COCOMO模型应用解读

 
阅读更多


 

 

 COCOMO模型是由TRW公司开发,Boehm提出的结构化成本估算模型。是一种精确的、易于使用的成本估算方法。
 
模型按其详细程度可以分为三级:基本COCOMO模型,中间COCOMO模型,详细COCOMO模型。其中基本COCOMO模型是是一个静态单变量模型,它用一个以已估算出来的原代码行数(LOC)为自变量的经验函数计算软件开发工作量。中级COCOMO模型在基本COCOMO模型的基础上,再用涉及产品、硬件、人员、项目等方面的影响因素调整工作量的估算。详细COCOMO模型包括中间COCOMO模型的所有特性,但更进一步考虑了软件工程中每一步骤(如分析、设计)的影响。
 
模型中,考虑开发环境,软件开发项目的类型可以分为3种:
1. 组织型(organic): 相对较小、较简单的软件项目。开发人员对开发目标理解比较充分,与软件系统相关的工作经验丰富,对软件的使用环境很熟悉,受硬件的约束较小,程序的规模不是很大(<50000行) 
2. 嵌入型(embedded): 要求在紧密联系的硬件、软件和操作的限制条件下运行,通常与某种复杂的硬件设备紧密结合在一起。对接口,数据结构,算法的要求高。软件规模任意。如大而复杂的事务处理系统,大型/超大型操作系统,航天用控制系统,大型指挥系统等。 
3. 半独立型(semidetached):介于上述两种软件之间。规模和复杂度都属于中等或更高。最大可达30万行。
 
COCOMO模型中我们定义以下变量:
L-------源指令条数。不包括注释。1KDSI = 1000DSI。
E-------开发工作量(以人月计) 1MM = 19 人日 = 152 人时 =1/12 人年
D-----开发进度。(以月计)
 
根据以上定义,我们分别对基本COCOMO模型,中间COCOMO模型,详细COCOMO模型的应用做出解释如下:
 
基本COCOMO模型
 
1. 我们知道,COCOMO模型是一种基于代码行估算的成本分析方法,因此我们首先估算出软件的代码行规模L(单位是kLoc,即千行代码)
2. 然后我们根据公式 E = a*L^b , D = c*E^d 得到估算出的工作量和开发时间。其中a,b,c,d是固定的参数值,需要注意的是,对于不同类型的软件项目,参数值是不同的,如表。

很显然,这种方法过于粗糙,我们需要对其进行精化,因此就有了中间COCOMO模型。
 
中间COCOMO模型
 
中间COCOMO模型区别于基本COCOMO模型的地方就是对于工作量的估算,计算公式是E=a*EAF*L^b,D=cE^d,其中EAF是指工作量调节因子。EAF是根据可能影响工作量的15个因素产生的,如下,计算公式是15个参数(不同项目的各因素值是不一样的,这个是自定义的)的乘积:
 


 
 
详细COCOMO模型
详细COCOMO模型是在中间模型的又一次细化。详细模型针对每一影响因素,按模块层、子系统层、系统层,有三张工作量因素分级表,供不同层次的估算使用,而每一张表中又按开发各个不同阶段给出。如软件可靠性在子系统层的工作量因素分级表如下:
 


 
详细模型过于繁琐,适用于大型复杂项目的估算,我们不做过多解读,其中的参数项太多。
 
 
COCOMO和COCOMOII的区别
 
COCOMOII是顺应现代软件开发的变化而对COCOMO做出的改进版,把最新软件开发方法考虑在内。现在还在持续的开发中,目前是美国南加州大学的教师带领一个学生团队在开发。
 
COCOMOII实际上是三个不同的计算模型组成的:
 
1. 应用组合模型:适用于使用现代GUI工具开发的项目。
2. 早期开发模型:适用于在软件架构确定之前对软件进行粗略的成本和事件估算,包含了一系列新的成本和进度估算方法。基于功能点或者代码行。
3. 结构化后期模型:这是COCOMOII中最详细的模型。它使用在在整体软件架构已确定之后。包含最新的成本估算、代码行计算方法。
 
 
 
  • 大小: 18 KB
  • 大小: 24.9 KB
  • 大小: 13.8 KB
分享到:
评论

相关推荐

    软件项目工作量估算COCOMO和SLIM模型的应用研究.docx

    软件项目工作量估算COCOMO和SLIM模型的应用研究 本文主要讨论了软件项目工作量估算COCOMO和SLIM模型的应用研究。工作量估算对于软件项目计划制订、项目进度管理、人力资源调配、项目成本控制有着重要意义。文章重点...

    cocomo模型在软件成本估算中的作用

    1. **基本COCOMO模型**:这是一种静态、单变量模型,不考虑成本驱动因素,仅依据软件规模(通常以“千行代码”或KLOC作为度量单位)进行成本估算。这种模型适用于初步的、快速的项目成本估算,但精度较低。 2. **...

    cocomo模型详解cocomo模型详解

    COCOMO 模型详解 COCOMO 模型是构造性成本模型(Constructive Cost Model),由 Boehm 在 1981 年...COCOMO 模型的优点是可以对软件开发的各个阶段进行成本估算和时间估算,对软件开发项目的计划和管理具有重要意义。

    COCOMO II Model Definition Manual

    COCOMO II模型不仅涵盖了传统的瀑布式开发过程,还考虑了非线性和快速开发过程模型,强调了商业现成软件(COTS)的再利用、应用程序组合、软件过程成熟度影响以及过程驱动的质量估算等现代软件开发中关键因素的作用。...

    软件项目工作量估算COCOMO和SLIM模型的应用研究.doc

    软件项目工作量估算COCOMO和SLIM模型的应用研究.doc

    软件开发成本估算.pdf

    软件开发成本估算经验模型有Putnam模型和COCOMO模型两种。Putnam模型是1978年Putnam提出的一种动态多变量模型,公式为L = Ck \* K^1/3 \* td^4/3,其中L为源代码行数,K为整个开发过程所花费工作量,td为开发持续...

    软件开发成本估算的经验模.pptx

    软件开发成本估算模型的选择取决于项目的复杂度、规模和开发环境等因素。选择合适的软件开发成本估算模型对软件项目的成功至关重要。 软件开发成本估算模型的应用可以帮助软件开发团队更好地估算项目成本,避免成本...

    工作量估算方法之COCOMO方法讲解视频+ppt by白鹿第一帅(郭靖).zip

    COCOMO英文全称为Constructive Cost Model,中文为构造性成本模型,是指由巴里·勃姆(Barry Boehm)于 1981 年提出的一种精确、易于使用的,基于模型的软件成本估算方法。从本质上说是一种参数化的项目估算方法,...

    CocomoModel(项目评估模型C#实现)

    Cocomo模型,全称是Constructive Cost Model(构造成本模型),是一种广泛应用的软件成本估算模型,由Barry W. Boehm在20世纪80年代提出。该模型基于软件规模,通过经验数据来预测软件项目的开发成本和时间。Cocomo...

    Software Project Cost Estimates Using COCOMO II Model.zip

    COCOMO(Constructive Cost Model,构造成本模型)是一种广泛应用的软件成本估算模型,由Barry W. Boehm于1981年提出,旨在通过量化软件开发的各种因素来预测软件项目的成本。COCOMO II是其第二代版本,针对现代软件...

    软件项目管理 6.7.参数估算法.doc

    软件项目管理 6.7 参数估算法 ...参数估算法是软件项目管理中非常重要的一种方法,通过 Walston-Felix 模型和 COCOMO 模型,我们可以更好地理解参数估算法的应用,并通过实例来验证模型的正确性和可靠性。

    应用COCOMOⅡ模型估算软件开发工作量 (2007年)

    准确的工作量估算是保证软件开发正常进行的必要手段,COCOMOⅡ模型是估算的重要方法。文中运用功能点分析法估算软件规模,其步骤是估算初始功能点数、估算调整后的功能点数、将功能点转化为源代码行;设计出标称进度...

    软件工程之软件开发成本估算

    此外,还可以利用经验模型,如COCOMO(Constructive Cost Model)或其他类似模型,这些模型基于历史数据和项目特征,提供一个估算软件成本的框架。这些模型通常会考虑因素如代码行数、项目规模、人员技能、开发环境...

    软件开发成本估算的经验模PPT学习教案.pptx

    再者,COCOMO模型(Constructive Cost Model)是一种结构化成本估算模型,分为三个级别:基本COCOMO模型、中间COCOMO模型和详细COCOMO模型。基本COCOMO模型是一个静态单变量模型,仅依赖于源代码行数(LOC)来估算...

Global site tag (gtag.js) - Google Analytics