MODELOS EMPIRICOS DE ESTIMACION

  • Utilizan fórmulas derivadas empíricamente de una muestra limitada de proyectos para predecir el esfuerzo en función de LOC o PF.
  • La estimación de los valores de LOC y PF se realizan utilizando las técnicas de descomposición.
  • Los valores resultantes se aplican a la fórmula del modelo que se haya escogido para obtener el esfuerzo en hombres-mes.
  • Precisamente por venir de una muestra limitada, no son adecuados para toda clase de software ni para todo medio ambiente de desarrollo.

Modelo COCOMO

Creado por Barry Boehm en 1981. Su nombre significa COnstructive COst MOdel (Modelo constructivo de costo) y se puede dividir en tres modelos.

COCOMO básico. Calcula el esfuerzo y el costo del desarrollo en función del tamaño del programa estimado en LOC.

COCOMO intermedio. Calcula el esfuerzo del desarrollo en función del tamaño del programa y un conjunto de conductores de costo que incluyen la evaluación subjetiva del producto, del hardware, del personal y de los atributos del proyecto.

COCOMO detallado. Incorpora las características de la versión intermedia y lleva a cabo una evaluación del impacto de los conductores de costo en cada fase (análisis, desarrollo, etc.) del proceso.

Los modelos COCOMO están definidos para tres tipos de proyectos de software:

 

  • Orgánicos.
    • Proyectos pequeños y sencillos.
    • Equipos pequeños con experiencia en la aplicación.
    • Requisitos poco rígidos.
  • Semiacoplados.
    • Proyectos de tamaño y complejidad intermedia.
    • Equipos con variado niveles de experiencia.
    • Requisitos poco o medio rígidos.
  • Empotrados.
    • Proyectos que deben ser desarrollados con un conjunto de requisitos (hardware y software) muy restringidos.

 

COCOMO básico

Las ecuaciones del modelo COCOMO básico son de la forma:

E = a * KLOCb
D = c * Ed

Donde:

E

es el esfuerzo aplicado en hombre-mes

D

es el tiempo de desarrollo en meses

KLOC

es el número de miles de líneas de código estimado para el proyecto

Los coeficientes a y c y los exponentes b y d se obtienen de la siguiente tabla:

Tipo de proyecto

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

Aplicando el modelo COCOMO básico al ejemplo anterior y usando un tipo de proyecto orgánico obtenemos una estimación para el esfuerzo:

E = 2.4 * KLOC1.05 
= 2.4 * 7.41.05 
= 20 hombre-mes

 

Para calcular la duración del proyecto usamos la estimación de esfuerzo:

D = 2.5 * E0.38 
= 2.5 * 200.38
= 8 meses

 

El valor de la duración del proyecto permite al planificador recomendar un número de personas N para el proyecto.

N = E / D 
= 20 / 8 
= 3 personas

El planificador puede decidir emplear sólo una o dos personas y ampliar por tanto la duración del proyecto.

En el COCOMO intermedio, la ecuación para calcular el tiempo de desarrollo es la misma que la del COCOMO básico. La ecuación para calcular el esfuerzo es:

 

E = a * KLOCb * EAF

Donde,

E

es el esfuerzo en hombre-mes

KLOC

es el número estimado de miles de líneas de códig

 

Y

EAF

Es un factor de ajuste del esfuerzo que se calcula valorando en una escala de muy bajobajonominalalto y muy alto cada uno de los siguientes 15 atributos, agrupados en 4 categorías. Así:

Atributos del producto.

Son restricciones y requerimientos del proyecto que va a ser desarrollado.

· Confiabilidad requerida*

· Tamaño de la base de datos

· Complejidad del producto

Atributos de computadora.

Son limitaciones puestas por el hardware y el sistema operativo donde el proyecto va a ejecutarse.

Restricciones de tiempo de ejecución*

Restricciones de memoria principal*

Volatilidad de la máquina virtual.

Tiempo de respuesta de la computadora.

 

EAF

Atributos de personal.

Nivel de habilidades que tiene el personal. Son habilidades profesionales generales, habilidad de programación, experiencia con el medio ambiente de desarrollo y familiaridad con el dominio del proyecto.

Capacidad del analista.

Experiencia en aplicaciones*

Capacidad del programador.

Experiencia con la máquina virtual.

Experiencia con el lenguaje de programación.

Atributos del proyecto.

Restricciones y condiciones bajo las cuales el proyecto se desarrolla.

Prácticas modernas de programación

Uso de herramientas de software*

Calendario de desarrollo requerido.

 

 

A cada atributo se le asigna un número real de acuerdo a la tabla siguiente:

Escala

Número

Muy bajo

0.75

Bajo

0.88

Nominal

1

Alto

1.15

Muy alto

1.40

 

 

El número indica el grado con el que cada factor puede influenciar la productividad. Un valor menor que 1 indica que el factor puede decrementar el calendario y el esfuerzo. Un valor mayor que 1 denota un factor que extiende el calendario y el esfuerzo. Finalmente, un valor igual a 1 no extiende ni decrementa el calendario y el esfuerzo (esta clase de factor se llama nominal).

Para obtener el EAF se multiplican cada uno de los 15 factores.

Se puede simplificar el cálculo del EAF porque hay una tendencia a considerar los atributos marcados en (*), como los más relevantes y que deberían ser tomados en cuenta.

 

La ecuación del software

 

  • Propuesta por Putnam y Myers en 1992.
  • Asume una distribución específica del esfuerzo a lo largo de la vida de un proyecto.
  • Se obtuvo a partir de datos de productividad de unos 4,000 proyectos.

 

Es de la forma:

E = (LOC * B0.333 / P)3 * (1 / t4)

Donde,

 

 

E

Esfuerzo en hombres-año.

t

Duración del proyecto en años.

B

Factor especial de destrezas. Para programas pequeños B vale 0.16, para programas intermedios vale 0.28, para programas mayores vale 0.39.

P

Parámetro de productividad, para un software de tiempo real, P vale 2,000, para comunicaciones vale 10,000, para software científico vale 12,000 y para aplicaciones comerciales de sistemas vale 28,000.

 

  • Para simplificar el proceso de estimación se sugiere un conjunto de ecuaciones obtenidas de la ecuación del software.
  • Un tiempo mínimo de desarrollo de software se define como:

 

tmin = 8.14 * (LOC / P)0.43 para tmin > 6 meses.

E = 180 * B * t3 en hombres-mes para E >= 20 hombres-mes y t representado en años

Aplicando las ecuaciones al ejemplo anterior, obtenemos:

tmin = 8.14 * (7,400 / 12,000)0.43
= 7 meses 
E = 180 * 0.28 * 0.753 
= 21 hombres-mes