1 / 42

Ingeniería de Software

Unidad I. Gestión de Proyectos de Software. Ingeniería de Software. Semana 4. Tema. Métricas en la gestión de proyectos de software. Objetivos Generales:.

cliff
Download Presentation

Ingeniería de Software

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Unidad I Gestión de Proyectos de Software Ingeniería de Software Semana 4 Tema Métricas en la gestión de proyectos de software

  2. Objetivos Generales: • Comprender correcta y eficientemente los conceptos y principios del espectro de técnicas de Ingeniería de Software que puedan ser aplicadas en proyectos de software. • Desarrollar una cultura de ingeniería de software.

  3. Objetivos Específicos: • Aplicar correctamente los conceptos y principios relacionados a la Ingeniería de Software en la resolución de casos prácticos para la gestión de proyectos de software de calidad. • Utilizar herramientas para el modelado y gestión de proyectos de software. • Utilizar metodologías agiles en el desarrollo de software.

  4. Objetivos Instruccionales: • Tener una visión mas profunda proporcionando un mecanismo para realizar una evaluación objetiva. • Aplicación de la medición al proceso de software con el intento de mejorarlo sobre una base continua.

  5. Razones para medir los procesos, productos y recursos • Caracterizar: • Entender el proceso actual, entorno, etc.Disponer de información de la situación anterior al cambio. • Evaluar: • Determinar la consecución de objetivosIdentificar fortalezas y debilidades del proceso • Predecir: • Entender las relaciones entre procesos y productosEstablecer objetivos alcanzables de calidad, costes y agendas • Mejorar: • Identificar causas y oportunidades de mejoraSeguir el rendimiento de los cambios y compararlo con líneas base Fundamentos de métricas de gestión

  6. Medidas, Métrica, e Indicadores Medida: Proporciona una indicación cuantitativa de la extensión, cantidad, dimensiones, capacidad o tamaño de algunos atributos de un proceso o producto. Medición: Es el acto de obtener una medida. Métrica: Es el resultado de efectuar evaluaciones durante un periodo largo de tiempo sobre algún(os) aspecto(s) que un conjunto de proyectos, procesos que servirán de línea base. Indicador: Permite ajustar el producto, el proyecto o el proceso para que las cosas salgan mejor. Fundamentos de métricas de gestión

  7. El Proceso e Indicadores del Proyecto • Las métricas deben recopilarse para que los indicadores del proceso y del producto puedan ser ciertos. • Los indicadores del proyecto permiten al gestor de proyectos del software: • Evaluar el estado del proyecto en curso. • Seguir la pista de los riesgos potenciales. • Detectar las áreas problemas antes de que se conviertan en criticas. • Ajustar el flujo y las tareas del trabajo. • Evaluar la habilidad del equipo del proyecto en controlar la calidad de los productos de trabajo del software. Fundamentos de métricas de gestión

  8. Gestión de un proyecto… • Que es: • Es lo primero que hay que hacer antes de empezar la labor técnica de un proyecto. • Finalidad: • Determinar cuanto va a costar (en tiempo y dinero), • Cuantos recursos son necesarios, • Que tareas se van a realizar. • Que tiempo: • Su actividad se prolonga a lo largo de todo el proyecto corrigiendo desviaciones y previniendo riesgos Fundamentos de métricas de gestión

  9. …Gestión de un proyecto… • ¿Que se gestiona? • Métricas • Se mide para mejorar. • Debemos saber cuanta es nuestra productividad, cuanta calidad damos, que productos aumentan la productividad, quien produce mas y quien menos. • Las métricas están relacionadas con los costes, el tiempo. • Planificación • Estimar el esfuerzo humano requerido, la duración cronológica del proyecto y su coste monetario. • Generalmente se hace en base a experiencias anteriores, de ahí la importancia de las métricas. Fundamentos de métricas de gestión

  10. …Gestión de un proyecto… • ¿Que se gestiona? • Análisis de riesgos • Localizar todos los problemas que le pueden surgir a nuestro proyecto, y preparar tácticas para combatirlas: • Identificación de riesgos • Calculo de riesgos • Priorización de riesgos • Estrategias de control de riesgos • Resolución de riesgos • Supervisión de riesgos Fundamentos de métricas de gestión

  11. …Gestión de un proyecto • ¿Que se gestiona? • Planificación temporal • Se identifican las tareas de ingeniería a realizar • Se establecen sus interdependencias • Se estima su coste (esfuerzo, duración, disponibilidad de recursos) • Se asignan recursos • Se establece la red de tareas • Seguimiento y control • El gestor controla el proyecto y corrige desviaciones Fundamentos de métricas de gestión

  12. Determinantes de la calidad del software y de la efectividad de la organización Producto Características del cliente Condiciones del negocio Métricas del proceso de software Proceso Tecnología Personas Entorno de desarrollo

  13. Métrica del Proceso(Propósito estratégico) • Métricas privadas: • Sólo es conocido por el equipo del proyecto, pero publicas por todos los miembros del equipo • Índices de defecto por individuo o módulo • Líneas de código o puntos de función por modulo y función • Errores encontrados durante la revisión con técnicas formales • Métricas públicas: • Asimilan información que originalmente era privada de particulares y equipos permitiendo a las organizaciones hacer los cambios estratégicos para mejorar el proceso del software. • Índice de defectos a nivel de proyecto Métricas del proceso de software

  14. Mejora estadística de proceso del software • Utiliza el análisis de fallos del software para recopilar información de errores y defectos encontrados al desarrollar y utilizar una aplicación de sistema o producto. • Funciona de la siguiente manera: • Todos los errores se categorizan • Se registra tanto el coste de corregir cada error como el del defecto • El numero de errores y defectos de cada categoría se cuentan y se ordenan • Se computa l coste global de errores y defectos de cada categoría • Los datos resultantes se analizan para detectar las categorías que producen el coste mas alto para la organización • Se desarrollan planes para modificar el proceso con el intento de eliminar la clase de errores y defectos que sean mas costosos. Métricas del proceso de software La mejora estadística del proceso de software ayuda a la organización a descubrir donde ellos son fuertes y donde no

  15. Causas de defectos y su origen para cuatro proyectos de software Lógica (20%) Manejo de datos (10.9%) Métricas del proceso de software Estándares (6.9%) Interfaz de software (6.0%) Interfaz hardware (7.7%) Comprobación de errores (10.9%) Especificaciones (25.5%) Interfaz de usuario (11.7%)

  16. Diagrama de espina para el factor de calidad: Defectos de especificación (25.5%) Especificación ambigua Requisitos perdidos Defecto de especificación Métricas del proceso de software Cliente equivocado consultado Cliente dio información equivocada Peticiones inadecuadas «La colección de métricas del proceso es el conductor para la creación del diagrama de espina» Información anticuada utilizada Requisitos cambiados Requisitos incorrectos

  17. Métrica del Proyecto(Carácter táctico) • La métrica del proyecto de software se usa por el equipo del software para adaptar el flujo de trabajo del proyecto y las actividades técnicas. • La utilización de métricas para el proyecto tiene dos aspectos fundamentales: • Se utilizan para minimizar la aplicación de desarrollo haciendo los ajustes necesarios que eviten retrasos y reduzcan problemas y riesgos potenciales. • Se utilizan para evaluar la calidad de los productos en el momento actual y cuando sea necesario. Métricas del proyecto de software

  18. …Métrica del Proyecto • Todo proyecto debe medir: • Entradas: • La dimensión de los recursos (personas, entornos) que se requiere para realizar el trabajo. • Salidas: • Medidas de la entrega o productos creados durante el proceso de ingeniería de software. • Resultados: • Medidas que indican la efectividad de las entregas. Métricas del proyecto de software

  19. Métrica del Software • Medimos para: • Indicar la calidad del producto • Evaluar la productividad personal • Evaluar beneficios • Tener una línea base de estimación • Justificar el uso de nuevas herramientas Métricas del proyecto de software

  20. Mediciones del software • Medidas directas: • Del proceso del software: • Coste, el esfuerzo en horas o personas • Del producto: • LDC, velocidad de ejecución, tamaño de memoria • Medidas indirectas: • Funcionalidad • Calidad • Complejidad • Eficiencia • Fiabilidad Categorías básicas de mediciones

  21. Clasificación de las métricas de un Software • De productividad: Rendimiento del proceso de la ingeniería del software • De calidad: Como se ajusta el software a las especificaciones del cliente • Técnicas: La complejidad del software, su facilidad de mantenimiento • Orientadas al tamaño: Medidas directas del software • Orientadas a la función: Medidasindirectas • Orientadas a la persona: Cuanto produce el personal, dependiendo de las herramientas que usan Categorías básicas de mediciones

  22. Métricas para la Calidad… • Miden el número de defectos no descubiertos en la prueba, la facilidad de mantenimiento del sistema y la eficiencia de eliminar los defectos. • Factores que afectan a la calidad: • Operación del producto (uso) • Revisión del producto (modificación) • Transporte (modificación para que funcione en otro entorno) Categorías básicas de mediciones

  23. …Métricas para la Calidad… Corrección: Definición: Grado en que el software realiza la función encomendada. Medida: Defectos por KLDC (medida mas común), Defectos por PF Defecto: Carencia verificada de conformidad con los requisitos. Los comunica el usuario a lo largo de un periodo de tiempo determinado (un año). Facilidad de mantenimiento: Definición: Facilidad con la que se puede corregir un programa si se encuentra un error, adaptarlo a un cambio de entorno, o mejorarlo ante una petición del cliente Medida: No hay. Son indirectas. TMC (Tiempo Medio de Cambio), es el tiempo que lleva analizar, diseñar, implementar, probar y distribuir un cambio. Desperdicio: Coste de corregir los defectos encontrados después de haber distribuido el software a los usuarios finales Categorías básicas de mediciones

  24. …Métricas para la Calidad… • Integridad: • Definición: Habilidad de un sistema para resistir ataques (accidentales o intencionados) contra su seguridad tanto a los programas como a los datos y documentos • Amenaza: Probabilidad de que un ataque ocurra en un tiempo determinado • Seguridad: Probabilidad de que se puede repeler el ataque • Integridad = ∑ [(1-amenaza) * (1-seguridad)] para cada tipo de ataque • Facilidad de uso: • Definición: Es una cuantificación de la amigabilidad de uso • Características: • Habilidad intelectual y/o física para aprender el sistema • Tiempo necesario para llegar a ser moderadamente eficiente en el uso del sistema • Aumento neto en productividad cuando se utiliza eficientemente . • Valoración subjetiva del usuario hacia el sistema Categorías básicas de mediciones

  25. Métricas Orientadas al Tamaño… • Las métricas del software orientadas al tamaño provienen de la normalización de las medidas de calidad y/o productividad, considerando el “tamaño” del software que se haya producido. • Para desarrollar métricas que se puedan comparar entre distintos proyectos, se seleccionan las líneas de código como valor de normalización. Categorías básicas de mediciones

  26. …Métricas Orientadas al Tamaño Proceden de la normalización de medidas de calidad y productividad considerando el tamaño del software. Ejemplo: Categorías básicas de mediciones Algunas métricas --> Formulas: (KLDC por persona-mes): Productividad = KLDC / persona-mes (Errores por KLDC): Calidad = Errores / KLDC(Coste por KLDC): Coste = Dinero / KLDC(Pagina de documentación por KLDC): Documentación = Paginas de documentación / KLDC Todo se basa en la KLDC pero esta medida es un artificio, que depende del lenguaje de programación utilizado.

  27. Métricas orientadas a la función… • Puntos de función: • Funcionalidad o utilidad de la aplicación • La unidad básica de medida son los Puntos de Función • Calculo de puntos de función Categorías básicas de mediciones

  28. …Métricas Orientadas a la función… Formulas: Puntos de Función = Cuenta-Total * [0,65+0,01 * sum(Fi)]Donde Fi (i = 1 hasta 14) son unos valores de ajuste de complejidadDe 0 a 5 (0=sin influencia, 5=esencial) 1.¿Requiere el sistema de copias de seguridad y recuperación fiable? 2.¿Se requieren comunicaciones de datos? 3.¿Existen funciones de procesamiento distribuido? 4.¿Es critico el rendimiento? 5.¿Será ejecutado el sistema en un entorno operativo existente y fuertemente utilizado? 6.¿Necesita el sistema entrada de datos interactiva? 7.¿La entrada de datos interactiva requiere que las transacciones de entrada se lleven a cabo sobre múltiples pantallas o varias operaciones? 8.¿Se actualizan los archivos maestros de forma interactiva? 9.¿Son complejas las entradas, las salidas, los archivos o peticiones? 10.¿Es complejo el procesamiento interno? 11.¿Se ha diseñado código para ser reutilizado? 12.¿Están incluidas en el diseño la conversión y la instalación? 13.¿Se ha diseñado el sistema para soportar múltiples instalaciones en diferentes organizaciones? 14.¿Se ha diseñado la aplicación para facilitar los cambios y para ser fácilmente utilizada por el usuario? Productividad = PF / personas-mes Calidad = Errores / PFCoste = Dinero / PF Documentación = Paginas documentación / PF Categorías básicas de mediciones

  29. …Métricas Orientadas a la función… • Ventajas: • Los PF son independientes del lenguaje de programación • Se basan en datos que se puedan conocer antes de empezar el proyecto • Inconvenientes: • Los datos se basan en juicios subjetivos • Su valor no es físico. No tiene unidades Categorías básicas de mediciones

  30. …Métricas Orientadas a la función Ejercicio Un administrador de software esta a cargo del desarrollo de un sistema de software de seguridad critico que se diseña para controlar una maquina de radioterapia para tratar a los pacientes que sufren de cáncer. Este sistema esta incrustado en la maquina y debe ejecutarse en un procesador de propósito especial con una cantidad fija de memoria (32 MB). La máquina se comunica con un sistema de base de datos de pacientes para obtener los detalles del paciente y, después del tratamiento automáticamente registra los datos de radiación suministrada y otros detalles del tratamiento en la base de datos. La productividad media del equipo de desarrollo es de 6 PF/p-m. Estime el esfuerzo y el costo total requerido para desarrollar este sistema en Visual Basic, siendo la tarifa laboral de US$ 3,000 por p-m. Además se sabe que la LDC/PF (media) del Visual basic es 32 y que se requieren 8,000 LDC. Los valores de ajuste de la complejidad suman 53. Categorías básicas de mediciones

  31. …Métricas Orientadas a la función Solución del ejercicio DATOS INFORMATIVOS: Productividad Media (PM) = 6 PF/p-m La tarifa local es de = US$ 3,000 p-m DETERMINANDO LOS PUNTOS DE FUNCION PF = (8000/32) x ( 0.65 + 0.01 x 53) = 295 ESTIMACIONES: Coste del PF = 3000 / 6 = US$ 500 Costo total = US$ 500 x 295 = US$ 147,500 Esfuerzo = 295 / 6 = 49.16 = 49 p-m Categorías básicas de mediciones

  32. Factores que pueden incidir en la productividad Métricas y Productividad • Factores humanos: El tamaño y la experiencia del equipo de desarrollo • Factores del problema: La complejidad del problema a resolver y el numero de cambios en el diseño • Factores del proceso: Técnicas de ingeniería del software utilizadas, y disponibilidad de herramientas CASE • Factores del producto: Fiabilidad y rendimiento del sistema basado en computadora • Factores de los recursos: De software (herramientas CASE...) y de hardware

  33. Consejos sobre la línea base • Los datos deben ser razonablemente precisos, han de evitarse la suposición sobre proyectos anteriores. • Los datos deben obtenerse de tantos proyectos como sea posible. • Las medidas deben ser consistentes. LDC distintas para cada lenguaje de programación. • Las aplicaciones deben ser similares a la que va a ser estimada. Métricas y Productividad

  34. LDC / PF (media) Métricas y Productividad

  35. Integración de las métricas dentro del proceso de ingeniería del software • Muchos diseñadores del software no coleccionan las medidas. • Sin las medidas es imposible determinar si un proceso está mejorando o no. • Las líneas base de métricas constan de datos recogidos de proyectos de software desarrollados anteriormente. Conseguir estos datos de proyectos históricos es muy difícil, si los diseñadores anteriores no coleccionaron los datos de una manera continua.

  36. Integración de las métricas dentro del proceso de ingeniería del software Establecimiento de una Línea Base • Los datos de la Línea Base deben tener los siguiente atributos: • Deben ser razonablemente exactos • Deben reunirse del mayor numero de proyectos que sea posible • Las medidas deben ser consistentes • Las aplicaciones deben ser semejantes para trabajar con la estimación.

  37. Integración de las métricas dentro del proceso de ingeniería del software Colección de métricas, computo y evaluación Proceso de ingeniería de software Proyecto de software Recopilación de datos Medidas Producto de software Calculo de métricas Métricas Evaluación de métricas Indicadores Proceso de recopilación de métricas del software

  38. Establecimiento de un programa de métricas de software • Identifique los objetivos del negocio • Identifique lo que se desea saber o aprender • Identifique los subobjetivos • Identificar las entidades y atributos relativos a esos subobjetivos • Formalizar los objetivos de la medición • Identificar preguntas que puedan cuantificarse y los indicadores que se van a usar para ayudar a conseguir los objetivos de medición. • Identificar los elementos de datos que se van a recoger para construir los indicadores que ayuden a responder a las preguntas planteadas. • Definir las medidas a usar y hacer que estas definiciones sean operativas. • Identificar las acciones que serán tomadas para mejorar las medidas indicadas. • Preparar un plan para implementar estas medidas.

  39. Apreciación global • El proceso del software y las métricas del producto son una medida cuantitativa que permite a la gente del software tener una visión profunda de la eficacia del proceso del software y de los proyectos que dirigen utilizando el proceso como marco de trabajo. • En la dirección de proyecto de software, estamos principalmente interesados en la evaluación para determinar las mejoras en la calidad y productividad. • Hay cuatro razones para medir los procesos del software y recursos: Caracterizar, Evaluar, Predecir, y Mejorar. Resumen

  40. Unidad I Gestión de Proyectos de Software Ingeniería de Software Semana 4 Tema Métricas en la gestión de proyectos de software

More Related