Professional Documents
Culture Documents
CIMAT
Septiembre 27, 2007
CIMAT Zacatecas 1
Agenda
1.Descripción del modelo
COCOMO;
2.Explicación de los factores de
tamaño y costo;
3.Oportunidades y Limitaciones;
CIMAT Zacatecas 2
CIMAT Zacatecas 3
Organizaciones Afiliadas (34)
• Commercial Industry (15)
– Daimler Chrysler, Freshwater Partners, Galorath, Group
Systems.Com, Hughes, IBM, Cost Xpert Group, Microsoft,
Motorola, Price Systems, Rational, Reuters Consulting, Sun,
Telcordia, Xerox
• Aerospace Industry (6)
– BAE, Boeing, Lockheed Martin, Northrop Grumman,
Raytheon, SAIC
• Government (8)
– DARPA, DISA, FAA, NASA-Ames, NSF, OSD/ARA/SIS,
US Army Research Labs, US Army TACOM
• FFRDC’s and Consortia (4)
– Aerospace, JPL, SEI, SPC
• International (1)
– Chung-Ang U. (Korea)
CIMAT Zacatecas 4
Principales Definiciones
Calibración: el procedimiento que permite determinar
con suficiente exactitud el valor de los errores del
modelo
CER: relación matemática que ayuda con la estimación
del costo
Estimación del costo: predicción del esfuerzo y duración
de un proyecto de software
Factor: un parámetro que tiene influencia en la cantidad
de esfuerzo de software
Paramétrico: una ecuación aproximada por un grupo de
parámetros
Escala de valores: un rango de valores que representan
el impacto matemático de un factor
SLOC: Líneas de Código (Software Lines of Code)
CIMAT Zacatecas 5
¿Cuánto cuesta el software?
• Necesidad de estimar el esfuerzo y tiempo
requeridos para desarollar sistemas de
software
– Las estimaciones basadas principalmente en
el modelado del proyecto actual y su
comparación con proyectos anteriores
– Podemos usar modelos económicos como
COCOMO para estimar el costo
CIMAT Zacatecas 6
Modelos de Costo
• El uso de modelos es tan antiguo como la ingeniería
– Antes de construir el producto, los ingenieros construyen
modelos y aprenden de ellos
– Antes de comprometer el dinero y los recursos, los ejecutivos
necesitan información del costo
• Algunas características deseables de un modelo
– Comprensible
– Preciso
– Predictivo
– Barato
– Sencillo
– Realista
CIMAT Zacatecas 7
Ejemplos de Modelos de Costo
Nombre Diseñador
Constructive Cost Model USC
PRICE-Hardware PRICE Systems
PRICE-Software PRICE Systems
Raytheon SE Resource Forecasting Tool Raytheon
SEER-Hardware Galorath
SEER-Software Engineering Model Galorath
Small Satellite Cost Model The Aerospace Corporation
Unmanned Satellite Cost Model Los Angeles Air Force Base
Hardware Software
CIMAT Zacatecas 8
Ventajas de Usar Modelos
• Ayudar a entender un problema complejo a través de
análisis y simulación
• Investigar y comparar soluciones alternativas
• Comunicar idas acerca de un problema o una solución
• Demonstrar al cliente que el sistema es viable
• Detectar errores y omisiones en el diseño
• Generar un plan de implementación
• Negociar cambios al sistema y cuantificar los impactos
económicos
CIMAT Zacatecas 9
Historia de COCOMO
Constructive Cost Model (Modelo Construc-
tivo de Costo)
Desarrollado en 1981 por el Dr. Barry Boehm en
UCLA/TRW
Software Engineering Economics (1981)
Es el modelo de estimación de costos más utilizado
En 2000 se publicó la versión COCOMO II
Software Cost Estimation with COCOMO II (2000)
El equipo liderado por Boehm (Centro de Ingeniería
en Sistemas y Software) pretende mejorar, ampliar y
adaptar modelos a los nuevos estándares de
desarrollo de software
CIMAT Zacatecas 10
Evolución de la familia COCOMO
Legend:
Model has been calibrated with historical project data and expert (Delphi) data
Model is derived from COCOMO II
Model has been calibrated with expert (Delphi) data
CIMAT Zacatecas Fecha indica año de publicación del modelo 11
COCOMO II
Permite estimar el esfuerzo, costo y duración de
cualquier proyecto de software
Es un modelo algorítmico basado en una serie de
fórmulas matemáticas que producen una estimación
en función de un conjunto de variables ƒ(x1, x2,... xn):
Líneas de código (lógicas en lugar de físicas)
Capacidad de analistas y programadores
Complejidad del producto
Restricciones de tiempo de ejecución, memoria,
equipos de trabajo …
Etc …
CIMAT Zacatecas 12
Parámetros de COCOMO II
• El parámetro principal para la estimación de
costo es “Software Lines of Code”
– La estimación cubre únicamente un conjunto definido
de fases
• Incepción
• Elaboración
• Construción
• Transición
– Incluye todos los costos directos del proyecto, pero
no los indirectos
– El esfuerzo se mide en “Person-Month”
• 1 PM = 19 persona-días = 152 persona-horas
CIMAT Zacatecas 13
Concepto Operacional COCOMO II
SLOC;
Function Points;
Application Points
Tamaño
Esfuerzo
Factores de Escala COCOMO II
Multiplicadores Duración
de Esfuerzo
- Atributos de Producto
- Atributos de Plataforma Calibración
- Atributos de Personal
- Atributos de Proyecto
CIMAT Zacatecas 14
Relación Matemática de Estimación
de Costo en COCOMO
Donde:
A = constante derivado a través de los resultados de proyectos
anteriores
Size = tamaño del software
SF = factores de escala
EM = multiplicador de esfuerzo
CIMAT Zacatecas 15
Tamaño del Software
• Alternativa #1: Líneas de Código
– Líneas de código fuente
– Líneas de código fuente entregadas
• Productividad es diferente en Basic, Java, C++,
etc.
• Alternativa #2: Puntos de Función
– Una vez calculados,
se convierten a líneas de código
CIMAT Zacatecas 16
Factores de Escala
Factores
de Muy Bajo Bajo Normal Alto Muy Alto Extra Alto
Escala
Extremadamente Muy nuevo Novedoso de Familiar Muy familiar Extremadamente
PREC nuevo alguna familiar
manera
SFj: 6.20 4.96 3.72 2.48 1.24 0.00
FLEX Riguroso Relajación Alguna Conformidad Alguna Metas generales
ocasional relajación general conformidad
SFj: 5.07 4.05 3.04 2.03 1.01 0.00
RESL Poco (20%) Algo (40%) A menudo Generalmente Casi Siempre (100%)
(60%) (75%) Siempre
(90%)
SFj: 7.07 5.65 4.24 2.83 1.41 0.00
Interacciones Interacciones Interacciones Bastante Altamente Alto nivel de
TEAM muy difíciles algo difíciles cooperativas cooperativos cooperativos interacción
básicas
SFj: 5.48 4.38 3.29 2.19 1.10 0.00
SW-CMM Nivel SW-CMM SW-CMM SW-CMM SW-CMM SW-CMM Nivel
PMAT 1 Bajo Nivel 1 Alto Nivel 2 Nivel 3 Nivel 4 5
SFj: 7.80 6.24 4.68 3.12 1.56 0.00
O la madurez estimada del proceso (EMPL)
CIMAT Zacatecas 17
Multiplicadores de Esfuerzo
• Atributos de Producto
– RELY: Confiabilidad requirida
– DATA: Tamaño de la base de datos
– DOCU: Documentación necesaria
– CPLX: Complejidad del producto
– RUSE: Reusabilidad requerida
CIMAT Zacatecas 18
Multiplicadores de Esfuerzo
• Atributos de Plataforma
– TIME: Restricciones de tiempo de ejecución
– STOR: Restricciones de almacenamiento
– PVOL: Cambio de plataforma
• Atributos de Personal
– ACAP: Capacidad de los analistas
– AEXP: Experiencia de los analistas
– PCAP: Habilidad de los programadores
– PEXP: Experiencia en este tipo de plataforma
– LEXP: Experiencia con el lenguaje de software
– PCON: Continuidad de personal
CIMAT Zacatecas 19
Multiplicadores de Esfuerzo
• Atributos de Proyecto
– TOOL: Herramientas que soportan las actividades de
análisis y diseño
– SITE: Coordinación entre sitios
– SCED: Compresión o extensión de la duración del
proyecto
CIMAT Zacatecas 20
Proceso de estimación con COCOMO II
Paso 2: Establecer
factores de escala y NO
esfuerzo
CIMAT Zacatecas 21
Ejercicio 1
• Estimar el esfuerzo y el tiempo de desarrollo
para un proyecto con 100 KSLOC
– La sumatoria de los multiplicadores de esfuerzo son
1.0
– La sumatoria de los factores de escala es de 24
CIMAT Zacatecas 22
Solución 1
• Esfuerzo = 568.61 personas·mes
• Tiempo de desarrollo = 29.7 meses
• Personal necesario = 19.75 personas ≈ 20
personas
CIMAT Zacatecas 23
Lista de Actividades de Trabajo
(Work Breakdown Structure)
DESARROLLAR SOFTWARE
• Determinar Requisitos Software
• Desarrollar software (usando un paradigma selec.)
– Diseño de Arquitectura (especificación de
– Implantación
– Integración y Pruebas
• Realizar Gestión de Proyectos
– Planificación y seguimiento
– Gestión de riesgos
• Mantener Control de Configuración
– Control de versiones/línea base
– Actividades del CCC
• Realizar Aseguramiento de la Calidad
CIMAT Zacatecas 24
Procedimiento de Estimación
Paso 1: Estimar el
Requisitos tamaño del trabajo
CIMAT Zacatecas 27
Solución 2
• PREC(A), FLEX(MB), TEAM(B), RESL(N),
PMAT(VL)
• Esfuerzo = 13.9 personas·mes
• Tiempo de desarrollo = 8.7 meses
• Personal necesario = 1.6 personas ≈ 2 personas
• Productividad = 277.8 SLOC/p·m
CIMAT Zacatecas 28
Limitaciones de COCOMO II
1. Factores cualitativos son difíciles de
modelar
2. Calibración utilizando proyectos
exitosos
3. Es fácil manipular el modelo para
obtener los resultados deseados
CIMAT Zacatecas 29
Contacto
Ricardo Valerdi
Massachusetts Institute of Technology
rvalerdi@mit.edu
+1 (617) 253-8583
http://web.mit.edu/rvalerdi/www
CIMAT Zacatecas 30