Métricas de Software

Métricas de Software

•Se aplica las métricas para valorar la calidad de los productos de ingeniería o los sistemas que se construyen.
•Proporcionan una manera sistemática de valorar la calidad basándose en un conjunto de reglas claramente definidas.
•Se aplican a todo el ciclo de vida permitiendo descubrir y corregir problemas potenciales.

Razones para medir:

•Caracterizar: Entender el proceso actual, entorno, etc. Disponer de información de la situación anterior al cambio.
•Evaluar: Determinar la consecución de objetivos. Identificar fortalezas y debilidades del proceso
•Predecir: Entender las relaciones entre procesos y productos. Establecer objetivos alcanzables de calidad, costes y agendas
•Mejorar: Identificar causas y oportunidades de mejora. Seguir el rendimiento de los cambios y compararlo con líneas base
•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.

Medida, medición, métrica e indicador

•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.
• La aplicación continua de técnicas basadas en las medidas de los procesos de desarrollo de 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.

Las Métricas de Software implican medir: medir involucra números; el uso de números para hacer cosas mejor. Las Métricas de Software pretenden mejorar los procesos de desarrollo de Software y mejorar, por tanto, todos los aspectos de la gestión de aquellos procesos.

Estas medidas son aplicables a todo el ciclo de vida del desarrollo, desde la iniciación, cuando debemos estimar los costos, al seguimiento y control de la fiabilidad de los productos finales, y a la forma en que los productos cambian a través del tiempo debido a la aplicación de mejoras.

Las medidas del Software y los modelos de medida son entonces útiles para estimar y predecir costos y para medir la productividad y la calidad del producto. Un ingeniero del Software recopila medidas y desarrolla métricas para obtener indicadores.

•Indicador: Permite ajustar el producto, el proyecto o el proceso para que las cosas salgan mejor.
Es un dato que pretende reflejar el estado de una situación, o de algún aspecto particular, en un momento y un espacio determinados. Habitualmente se trata de un dato estadístico (porcentajes, tasas, razones…) que pretende sintetizar la información que proporcionan los diversos parámetros o variables que afectan a la situación que se quiere analizar.
•Error: Fallo en un producto que se descubre antes de entregar el SW al usuario final.
•Defecto: Un fallo que se produce una vez que se ha entregado el producto al usuario final.

Medición
•Las medidas de un atributo, realizadas con un proceso de medición, nos permiten mejorar nuestro conocimiento de la entidad a la que pertenece el atributo.
•Caracterizar o calificar con un atributo no medible una entidad es una decisión arbitraria y muestra conocimiento incompleto.

•La medición directa de un atributo, no exige mediciones de otros atributos.
•La medición indirecta exige las mediciones previas de otros atributos y la especificación de ecuaciones que los relacionen


•Es el proceso por el cual números o símbolos son asignados a atributos de entidades para describirlos de acuerdo con reglas claramente establecidas
•Elegir una medición para un atributo nos exige un grado adecuado de conocimiento del atributo

¿Que medir y para que medir?
•Proceso - duración, costo, efectividad o eficiencia
•Producto - tamaño, calidad
•Recursos - magnitud, costo, calidad

Métricas
Las métricas son mediciones, colecciones de datos sobre actividades del proyecto, recursos y entregables. Las métricas se pueden usar para ayudar a estimar proyectos, medir el progreso y el rendimiento del proyecto y cuantificar los atributos del producto. Las métricas de software se pueden clasificar en tres categorías: Métricas del producto (tamaño, complejidad, rendimiento) Métrica de proceso (utilizada para mejorar el desarrollo y el mantenimiento) Métricas del proyecto (costo, cronograma, productividad)

La medición es fundamental para cualquier disciplina porque nos permite hacer una evaluación objetiva.

“Métrica como una medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado”

Utilidad de las métricas
•Cuantificamos el proceso de producción del software?
•Cuantificamos la calidad del producto software?
•Poseemos una base de datos con mediciones anteriores?
•Conocemos la probabilidad de falla en un periodo dado de uso?
•Conocemos el trabajo para llevar un producto de un ambiente a otro?
•Que evidencia tenemos de las mejoras prometidas por metodologías o herramientas?

Caracterizar:
Entender el proceso actual, entorno, etc.
Disponer de información de la situación anterior al cambio.

Evaluar:
Determinar la consecución de objetivos
Identificar fortalezas y debilidades del proceso

Predecir:
Entender las relaciones entre procesos y productos
Establecer objetivos alcanzables de calidad, costes y agendas

Mejorar:
Identificar causas y oportunidades de mejora
Seguir el rendimiento de los cambios y compararlo con líneas base


Tamaño de productos
•Se mide desde distintos puntos de vista
•Esfuerzo de programación
– “Líneas de Código” (Barry Bohem)
•Funcionalidad para el usuario
– “Function Points” (Albrecht)
– “Feature Points” (Capers Jones)
•Funcionalidad para el usuario
–Casos de Uso

Productividad
•Económicamente: es el valor producido en bienes o servicios por unidad de tiempo o de recurso
•El valor debe ser comprensible para el cliente y el proveedor del producto
•Para el software se mide en tamaño del software / esfuerzo
•Ejemplo Puntos de Función (PF) / horas-persona

Esfuerzo
•Es el producto de dos factores:
•Cantidad de unidades de un tipo de recursos usados en las actividades de un proceso
•Cantidad de unidades de tiempo durante las cuales se utiliza la cantidad del tipo de recursos
•Es un área con dos ejes: cantidad y tiempo
•Una vez estimado el tamaño se utilizan medidas de productividad para calcular:el esfuerzo
•Las medidas de productividad se calculan para cada tipo de actividad y cada tipo de recurso en un proceso

Tiempo en proyectos

•En una actividad de desarrollo de software, la productividad medida en procesos anteriores es: 1 Function Points/hs-persona
•El tamaño del producto software es 300 FP
•El esfuerzo se calcula como: 300/1 y se expresa como 300 hs-persona
•Para calcular el tiempo debemos asignar una cantidad al recurso
•Ejemplo: 2 personas, tiempo:300 hs-p / 2 p = 150 horas
•Ejemplo: 5 personas, tiempo: 300 hs-p / 5 p = 60 hs
•La cantidad de personas asignadas simultáneamente en una actividad depende de la factibilidad técnica del trabajo simultáneo de esa cantidad de personas
•Por ejemplo, en una actividad de programación, disponer de estaciones de trabajo adecuadas y documentación de diseño

Costo en proyectos
•Se mide el tamaño de los entregables del proyecto.
•Se eligen procesos para el desarrollo de los mismos
•Se estiman para cada actividad en cada proceso el esfuerzo para realizarla
•Se eligen los tipos de recursos para cada actividad
•Se calcula el costo para los recursos estimados en cada actividad (personas y equipos)
•El costo del proyecto es la suma de los costos de todas las actividades

Comparar precios en productos
•Se mide la funcionalidad (tamaño) de cada producto o de sus componentes separables
•Se obtiene el precio para el producto o para cada componente separable
•Se calcula un precio por unidad de funcionalidad para el producto o para cada componente separable
•Se comparan los precios por unidad de funcionalidad calculados

Ejemplo medida, medición, métrica e indicador




Comentarios

Entradas más populares de este blog

Tipos Métricas de Software

SWEBOK

Tipos de Sistemas de Información