Upload
trandien
View
220
Download
5
Embed Size (px)
Citation preview
1CIMAT Zacatecas
CIMATSeptiembre 27, 2007
Dr. Ricardo [email protected]
Estimación de Costos de Proyectos de Software
2CIMAT Zacatecas
Agenda1.Descripción del modelo
2.Explicación de los factores de tamaño y costo;
3.Oportunidades y Limitaciones;
COCOMO;
3CIMAT Zacatecas
4CIMAT Zacatecas
• 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)
Organizaciones Afiliadas (34)
5CIMAT Zacatecas
Principales DefinicionesCalibració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óndel costo
Estimación del costo: predicción del esfuerzo y duraciónde un proyecto de software
Factor: un parámetro que tiene influencia en la cantidadde esfuerzo de software
Paramétrico: una ecuación aproximada por un grupo de parámetros
Escala de valores: un rango de valores que representanel impacto matemático de un factor
SLOC: Líneas de Código (Software Lines of Code)
6CIMAT Zacatecas
¿Cuánto cuesta el software?
• Necesidad de estimar el esfuerzo y tiemporequeridos para desarollar sistemas de software– Las estimaciones basadas principalmente en
el modelado del proyecto actual y sucomparación con proyectos anteriores
– Podemos usar modelos económicos comoCOCOMO para estimar el costo
7CIMAT Zacatecas
Modelos de Costo• El uso de modelos es tan antiguo como la ingeniería
– Antes de construir el producto, los ingenieros construyenmodelos y aprenden de ellos
– Antes de comprometer el dinero y los recursos, los ejecutivosnecesitan información del costo
• Algunas características deseables de un modelo– Comprensible– Preciso– Predictivo– Barato– Sencillo– Realista
8CIMAT Zacatecas
Ejemplos de Modelos de CostoNombre 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
9CIMAT Zacatecas
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
10CIMAT Zacatecas
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 utilizadoEn 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
Historia de COCOMO
11CIMAT Zacatecas
COQUALMO1998
COCOMO 811981
COPROMO1998
COSoSIMO2004
Legend:Model has been calibrated with historical project data and expert (Delphi) dataModel is derived from COCOMO IIModel has been calibrated with expert (Delphi) data
COCOTS2000
COSYSMO2002
CORADMO1999
iDAVE2003
COPLIMO2003
COPSEMO1998
COCOMO II2000
DBA COCOMO2004
COINCOMO2004
SecurityExtension 2004
Costing SecureSystem 2004
Modelos de Software
Extensiones de Software
Modelos Independientes
Fecha indica año de publicación del modelo
Evolución de la familia COCOMO
12CIMAT Zacatecas
Permite estimar el esfuerzo, costo y duración de cualquier proyecto de softwareEs 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 programadoresComplejidad del productoRestricciones de tiempo de ejecución, memoria,
equipos de trabajo …Etc …
COCOMO II
13CIMAT Zacatecas
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
14CIMAT Zacatecas
COCOMO IITamaño
Multiplicadoresde Esfuerzo
Esfuerzo
Calibración
SLOC; Function Points; Application Points
- Atributos de Producto- Atributos de Plataforma- Atributos de Personal- Atributos de Proyecto
Concepto Operacional COCOMO II
DuraciónFactores de Escala
15CIMAT Zacatecas
Relación Matemática de Estimaciónde Costo en COCOMO
Donde: A = constante derivado a través de los resultados de proyectosanterioresSize = tamaño del software SF = factores de escalaEM = multiplicador de esfuerzo
16CIMAT Zacatecas
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
17CIMAT Zacatecas
Factores de EscalaFactores
de Escala
Muy Bajo
Bajo
Normal
Alto
Muy Alto
Extra Alto
PREC
Extremadamente nuevo
Muy nuevo Novedoso de alguna manera
Familiar Muy familiar Extremadamente familiar
SFj: 6.20 4.96 3.72 2.48 1.24 0.00 FLEX Riguroso Relajación
ocasional Alguna
relajación Conformidad
general Alguna
conformidad Metas generales
SFj: 5.07 4.05 3.04 2.03 1.01 0.00 RESL Poco (20%) Algo (40%) A menudo
(60%) Generalmente
(75%) Casi
Siempre (90%)
Siempre (100%)
SFj: 7.07 5.65 4.24 2.83 1.41 0.00
TEAM Interacciones muy difíciles
Interacciones algo difíciles
Interacciones cooperativas
básicas
Bastante cooperativos
Altamente cooperativos
Alto nivel de interacción
SFj: 5.48 4.38 3.29 2.19 1.10 0.00
PMAT SW-CMM Nivel
1 Bajo SW-CMM
Nivel 1 Alto SW-CMM
Nivel 2 SW-CMM
Nivel 3 SW-CMM
Nivel 4 SW-CMM Nivel
5 SFj: 7.80 6.24 4.68 3.12 1.56 0.00
O la madurez estimada del proceso (EMPL)
18CIMAT Zacatecas
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
19CIMAT Zacatecas
• 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
Multiplicadores de Esfuerzo
20CIMAT Zacatecas
• 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
Multiplicadores de Esfuerzo
21CIMAT Zacatecas
Proceso de estimación con COCOMO II
Paso 1: Estimartamaño
Paso 2: Establecer factores de escala y esfuerzo
Paso 3: Estimaresfuerzo ytiempo
Paso 4: Necesidadde más ajustes
Paso 5: Asignaresfuerzo al plan de trabajo
NO
SI
22CIMAT Zacatecas
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
23CIMAT Zacatecas
Solución 1• Esfuerzo = 568.61 personas·mes• Tiempo de desarrollo = 29.7 meses• Personal necesario = 19.75 personas ≈ 20
personas
24CIMAT Zacatecas
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
25CIMAT Zacatecas
Procedimiento de EstimaciónPaso 1: Estimar el tamaño del trabajo
Paso 2: Estimar el esfuerzo utilizandouna primera aproximación (WBS, etc.)
Paso 3: Estimar el esfuerzo utilizando una segunda aproximación (COCOMO,etc.)
Paso 4: Comparar estimaciones, conciliar diferencias y generar la estimación final
Requisitos
26CIMAT Zacatecas
Ejercicio 2 (I)• La empresa aseguradora “El Castañazo” está
pensando construir un nuevo software para la gestión de sus pólizas de seguro para el que se ha estimado un tamaño de 184 puntos de función
• El lenguage de programación que se utilizarápara su programación es Visual Age 2.0
• Determinar esfuerzo, duración y personal necesario para desarrollar el proyecto, teniendo en cuenta que se deben considerar los siguientes factores de escala
27CIMAT Zacatecas
Ejercicio 2 (II)• Todo el código que se desarrolle para este proyecto es de nueva
elaboración• La organización se encuentra en el nivel 1 de madurez de su
capacidad• Es la primera vez que se va a utilizar el entorno de programación
Visual Age 2.0• Se han desarrollado varias aplicaciones para la gestión de
polizas de seguro• El equipo de proyecto estará formado por 6 personas de las
cuales 3 son de nueva contratación• Existe una necesidad muy alta de que el software cumpla con
los requisitos pre-establecidos para el software a construir• El factor de escala RESL no deberá ser tenido en cuenta para la
realización de estimaciones
28CIMAT Zacatecas
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
29CIMAT Zacatecas
Limitaciones de COCOMO II
1. Factores cualitativos son difíciles de modelar
2. Calibración utilizando proyectosexitosos
3. Es fácil manipular el modelo paraobtener los resultados deseados
30CIMAT Zacatecas
ContactoRicardo ValerdiMassachusetts Institute of [email protected]+1 (617) 253-8583http://web.mit.edu/rvalerdi/www