220 likes | 493 Views
COCOMO. María Barajas López Víctor Chico Rodríguez Ángela Jiménez Sáez Raúl Bejarano Parrilla. Cocomo 2000. Permite estimar el esfuerzo, costo y duración de cualquier proyecto informático.
E N D
COCOMO María Barajas López Víctor Chico Rodríguez Ángela Jiménez Sáez Raúl Bejarano Parrilla
Cocomo 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 … 2
Cocomo 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. 3
Cocomo 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). 4
Cocomo 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. 5
Cocomo 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 6
Cocomo 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 7
Cocomo 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. 8
Cocomo 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 Σ FEj (j = 1 a 5) FE = Factor de Escala (de 0 a 5) 9
Cocomo 2000 Modelo de Diseño Inicial (EDM) • El esfuerzo ajustado será: PMAjustado= PMNominal * Π EAi (i = 1 to 7) FA = Factores de Ajuste 10
Cocomo 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 11
Cocomo 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, quese obtienen desglosando los 7 factores del modelo inicial (según tabla) 5. El tiempo del proyecto se calcula igual que para el modelo EDM. 12
Cocomo 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. 13
Cocomo 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 14
Cocomo 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 15
Cocomo 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 16
Cocomo 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) 17
Cocomo 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) 18
Cocomo 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): 19
Cocomo 2000 Ajuste del Tamaño (Mantenimiento): • El esfuerzo de mantenimiento se calcula a partir de la siguiente expresión: PMM = a x TamañoMb 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) 20