El modelo de costos constructivos ( COCOMO ) es un modelo procedimental de estimación de costos de software desarrollado por Barry W. Boehm . Los parámetros del modelo se derivan del ajuste de una fórmula de regresión utilizando datos de proyectos históricos (63 proyectos para COCOMO 81 y 163 proyectos para COCOMO II).
El modelo de costo constructivo fue desarrollado por Barry W. Boehm a fines de la década de 1970 [1] y publicado en el libro de Boehm de 1981 Software Engineering Economics [2] como un modelo para estimar el esfuerzo, el costo y el cronograma para 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ó proyectos que variaban en tamaño de 2000 a 100 000 líneas de código y lenguajes de programación que iban desde ensamblador hasta PL/I . Estos proyectos se basaron en el modelo de cascada de desarrollo de software, que era el proceso de desarrollo de software predominante en 1981.
Las referencias a este modelo normalmente lo llaman COCOMO 81. En 1995 se desarrolló COCOMO II y finalmente se publicó en 2000 en el libro Software Cost Estimation with COCOMO II . [3] COCOMO II es el sucesor de COCOMO 81 y se afirma que es más adecuado para estimar proyectos de desarrollo de software modernos; brinda 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 formas cada vez más detalladas y precisas. El primer nivel, COCOMO básico, es bueno para estimaciones rápidas, tempranas y aproximadas de orden de magnitud de los costos de software, pero su precisión es limitada debido a su falta de factores para tener en cuenta las diferencias en los atributos del proyecto ( impulsores de costos ). El COCOMO intermedio tiene en cuenta estos impulsores de costos y el COCOMO detallado tiene en cuenta además la influencia de las fases individuales del proyecto. El último es el modelo COCOMO completo que aborda las deficiencias tanto del básico como del intermedio.
La versión intermedia de COCOMO calcula el esfuerzo de desarrollo de software en función del tamaño del programa y de un conjunto de "factores de costo" que incluyen la evaluación subjetiva de los atributos del producto, el hardware, el personal y el proyecto. Esta extensión considera un conjunto de cuatro "factores de costo", cada uno con una serie de atributos secundarios:
Cada uno de los 15 atributos recibe una calificación en una escala de seis puntos que va desde "muy bajo" hasta "muy alto" (en importancia o valor). A la calificación se le aplica un multiplicador de esfuerzo de la tabla que aparece a continuación. El producto de todos los multiplicadores de esfuerzo da como resultado un factor de ajuste de esfuerzo (EAF) . Los valores típicos de EAF varían de 0,9 a 1,4.
La fórmula intermedia de Cocomo ahora toma la forma:
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 indican en la siguiente tabla.
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:
Tenga en cuenta que, además del EAF, el parámetro a i es diferente en el COCOMO intermedio del modelo básico:
Los parámetros b y c son los mismos en ambos modelos.