COCOMO - COCOMO

El Modelo de Costes Constructivos ( COCOMO ) es un modelo de estimación de costes de software procedimental desarrollado por Barry W. Boehm . Los parámetros del modelo se derivan de ajustar una fórmula de regresión utilizando datos de proyectos históricos (63 proyectos para COCOMO 81 y 163 proyectos para COCOMO II).

Historia

El modelo de costo constructivo fue desarrollado por Barry W. Boehm a fines de la década de 1970 y publicado en el libro de Boehm de 1981, Software Engineering Economics, como modelo para estimar el esfuerzo, el costo y el cronograma de proyectos de software. Se basó en un estudio de 63 proyectos en TRW Aerospace, donde Boehm era Director de Investigación y Tecnología de Software. El estudio examinó los proyectos que van desde 2.000 a 100.000 líneas de código , y los lenguajes de programación que van desde el montaje de PL / I . Estos proyectos se basaron en el modelo en cascada de desarrollo de software, que fue el proceso de desarrollo de software predominante en 1981.

Las referencias a este modelo suelen llamarlo COCOMO 81 . En 1995 se desarrolló COCOMO II y finalmente se publicó en 2000 en el libro Software Cost Estimation with COCOMO II . COCOMO II es el sucesor de COCOMO 81 y se afirma que es más adecuado para estimar proyectos de desarrollo de software modernos; proporcionando soporte para procesos de desarrollo de software más recientes y se ajustó utilizando una base de datos más grande de 161 proyectos. La necesidad del nuevo modelo surgió cuando la tecnología de desarrollo de software pasó del mainframe y el procesamiento por lotes durante la noche al desarrollo de escritorio, la reutilización de código y el uso de componentes de software listos para usar.

COCOMO consta de una jerarquía de tres formularios cada vez más detallados y precisos. El primer nivel, Basic COCOMO, es bueno para estimaciones rápidas, tempranas y de orden de magnitud aproximado de los costos de software, pero su precisión es limitada debido a la falta de factores para tener en cuenta la diferencia en los atributos del proyecto ( controladores de costos ). El COCOMO intermedio tiene en cuenta estos factores de costo y el COCOMO detallado también tiene en cuenta la influencia de las fases individuales del proyecto. El último es el modelo Complete COCOMO, que se queda corto tanto en el básico como en el intermedio.

COCOMOs intermedios

El COCOMO intermedio calcula el esfuerzo de desarrollo de software en función del tamaño del programa y un conjunto de "impulsores de costos" que incluyen la evaluación subjetiva del producto, hardware, personal y atributos del proyecto. Esta extensión considera un conjunto de cuatro "generadores de costos", cada uno con una serie de atributos subsidiarios: -

  • Atributos del producto
    • Grado de confiabilidad del software requerido
    • Tamaño de la base de datos de la aplicación
    • Complejidad del producto
  • Atributos de hardware
    • Restricciones de rendimiento en tiempo de ejecución
    • Restricciones de memoria
    • Volatilidad del entorno de la máquina virtual
    • Tiempo de giro requerido
  • Atributos del personal
    • Capacidad de analista
    • Capacidad de ingeniería de software
    • Experiencia en aplicaciones
    • Experiencia de máquina virtual
    • Experiencia en lenguaje de programación
  • Atributos del proyecto
    • Uso de herramientas de software
    • Aplicación de métodos de ingeniería de software
    • Calendario de desarrollo requerido

Cada uno de los 15 atributos recibe una calificación en una escala de seis puntos que va de "muy bajo" a "muy alto" (en importancia o valor). Un multiplicador de esfuerzo de la siguiente tabla se aplica a la calificación. El producto de todos los multiplicadores de esfuerzo da como resultado un factor de ajuste de esfuerzo (EAF) . Los valores típicos para el EAF oscilan entre 0,9 y 1,4.

Impulsores de costos Calificaciones
Muy bajo Bajo Nominal Elevado Muy alto Extra alto
Atributos del producto
Fiabilidad del software requerida 0,75 0,88 1,00 1,15 1,40  
Tamaño de la base de datos de la aplicación   0,94 1,00 1.08 1,16  
Complejidad del producto 0,70 0,85 1,00 1,15 1,30 1,65
Atributos de hardware
Restricciones de rendimiento en tiempo de ejecución     1,00 1,11 1,30 1,66
Restricciones de memoria     1,00 1.06 1,21 1,56
Volatilidad del entorno de la máquina virtual   0,87 1,00 1,15 1,30  
Tiempo de giro requerido   0,87 1,00 1.07 1,15  
Atributos del personal
Capacidad de analista 1,46 1,19 1,00 0,86 0,71  
Experiencia en aplicaciones 1,29 1,13 1,00 0,91 0,82  
Capacidad de ingeniero de software 1,42 1,17 1,00 0,86 0,70  
Experiencia de máquina virtual 1,21 1,10 1,00 0,90    
Experiencia en lenguaje de programación 1,14 1.07 1,00 0,95    
Atributos del proyecto
Aplicación de métodos de ingeniería de software 1,24 1,10 1,00 0,91 0,82  
Uso de herramientas de software 1,24 1,10 1,00 0,91 0,83  
Calendario de desarrollo requerido 1,23 1.08 1,00 1.04 1,10  

La fórmula de Intermediate Cocomo ahora toma la forma:

E = a yo (KLoC) b yo (EAF)

donde E es el esfuerzo aplicado en meses-persona, KLoC es el número estimado de miles de líneas de código entregadas para el proyecto y EAF es el factor calculado anteriormente. El coeficiente a i y el exponente b i se dan en la siguiente tabla.

Proyecto de software a yo b yo c yo
Orgánico 3.2 1.05 0,38
Semi separado 3,0 1.12 0,35
Incorporado 2.8 1,20 0,32

El cálculo del tiempo de desarrollo D y también del número más efectivo de personas P utiliza E de la misma manera que en el COCOMO básico:

D = 2.5 E c yo

Tenga en cuenta que además del EAF, el parámetro a i es diferente en Intermediate COCOMO del modelo Básico:

Proyecto de software a b
Orgánico 2.4
Semi separado 3,0
Incorporado 3.6

Los parámetros b y c son los mismos en ambos modelos.

Ver también

Referencias

Otras lecturas

enlaces externos