Este documento presenta los modelos empíricos de estimación, incluyendo el modelo COCOMO y COCOMO II. El modelo COCOMO utiliza fórmulas derivadas empíricamente para predecir el esfuerzo en función del tamaño del proyecto y factores de ajuste. COCOMO II mejora el modelo original al incluir tres submodelos para proyectos de diferentes tipos. El documento también resume que los métodos de estimación basados en esfuerzo proveen una aproximación de los recursos necesarios y que siempre se recomienda usar al menos dos técnicas de
2. Aprendizajes Esperados:
Definición, formalización y
modelamiento de requerimientos de
desarrollo de SW.
Contenidos:
Aplica las técnicas de análisis y diseño
de software de acuerdo a los requisitos
para una aplicación
4. Modelos Empíricos de Estimación
Un modelo empírico de estimación para software puede
utilizar fórmulas derivadas empíricamente para predecir el
esfuerzo como una función de LDC y PF.
Los datos empíricos que soportan la mayoría de los modelos
de estimación se obtienen de una muestra limitada de
proyectos. Es por eso que estos modelos de estimación no
son adecuados para todas clases de software y en todos los
entornos de desarrollo.
Los resultados obtenidos de dichos
modelos se deben utilizar con
prudencia.
5. Modelos Empíricos de Estimación
a) Modelo COCOMO:
Es una escala de modelos de estimación de software con
el nombre de COCOMO, por COnstructive COst MOdel.
Este modelo incluye:
i. Modelo 1: El modelo COCOMO básico calcula el
esfuerzo (y el costo) del desarrollo de software en
función del tamaño del programa, expresado en las
líneas estimadas de código (LDC).
6. Modelos Empíricos de Estimación
a) Modelo COCOMO:
ii. Modelo 2: El modelo COCOMO intermedio calcula el
esfuerzo del desarrollo de software en función del
tamaño del programa y de un conjunto de
“conductores de costo” que incluyen la evaluación
subjetiva del producto, del hardware, del personal y de
los atributos del proyecto.
iii. Modelo 3: El modelo COCOMO avanzado incorpora
todas 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, diseño,
etc.) del transcurso de ingeniería del software.
7. Modelos Empíricos de Estimación
a) Modelo COCOMO:
Los modelos COCOMO están establecidos para tres
prototipos de proyectos de software que son:
• Modo orgánico: aquellos proyectos de software que
son respectivamente pequeños y sencillos en donde
trabajan pequeños equipos que poseen buena
experiencia en la aplicación, sobre un conjunto de
requisitos poco rígidos.
8. Modelos Empíricos de Estimación
a) Modelo COCOMO:
• Modo semiacoplado: son los proyectos de software
intermedios hablando de tamaño y complejidad, en
donde los equipos tienen diversos niveles de
experiencia, y además deben satisfacer
requerimientos poco o medio rígidos.
• Modo empotrado: son proyectos de software que
deben ser desarrollados en un conjunto de
hardware, software y restricciones operativas muy
restringido.
9. Modelos Empíricos de Estimación
a) Modelo COCOMO:
COCOMO Básico:
• Las ecuaciones del COCOMO básico tienen la
siguiente forma:
E = ab (KLDC) exp (bb)
D = cb (E) exp (db)
• …donde E es el esfuerzo aplicado en personas-mes, D
es el tiempo de desarrollo en meses cronológicos y
KLDC es el número estimado de líneas de código
distribuidas (en miles) para el proyecto.
10. Modelos Empíricos de Estimación
a) Modelo COCOMO:
COCOMO Básico:
• Los coeficientes ab y cb y los exponentes db y bb, con
valores constantes se muestran en la Tabla siguiente:
11. Modelos Empíricos de Estimación
a) Modelo COCOMO:
COCOMO Intermedio:
• Las ecuaciones del COCOMO intermedio tienen la
siguiente forma:
E = ai (KLDC) exp(bi) * FAE
• …donde E es el esfuerzo aplicado en personas-mes y
LDC es el número estimado de líneas de código
distribuidas para el proyecto. FAE es un factor de
ajuste de esfuerzo que normalmente fluctúa entre
0,9 y 1,4.
12. Modelos Empíricos de Estimación
a) Modelo COCOMO:
COCOMO Intermedio:
• El coeficiente ai y el exponente bi como constantes
se muestran en la siguiente Tabla:
13. Modelos Empíricos de Estimación
a) Modelo COCOMO:
Ejemplo:
• Aplicación Modelo Básico
• Estimación LDC ejemplo anterior (33,3)
• Modelo Semiacoplado
E = 3,0 (LDC) exp(1,12)
= 3,0 (33,3) exp(1,12)
= 152 personas/mes
• Duración del Proyecto:
D = 2,5 (E) exp(0,35)
= 14,5 meses
14. Modelos Empíricos de Estimación
a) Modelo COCOMO:
Ejemplo:
• El valor de la duración del proyecto, permite
recomendar un número N de personas para el
proyecto:
N=E/D
= 152 / 14,5
= 11 personas
15. Modelos Empíricos de Estimación
a) Modelo COCOMO II - Antecedentes:
COCOMO II es un modelo que permite estimar el coste,
esfuerzo y tiempo cuando se planifica una nueva
actividad de desarrollo software. Está asociado a los
ciclos de vida modernos.
COCOMO II apunta hacia los proyectos software de los
90 y de la primera década del 2000, y continuará
evolucionando durante los próximos años.
16. Modelos Empíricos de Estimación
a) Modelo COCOMO II - Antecedentes:
Los cuatro elementos principales de la estrategia que ha
seguido COCOMO II son:
• Preservar la apertura del COCOMO original
• Desarrollar COCOMO II de forma que sea
compatible con el futuro mercado del software
• Ajustar las entradas y salidas de los submodelos de
COCOMO II al nivel de información disponible
• Permitir que los submodelos de COCOMO II se
ajusten a las estrategias de proceso particulares de
cada proyecto.
17. Modelos Empíricos de Estimación
a) Modelo COCOMO II - Antecedentes:
El modelo de COCOMO II está desglosado en tres
submodelos para asegurar la relatividad del proyecto en
la estimación. Estos submodelos son:
• El modelo de Composición de Aplicaciones:
Indicado para proyectos construidos con
herramientas modernas de construcción de
interfaces gráficos para usuario.
18. Modelos Empíricos de Estimación
a) Modelo COCOMO II - Antecedentes:
• El modelo de Diseño anticipado: Este modelo
puede utilizarse para obtener estimaciones
aproximadas del coste de un proyecto antes de que
esté determinada por completo su arquitectura.
Utiliza un pequeño conjunto de drivers de coste
nuevo y nuevas ecuaciones de estimación. Está
basado en Punto de Función.
• El modelo de Post-Arquitectura: Este es el modelo
COCOMO II más detallado. Se utiliza una vez que se
ha desarrollado por completo la arquitectura del
proyecto.
20. Síntesis
• Los métodos de estimación basadas en
esfuerzo, entregan principalmente una aproximación
de los recursos a utilizar en el desarrollo.
• La Estimación de Esfuerzo entrega además los costes
asociados por cada uno de los recursos y sus
respectivas fases.
• Los Modelos Empíricos se basan exclusivamente en
datos históricos y ecuaciones matemáticas.
21. Síntesis
• El Modelo de Cocomo es una metodología empírica
basada en las características del proyecto, como
también en las características del equipo de
desarrollo.
• El Modelo de Cocomo II es una versión mejorada del
modelo de Cocomo clásico, pero con una visión mas
moderna de desarrollo de proyecto.
• Independiente sea el proyecto a abordar, siempre la
recomendación es desarrollar al menos dos técnicas
de estimación.