miércoles, 9 de noviembre de 2011

MODELO COCOMO

Características del cocomo



Pertenece a la categoría de modelos  basados en estimaciones matemáticas. Está orientado a la magnitud del producto final, midiendo el "tamaño" del proyecto, en líneas de código principalmente.

Inconvenientes

  • Los resultados no son proporcionales a las tareas de gestión ya que no tiene en cuenta los recursos necesarios para realizarlas.
  • Se puede desviar de la realidad si se indica mal el porcentaje de líneas de comentarios en el código fuente.
  • Es un tanto subjetivo, puesto que está basado en estimaciones y parámetros que pueden ser "vistos" de distinta manera por distintos analistas que usen el método.
  • Se miden los costes del producto, de acuerdo a su tamaño y otras características, pero no la productividad.
  • La medición por líneas de código no es válida para .
  • Utilizar este modelo puede resultar un poco complicado, en comparación con otros métodos (que también sólo estiman).

 Modelos de estimación

 

La ecuaciones que se utilizan en los tres modelos son:
  • E = a(Kl)b * m(X), en persona-mes
  • Tdev = c(E)d, en meses
  • P = E / Tdev, en personas
donde:
  • E es el esfuerzo requerido por el proyecto, en persona-mes
  • Tdev es el tiempo requerido por el proyecto, en meses
  • P es el número de personas requerido por el proyecto
  • a, b, c y d son constantes con valores definidos en una tabla, según cada submodelo
  • Kl es la cantidad de líneas de código, en miles.
  • m(X) Es un multiplicador que depende de 15 atributos.
A la vez, cada submodelo también se divide en modos que representan el tipo de proyecto, y puede ser:
  • modo orgánico: un pequeño grupo de programadores experimentados desarrollan software en un entorno familiar. El tamaño del software varía desde unos pocos miles de líneas (tamaño pequeño) a unas decenas de miles (medio).
  • modo semilibre o semiencajado: corresponde a un esquema intermedio entre el orgánico y el rígido; el grupo de desarrollo puede incluir una mezcla de personas experimentadas y no experimentadas.
  • modo rígido o empotrado: el proyecto tiene fuertes restricciones, que pueden estar relacionadas con la funcionalidad y/o pueden ser técnicas. El problema a resolver es único y es difícil basarse en la experiencia, puesto que puede no haberla.

 Modelo básico

 

Artículo principal: 
Se utiliza para obtener una primera aproximación rápida del esfuerzo,y hace uso de la siguiente tabla de constantes para calcular distintos aspectos de costes:
MODO a b c d
Orgánico 2.40 1.05 2.50 0.38
Semilibre 3.00 1.12 2.50 0.35
Rígido 3.60 1.20 2.50 0.32
Estos valores son para las fórmulas:
  • Personas necesarias por mes para llevar adelante el proyecto (MM) = a*(Klb)
  • Tiempo de desarrollo del proyecto (TDEV) = c*(MMd)
  • Personas necesarias para realizar el proyecto (CosteH) = MM/TDEV
  • Costo total del proyecto (CosteM) = CosteH * Salario medio entre los programadores y analistas.
Se puede observar que a medida que aumenta la complejidad del proyecto (modo), las constantes aumentan de 2.4 a 3.6, que corresponde a un incremento del esfuerzo del personal. Hay que utilizar con mucho cuidado el modelo básico puesto que se obvian muchas características del entorno

 Modelo intermedio

 

Este añade al modelo básico quince modificadores opcionales para tener en cuenta en el entorno de trabajo, incrementando así la precisión de la estimación.[
Para este ajuste, al resultado de la fórmula general se lo multiplica por el coeficiente surgido de aplicar los atributos que se decidan utilizar.
Los valores de las constantes a reemplazar en la fórmula son:
MODO a b
Orgánico 3.20 1.05
Semilibre 3.00 1.12
Rígido 2.80 1.20