Title: Presentaci
1Escuela Superior de Ingeniería Informática Enxeñer
ía Técnica en Informática de Xestión
Planificación de Proyectos Informáticos
Segundo Tema (continuación)
Modelos de Estimación del Software
2Cocomo 2000
- Constructive Cost Model (Modelo Construc-tivo 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
pro-totipaje o aplicaciones basadas en
generadores de pantallas, informes, base de
datos, etc - Basado en Puntos Objeto (PO) (número y
com-plejidad de pantallas, listados, componentes
de lenguajes) y Factores de Reusabilidad y
Produc-tividad.
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.
Tipo de Objeto Sencillo Medio Difícil
Pantallas 1 2 3
Listados 2 5 8
Componentes 10
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
Experiencia de los desarrolladores Muy Baja Baja Normal Alto Muy Alto
Experiencia en herramientas Muy Baja Baja Normal Alto Muy Alto
PROD (ratio) 4 7 13 25 50
- 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
Lenguaje LdC / PFNA Lenguaje LdC / PFNA
Ada 71 Cobol Visual 29
Assembler 320 Java 23
Basic 91 Lisp 64
C 128 Pascal 91
C 29 Prolog 64
Cobol 85 100
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
Factor Descripción
RCPX Fiabilidad y complejidad del producto
RUSE Requerimientos de reusabilidad
PDIF Dificultad de la plataforma
PERS Capacidad del personal
PREX Experiencia del personal
FCIL Facilidades para el desarrollo
SCED Esfuerzo de calendario
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
Factor EDM Factores PAM
RCPX RELY, DATA, CPLX, DOCU
RUSE RUSE
PDIF TIME, STOR, PVOL
PERS ACAP, PCAP, PCON
PREX AEXP, PEXP, LTEX
FCIL TOOL, SITE
SCED SCED
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
refina-miento adicional para contemplar los
efectos de la reingeniería y/o conversión,
debidos a la eficien-cia de las herramientas
automáticas para la rees-tructuració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)