Title: COCOMO2000
1Fundamentos de IngenierÃa del Software
Asignatura Fundamentos de IngenierÃa del
Software Titulación Ingeniera Técnica de
Informática de Gestión Curso Académico
2004-2005 Curso 3º Cuatrimetres
Primero Créditos 6(33) Página Web
dis.um.es/lopezquesada Profesor Juan Antonio
López Quesada Departamento Informática y
Sistemas
2Cocomo 2000
- Constructive Cost Model (Modelo Constructivo de
Costes) - Desarrollado en 1981 por Barry Boehm (Universidad
de California Sur). - Es el modelo de estimación de costes más
utilizado. - En 1995 se publicó la versión COCOMO II y
actualmente derivó a COCOMO 2000. - El equipo liderado por B. Boehm (Center for
Software Engineering) pretende mejorar, ampliar y
adaptar el modelo anterior a las nuevas formas en
que se desarrolla el software.
3Cocomo 2000
- Permite estimar el esfuerzo, costo y duración de
cualquier proyecto informático. - Es un modelo algorÃtmico, es decir, se basa 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 fuente.
- Capacidad de analistas y programadores.
- Complejidad del producto.
- Restricciones de tiempo de ejecución, memoria,
equipos de trabajo - Fiabilidad de la aplicación.
- Etc
4Cocomo 2000
- Introducción
- La variable principal para la estimación son las
lÃneas de código fuente esperadas, expresadas en
miles (KIFE). - La estimación cubre únicamente un conjunto
definido de fases (por ejemplo, no incluye la
fase de formación a los usuarios). - Incluye todas las labores directas del proyecto,
pero no las labores indirectas. - El esfuerzo se mide en personas-mes
- 1 pm 19 persona-dÃas 152 persona-horas
5Cocomo 2000
- Introducción
- Asume que existe un buen entendimiento entre el
usuario y los desarrolladores. - La estimación se realiza de acuerdo con la
información disponible en el momento que se lleva
a cabo. - Se consideran tres modelos que cubren desde el
comienzo del análisis de requerimientos hasta el
final de las pruebas e integración del sistema - Modelo ACM (Mod.de Comp. de Aplicac.).
- Modelo EDM (Mod. de Diseño Inicial).
- Modelo PAM (Mod. Post-Arquitectura).
6Cocomo 2000
Sectores de Mercado
7Cocomo 2000
- Modelo de Composición de Aplicaciones (ACM)
- Usado principalmente para aplicaciones de
prototipaje o aplicaciones basadas en generadores
de pantallas, informes, base de datos, etc - Basado en Puntos Objeto (PO) (número y
complejidad de pantallas, listados, componentes
de lenguajes) y Factores de Reusabilidad y
Productividad.
8Cocomo 2000
- Modelo de Composición de Aplicaciones (ACM)
- Procedimiento
- Estimar el nº de pantallas, listados y
componentes.
9Cocomo 2000
- Modelo de Composición de Aplicaciones (ACM)
- Procedimiento
- Clasificarlos dentro de los niveles de
complejidad sencillo, medio y difÃcil.
10Cocomo 2000
- Modelo de Composición de Aplicaciones (ACM)
- Procedimiento
- Aplicar el peso a cada concepto.
11Cocomo 2000
- Modelo de Composición de Aplicaciones (ACM)
- Procedimiento
- Determinar los Puntos Objeto.
- Estimar el porcentaje de código reusado la
cantidad de PO quedará (NPO) - NPO (PO (100 - reusado)) / 100
12Cocomo 2000
- Modelo de Composición de Aplicaciones (ACM)
- Procedimiento
- Calcular el ratio de la productividad
- PROD NPO / persona-mes
- según la siguiente tabla
- El esfuerzo viene dado
- PM NPO / PROD
13Cocomo 2000
- Modelo de Diseño Inicial (EDM)
- Usado en las etapas iniciales cuando se conoce
poco sobre el tamaño del producto, la plataforma,
el personal. - Basado en Puntos de Función No Ajustados (PFNA).
- Una vez calculados, se convierten a lÃneas de
código. - Utiliza 7 conductores de esfuerzo que afectan
multiplicativamente al esfuerzo del proyecto.
14Cocomo 2000
- Modelo de Diseño Inicial (EDM)
- Procedimiento
- Estimar los PFNA.
- Convertir los PFNA a KIFE, según tabla
15Cocomo 2000
- Modelo de Diseño Inicial (EDM)
- El esfuerzo nominal viene dado por
- PMNominal A (Tamaño)B
- el tamaño viene dado en KIFE
- A constante de calibración (2,94)
- B viene determinado por los factores de escala
- B 0.91 0.01 x S FEj (j 1 a 5)
- FE Factor de Escala (de 0 a 5)
16Cocomo 2000
Factores de Escala
17Cocomo 2000
Factores de Escala
18Cocomo 2000
- Modelo de Diseño Inicial (EDM)
- El esfuerzo ajustado será
- PMAjustado PMNominal ? EAi (i 1 to 7)
- FA Factores de Ajuste
19Cocomo 2000
Modelo de Diseño Inicial (EDM)
20Cocomo 2000
- Modelo de Diseño Inicial (EDM)
- El tiempo estimado, una vez conocido el esfuerzo
necesario, se obtiene de - TDES c x (PM)d SCED/100
- siendo
- PM esfuerzo de desarrollo sin tener en cuenta
el multiplicador Sced - c 3.67
- d 0.28 0.2 B 0,91
- El personal a tiempo completo necesario para el
desarrollo (PDTC) será - PDTC PM / TDES
21Cocomo 2000
- Modelo de Post-Arquitectura (PAM)
- 1-3. Los tres primeros pasos son similares al
modelo EDM. - El esfuerzo ajustado será
- PMAjustado PMNominal ? EAi (i 1 to 17)
- FA Factores de Ajuste para PAM, que se obtienen
desglosando los 7 factores del modelo inicial
(según tabla) - 5. El tiempo del proyecto se calcula igual que
para el modelo EDM.
22Cocomo 2000
Desglose de los factores de ajuste de EDM
23Cocomo 2000
Factores de Ajuste para PAM (Producto)
24Cocomo 2000
Factores de Ajuste para PAM (Plataforma)
25Cocomo 2000
Factores de Ajuste para PAM (Personal)
26Cocomo 2000
Factores de Ajuste para PAM (Proyecto)
27Cocomo 2000
28Cocomo 2000
29Cocomo 2000
- Ajuste del Tamaño
- Este modelo incorpora ajustes de tamaño por
cuatro causas - Desecho (Breakage).
- Reutilización.
- ReingenierÃa o conversión.
- Mantenimiento.
30Cocomo 2000
- Ajuste del Tamaño (Desecho)
- Al tamaño final del producto hay que añadir el
código desarrollado y que hay que desechar debido
a la volatilidad de los requerimientos. - Este tamaño de producto desechado se determina
mediante - TamañoBREAK (1 BRAK / 100) Tamaño
- siendo
- BRAK del código desechado respecto del total
31Cocomo 2000
- Ajuste del Tamaño (Reutilización)
- Trata de estimar el número de lÃneas de código
equivalentes, procedentes de módulos
reutilizados, que hay que incorporar al tamaño
del producto. - Se añade un factor de ajuste de la adaptación
(AAF), que determina el porcentaje debido a la
adaptación en las fase de diseño, codificación e
integración - AAF 0,4 MD 0,3 MC 0,3 MI
32Cocomo 2000
- Ajuste del Tamaño (Reutilización)
- El tamaño de producto reutilizado es
- TamañoRU TamañoA AA AAF (SU UNFM) /
100 - siendo
- TamañoA tamaño del código adaptado
- AA de valoración y asimilación
- SU de esfuerzo de reutilización debido a la
comprensión del software - UNFM indicador de la familiaridad del
programador con el software
33Cocomo 2000
Ajuste del Tamaño (Reutilización)
34Cocomo 2000
Ajuste del Tamaño (Reutilización)
35Cocomo 2000
Ajuste del Tamaño (Reutilización)
36Cocomo 2000
Ajuste del Tamaño (Reutilización)
37Cocomo 2000
- Ajuste del Tamaño (ReingenierÃa o Conversión)
- El ajuste anterior por reutilización tiene un
refinamiento adicional para contemplar los
efectos de la reingenierÃa y/o conversión,
debidos a la eficiencia de las herramientas
automáticas para la reestructuración del
software - PMNominal A (Tamaño)B ASLOC (AT /
100)/ATPROD - siendo
- AT de código que es sometido a reingenierÃa
mediante traslación automática - ATPROD productividad de las herramientas en IFE
/ PM (actualmente se estima en 2400)
38Cocomo 2000
- Ajuste del Tamaño (Mantenimiento)
- Incluye
- Rediseño y recodificación de porciones pequeñas
de un producto original. - Resideño y desarrollo de interfaces.
- Cambios menores de estructura.
- Actualizaciones de datos.
- Reparaciones (correctiva, adaptativa o
perfectiva)
39Cocomo 2000
- Ajuste del Tamaño (Mantenimiento)
- Utiliza esencialmente el mismo conjunto de
factores conductores de esfuerzo que el
desarrollo - No se tienen en cuenta los factores Sced y Ruse
- El factor Rely (Fiabilidad) tiene un efecto
inverso (si un producto fue desarrollado con baja
fiabilidad, será más costoso corregir los
defectos)
40Cocomo 2000
- Ajuste del Tamaño (Mantenimiento)
- El esfuerzo de mantenimiento se calcula a partir
de la siguiente expresión - PMM a x TamañoM b x ? FMi (i 1 a 15)
- TamañoM BSC MCF MAF
- BSC tamaño código original
- MCF (código añadido código modificado) /
BSC - MAF 1 (SU / 100) UNFM
- SU de esfuerzo de mantenimiento debido a la
comprensión del software (10 50) - UNFM indicador de familiaridad (0,0 1,0)