PA Docente: Ayudante: Albert A. Osiris Sofía . 1 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos U Presentación Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 2 1 Contenido de la Presentación • Métricas • Estimación • Análisis de Puntos de Función PA – Ejemplo práctico N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 3 Bibliografía Obligatoria - II U e ma lan ificación de Proyect os Métricas y Est im ació n ERT, GANTT, CPM ontrol y Avance ev isiones e Inspeccione s actibilidad Técnica, Op erativa, y Económ ica nálisis de Riesgo , Identif icación, Evaluació n O bl iga to ria C UAD93 PRESS98 M CCON97 GH EZZI 91 PRESS98 M CCON97 GH EZZI 91 BRO OKS95 GH EZZI 91 C UAD93 PRESS98 H AW R9 0 WH IT9 6 C UAD93 PRESS98 M CCON97 Cap ítu lo 19 - 2 2 3–5 12 – 1 3 8. 4 4 – 5.5 al 5 .7 8 8. 2 2 8. 3 21 7 18 C 20 6 5 A dicio n al Cap ítu lo H UM Pc9 7 14 BOHE81 H UMPa97 H UMPb97 PUTN92 BOHE81 DAVIS92 Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 4 6 4 32 13 4 2 PA Métricas de Proyectos 5 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos Métricas del Software U • Aplicación continua de técnicas basadas en las medidas de los procesos de desarrollo del software y sus productos, para producir una información de gestión significativa y a tiempo. Esta información se utilizará para mejorar esos procesos y los productos que se obtienen de ellos. Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 6 3 Métricas del Software (II) • Clasificación – De producto – De proceso • Clasificación PA – Primitivas – Calculadas 7 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos Métricas de Productos • Tamaño – Líneas de código: LOC = NCLOC + CLOC U – Especificaciones de diseño: elementos DER – Predicción de longitud: D = 49L 1.01 – Funcionalidad: PF, Bang • Calidad – Corrección – Fiabilidad – Mantenibilidad Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 8 4 Métricas de Procesos • Tiempo • Personas • Esfuerzo • Costo PA • Etc. 9 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos U Estimación de Proyectos Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 10 5 Estimación Estimación Planificación PA Seguimiento Desarrollo 11 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos Estimación U • Proporciona valor a variables para la realización de un trabajo • Recursos • Exactitud – Herramientas – Datos históricos Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 12 6 Estimación • Cuánto costará? PA • Cuánto tiempo llevará hacerlo? 13 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos Complejidad de Estimación (I) • No existe un modelo universal U • Muchas personas implicadas • Útil de acuerdo a etapa de desarrollo • Se hace superficialmente • Son difíciles de formular • Características del Software Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 14 7 Complejidad de Estimación (II) • No se estabiliza el proceso • Experiencia del estimador • Subestimación • Personal con distintas niveles PA • Malas interpretaciones • Tendencia a reducir estimación • Influyen gran número de factores 15 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos Requisitos del Buen Estimador • Formación y Experiencia U • Juicio independiente • Método • Herramienta de estimación • Documentar Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 16 8 Técnicas de Estimación • Modelos estadísticos • Modelos basados en teorías • Modelos compuestos – COCOMO PA – SOFTCOST – SPQR – COPMO – ESTIMACS 17 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos Modelo Estadístico U • El esfuerzo está en relación directa a las líneas de código: E = 5.2 * LOC0.91 Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 18 9 Modelos basados en Teorías • Putnam • No hay una base teórica sustancial • Relacionado con el tamaño del producto K = L3/C3*T 4 PA • L=LOC • K=es fuer zo en años/persona • C=constante (2000, 8000 ó 11000) • T=ti empo de desarrollo en años 19 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos Modelos Compuestos (I) U • COCOMO: Böhem E = a * LOCb * m • m = factor de ajuste de 15 atributos • a y b constantes según modelo Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 20 10 Modelos Compuestos (I) • ESTIMACS: Rubin • Cuestionario: – Esfuerzo desarrollo – Personal y costo – Riesgo PA – Factor global 21 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos U Técnica de Puntos de Función Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 22 11 Componentes Funcionales PROCESO entradas salidas IT OT consultas QT ILF DATOS PA archivos EIF archivos Costo de análisis de PF = 1% costo total 23 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos Pasos de la Técnica • Definición de Límites del Sistema (análisis) U • Definición de Parámetros (PF) • Valoración de Complejidad (complejidad) • Características Generales (PFA) Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 24 12 Tabla de Puntos de Función SIN AJUSTAR PARAMETRO ENTRADA SALID A COMPLEJIDAD CANTIDAD 6 Media 4 Baja 3 Alta 7 Media 5 Baja ILF Alta TOTAL 4 1 Media 15 2 10 Baja 7 Alta 10 Media 7 PA ELF PESO Alta CONSULTAS TOTAL Baja 5 Alta 6 Media 4 Baja 3 GENERAL 3 25 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos Puntos de Función Ajustados • Tiene en cuenta: U – Comunicación de datos, funciones distribuidas, rendimiento, configuraciones, transacciones, entrada de datos on-line, actualización on-line, procesos complejos, utilización de otros sistemas, facilidad de instalación, facilidad de operación, instalación en múltiples sitios, facilidad de cambio. – Para cada factor se asigna una complejidad de 0 a 5. – TDI = suma(factores[0-5]) – AF = (TDI * 0.01)+ 0,65 – PFA = PF * AF • Suele no usarse Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 26 13 Ratios • Utilización de métricas: – Productividad: PF por persona por mes – Calidad: errores por PF – Costo: $ por PF – Documentación: páginas por PF PA – LDC: líneas de código por PF, según el lenguaje de programación utilizado 27 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos Descripción de la Técnica 1- Ficheros Lógicos Internos • Complejidad U – DET (Data Element Type): campo único identificable por el usuario – RET (Recor d Element Type): subgrupo de datos identificable por el usuario 1 RET 1 a 19 DET BAJA 20 a 50 DET BAJA 51 o mas DET MEDIA 2 a 5 RET BAJA MEDIA ALTA 6 o más RET MEDIA ALTA ALTA Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 28 14 Descripción de la Técnica 2- Ficheros de Interface Externo • Complejidad 20 a 50 DET BAJA 51 o mas DET MEDIA 2 a 5 RET BAJA MEDIA ALTA 6 o más RET MEDIA ALTA ALTA PA 1 RET 1 a 19 DET BAJA 29 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos Descripción de la Técnica 3- Entradas Externas • Complejidad U – DET (Data Element Type): campo único identificable por el usuario, manteni do en un ILF por la entrada externa – FTR (File Type Referenced): ILF leído o manteni do, o un EIF leído para el procesamiento de la entrada 0 o 1 FTR 1 a 4 DET BAJA 5 a 15 DET BAJA 16 o mas DET MEDIA 2 FTR BAJA MEDIA ALTA 3 o más FTR MEDIA ALTA ALTA Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 30 15 Descripción de la Técnica 4- Salidas Externas • Complejidad – DET (Data Element Type): campo único identificable por el usuario que aparece en la Salida Externa PA – FTR (File Type Referenced): cada ILF o EIF leído durante el procesamiento de la salida. 0 o 1 FTR 1 a 5 DET BAJA 6 a 19 DET BAJA 20 o mas DET MEDIA 2 o 3 FTR BAJA MEDIA ALTA 4 o más FTR MEDIA ALTA ALTA 31 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos Descripción de la Técnica 5- Consultas • Complejidad U – FTR: • Entrada: cada ILF o EIF leído • Salida: cada ILF o Elf leído Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 32 16 Descripción de la Técnica 5- Consultas (II) • Complejidad – DET: – Entrada: campo identificable por el usuario en la entrada de la consulta. Campo inicia consulta PA – Salida: campo identificable por el usuarios en la salida de la consulta. No contar literales ni campos de fecha y hora. 33 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos Descripción de la Técnica 6- Consultas Externas • Complejidad U – Aplicar la tabla para la entrada y la salida y seleccionar la complejidad mayor. 0 o 1 FTR 1 a 4 DET BAJA 5 a 15 DET BAJA 16 o mas DET MEDIA 2 FTR BAJA MEDIA ALTA 3 o más FTR MEDIA ALTA ALTA Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 34 17 Recursos Direcciones de Red – www.ifpug.org – www.nesma.nl – www.aemes.fi.upm.es PA – Ourworld.compuserve.com/homepages/so ftcomp/fpfaq.htm – www.spr.com 35 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos CONCLUSIONES U • Muchos administradores no creen que los PF son de utilidad • Algunos los utilizan solament e para reportar tendencias de niveles organizacionales • Es un método todo fiable mi diendo rendi miento, tamaño del software, estimando proyectos, mi diendo productividad y comunicando requisitos funcionales • Es una alternativa mas para deter minar casos de prueba • Evalúa las capacidades de un sistema del punto de vista de un USUARIO Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 36 18 Próxima Clase • Modelo COCOMO • Planificación de Proyectos – PERT / CPM – Herramientas PA • Planmacs • Estimacs • Proyect 37 N Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos U Ingeniería de Software Clase 5 Ingeniería de Software - Analista de Sistemas - Unidad Académica Río Gallegos 38 19