sábado, 25 de mayo de 2013

EL MÉTODO COCOMO




Una metodología que se encarga de medir proyectos software es COCOMO. La metodología COCOMO (COnstructive COst MOdel) se debe a Barry Boehm, y está orientada a líneas de código.
Hay una jerarquía de modelos COCOMO: básico, intermedio y avanzado, la cual se aplica a tres tipos diferentes de software:

1. Orgánico: proyectos relativamente sencillos, menores de 50.000 líneas de código. Se tiene experiencia en proyectos similares y se encuentra en un entorno estable.
2. Semiacoplado: proyectos intermedios en complejidad y tamaño. La experiencia en este tipo de proyectos es variable, y las restricciones intermedias.
3. Empotrado: proyectos bastante complejos, en los que apenas se tiene experiencia y en un entorno de gran innovación técnica. Se trabaja con unos requisitos muy restrictivos y de gran volatilidad.
Dado que sólo se va a emplear una variable para la estimación (la línea de código), se empleará COCOMO básico, ya que es un modelo univariable estático, con lo que se obtiene una valoración objetiva del esfuerzo realizado. Este proyecto será considerado como software orgánico, ya que posee menos de 50.000 líneas de código.
La ecuación del esfuerzo de COCOMO básico tiene la siguiente forma:
E = Esfuerzo = a KLDC b (persona x mes)
donde KLDC es el número de líneas de código, distribuidas en millares, para el proyecto.

La ecuación del tiempo de desarrollo es:
T = Tiempo de duración del desarrollo = c Esfuerzo d (meses)
Por su parte los coeficientes a, b, c y d se obtienen empíricamente del estudio de una serie de proyectos, y sus valores son:
Proyecto de software a b c d
Orgánico 2,4 1,05 2,5 0,38
Semiacoplado 3,0 1,12 2,5 0,35
Empotrado 3,6 1,20 2,5 0,32
Tabla "Coeficientes COCOMO"
En el desarrollo de SpiderBot se han codificado 8,2 miles de líneas de código.
Esfuerzo realizado = 2,4 * 8,2 1,05 = 21,9 personas-mes
T = 2,5 * 21,9 0,38 = 8,1 mes
Nº de personas para desarrollar el proyecto = E/T= 21,9 / 8,1 ? 3 personas
La controversia: Líneas de código frente a puntos de función
Existe en el mundo de la Ingeniería del Software una viva polémica sobre qué tipo de métricas son mejores para evaluar un proyecto: las orientadas a tamaño o las que utilizan puntos de función.
El centro de controversia está en considerar las líneas de código como medida clave, ya que los que se oponen a su uso, aducen que las medidas basadas en líneas de código son dependientes del lenguaje de programación. En cualquier caso esta polémica queda apartada gracias a Casper Jones, quién creó la siguiente tabla de correspondencia entre algunos de los lenguajes de programación más conocidos con su número de equivalencia entre líneas de código por punto de función:

Lenguaje LDC/PF
Ensamblador 320
C 150
Cobol 106
Pascal 91
Basic 64
TCL 64
Java 53
C++ 29
Tabla "Conversión Líneas de código a Puntos de función"
Conclusiones
Con todo este astudio, debemos concluir que se ha realizado un gran esfuerzo, pues la métrica nos dice que habiendo desarrollado un programa de este tamaño hubiesen sido necesarias tres personas, en lugar de solo una como ha sido el caso, para desarrollar el Proyecto en tan solo nueve meses.
Además se puede comparar este desarrollo con el de un compilador tarea nada desdeñable, y que ha sido el desarrollo de varios alumnos para obtener el título de ingeniero correspondiente al ciclo superior.

COCOMO DE MODO EMPOTRADO
Proyectos de software que deben ser desarrollados en un conjunto de hardware, software y restricciones operativas muy restringido (p. ej.: software de control de navegación para un avión).
Las ecuaciones del COCOMO básico tienen la siguiente forma:
E = (ab)(kLDC)^ bb D = (cb)(E)^db.

No hay comentarios:

Publicar un comentario