Establecimiento de Requerimientos Estimación de Costos Durante la etapa planteamiento Control del progreso del proyecto Número de personas necesarias Establecer el cronograma Evaluar si el proyecto evoluciona bien Realizar acciones correctivas
Etapas de la Estimación Estimar el tamaño del producto Estimar el esfuerzo Estimar la duración del proyecto
Juicio de expertos Modelos Algorítmicos Analogía Bottom-up Modelos de Estimación de SW Parkinson Top-down Tasar para ganar
COCOMO II Factores de Costo Tamaño del proyecto Factores de Escala Composición de Aplicación Diseño Temprano Post-Arquitectura
Se aplica en: Para generadores de pantallas, informes, base de datos, etc Utiliza: Puntos Objeto (número y complejidad de pantallas, listados, componentes de lenguajes) Factores de Reusabilidad y Productividad.
1. Estimar la cantidad de pantallas, reportes, componentes de 3GL que contendrá la aplicación. 2. Clasificar cada instancia de un objeto según sus niveles de complejidad que se muestran en la siguiente tabla
3. Aplicar el peso correspondiente a cada objeto según la tabla 4. Determinar la cantidad de Puntos Objeto (OP). Se determina sumando todos los pesos de los objetos especificados.
5. Estimar el porcentaje de código reusado. 6. Calcular el tamaño del nuevo software expresado en Nuevos Puntos Objeto con: NOP = OP * (100 - %reuso)/100
7. Calcular la productividad (PROD) con la tabla siguiente 8. Obtener el esfuerzo PM con PM = NOP/PROD
Se aplica en: Etapas iniciales cuando se conoce poco sobre el tamaño del producto, la plataforma, el personal. Utiliza: Puntos de Función No Ajustados Una vez calculados, se convierten a líneas de código. Utiliza 7 factores de esfuerzo que afectan multiplicativamente al esfuerzo del proyecto.
1. Estimar los Puntos Función No Ajustados (UFP). Entradas Externas (Inputs) Salidas Externas (Outputs) Archivo Lógicos Internos (Archivos) Archivos Externos de Interface (Interfaces) Solicitudes Externas (Queries)
Una vez identificados, clasificarlos de acuerdo a la complejidad
Asignarles el peso según su complejidad Calcular UFP total con
2. Calcular las líneas de código fuente (KSLOC).
3. Calcular el factor exponencial de escala (B)
Ahora asignar su peso a cada factor FACTOR Muy Bajo Bajo Normal Alto Muy Alto Precedentes (PREC) 6.2 4.96 3.72 2.48 1.24 0 Flexibilidad (FLEX) 5.07 4.05 3.04 2.03 1.01 0 Resolución del riesgo (RESL) 7.07 5.65 4.24 2.83 1.41 0 Cohesión del Equipo (TEAM) 5.48 4.38 3.29 2.19 1.10 0 Madurez del Proceso (PMAT) 7.80 6.24 4.68 3.12 1.56 0 Extra Alto Finalmente, B queda como:
4. Calcular el esfuerzo nominal (PM nominal )
5. Calcular los Factores de Ajuste (EM i ). Factor Descripción RCPX RUSE PDIF PERS PREX FCIL SCED Fiabilidad y complejidad del producto Requerimientos de reusabilidad Dificultad de la plataforma Capacidad del personal Experiencia del personal Facilidades para el desarrollo Esfuerzo de calendario
Ahora asignar su peso a cada factor FACTOR Extra Bajo Muy Bajo Bajo Normal Alto Muy Alto Extra Alto RCPX 0.73 0.81 0.98 1.00 1.30 1.74 2.38 RUSE XXXX XXXX 0.95 1.00 1.07 1.15 1.24 PDIF XXXX XXXX 0.87 1.00 1.29 1.81 2.61 PERS 2.12 1.62 1.26 1.00 0.83 0.63 0.50 PREX 1.59 1.33 1.12 1.00 0.87 0.71 0.62 FCIL 1.43 1.30 1.10 1.00 0.87 0.73 0.62 SCED XXXX 1.43 1.14 1.00 1.00 1.00 XXXX Ya que se tienen los valores de estos factores :
6. Calcular el Esfuerzo Nominal Ajustado (PM estimado ).
Se aplica en: Etapa de desarrollo propiamente dicho Después definir la arquitectura del sistema Mantenimiento Utiliza: Puntos Función Líneas de Código Fuente Otras herramientas.
1. Estimar los Puntos Función No Ajustados (UFP). 2. Calcular las líneas de código fuente (KSLOC). 3. Calcular el factor exponencial de escala (B) 4. Calcular el esfuerzo nominal (PM nominal )
5. Calcular los Factores de Ajuste (EM i ). RELY. Confiabilidad requerida DATA. Tamaño de la base de datos asociada. CPLX. Complejidad del producto. RUSE. Requerimientos de reusabilidad. DOCU. Documentación acorde a las diferentes etapas del ciclo
TIME. Restricción del tiempo de ejecución. STOR. Restricción del almacenamiento principal. PVOL. Volatilidad de la plataforma. 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.
TOOL. Uso de herramientas de software. SITE. Desarrollo multisitio. Espacial Comunicación SCED. Cronograma requerido para el desarrollo.
Asignar su peso a cada factor con ayuda de las figuras 9, 10, 11 y 12 FACTOR Muy Bajo Bajo Normal Alto Muy Alto Extra Alto RELY 0.82 0.92 1.00 1.10 1.26 XXXX DATA XXXX 0.90 1.00 1.14 1.28 XXXX CPLX 0.73 0.87 1.00 1.17 1.34 1.74 RUSE XXXX 0.95 1.00 1.07 1.15 1.24 DOCU 0.81 0.91 1.00 1.11 1.23 XXXX TIME XXXX XXXX 1.00 1.11 1.29 1.63 STOR XXXX XXXX 1.00 1.05 1.17 1.46 PVOL XXXX 0.87 1.00 1.15 1.30 XXXX ACAP 1.42 1.19 1.00 0.85 0.71 XXXX AEXP 1.22 1.10 1.00 0.81 0.71 XXXX PCAP 1.34 1.15 1.00 0.88 0.76 XXXX PEXP 1.19 1.09 1.00 0.91 0.85 XXXX LTEX 1.20 1.09 1.00 0.91 0.84 XXXX PCON 1.29 1.12 1.00 0.90 0.81 XXXX TOOL 1.17 1.09 1.00 0.90 0.78 XXXX SITE 1.22 1.09 1.00 0.93 0.86 0.80 SCED 1.43 1.14 1.00 1.00 1.00 XXXX
6. Calcular el Esfuerzo Nominal Ajustado (PM estimado ).
1. Conocer los módulos que conforman el sistema (columna 1 y 2) 2. Determinar el SLOC de cada uno de los módulos (columna 3)
3. Determinar el tamaño en SLOC del Sistema (celda 28) 4. Calcular el Factor Exponencial de Escala (B)
5. Calcular el Esfuerzo Nominal requerido para desarrollar el sistema (celda 29) y la productividad del proyecto (celda 30)
6. Calcular el Esfuerzo Nominal por módulo (columna 22) 7. Analizar las características de cada módulo y determinar el nivel de cada factor de costo (columnas 4 a 20) 8. Multiplicando obtener el Factor de Ajuste del Esfuerzo (EAF) para cada módulo (columna 21)
9. Calcular el Esfuerzo Estimado por modulo (columna 23) 10. Sumar lo anterior y obtener el Esfuerzo Estimado Total del Sistema PMEst (celda 31) 11. Determinar el Tiempo de Desarrollo Estimado (celda 34)
12. Para calcular el Costo Estimado de cada módulo (columna 25) Anotar el costo del Mes-Persona (columna 24) Multiplicar ese costo por PM estimado,modulo
13. Sumando los costos estimados de cada módulo, calcular el Costo Total del Sistema (celda 32) 14. Obtener el Costo por instrucción (columna 26)
15. Determinar la Productividad por Módulo (columna 27) 16. Calcular la Productividad Estimada del Sistema (celda 33)