Costes del desarrollo de software

Por el 17 de diciembre de 2007

en: Sin categoría

La métrica del software es un factor realmente importante en el análisis de un proyecto. Hay distintos métodos de estimación de costes de desarrollo de software, también conocido como métrica del software.

La gran mayoría de estos métodos se basan en la medición del número de Líneas de Código (LDC) que contiene el desarrollo (se excluyen comentarios y líneas en blanco de los fuentes).

Entre estos métodos está el COCOMO (COnstructive COst MOdel) desarrollado por por Barry M. Boehm. Un método de estimación de coste de desarrollo no es otra cosa que establecer una relación matemática entre el esfuerzo y el tiempo requerido para desarrollar un producto / proyecto.

Lo primero que necesitamos saber es el tipo de proyecto del que estamos hablando, hay tres tipos diferentes:

  • Orgánico: proyectos relativamente sencillos,En este modo, un pequeño grupo de programadores experimentados desarrollan software en un entorno familiar. El tamaño del software varía de unos pocos miles de líneas (pequeño) a unas decenas de miles de líneas (medio).
  • Semi-acoplado: proyectos intermedios en complejidad y tamaño. En este tipo, el proyecto tiene unas fuertes restricciones, que pueden estar relacionadas con el procesador y el interface hardware. El problema a resolver es único y es difícil basarse en la experiencia, puesto que puede no haberla.
  • Empotrado: proyectos bastante complejos, en los que apenas se tiene experiencia y se engloban en un entorno de gran innovación técnica. Además se trabaja con unos requisitos muy restrictivos y de gran volatilidad.

Ahora por otro lado tendríamos los diferentes modelos que define COCOMO: Modelo básico, Modelo Intermedio y Modelo Avanzado.

En este punto quiero recordar que este tipo de modelos están orientados a la magnitud del producto final, midiendo el tamaño del proyecto en líneas de código principalmente, por el hecho de realizarse en base al número de líneas de código se mide el producto y su tamaño pero en ningún momento podremos llegar a medir la productividad.

Dificultad de un proyecto en función su líneas de código

Categoría Programadores Duración Líneas de código Ejemplo
Trivial 1 0 – 4 semanas < 1k Utilidad de ordenación
Pequeño 1 1 – 6 meses 1k – 3k Biblioteca de funciones
Media 2 – 5 0,5 – 2 años 3k – 50k Compilador de C
Grande 5 – 20 2 – 3 años 50k – 100k SO pequeño
Muy grande 100 – 1000 4 – 5 años 100k – 1M Grandes SO
Gigante 1000-5000 5 – 10 años > 1M Sistema de Distribución

Tabla: “Dificultad de un proyecto en función de sus líneas de código

Ejemplo práctico

Supongamos que queremos estimar el “Coste de desarrollo” de un proyecto que posee menos de 50.000 líneas de código y que por lo tanto y según hemos podido ver se trata de un Proyecto Orgánico.

“Proyecto prueba” = 9.200 líneas de código

La ecuación del esfuerzo de COCOMO es:

E = Esfuerzo = a KLDC b (persona x mes)

KLCD es el número de líneas de código en miles

La ecuación del tiempo de desarrollo es:

T = Tiempo de duración del desarrollo = c Esfuerzo d (meses)

Ahora necesitamos una tabla para obtener los coeficientes (a, b, c, d) que aparecen en las fórmulas citadas, estos coefcientes se obtienen de manera empírica y por lo tanto se basa en la experiencia de datos anteriores.

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”

Por lo tanto el tamaño de nuestro “Proyecto prueba” como hemos visto es de 9,2 miles de líneas de código, si aplicamos las fórmulas:

Esfuerzo realizado = 2,4 * 9.2 1,05 = 25,77 personas / mes

T = 2,5 * 25,77 0,38 = 4,86 mes

Nº de personas para desarrollar el proyecto = E/T= 21,9 / 8,1 » 5 personas

Por lo tanto y con estos resultados diríamos que el “Proyecto Prueba” debería terminarse en aproximadamente 5 meses por un equipo de 5 personas.

Información adicional

Por cierto buscando algo de información sobre este método he encontrado esta página que contiene un formulario con el que calcular rápidamente los diferentes datos de estimación de coste de desarrollo de un proyecto basándose en el método COCOMO.

He encontrado también una comparativa de las líneas de código algunos “Sistemas Operativos actuales y antiguos” (Pueden servirte como ejemplos para porbar las fórmulas anteriormente citadas).

Sistema Operativo  Líneas de Código
Microsoft Windows 3.1 (Abril de 1992) 3.000.000
Sun Solaris (Octubre de 1998) 7.500.000
Microsoft Windows 95 (Agosto de 1995) 15.000.000
Red Hat Linux 6.2 (Marzo de 2000) 17.000.000
Microsoft Windows 2000 (Febrero de 2000) 29.000.000
Red Hat Linux 7.1 (Abril de 2001) 30.000.000
Microsoft Windows XP (2002) 40.000.000
Red Hat Linux 8.0 (Septiembre de 2002) 50.000.000
Fedora Core 4 (Mayo de 2005) 76.000.000
Debian 3.0 (Julio de 2002) 105.000.000
Debian 3.1 (Junio de 2005) 

229.500.000  

Estudio en formato PDF

  • Entradas relacionadas:
  • No hay coincidencias

1 Respuesta a Costes del desarrollo de software

Avatar

william ospina

14 de febrero de 2012 a las 5:31 pm

necesito buenos aportes, eso no me sirvio de ni mierd…

Dejar un comentario