1 / 25

Métricas de Software

Métricas de Software. Medimos para mejorar cuando recogemos la información cuantitativa que nos ayuda a identificar obstáculos, problemas de raíz, ineficiencias y otras oportunidades para mejorar la calidad del producto y el rendimiento del proceso. Hay varias razones para medir un producto.

tino
Download Presentation

Métricas 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. Métricas de Software Medimos para mejorar cuando recogemos la información cuantitativa que nos ayuda a identificar obstáculos, problemas de raíz, ineficiencias y otras oportunidades para mejorar la calidad del producto y el rendimiento del proceso.

  2. Hay varias razones para medir un producto 1. Para indicar la calidad del producto. 2. Para evaluar la productividad de la gente que desarrolla el producto. 3. Par evaluar los beneficios en términos de productividad y de calidad, derivados del uso de nuevos métodos y herramientas de la ingeniería de software. 4. Para establecer una línea de base para la estimación 5. Para ayudar a justificar el uso de nuevas herramientas o de formación adicional.

  3. ¿Por qué es tan importante medir el proceso de ingeniería del software y el producto (software) que produce? La respuesta es relativamente obvia. Si no se mide, no hay una forma real de determinar si se está mejorando. Y si no se está mejorando, se está perdido.

  4. Conceptos Básicos • Medida: Indicación cuantitativa de la extensión, cantidad, dimensiones, capacidad o tamaño de algunos atributos de un proceso o producto. • Medición: Acto de determinar una medida • Métrica: Medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado. • Indicador: Métrica o combinación de métricas que proporcionan una visión profunda de un proceso, producto o proyecto.

  5. Indicadores • Indicadores de Proceso: Permiten a una organización tener una visión profunda de la eficacia de un proceso ya existente. Permiten evaluar lo que funciona y lo que no. Se recopilan medidas durante un largo periodo de tiempo. Proporcionan indicadores que lleven a mejoras de los procesos de software. • Indicadores de Proyecto: Permiten evaluar el estado del proyecto en curso, seguir la pista de los riesgos, detectar las áreas problemáticas, ajustar las tareas y evaluar la habilidad del equipo de trabajo.

  6. Preguntas: 1.- Sugiera tres medidas, tres métricas y los indicadores que se podrían utilizar para evaluar un automóvil. 2.-Sugiera tres medidas, tres métricas y los indicadores correspondientes que se podrían utilizar para evaluar el departamento de servicios de un concesionario de automóviles. 3.- Sugiera tres medidas, tres métricas y los indicadores correspondientes que se podrían utilizar para evaluar su software.

  7. Mediciones del Software Pueden englobarse en dos categorías: medidas directas y medidas indirectas. Medidas Directas. En el proceso de ingeniería se encuentran el costo, y el esfuerzo aplicado, las líneas de código producidas, velocidad de ejecución, el tamaño de memoria y los defectos observados en un determinado periodo de tiempo. Medidas Indirectas. Entre las medidas indirectas se incluyen la funcionalidad, calidad, complejidad, eficiencia, fiabilidad, facilidad de mantenimiento y muchas otras capacidades.

  8. Métricas del software Son las que están relacionadas con el desarrollo del software como funcionalidad, complejidad, eficiencia. MÉTRICAS TÉCNICAS: Se centran en las características de software por ejemplo: la complejidad lógica, el grado de modularidad. Mide la estructura del sistema, el cómo esta hecho. MÉTRICAS DE CALIDAD : proporcionan una indicación de cómo se ajusta el software a los requisitos implícitos y explícitos del cliente. Es decir cómo voy a medir para que mi sistema se adapte a los requisitos que me pide el cliente. MÉTRICAS DE PRODUCTIVIDAD . Se centran en el rendimiento del proceso de la ingeniería del software. Es decir que tan productivo va a ser el software que voy a diseñar. MÉTRICAS ORIENTADAS A LA PERSONA . Proporcionan medidas e información sobre la forma que la gente desarrolla el software de computadoras y sobre todo el punto de vista humano de la efectividad de las herramientas y métodos. Son las medidas que voy a hacer de mi personal que va hará el sistema. MÉTRICAS ORIENTADAS AL TAMAÑO. Es para saber en que tiempo voy a terminar el software y cuantas personas voy a necesitar. Son medidas directas al software y el proceso por el cual se desarrolla, si una organización de software mantiene registros sencillos.

  9. 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.

  10. Métricas • Productividad = KLDC/persona-mes • Calidad = errores/KLDC • Documentación = pags. Doc/ KLDC • Costo = $/KLDC

  11. Orientadas a la función Las métricas del software orientadas a la función utilizan una medida de la funcionalidad entregada por la aplicación como un valor de normalización. Ya que la funcionalidad no se puede medir directamente, se debe derivar mediante otras medidas directas. Punto de función: Se calcula determinando 5 características de dominio de información.

  12. 1. Números de entrada de usuario: se cuenta cada entrada del usuario que proporcione al software diferentes datos orientados a la aplicación. Las entradas deben ser distinguidas de las peticiones que se contabilizan por separado. 2. Numero de salida del usuario: se encuentra cada salida que proporciona la usuario información orientada ala aplicación. En este contexto las salidas se refieren a informes, pantalla, mensajes de error. Los elementos de datos individuales dentro de un informe se encuentran por separado. 3. Números de peticiones al usuario: una petición esta definida como una entrada interactiva que resulta de la generación de algún tipo de respuesta en forma de salida interactiva. Se cuenta cada petición por separado. 4. Numero de archivos: se cuenta cada archivo maestro lógico, o sea una agrupación lógica de datos que puede ser una parte en una gran base de datos o un archivo independiente. 5. Numero de interfaces externas: se cuentan todas las interfaces legibles por la maquina por ejemplo: archivos de datos, en cinta o discos que son utilizados para transmitir información a otro sistema.

  13. Ejercicio • Calcule el valor del punto de función de un proyecto con las siguientes características del dominio de información: • Número de entradas de usuario: 32 • Número de salidas de usuario: 60 • Número de peticiones de usuario: 24 • Número de archivos: 8 • Número de interfaces externos: 2 • Asuma que todos los valores de ajuste de complejidad están en la media.

  14. Métricas para la calidad del software El objetivo primordial de la ingeniería del software es producir un sistema, aplicación o producto de alta calidad. Para lograr este objetivo, los ingenieros del software deben aplicar métodos efectivos junto con herramientas modernas dentro del contexto de un proceso maduro de desarrollo de software. Además, un buen ingeniero del software (y buenos gestores de la ingeniería del software) deben medir si la alta calidad se va a llevar a cabo. La calidad de un sistema, aplicación o producto es tan bueno como los requisitos que describen el problema, el diseño que modela la solución, el código que conduce a un programa ejecutable, y las pruebas que ejercitan el software para detectar errores. Un buen ingeniero del software utiliza mediciones que evalúan la calidad del análisis y los modelos de diseño, el código fuente, y los casos de prueba que se han creado al aplicar la ingeniería del software.

  15. Medidas de la calidad Aunque hay muchas medidas de la calidad de software, la corrección, facilidad de mantenimiento, integridady facilidad de uso proporcionan indicadores Útiles para el equipo del proyecto. Corrección. Un programa debe operar correctamente o proporcionará poco valor a sus usuarios. La corrección es el grado en el que el software lleva a cabo su función requerida. La medida más común de corrección es defectos por KLDC, en donde un defecto se define como una falta verificada de conformidad con los requisitos.

  16. Facilidad de mantenimiento El mantenimiento del software cuenta con más esfuerzo que cualquier otra actividad de ingeniería del software. La facilidad de mantenimiento es la facilidad con la que se puede corregir un programa si se encuentra un error, se puede adaptar si su entorno cambia, o mejorar si el cliente desea un cambio de requisitos. No hay forma de medir directamente la facilidad de mantenimiento; por consiguiente, se deben utilizar medidas indirectas. Una simple métrica orientada al tiempo es el tiempo medio de cambio (TMC), es decir el tiempo que se tarda en analizar la petición de cambio, en diseñar una modificación adecuada, en implementar el cambio, en probarlo y en distribuir el cambio a todos los usuarios

  17. Integridad En esta época de hackers y firewalls la integridad del software ha llegado a tener mucha importancia. Este atributo mide la capacidad de un sistema para resistir ataques contra sus seguridad. Para medir la integridad, se tienen que definir dos atributos adicionales: amenaza y seguridad. Amenaza es la probabilidad (que se puede estimar o deducir de la evidencia empírica) de que un ataque de un tipo determinado ocurra en un tiempo determinado. La seguridad es la probabilidad (que se puede estimar o deducir de la evidencia empírica) de que se pueda repeler el ataque de un tipo determinado. La integridad del sistema se puede definir como: integridad = Σ[( 1 - amenaza) x (1 - seguridad)] donde se suman la amenaza y la seguridad para cada tipo de ataque.

  18. Facilidad de uso El calificativo amigablecon el usuario se ha convertido en omnipresente en las discusiones sobre productos de software. Si un programa no es «amigable con el usuario», frecuentemente está abocado al fracaso, incluso aunque las funciones que realice sean valiosas. La facilidad de uso es un intento de cuantificar «lo amigable que puede ser con el usuario » y se puede medir en función de cuatro características: 1.- Habilidad intelectual y/o física requerida para aprender el sistema; 2.- Tiempo requerido para llegar a ser moderadamente eficiente en el uso del sistema; 3.- Aumento neto en productividad (sobre el enfoque que el sistema reemplaza) medida cuando alguien utiliza el sistema moderadamente y eficientemente; y 4.- Valoración subjetiva (a veces obtenida mediante un cuestionario) de la disposición de los usuarios hacia el sistema

  19. Eficacia de la Eliminación de Defectos Una métrica de la calidad que proporciona beneficios tanto a nivel del proyecto como del proceso, es la eficacia de la eliminación de defectos (EED). EED es una medida de la habilidad de filtrar las actividades de la garantía de calidad y de control al aplicarse a todas las actividades del marco de trabajo del proceso. Cuando un proyecto se toma en consideración globalmente, EED se define de la forma siguiente: EED = E / (E + D) donde E es el número de errores encontrados antes de la entrega del software al usuario final y D es el número de defectos encontrados después de la entrega. El valor ideal de EED es 1. Esto es, no se han encontrado defectosen ei software. De forma realista, D serámayor que cero.

  20. Línea Base Estableciendo una línea base de métricas se pueden obtener beneficios a nivel de proceso, proyecto y producto (técnico). Sin embargo la información reunida no necesita ser fundamentalmente diferente. Las mismas métricas pueden servir varias veces. Las líneas base de métricas constan de datos recogidos de proyectos de software desarrollados anteriormente y pueden ser tan simples como una tabla de datos o tan complejas como una gran base de datos que contenga docenas de medidas de proyectos y las métricas derivadas de ellos.

  21. Tarea: 1.- Investiga el método de desarrollo de métricas: OPM 2. El equipo A encontró 342 errores durante el proceso de ingeniería del software antes de entregarlo. El equipo B encontró 184 errores. ¿Qué medidas adicionales se tendrían que tomar para que los proyectos A y B determinen qué equipos eliminaron los errores más eficientemente?¿Qué métricas propondrían para ayudar a tomar determinaciones? ¿Qué datos históricos podrían ser útiles?

More Related