Estimación de Proyectos Software 1 1. Introducción. 3 Estimación: 2 (Del (D l lat. l aestimatĭo, i ĭ -ōnis). i ) 2 Aprecio y valor que se da y en que se tasa y considera algo 3 Estimación en relación a la IS: 2 Cumplimiento de plazos en costes. 2 Modelos basados en los conocimientos adquiridos. q 3 Tipos: 2 Matemáticos / paramétricos. 2 Basados en la experiencia. 2 Técnicas orientadas al aprendizaje. 2 Modelos d l Dinámicos. i á i 2 2.Modelos matemáticos paramétricos. 3 Ecuaciones matemáticas. 3 Introducción de valores. 3 Variables dependientes: Esfuerzo y tiempo. Aron Bailey Basili Cocomo Cocomo II Copmo 1969 1981 1981 1997-2000 1984 Doty ESD 1977 1975 Navair Farr & Puntos Zagorski 1965 Función 1979 SCD Nelson Sech Square GRC 1974 SLICE SPQR 1971 1966 1980 1977 1977 IBM TRW Boing Checkpoint Estimacs 1977 1974 1977 1977 1983 Price-S SEER-SEM Select SLIM Softcost 1983 1988 1978 1981 3 3. Experiencia de los expertos. 3 No se dispone de datos empíricos. 3 Fundamentados en la opinión (Subjetivo). 3 Tipos: 2 Método Delphi (1966): ¨Primera fase: recolección individual de opiniones p expertas. p ¨Segunda fase: conclusiones conociendo las opiniones. 2 Work Breakdown Structure (WBS): ¨Ayuda a determinar el coste de las tareas a partir de la descomposición de las mismas. 4 4. Técnicas orientadas aprendizaje. 3 Basado en datos de proyectos anteriores. 3 Sólo para proyectos del mismo tipo que datos. 3 Tipos: 2 Método del caso. 2 Redes de Neuronas: ¨El más extendido tras los modelos matemáticos. ¨Se entrenan usando datos históricos. ¨Especificaciones de entrenamiento en función de un Delta determinado (Datos-Modelo neuronal). 5 5. Modelos Dinámicos. 3 Un proyecto software cambia a lo largo de su ciclo de desarrollo, tanto en sus factores como en el esfuerzo. 3 Forrester del MIT en 1961. 3 Aplicaciones p cac o es e en la a Ingeniería ge e a de Software: So t a e: 2 Modelos generales ¨Modelo de Abdel-Hamid y Madnick ¨Modelo dinámico reducido... 2 Modelos particulares: ¨Modelo de productividad y elementos sociolaborales. 6 5. Modelos Dinámicos. 7 6. COCOMO II. Introducción. 3 Primer estudio LDC [Nelson 1966] 3 Finales de los 70’: 2 1977 PRICE-S 2 SLIM de Putnam... 3 COCOMO (Constructive Cost Model) 1981 2 Libre distribución, No propietario, USC... 2 Fortran, Fortran Cobol, Cobol C 3 COCOMO ADA 1987 3 COCOMO II (USC Center C t off SE) 1997-2000 1997 2000 2 Power Builder, Visual Basic, C#, Java... 8 7. COCOMO II. Modelos (Jerarquía). 3 Composición de la aplicación 2 Proyectos basados en CASE, Generadores. 2 Uso de la Métrica Object Points [Banker1994]: ¨Pantallas, informes, módulos 3 Diseño Previo 2 Para obtener estimaciones aproximadas del coste de un proyecto antes de que esté determinada por completo l su arquitectura. i 3 Post Arquitectura Å Usaremos 2 Modelo COCOMO II más detallado. Se utiliza una vez que se ha desarrollado por completo la arquitectura del proyecto. 9 8. COCOMO II. Ecuación esfuerzo. PM meseshombre = A x (Tamaño) B x EM AÆ Constante = 2,94 en calibración 2000 E Æ Ahorro relativo respecto a estimaciones factores. Tamaño = KLDC (1+ (BRAK/100)) BRAK Æ volatilidad de requisitos % desecho LDC EM Æ Multiplicadores de Esfuerzo... Muchos... B = C + 0,01x Σ SF C Æ Constante exponencial = 0,91 en calibración 2000 SF Æ Factores F t de d Escala... E l Muchos... M h 10 8. COCOMO II. Ecuación tiempo. TDEV = D x (PM)F x (sced%/100) TDEV Æ Tiempo en meses para aceptación del desarrollo D Æ Constante = 3,67 3 67 PM Æ Esfuerzo en personas/mes F Æ 0,28+0,2*(B-0,91) SCED %Æ el porcentaje de reducción o incremento en el calendario nominal del proyecto 11 9. COCOMO II. Multiplicadores esfuerzo. P d Producto RELY DATA DOCU Plataforma TIME STOR PVOL Personal ACAP AEXP PCAP Proyecto TOOL SCED SITE CPLX RUSE PCEXP LTEX PCON 12 9. COCOMO II. Multiplicadores esfuerzo. 3 RELY: Fiabilidad Requerida del SW. Producto 2 MB, MB B, B N, N A, A MA, MA XA 3 DATA: Volumen de datos (BD en bytes/ SLOC) 2 B < 10,, N < 100,, A < 1000 3 CPLX: Complejidad del producto medida en 5 áreas: 2 Funcionamiento de CRTL 2 Funcionamiento computacional 2 Funcionamiento de dispositivos 2 Funcionamiento del sector de datos 2 Funcionamiento del gestor de IF de Usuario 3 RUSE: Reutilización requerida 3 DOCU: Documentación asociada a las necesidades del ciclo de vida. 13 9. COCOMO II. Multiplicadores esfuerzo. Plataforma 3 TIME: Restricción del Tiempo de Ejecución (Vigencia) 2 N < 50%, A 70%, MA 85%,XA 95% 3 STOR: Restricción en almacenamiento pprincipal p (Ídem) ( ) 2 N < 50%, A 70%, MA 85%,XA 95% 3 PVOL: Volatilidad de la plataforma HW y SW 2 B <12 meses, N <6 meses, A < 2 meses, MA <1 mes 14 9. COCOMO II. Multiplicadores esfuerzo. Personal 3 ACAP: Capacidad de los analistas. 2 MB, B, N, A, MA, XA 3 AEXP: Experiencia p en el área funcional. 2 MB, B, N, A, MA, XA 3 PCAP: Capacidad de los programadores. 3 PEXP: Experiencia en el área funcional. 3 LTEX: LTEX E Experiencia i i en ell llenguaje j y herramientas. 3 PCON: Continuidad del personal. 15 9. COCOMO II. Multiplicadores esfuerzo. Proyecto 3 TOOL: Uso de herramientas software. 3 SITE: Desarrollo en varias localizaciones 2 Situación ((Local… País)) 2 Comunicaciones (Teléfono…Multimedia interactiva) 3 SCED: Restricciones de duración del proyecto 2 Muy Bajo Æ Acabar en el 75% de t sobre el nominal 2 Bajo Æ 80% 2 Nominal Æ 100% 2 Alto Æ 130% 2 Muy M alto l Æ 160% 16 10. COCOMO II. Factores de escala. 3 PREC: Precedencia. 2 MB ÆSin Precedentes…MA ÆMuy Familiar. 3 FLEX: Flexibilidad de desarrollo. desarrollo 2 MB Æ Riguroso… MA ÆConformidad. 3 RESL: Resolución de Arquitectura: 2 Identificación de riesgos y eliminación de los mismos. 2 % tiempo dedicado a establecer arquitectura: ¨ MB Æ 5%... MA Æ 33% 2 % Arquitectos SW alto nivel. 2 Nivel incertidumbre arquitectura. 2 Nº de ítems de riesgo: ¨ MB Æ > 10 Crítico... MA Æ > 5 No crítico. 3 TEAM: Cohesión del equipo 2 MB Æ Interacción difícil… MA Æ Muyy cooperativo. p 3 PMAT: Madurez del proceso software. 2 Cuestionario de madurez CMM. 17 11. COCOMO II. Factores de escala. 5. Optimizado 4. Gestionado 3. Definido 2. Repetible 1. Inicial 18 12. COCOMO II. Herramientas. 3 Herramienta libre distribución USC: 2 ftp://ftp.usc.edu/pub/soft_engineering/COCOMOII/cocomo9 f //f d / b/ f i i /COCOMOII/ 9 9.0/c990windows.exe Instalado en las aulas de informática de la UC3M Gratuito 2 2 3 Otras herramienta de pago: 2 www.costxpert.com € 2 Multitud de herramientas de pago. 19 13. COCOMO II. Herramienta USC. 20 21