Professional Documents
Culture Documents
COCOMO II
Temario
Objetivos
Nivel de profundidad
Modelo de Composición de Aplicaciones
Modelo de Diseño Preliminar
Modelo de Post-Arquitectura
Dificultades de la Estimación
Requisitos de un buen método de estimación
CMM y Estimación
Herramientas de Software
2
M.Ing. B. Rossi
Estimación - Planificación
Punto de partida
M Se conoce el objetivo, ámbito y alcances del proyecto
M Se conocen:
• los requerimientos informales/formales
• el diseño lógico
• …
Puntos
objeto
Composición de
aplicaciones
Puntos de PF Esfuerzo
COCOMO II
Función
Catálogo o CU Tamaño Costo
Diseño Preliminar
Requerimientos
Otros? Post-Arquitectura
Puntos de
Casos de Uso PCU Esfuerzo
3
M.Ing. B. Rossi
COCOMO
COnstructive COst MOdel
Modelo Constructivo de Costo
4
M.Ing. B. Rossi
Objetivo
Estimar el esfuerzo necesario (rrhh) y
tiempo de desarrollo
para construir un producto software
Tiempo de
desarrollo [3,67 * MM (0,28+0,2 *(1,16-1.01)] [3,67 * MM (0,28+0,2 *(B-1,01))] * SCED% / 100
TEDV
RRHH MM / TEDV
7
M.Ing. B. Rossi
1) Modelo de Composición de Aplicaciones
Pasos a seguir:
1) Estimar el número de pantallas, reportes, y módulos 3GL.
2) Valorar la complejidad de cada objeto.
3) Ponderar cada objeto con su complejidad.
4) Determinar los Puntos Objeto.
5) Determinar los PO ajustados según el % de reuso esperado.
6) Determinar el índice de productividad.
7) Estimar el esfuerzo en meses /hombre.
8) Estimar el tiempo y personal de desarrollo.
8
M.Ing. B. Rossi
Paso 1: hacer el recuento de
pantallas, reportes, módulos 3GL
Aplicación
9
M.Ing. B. Rossi
Paso 2: valorar la complejidad
Pantallas
Número de Cantidad de tablas fuentes
vistas
Total < 4 Total < 8 Total 8+
contenidas
• < 2 server • 2/3 server • > 3 server
• < 3 cliente • 3/5 cliente • > 5 cliente
<3 simple simple medio
3-7 simple medio difícil
>8 medio difícil difícil
Reportes
Número de Cantidad de tablas fuentes
secciones
Total < 4 Total < 8 Total 8 +
contenidas
• < 2 server • 2/3 server • > 3 server
• < 3 cliente • 3/5 cliente • > 5 cliente
0-1 simple simple medio
2-3 simple medio difícil
4+ medio difícil difícil
10
M.Ing. B. Rossi
Paso 3: ponderar la complejidad de cada objeto
Ponderación de la complejidad
Tipo de Objeto Simple Media Difícil
Pantallas 1 2 3
Reportes 2 5 8
Componentes 3GL 10
Simple 5 1 5
Difícil 1 3 3
Simple 2 2 4
Reportes Media 2 5 10
Difícil 2 8 16
11
M.Ing. B. Rossi
Paso 4: determinar los Puntos Objeto
Simple 5 1 5
Ejemplo
Pantallas Media 2 2 4
Difícil 1 3 3
Simple 2 2 4
Reportes Media 2 5 10
Difícil 2 8 16
12
M.Ing. B. Rossi
Paso 5: determinar los NPO según
el % de reutilización esperada
Definir el porcentaje de reutilización que se
espera alcanzar en el proyecto
Calcular los NPO, Nuevos Puntos Objeto
(New Object Point)
NPO = PO x (100 - % reuso)
100
(NPO = Nuevos Puntos objeto New Object Point)
Ejemplo
13
M.Ing. B. Rossi
Paso 6: determinar PROD
índice de productividad
Productividad
Capacidad y Muy baja Baja Nominal Alta Muy Alta
Experiencia de los 2 3,5 6,5 25
12,5
desarrolladores
Capacidad y Madurez Muy baja Baja Nominal Alta Muy Alta
en utilización de ICASE 2 3,5 12,5 25
6,5
Paso 7: estimar MM
esfuerzo en meses/hombre
MM = NPO / PROD
Ejemplo
MM = 78,4/19
MM = 4,13 meses/hombre 14
M.Ing. B. Rossi
Paso 8: Calcular el tiempo de desarrollo -TDEV
SCED Extra Muy bajo Bajo Nominal Alto Muy alto Extra
bajo alto
% ajuste al plan
75% del 85% del 100% del 130% del 160% del
nominal nominal nominal nominal nominal
Ejemplo
16
M.Ing. B. Rossi
2) Modelo de Diseño Preliminar
Pasos a seguir:
1) Estimar el tamaño del software: SIZE (KDSL)
2) Establecer la escala de ahorro-gasto del proyecto: B
3) Calcular la cantidad de persona/meses sin ajustar: MMn ó PMn
4) Determinar el multiplicador de esfuerzo utilizando en base a
los disparadores de costo: EM
5) Calcular la cantidad ajustada de persona/meses: MMa ó PMa
6) Calcular el tiempo de desarrollo: TEDV
7) Estimar el personal necesario: RRHH
17
M.Ing. B. Rossi
Modelo de Diseño Preliminar
A= Constante que captura el
esfuerzo lineal de los
proyectos a medida que B = Factor escalar que indica el grado de
estos incrementan su economía en el esfuerzo a realizar o bien
tamaño, evita los efectos variaciones en la productividad
multiplicativos del esfuerzo
en proyectos que van B= 0,91+0,01 W i
creciendo. Actualmente está
calibrada en 2,45 y es
Factores
ajustable a los datos Wi
empíricos de cada empresa.
PREC
precedente
Esfuerzo FLEX
flexibilidad
medido en
personas/ RESL
resolución
meses riesgos
TEAM
Tamaño del software expresado en miles de líneas de código cohesión
equipo
KSLOC determinado a partir de los Puntos de Función sin
ajustar que se convierten según tabla en LOC y se dividen PMAT
por 1000. KSLOC = LOC / 1000. madurez
del proceso
18
M.Ing. B. Rossi
Paso1: estimar el tamaño del software
Lenguaje SLOC x PF
Ada 71
Algol 106
APL 32
Asembler
Basic
320
64
Se calcula KSLOC:
C 150
C++ 29 • Se multiplica por las líneas
Se toman los Chill
5GL (generadores de codigo)
106
15 de código x cada PF según
Puntos de Cobol 106 el lenguaje
Función 4GL database 40
Factores
Si B < 1.0: el proyecto presenta ahorros de escala
Wi si se duplica el tamaño del producto el esfuerzo es menor que el
PREC doble
precedente la productividad del proyecto aumenta a medida que aumenta el
FLEX tamaño del producto
flexibilidad se pueden lograr ahorros de escala con herramientas
RESL específicas (simuladores, soft para testing, etc)
resolución
riesgos
Si B = 1.0: los gastos y ahorros están equilibrados
TEAM se usa en proyectos pequeños y en el modelo de Composición de
cohesión
equipo Aplicaciones
B= 0,91+0,01 W i
Ejemplo
B= 0,91+0,01*(4,96+4,05+2,83+2,19+1,56)= 1,0659
22
M.Ing. B. Rossi
Paso 2: establecer la escala de ahorro-gasto
Característica Muy Bajo Nominal/Alto Muy Alto
Entendimiento de la organización de los General Considerable Completo
Factores objetivos del producto
Wi Experiencia en trabajar con sistemas Moderada Considerable Alta
software relacionados
PREC
precedente Conlleva desarrollos concurrentes Extensivo Moderado Algo
asociados a nuevas tecnologías y
FLEX procedimientos
flexibilidad Necesidad de procesamiento de datos, Considerable Algo Mínima
RESL
arquitecturas o algoritmos innovadores
resolución
riesgos
23
M.Ing. B. Rossi
Paso 2: establecer la escala de ahorro-gasto
Características Muy Bajo Nominal Alto Muy Extra
Bajo Alto Alto
Plan de control de riesgos Ninguno Poco Algo General- La Completo
Factores identificando los puntos críticos, mente mayoría
Wi estableciendo hitos para su de las
resolución por PDR*
veces
PREC Fechas, presupuesto e hitos
internos a través del PDR* y
Ninguno Poco Algo General- La Completo
precedente compatible con el plan de
mente mayoría
de las
control de riesgos
veces
FLEX Porcentaje de fechas de 5% 10 % 17 % 25 % 33 % 40 %
flexibilidad desarrollo dedicadas a
establecer la arquitectura,
RESL
delineando los objetivos
generales del proyecto
resolución Porcentaje requerido de 20 % 40 % 60 % 80 % 100 % 120 %
riesgos disponibilidad de arquitectos de
software de última tecnología.
Disponibilidad de soporte de No Poco Algo Bueno Muy Completa
TEAM herramientas para resolver los
items de riesgos, desarrollando
Existe Buena
cohesión y verificando las
equipo especificaciones de la
arquitectura
PMAT
Nivel de incertidumbre en Extremo Signifi- Considera- Algo Poco Muy
puntos clave de la arquitectu- cativo ble Poco
madurez ra: misión, interfaces de
del proceso usuarios, COTS**, hardware,
tecnología, performance
Cantidad y criticidad de los >10 5-10 2-4 1 Crítico > 5 No < 5 No
riesgos del proyecto Críticos Críticos Críticos Críticos Críticos
24
M.Ing. B. Rossi
Paso 2: establecer la escala de ahorro-gasto
Factores
Wi Característica Muy Bajo Nominal Alto Muy Alto Extra
Bajo Alto
PREC Consistencia en los Poca Algo Básica Conside- Fuerte Completa
precedente
objetivos y culturas de los rable
FLEX participantes
flexibilidad Habilidad y disposición de Poca Algo Básica Conside- Fuerte Completa
los participantes para rable
RESL adecuarse a los objetivos
resolución de otros participantes.
riesgos Experiencia de los Ninguna Poca Poca Básica Conside- Extensa
participantes en operar rable
TEAM como un equipo.
cohesión Posibilidad de construir Ninguna Poca Poca Básica Considera Extensa
equipo
equipos con los ble
participantes para alcanzar
PMAT una visión compartida y
madurez
compromisos
del proceso
25
M.Ing. B. Rossi
Paso 2: establecer la escala de ahorro-gasto
Casi Con A medias En En pocas No No se
siempre frecuencia 40-60% ocasiones ocasiones aplica conoce
90% 60-90% 10-40% < 10%
Gestión de requerimientos 90%
Factores Planeamiento del proyecto de SW 50%
Wi
Seguimiento del proyecto de SW 60%
PREC Gestión de contratación del SW 30%
precedente
Aseguramiento de la calidad del SW 60% Para calcular
FLEX SQA PMAT primero es
flexibilidad Gestión de configuración del SW 80% necesario estimar
RESL Focos de proceso de organización 50% los porcentajes de
resolución
riesgos
Definición de proceso de organización 45% cumplimiento de
Programa de capacitación 80% los KPA (Key
TEAM Process Areas)
cohesión Gestión del SW integrado 60%
equipo Ingeniería de producto SW 40%
18
B= 0,91+0,01 W i
PMAT= 5 –[ ( % KPA i / 100) * ( 5 / 18 ))]
i=1
PMAT= 5 –[(9,45 * (5/18)] = 2,375
B= 0,91+0,01*(4,96+4,05+2,83+2,19+1,56)= 1,0659
B=0,91+0,01*(4,96+4,05+2,83+2,19+2,375)= 1,07405
27
M.Ing. B. Rossi
Paso 3: Calcular PM nominal
B= 0,91+0,01 W i
B = 1,07405
Factores
A= Constante calibrada Wi
actualmente en 2,45 PREC
precedente
FLEX
flexibilidad
RESL
resolución
riesgos
TEAM
cohesión
Tamaño del software equipo
100 KDSI ; 200 KDSI PMAT
Ejemplo miles de líneas de código: madurez
del proceso
Ejemplo
29
M.Ing. B. Rossi
Paso 4: determinar el
Multiplicador de esfuerzo
Fórmula con 7 factores para el Modelo de Diseño Preliminar
Producto
30
M.Ing. B. Rossi
Paso 4: determinar el multiplicador de esfuerzo
Disparadores de Disparadores de
costo para costo para
Diseño Preliminar Post-Arquitectura
RCPX RELY, DATA, CPLX,
Factores para el producto DOCU
RUSE RUSE
Factores de la plataforma PDIF TIME, STOR, PVOL
PERS ACAP, PCAP, PCON
Factores para el personal
PREX AEXP, PEXP, LTEX
FCIL TOOL, SITE
Factores del proyecto
SCED SCED
31
M.Ing. B. Rossi
Paso 4: determinar el Multiplicador de esfuerzo
1. RCPX: confiabilidad y complejidad del producto
• fiabilidad de la documentación
• complejidad del producto
• medida de la Base de Datos
2. RUSE: reutilización requerida
3. PDIF: dificultad de la plataforma
• restricciones de tiempo y almacenamiento
• volatilidad de la plataforma
4. PERS: capacidad del personal
• capacidad de los analistas y programadores de trabajo en equipo
• porcentaje de rotación anual del personal
5. PREX: experiencia del personal en aplicaciones, plataforma,
lenguaje y herramienta
6. FCIL: facilidades
• soporte de la herramienta CASE
• condiciones multilugar
7. SCED: ajustes a la planificación
32
M.Ing. B. Rossi
Paso 4: determinar el Multiplicador de esfuerzo
RCPX: confiabilidad y complejidad del producto
Se calcula la media, redondeando en las diferencias hacia el nominal
Extra Muy bajo Bajo Nominal Alto Muy alto Extra alto
bajo
Fiabilidad de la Muy Poco Algo Básico Fuerte Muy fuerte Extremo
documentación poco
33
M.Ing. B. Rossi
Paso 5: calcular PM ajustado
Diseño
Preeliminar
SCED Extra Muy bajo Bajo Nominal Alto Muy alto Extra
bajo alto
% ajuste al plan
75% del 85% del 100% del 130% del 160% del
nominal nominal nominal nominal nominal
Pasos a seguir:
37
M.Ing. B. Rossi
Paso 2: establecer la escala de ahorro-gasto
Escala de factores para los modelos Diseño Preliminar y Post Arquitectura
Factor Muy bajo Bajo Nominal Alto Muy alto Extra alto
(Wi)
Sin Muy pocos Pocos Familiar Muy Totalmente
Precedentes precedentes Precedentes Familiar familiar
PREC 2,48
6,20 4,96 3,72 1,24 0
FLEX Riguroso Ocasional Algo Conformidad Algo Metas
5,07 4,05 Flexible gral. Conforme Generales
3,04 2,03 1,01 0
RESL Poco (20%) Algo (40%) A menudo Usualmente Mayormen- Totalmente
7,07 5,65 (60%) (75%) te (90%) (100%)
4,24 2,83 1,41 0
TEAM Interacción Interacción Interacción Bastante Altamente Interacción
muy difícil algo difícil básicamente cooperativa cooperativa sin fisuras
5,48 4,38 cooperativa 2,19 1,10 0
3,29
PMAT 7,80 6,24 4,68 3,12 1,56 0
Promedio ponderado de "SI" en respuesta del cuestionario de madurez del CMM
B= 0,91+0,01 W i
Ejemplo
B= 0,91+0,01*(4,96+4,05+2,83+2,19+1,56)= 1,0659 38
M.Ing. B. Rossi
Paso 3: calcular PM nominal
B= 0,91+0,01 W i
A= Constante calibrada
actualmente en 2,45
Factores
Wi
PREC
precedente
FLEX
flexibilidad
RESL
resolución
Tamaño del software riesgos
PMAT
madurez
del proceso
39
M.Ing. B. Rossi
Paso 4: calcular el Multiplicador de esfuerzo
Disparadores de costo
Post-Arquitectura
RELY, DATA, CPLX, DOCU
Factores del producto
RUSE
Factores de la plataforma TIME, STOR, PVOL
ACAP, PCAP, PCON
Factores del personal
AEXP, PEXP, LTEX
TOOL, SITE
Factores del proyecto
SCED
40
M.Ing. B. Rossi
Paso 4: calcular el Multiplicador de esfuerzo
1. RELY: nivel de confiabilidad para realizar la función esperada
2. DATA: medida del volumen de datos
3. CPLX: complejidad del producto
4. RUSE: grado de reusabilidad requerida para otras aplicaciones
5. DOCU: documentación requerida de acuerdo al ciclo de vida
6. TIME: restricciones del tiempo de ejecución
7. STOR: restricciones del almacenamiento principal
8. PVOL: volatilidad de la plataforma HW-SW de base
9. ACAP: capacidad de los analistas para trabajar en equipo
10. PCAP: capacidad de los programadores para trabajar en equipo
11. AEXP: experiencia en las aplicaciones
12. PEXP: experiencia en la plataforma
13. LTEX: experiencia en lenguajes y herramientas
14. PCON: continuidad del personal
15. TOOL: uso de herramientas de software
16. SITE: desarrollo en sitios múltiples
17. SCED: restricciones en más/menos impuestas al plan del proyecto
41
M.Ing. B. Rossi
Paso 5: calcular PM ajustado
Post-
Arquitectura
42
M.Ing. B. Rossi
Paso 6: calcular el tiempo de desarrollo (TDEV)
Costo:
Estimar el valor promedio mensual por persona
Estimar el valor hora y llevarlo a mes
Calcular el costo del total de RRHH para la duración del proyecto
43
M.Ing. B. Rossi
¿Estimo como me parece
o uso un estándar?
44
M.Ing. B. Rossi
Dificultades para estimar
No existe un modelo de estimación universal
Hay varios referentes implicados y con distintas necesidades
Influencia de un gran número de factores: Disparadores de
Costo: ¿Quién? ¿Qué? ¿Cómo? ¿Por qué
Reducción de la estimación por cuestiones políticas
La vigencia de una estimación depende de la etapa de
desarrollo
El carácter lógico del software dificulta la estimación
La volatilidad de la tecnología y de las metodologías
Poca experiencia acumulada en realizar estimaciones
La tendencia a la sub-estimación por parte de los involucrados
Relaciones erróneas entre el esfuerzo requerido y el tiempo
45
M.Ing. B. Rossi
Cualidades de un Estimador
Formación y experiencia profesional
Juicio independiente
Basarse en un método
Utilizar herramientas específicas y que
soporten el método
Capaz de describir y transmitir su
experiencia
Capaz de documentar su estimación
46
M.Ing. B. Rossi
Requisitos de un buen método de estimación
Las reglas para estimar deben ser entendidas por todas las
personas afectadas por los resultados.
Estandarizados
Procesos documentados, integrados.
49
M.Ing. B. Rossi
Herramientas de Software
Angel Tool (Bournemouth University) - basado en estimación por
analogía de ESERG - (Empirical Software Engineering Research
Group)
http://dec.bmth.ac.uk/ESERG/ANGEL/
PRICE S http://www.pricesystems.com/
50
M.Ing. B. Rossi
Herramientas de Software
Costar Software Estimation Tool - basado en PF y COCOMO II
http://www.softstarsystems.com/
The Cost Xpert Group - basado en COCOMO II, 81, FP, otros
http://www.costxpert.com/product/cxtool.html
51
M.Ing. B. Rossi