Este documento presenta el modelo COCOMO II para la estimación del esfuerzo de proyectos de desarrollo de software. COCOMO II incluye tres modelos: Composición de Aplicación, Diseño Temprano y Post-Arquitectura. El modelo de Diseño Temprano estima el esfuerzo usando puntos de función y siete factores de costo. El modelo Post-Arquitectura usa puntos de función, líneas de código o ambos, y diecisiete factores de costo. COCOMO II mejora el modelo original considerando nuevas técnic
2. Facultad de Estadística e Informática
Bibliografía
▪ Pressman, R.S., Ingeniería del Software. Un enfoque práctico, quinta
edición, 2002, España. Parte 2
▪ Sommerville I., Ingeniería de Software, Addison-Wesley, 6ª. Edición,
2002, México.
▪COCOMO. Gómez, A. López, M. Migani, S. et al. (s.f.). Extraído desde:
https://blogadmi1.files.wordpress.com/2010/11/cocom0llfull.pdf.
Consultado el 10 de agosto de 2017.
▪El Modelo COCOMO. (s.f.). Extraído desde:
http://csse.usc.edu/TECHRPTS/1984/usccse84-500/usccse84-500s.pdf.
Consultado el 20 de agosto de 2017.
3. Facultad de Estadística e Informática
Clase 64. Agenda
▪ Unidad III.
3. Estimación.
3.1 Enfoques a la estimación
3.2 Estimación del tamaño del software (PF(#),PCU(#), COCOMO y
COCOMO 2)
5. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
▪COCOMO II. Historia.
▪ En los 90s, las técnicas de desarrollo de software cambiaron
dramáticamente
▪Esfuerzo combinado entre USC-CSE ( University of Southern
California- Center For Software Engineering), IRUS (Irvine Research
Unit in Software) at UC Irvine y organizaciones privadas
▪Fue publicado en el año 2000 por B. Bohem.
6. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
▪COCOMO II. Historia.
▪Considera los enfoques de desarrollo de
construcción de prototipos, desarrollo basado en
componentes, bases de datos, modelo de desarrollo
en espiral, paradigma orientado a objetos
8. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
▪ Permite realizar estimaciones en función del
tamaño del software, y de un conjunto de factores de
costo y de escala.
▪ Posee tres modelos: Composición de Aplicación,
Diseño Temprano y Post-Arquitectura.
9. Facultad de Estadística e Informática
▪ Modelo Composición de Aplicación.
o Se emplea en desarrollos de software durante la etapa
de prototipación.
▪ Modelo Diseño Temprano.
oSe utiliza en las primeras etapas del desarrollo en las cuales
se evalúan las alternativas de hardware y software de un
proyecto.
3. Estimación. Modelo COCOMO II
10. Facultad de Estadística e Informática
o En estas etapas se tiene poca información, lo que
concuerda con el uso de Puntos Función, para
estimar tamaño y el uso de un número reducido de
factores de costo (7 factores de costo).
3. Estimación. Modelo COCOMO II
11. Facultad de Estadística e Informática
▪ Modelo Post-Arquitectura.
o Se aplica en la etapa de desarrollo, después que se define
la arquitectura del sistema y en la etapa de mantenimiento.
oEste modelo utiliza: Puntos Función y/o Líneas de Código
Fuente para estimar tamaño, con modificadores que
contemplan el reuso y el "desperdicio" (breakage).
3. Estimación. Modelo COCOMO II
12. Facultad de Estadística e Informática
▪ Modelo Post-Arquitectura.
o Utiliza un conjunto de 17 atributos, denominados
factores de costo (personal, plataforma de desarrollo,
etc.)
o Cinco factores que determinan un exponente que
reemplazan los modos Orgánico, Semiacoplado y
Empotrado del modelo COCOMO '81.
3. Estimación. Modelo COCOMO II
13. Facultad de Estadística e Informática
▪ Modelo Composición de Aplicación
3. Estimación. Modelo COCOMO II
14. Facultad de Estadística e Informática
▪ Modelo Composición de Aplicación:
▪El esfuerzo se expresa en meses/persona (PM) y
representa los meses de trabajo de una persona
fulltime, requeridos para desarrollar el proyecto.
3. Estimación. Modelo COCOMO II
15. Facultad de Estadística e Informática
▪ Modelo Composición de Aplicación:
•Estimaciones realizadas con puntos de objeto y una fórmula
simple para el cálculo del esfuerzo
•Soporta proyectos con prototipado y proyectos que hacen
uso intensivo de la reutilización.
•Basado en estimaciones estándar de la productividad del
desarrollador en puntosobjeto/mes.
•Tiene en cuenta el uso de herramientas CASE
3. Estimación. Modelo COCOMO II
16. Facultad de Estadística e Informática
▪ La fórmula propuesta en este modelo es la siguiente:
PM = NOP / PROD
Donde:
PM (Personal Months). Meses persona.
NOP (Nuevos Puntos Objeto): Tamaño del nuevo software a desarrollar
expresado en Puntos Objeto y se calcula de la siguiente manera:
NOP = OP x (100 - %reuso)/100.
3. Estimación. Modelo COCOMO II
17. Facultad de Estadística e Informática
NOP = OP x (100 - %reuso)/100.
▪OP (Puntos Objeto): Tamaño del software a desarrollar expresado en
Puntos Objeto.
▪ %reuso: Porcentaje de reuso que se espera lograr en el proyecto.
▪PROD: Es la productividad promedio determinada a partir del
análisis de datos de proyectos.
3. Estimación. Modelo COCOMO II
18. Facultad de Estadística e Informática
Productividad para el modelo Composición de Aplicación. [Boehm 1995/2]
3. Estimación. Modelo COCOMO II
19. Facultad de Estadística e Informática
▪Modelo Diseño Temprano.
3. Estimación. Modelo COCOMO II
20. Facultad de Estadística e Informática
▪ Ajusta el esfuerzo nominal usando siete factores de costo.
La fórmula para el cálculo del esfuerzo es la siguiente:
3. Estimación. Modelo COCOMO II
PMEstimado Person/Months, es el esfuerzo Nominal ajustado por 7 factores, que
reflejan otros aspectos propios del proyecto que afectan al esfuerzo necesario
para la ejecución del mismo.
EMi corresponde a los factores de costo que tienen un efecto multiplicativo sobre el
esfuerzo, llamados Multiplicadores de Esfuerzo (Effort Multipliers).
21. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
A es una constante que captura los efectos sobre el esfuerzo de acuerdo a la variación
del tamaño, (A=2.94).
KSLOC es el tamaño del software a desarrollar expresado en miles de líneas de
código fuente.
B es el factor exponencial de escala, toma en cuenta las características relacionadas
con las economías y deseconomías de escala producidas cuando un proyecto de
software incrementa su tamaño.
22. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
o La economía de escala: Factores que hacen más eficiente la producción de software
en gran escala.
o Por ejemplo: inversión en software de propósitos específicos que mejoran la
productividad, tales como herramientas de testeo, librerías de programas, ectétera.
o Una deseconomía de escala se produce cuando al incrementarse el tamaño del
producto se produce una considerable disminución de la productividad.
o El aumento de la cantidad de personas que conforman el equipo de desarrollo, por
ejemplo, generalmente provoca problemas de integración, que sumados a los
conflictos personales, las diferencias en la filosofía y hábitos de trabajos producen
deseconomía de escala.
23. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
Los modelos de estimación de costos frecuentemente tienen un factor
exponencial para considerar las economías y deseconomías de escala.
En particular, COCOMO II captura esos efectos en el exponente B:
B<1.0 el proyecto exhibe economía de escala.
Si el B = 1.0 las economías y deseconomías de escala están en
equilibrio.
Si el B > 1.0 el proyecto muestra deseconomía de escala.
24. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
o El cálculo del Factor Exponencial de Escala B está basado en factores que influyen
exponencialmente en la productividad y esfuerzo de un proyecto de software.
Estos factores toman valores dentro de un rango que va desde un nivel Muy Bajo
hasta uno Extra Alto:
1) Precedencia y Flexibilidad en el Desarrollo (PREC Y FLEX ).
2) Arquitectura y Determinación del Riesgo (RESL).
3) Cohesión del Equipo (TEAM).
4) Madurez del Proceso (PMAT).
25. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
1. Precedencia y Flexibilidad en el Desarrollo (PREC Y FLEX ).
• El factor de precedencia (PREC) toma en cuenta el grado de
experiencia previa en relación al producto a desarrollar, tanto en
aspectos organizacionales como en el conocimiento del software y
hardware a utilizar.
• El factor de flexibilidad (FLEX) considera el nivel de exigencia en el
cumplimiento de los requerimientos preestablecidos, plazos de
tiempos y especificaciones de interfase.
26. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
1. Precedencia y Flexibilidad en el Desarrollo (PREC Y FLEX ).
• El factor de precedencia (PREC) toma en cuenta el grado de
experiencia previa en relación al producto a desarrollar, tanto en
aspectos organizacionales como en el conocimiento del software y
hardware a utilizar.
• El factor de flexibilidad (FLEX) considera el nivel de exigencia en el
cumplimiento de los requerimientos preestablecidos, plazos de
tiempos y especificaciones de interfase.
27. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
3. Arquitectura y Determinación del Riesgo (RESL)
Involucra aspectos relacionados al conocimiento de los ítems de
riesgo crítico y al modo de abordarlos dentro del proyecto. El nivel
del factor RESL es el resultado de un promedio de los niveles de las
características listadas en la siguiente tabla:
29. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
4. Cohesión del Equipo (TEAM)
• Este factor tiene en cuenta las dificultades de sincronización
entre los participantes del proyecto: usuarios, clientes,
desarrolladores, encargados de mantenimiento, etc.
• Estas dificultades pueden surgir por diferencias culturales,
dificultad en la conciliación de objetivos, falta de experiencia y
familiaridad con el trabajo en equipo.
• El valor del factor TEAM se calcula como un promedio
ponderado de las características siguientes:
30. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
Componentes del factor TEAM.
31. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
5. Madurez del Proceso (PMAT)
El procedimiento para determinar el factor PMAT se basa en el
Modelo de CMM (Capability Maturity Model), Modelo de Madurez de
Capacidades, propuesto por el Software Engineering Institute.
Existen dos formas de calcularlo:
• La primera captura el nivel de madurez de la organización,
resultado de la evaluación según CMM y asignándole el valor
correspondiente según la siguiente tabla:
32. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
Factor PMAT de acuerdo al nivel de CMM.
33. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
5. Madurez del Proceso (PMAT)
• La segunda está basada en las dieciocho Áreas de Procesos
Claves (KPAs) del modelo del SEI (Software Engineering
Institute).
• El procedimiento para determinar el PMAT es establecer el
porcentaje de cumplimiento de cada una de las Áreas evaluando
el grado de cumplimiento de las metas correspondientes.
• Para este procedimiento se emplea la siguiente tabla:
35. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
Resumen factores de escala
36. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
Factores de Escala.
[Boehm 1995/2]
37. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
Factores de Escala. [COCOMO II.0]
38. Facultad de Estadística e Informática
▪Multiplicadores de Esfuerzo (Effort Multipliers).
o Cada factor se puede clasificar en seis niveles diferentes que expresan el
impacto del multiplicador sobre el esfuerzo de desarrollo.
o Esta escala varía desde un nivel Extra Bajo hasta un nivel Extra Alto. Cada
nivel tiene un peso asociado.
o El peso promedio o nominal es 1.0. Si el factor provoca un efecto nocivo en el
esfuerzo de un proyecto, el valor del multiplicador correspondiente será
mayor que 1.0, caso contrario el multiplicador será inferior a 1.0.
3. Estimación. Modelo COCOMO II
39. Facultad de Estadística e Informática
▪ Clasificados en categorías, los 7 Multiplicadores de Esfuerzo son:
o Del Producto
• RCPX: Confiabilidad y Complejidad del producto
• RUSE: Reusabilidad Requerida
o De la Plataforma
• PDIF: Dificultad de la Plataforma Del Personal
• PERS: Aptitud del Personal
• PREX: Experiencia del Personal
oDel Proyecto
• FCIL: Facilidades
• SCED: Cronograma de Desarrollo Requerido
3. Estimación. Modelo COCOMO II
40. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
Multiplicadores de Esfuerzo
del Modelo de Diseño
Temprano. [COCOMO II.0]
41. Facultad de Estadística e Informática
▪ Modelo Post-Arquitectura
3. Estimación. Modelo COCOMO II
42. Facultad de Estadística e Informática
▪ El esfuerzo nominal se ajusta usando 17 factores
multiplicadores de esfuerzo.
▪El mayor número de multiplicadores permite analizar con
más exactitud el conocimiento disponible en las últimas
etapas de desarrollo, ajustando el modelo de tal forma
que refleje fielmente el producto de software bajo
desarrollo.
3. Estimación. Modelo COCOMO II
43. Facultad de Estadística e Informática
▪La fórmula para el cálculo del esfuerzo es la
siguiente:
3. Estimación. Modelo COCOMO II
44. Facultad de Estadística e Informática
▪ Los factores se clasifican en cuatro áreas: Producto,
Plataforma, Personal y Proyecto.
3. Estimación. Modelo COCOMO II
45. Facultad de Estadística e Informática
▪ Factores del producto. Se refieren a las restricciones y
requerimientos sobre el producto a desarrollar.
• RELY: Confiabilidad requerida
• DATA: Tamaño de la base de datos
• CPLX: Complejidad del producto
• RUSE: Requerimientos de reusabilidad
• DOCU: Documentación acorde a las diferentes etapas del ciclo de vida
3. Estimación. Modelo COCOMO II
46. Facultad de Estadística e Informática
▪ Factores del producto. Se refieren a las restricciones y
requerimientos sobre el producto a desarrollar.
• CPLX: Complejidad del producto. Analiza la complejidad de las operaciones
empleadas en el producto, clasificadas en operaciones: de control,
computacionales, dependientes de los dispositivos, de administración de
datos y de administración de interfaz de usuario.
3. Estimación. Modelo COCOMO II
50. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
Factor Multiplicador CPLX. Complejidad del Producto. [COCOMO II.0]
51. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
Factores del
producto.
Modelo Post-
Arquitectura.[CO
COMO II.0]
52. Facultad de Estadística e Informática
▪ Factores de la plataforma. Estos factores analizan la
complejidad de la plataforma subyacente, hardware y software.
También llamada Máquina virtual.
• PVOL: Volatilidad de la plataforma
• STOR: Restricción del almacenamiento principal
• TIME: Restricción del tiempo de ejecución
3. Estimación. Modelo COCOMO II
53. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
Factores de la plataforma. Modelo Post-Arquitectura.[COCOMO II.0]
54. Facultad de Estadística e Informática
▪ Factores del personal. Estos factores están referidos al
nivel de habilidad que posee el equipo de desarrollo.
• ACAP: Capacidad del analista
• PCAP: Capacidad del programador
• PCON: Continuidad del personal
• AEXP: Experiencia en la aplicación
• PEXP: Experiencia en la plataforma
• LTEX: Experiencia en el lenguaje y las herramientas
3. Estimación. Modelo COCOMO II
55. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
Factores del personal. Modelo Post-
Arquitectura.[COCOMO II.0]
56. Facultad de Estadística e Informática
▪ Factores del proyecto. Se refieren a las condiciones y
restricciones bajos las cuales se lleva a cabo el proyecto.
• TOOL: Uso de herramientas de software
• SITE: Desarrollo multisitio
• SCED: Cronograma requerido para el desarrollo
3. Estimación. Modelo COCOMO II
57. Facultad de Estadística e Informática
3. Estimación. Modelo COCOMO II
Factores del proyecto. Modelo Post-Arquitectura.[COCOMO II.0]