软件项目管理(SPM):COCOMO模型
添加时间:2019-03-20 09:02:32
来源:
Cocomo(建设性成本模型)是基于LOC的回归模型,即代码行数。它是软件项目的程序成本估算模型,通常用作可靠地预测与项目相关的各种参数(如规模,工作量,成本,时间和质量)的过程。它是由Barry Boehm于1970年提出的,它基于对63个项目的研究,这使它成为最好记录的模型之一。
定义任何软件产品质量的关键参数,也是Cocomo的结果,主要是努力和安排:
努力:完成任务所需的劳动量。它以人月为单位进行衡量。
时间表:简单地表示完成工作所需的时间,当然,这与投入的工作量成正比。它以时间为单位进行测量,例如数周,数月。
已经提出了不同的Cocomo模型来基于所需的准确度和正确性来预测不同级别的成本估计。所有这些模型都可以应用于各种项目,其特征决定了在后续计算中使用的常量值。下面提到了与不同系统类型有关的这些特征。
Boehm对有机,半独立和嵌入式系统的定义:
有机 -如果所需的团队规模足够小,问题得到了很好的理解并且过去已得到解决,并且团队成员对问题有一个名义上的经验,那么软件项目被认为是一种有机类型。
半独立式 -如果团队规模,经验,各种编程环境的知识等重要特征介于有机和嵌入式之间,则称软件项目属于半独立类型。与有机项目相比,被归类为半独立式的项目相对较不熟悉且难以开发,需要更多的经验和更好的指导和创造力。例如:编译器或不同的嵌入式系统可以被认为是半分离类型。
嵌入式 -需要最高级别的复杂性,创造性和经验要求的软件项目属于此类别。此类软件需要比其他两个模型更大的团队规模,并且开发人员需要具有足够的经验和创造力来开发此类复杂模型。
所有上述系统类型都使用Effort Calculations中使用的常量的不同值。
模型类型: COCOMO由三个日益详细和准确的表单组成。根据我们的要求,可以采用三种形式中的任何一种。这些是COCOMO模型的类型:
基本的COCOMO模型
中级COCOMO模型
详细的COCOMO模型
第一级,基本COCOMO可用于软件成本的快速和略微粗略计算。由于缺乏足够的因子考虑,其准确性受到一定程度的限制。
中间COCOMO考虑了这些成本动因,详细的COCOMO还考虑了各个项目阶段的影响,即在详细说明这两个成本动因的情况下,并且计算也是逐步进行的,从而产生更准确的结果。下面将进一步讨论这两种模型。
努力估计:计算 -
基本模型 -
E = a(KLOC)^ b
上述公式用于基本COCOMO模型的成本估算,也用于后续模型。基本模型的常量值a和b用于不同类别的系统:
软件项目 | 一个 | B |
---|---|---|
有机 | 2.4 | 1.05 |
半独立式 | 3.0 | 1.12 |
嵌入式 | 3.6 | 1.20 |
努力以人月来衡量,从公式中可以看出,这取决于Kilo-Lines代码。这些公式在基本模型计算中使用,因为不考虑可靠性,专业知识等不同因素,因此估计是粗略的。
中级模型 -
基本的Cocomo模型假设努力只是代码行数和一些根据不同软件系统评估的常数的函数。但是,实际上,没有系统的工作量和时间表可以根据代码行单独计算。为此,各种其他因素,如可靠性,经验,能力。这些因素称为成本动因,中间模型使用15个此类驱动因素进行成本估算。
成本动因及其属性的分类:
(i)产品属性 -
所需软件可靠性程度
应用程序数据库的大小
产品的复杂性
(ii)硬件属性 -
运行时性能限制
内存限制
虚拟机环境的波动性
需要的转弯时间
(iii)人员属性 -
分析师能力
软件工程能力
应用经验
虚拟机体验
编程语言经验
(iv)项目属性 -
使用软件工具
软件工程方法的应用
所需的开发时间表
;
付费司机 | 非常低 | 低 | 公称 | 高 | 很高 |
---|---|---|---|---|---|
产品属性 | |||||
所需软件可靠性 | 0.75 | 0.88 | 1.00 | 1.15 | 1.40 |
应用数据库的大小 | 0.94 | 1.00 | 1.08 | 1.16 | |
产品的复杂性 | 0.70 | 0.85 | 1.00 | 1.15 | 1.30 |
硬件属性 | |||||
运行时性能约束 | 1.00 | 1.11 | 1.30 | ||
记忆约束 | 1.00 | 1.06 | 1.21 | ||
虚拟机环境的波动性 | 0.87 | 1.00 | 1.15 | 1.30 | |
需要的转弯时间 | 0.94 | 1.00 | 1.07 | 1.15 | |
人员属性 | |||||
分析师能力 | 1.46 | 1.19 | 1.00 | 0.86 | 0.71 |
应用经验 | 1.29 | 1.13 | 1.00 | 0.91 | 0.82 |
软件工程师能力 | 1.42 | 1.17 | 1.00 | 0.86 | 0.70 |
虚拟机体验 | 1.21 | 1.10 | 1.00 | 0.90 | |
编程语言经验 | 1.14 | 1.07 | 1.00 | 0.95 | |
项目属性 | |||||
软件工程方法的应用 | 1.24 | 1.10 | 1.00 | 0.91 | 0.82 |
使用软件工具 | 1.24 | 1.10 | 1.00 | 0.91 | 0.83 |
所需的开发时间表 | 1.23 | 1.08 | 1.00 | 1.04 | 1.10 |
项目经理将为特定项目评估这15个不同的参数,范围为1到3。然后,根据这些额定值,从上表中获取适当的成本动因值。然后将这15个值相乘以计算EAF(努力调整因子)。中级COCOMO公式现采用以下形式:
E =(a(KLOC)^ b)* EAF
在中间模型的情况下a和b的值如下:
软件项目 | 一个 | B |
---|---|---|
有机 | 3.2 | 1.05 |
半独立式 | 3.0 | 1.12 |
Embeddedc | 2.8 | 1.20 |
详细模型 -
详细的COCOMO包含中间版本的所有特征,并评估成本驱动因素对软件工程过程中每个步骤的影响。详细模型对每个成本动因属性使用不同的努力乘数。在详细的cocomo中,整个软件被分成不同的模块,然后我们在不同的模块中应用COCOMO来估算工作量,然后总结工作量。
详细COCOMO的六个阶段是:
规划和要求
系统设计
详细设计
模块代码和测试
整合和测试
成本建设模型
根据程序大小计算工作量,并根据软件生命周期的每个阶段给出一组成本驱动因素。
另请阅读:经典瀑布模型,迭代瀑布模型,原型模型,螺旋模型
2019-03
Cocomo(建设性成本模型)是基于LOC的回归模型,即代码行数。它是软件项目的程序成本估算模型,通常用作可靠地预测与项目相关的各种参数(如规模,工作量,成本,时间和质量)的过程。它是由Barry Boehm于1970年提出的,它基于对63个项目的研究,这使它成为最好记录的模型之… [了解更多]