您好,欢迎访问三七文档
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中最详细的模型。它使用在在整体软件架构已确定之后。包含最新的成本估算、代码行计算方法。
本文标题:COCOMO模型
链接地址:https://www.777doc.com/doc-5223039 .html