métricas de proceso y proyecto de software

33
UNIVERSIDAD TECNICA PARTICULAR DE LOJA “La Universidad Católica de Loja” PROCESOS DE INGENIERÍA DE SOFTWARE MÉTRICAS DE PROCESO Y PROYECTO LORENA LEÓN GABRIELA PUGLLA

Upload: lorena-quinonez

Post on 24-Jan-2015

52.912 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Métricas de Proceso y proyecto de software

UNIVERSIDAD TECNICA PARTICULAR DE LOJA

“La Universidad Católica de Loja”

PROCESOS DE INGENIERÍA DE SOFTWAREMÉTRICAS DE PROCESO Y PROYECTO

LORENA LEÓNGABRIELA PUGLLA

Page 2: Métricas de Proceso y proyecto de software

Métricas de Proceso y Proyecto

Page 3: Métricas de Proceso y proyecto de software

Métricas de Proceso y ProyectoHay cuatro razones para medir: Caracterizar, Evaluar, Predecir y Mejorar. • Medida: Valor asignado a un atributo de una entidad mediante una medición. Ejemplo: 35.000 líneas de código • Medición: Es el acto de determinar una medida. Ejemplo: Ana será la encargada de medir las LDC de cada módulo del sistema.• Métrica: Medida cuantitativa del grado en que un sistema, componente o proceso

posee un atributo dado. Incluye el método de medición. Ejemplo: La productividad de este proyecto fue de 500 líneas (LDC/persona-mes) • Indicador: Es una métrica o combinación de métricas que proporcionan una visión

profunda del proceso de software. Ejemplo: La productividad media de nuestra empresa es de 500 (LDC/pm).

Las métricas nos ayudan a entender tanto el proceso técnico que se utiliza para desarrollar un producto, como el propio producto. El proceso para intentar mejorarlo y el producto para intentar aumentar su calidad.

Page 4: Métricas de Proceso y proyecto de software

INTRODUCCIÓN• Son medidas cuantitativas que permiten a los

ingenieros de software obtener una visión de la eficacia del proceso de software y los proyectos que llevan a cabo utilizando el proceso como marco de trabajo.

• Los involucrados en analizar, evaluar y recopilar estas métricas son los gestores de software.

• Se comienza definiendo un conjunto limitado de medidas del proceso y del proyecto que puedan recopilarse con facilidad, se normaliza empleando métricas orientadas al tamaño o la función.

Métricas de Proceso y Proyecto

Page 5: Métricas de Proceso y proyecto de software

Métricas en los dominios del proceso y del proyecto

• Las métricas del proceso se recopilan en el curso de todos los proyectos.

• Las métricas del proyecto permiten que un gestor del proyecto de software:– Valore el estado de un proyecto en curso.– Rastree los riesgos potenciales.– Descubra las áreas problema.– Ajuste el flujo de trabajo o las tareas– Evalúe la habilidad del equipo del proyecto para controlar

la calidad de los productos de trabajo de software.

Page 6: Métricas de Proceso y proyecto de software

Métricas para el proceso y la mejora del proceso de software.

• Para mejorar el proceso, se miden sus atributos específicos .

• Hay que destacar que el proceso es sólo uno de varios factores controlables en la mejora de la calidad del software y el desempeño organizacional.

Page 7: Métricas de Proceso y proyecto de software

Determinantes para la calidad del software y la eficacia organizacional

Page 8: Métricas de Proceso y proyecto de software

• La eficacia de un proceso de software se mide indirectamente.

• Los resultados incluyen medidas de errores descubiertos antes de liberar el software.– Los defectos que detectan y reportan los usuarios finales– Los productos de trabajo entregados (productividad).– El esfuerzo humano gastado.– el tiempo de la planificación consumido.– Concordancia con la planificación y otras medidas.

• Las métricas del proceso de software ofrecen beneficios significativos conforme una organización trabaja en mejorar su grado de madurez del proceso. Sin embargo como todas las métricas éstas pueden emplearse mal y crear más problemas de los que solucionan

Page 9: Métricas de Proceso y proyecto de software

Reglas de Etiqueta para Métricas de software

Grady sugiere un programa de métricas de proceso del proceso tanto para gestores como para profesionales:

• Aplique el sentido común y sensibilidad organizativa cuando interprete datos métricos.

• Ofrezca retroalimentación regular a los individuos y equipos que recopilan medidas y métricas.

• No utilice las métricas para evaluar a los individuos.• Trabaje con los profesionales y equipos para establecer metas claras y las

métricas que se emplearán para conseguirlas.• Nunca use métricas para amenazar a los individuos o equipos.• Los datos métricos que indican un área problema no pueden considerarse

“negativos”. Dichos datos sólo son un indicador de la mejora del proceso.• Np se obsesione con una sola métrica y excluya otras métricas importantes.

Page 10: Métricas de Proceso y proyecto de software

Métricas del proyecto• En la mayoría de los proyectos de software ocurre durante la estimación.• Conforme el proyecto avanza las medidas de esfuerzo y tiempo

utilizados, se comparan con las estimaciones originales y planificación• Para las métricas del proyecto, se miden los índices de producción

representados en términos de modelos creados, horas de revisión, puntos de función y líneas fuente entregadas.

La finalidad de las métricas del proceso:• Se emplean para minimizar el tiempo de desarrollo.• Se utilizan para valorar la calidad del producto sobre una base actual.

Page 11: Métricas de Proceso y proyecto de software

MEDICIÓN DEL SOFTWARE

La medición de software se clasifica en dos categorías.

1. Medidas directas del proceso de software (Costo, esfuerzo) y del producto (Líneas de código producidas, rapidez de ejecución y efectos reportados.)

2. Medidas indirectas del producto que incluyen funcionalidad, calidad, complejidad, eficiencia, confiabilidad, facilidad de mantenimiento, y muchas otras habilidades.

Page 12: Métricas de Proceso y proyecto de software

MEDICIÓN DEL SOFTWARE

Page 13: Métricas de Proceso y proyecto de software

Métricas orientadas al tamaño

• Proceden de la normalización de las medidas de calidad o productividad considerando el tamaño del software que se ha producido

• Las métricas orientadas al tamaño se aceptan universalmente como la mejor forma de medir el tamaño del proceso.

Page 14: Métricas de Proceso y proyecto de software

Métricas orientadas a la función.

• Se emplean como un valor de normalización una medida de la funcionalidad que entrega la aplicación

Page 15: Métricas de Proceso y proyecto de software

Métricas orientadas a objetos

No proporcionan suficiente granularidad para la planificación y losajustes de esfuerzo. Las siguientes son métricas sugeridas paraproyectos OO:

• Número de guiones de escenario

• Número de clases clave

• Número de clases de apoyo

• Número promedio de clases de apoyo por clase clave.

• Número de subsistemas.

Page 16: Métricas de Proceso y proyecto de software

Métricas orientadas a casos de uso El caso de uso se define en etapas tempranas del proceso de software, lo que permiteemplearlo en la estimación antes de iniciar las actividades significativas de modeladoconstrucción.

Métricas de proyectos de ingeniería Web

“El objetivo de los proyectos de ingeniería Web es construir una aplicación Web que proporcione una combinación de contenido y funcionalidad al usuario final.” Entre las medidas que se recopilan existen las siguientes:

• Número de páginas web estáticas • Número de páginas web dinámicas • Número de vínculos internos de la página • Número de objetos de datos persistentes • Número de sistemas externos en interfaz • Número de objetos de contenido estático • Número de objetos de contenido dinámico • Número de funciones ejecutables

Page 17: Métricas de Proceso y proyecto de software

METRICAS PARA LA CALIDAD DEL SOFTWARE

La meta primordial de la ingeniería del software es producir un sistema, aplicación o producto de alta calidad dentro de un marco temporal que satisfaga una necesidad del mercado.

Page 18: Métricas de Proceso y proyecto de software

Medición de la calidad

• Corrección• Facilidad de mantenimiento• integridad• Facilidad de uso

Estas medidas de la calidad del software ofrecen indicadores útiles para el equipo del proyecto

Page 19: Métricas de Proceso y proyecto de software

• Corrección: es el grado en que el software desempeña la función para la que fue creado donde los defectos se definen como una falta de concordancia con los requisitos.

• Facilidad de mantenimiento: es la sencillez con la que

un programa puede corregirse si se cuenta con un error, adaptarse si su entorno cambia, o mejorar si el cliente desea un cambio en los requisitos esta medida demanda mas esfuerzos dentro de las actividades de la ingeniería de software.Medida: tiempo medio de cambio( análisis, diseño, implementación, prueba, distribución).

Page 20: Métricas de Proceso y proyecto de software

• Integridad: mide la habilidad de un sistema para resistir a ataques ya sea accidentales o intencionales a su seguridad. Se pueden dar en los programas, datos y documentos. La medición de la integridad define dos atributos:

Amenaza: puede estimarse o deducirse es la probabilidad de que un ataque suceda en un tiempo determinado. Seguridad: es la probabilidad de que se repela la amenaza.

Integridad = 1 – (amenaza x (1 – seguridad ))

• Facilidad de uso: es un intento por cuantificar el uso de la aplicación al utilizarla y se puede medir en términos del Diseño de la Interfaz del Usuario(cap 12).

Page 21: Métricas de Proceso y proyecto de software

INTEGRIDADPor ejemplo: si la amenaza (la probabilidad de que un ataque ocurrirá ) es 0,25 y la seguridad (la posibilidad de repeler un ataque) es 0,95, la integridad del sistema es 0,99 (muy elevada). Si por otra parte, la probabilidad de amenaza es 0,50 y la posibilidad de repeler un ataque es solo 0,25, la integridad del sistema es 0,63(inaceptablemente baja).

Page 22: Métricas de Proceso y proyecto de software

Eficacia en la Eliminación de Defectos (EED)

• Ofrece beneficios tanto en el ámbito como en el proceso del proyecto.

• Filtra actividades de cualidad y de control dentro de las actividades del marco de trabajo del proceso

• Cuando se considera un proyecto como un todo de define:

EED = E / (E + D) Donde el E es el numero de errores encontrados antes de entregar el s/w al usuario final, y D es el numero de defectos encontrados después de la entrega. El valor ideal de EED es 1

Page 23: Métricas de Proceso y proyecto de software

La EED también se puede aplicar antes de que pase a la siguiente actividad del marco de trabajo o a la siguiente tarea de la ingeniería del software. Se define como:

donde Ei es el numero errores encontrados durante la actividad i y Ei+1 es el numero de errores encontrado durante la actividad i+1 de ingeniería de software.

Page 24: Métricas de Proceso y proyecto de software

INTEGRACIÓN DE LAS MÉTRICAS DENTRO DEL PROCESO DE SOFTWARE

Los beneficios de la medición son muy convincentes que el trabajo duro vale la pena.¿Por qué es importante medir el proceso de la ingeniería de software y el producto que se elabora ?

• Argumentos para las métricas del software• Establecimiento de una línea base • Recopilación, calculo y evaluación de métricas.

Page 25: Métricas de Proceso y proyecto de software

Argumentos para las métricas del software: Si no se mide no existe una forma real de

determinar si se esta mejorando. Y si no se mejora, se esta perdido.

Si el proceso se puede mejorar producir un impacto directo en lo sustancial

Establecer objetivos de mejora dentro del proceso actual del desarrollo de s/w.

La recopilación de métricas de calidad permite qu una organización centralice su proceso de s/w para renovar las causas de los defectos que tienen mayor impacto sobre el desarrollo del software.

Page 26: Métricas de Proceso y proyecto de software

Establecimiento de una Línea Base

Se obtienen beneficios en los ámbitos del proceso, del proyecto y del producto.

La línea base de métricas consiste de datos recopilados en proyectos previos.

Los datos de la línea base deben tener los siguientes atributos: los datos deben ser precisos, los datos deben recopilarse para tantos proyectos sean posibles, las medidas deben ser consistentes, las aplicaciones deben ser similares al trabajo que se estimara.

Page 27: Métricas de Proceso y proyecto de software

Recopilación, calculo y evaluación de métricas

Page 28: Métricas de Proceso y proyecto de software

METRICAS PARA ORGANIZACIÓN PEQUEÑAS

Un enfoque de sentido común respecto a la implementación de cualquier actividad relacionada con el proceso de software es mantenerlo simple, personalizado para satisfacer las necesidades locales y asegurarse de que valor agregar.

Page 29: Métricas de Proceso y proyecto de software

• Mantenerlo simple: consiste en enfocarse no sobre las mediciones sino mas bien sobre los resultados.

• Entrevistar al grupo de software para definir un objetivo sencillo que requiere mejora.

• Una organización pequeña puede seleccionar el siguiente conjunto de medidas: – Tiempo transcurrido desde el momento en que se hizo una solicitud hasta que

la evaluación esta completa.– Esfuerzo para realizar la evaluación.– Tiempo transcurrido desde que se completa la evaluación hasta la asignación

del pedido de cambio del personal.– Esfuerzo requerido para hacer el cambio.– Tiempo requerido para hacer el cambio.– Errores descubiertos durante el trabajo para hacer el cambio.– Defectos descubiertos después de que el cambio es liberado a la base de

clientes.

Page 30: Métricas de Proceso y proyecto de software

ESTABLECIMIENTO DE UN PROGRAMA DE MÉTRICAS DE SOFTWARE

Esta dirigido por metas según el SEI(SOFTWARE ENGINEERING INSTITUTE) y define los siguientes pasos:

1. Identificar los objetivos de la empresa.2. Identificar los que se quiere conocer o aprender.3. Identificar los sub objetivos4. Identificar las entidades y atributos relacionados con

los objetivos secundarios5. Formalizar os objetivos de la medición6. Identificar preguntas cuantificables y los indicadores

relacionados que se emplearan como apoyo para lograr los objetivos de sus mediciones

7. Identificar los elementos de datos que se recopilaran para construir los indicadores que ayudaran a responder las preguntas

8. Definir las medidas que se e emplearan y hacer que estas definiciones sean operativas

9. Identificar las acciones que se tomaran para implementar las medidas

10. Prepara un plan para implementar las medidas

Page 31: Métricas de Proceso y proyecto de software

Al trabajar como equipo , la ingeniería del software y los gestores del negocio pueden confeccionar una lista de metas priorizadas del negocio:

1. Mejorar la satisfacción de los clientes con los productos .2. Hacer que los productos sean mas fáciles de usar.3. Reducir el tiempo que toma poner un producto en el

mercado 4. Simplificar el soporte para los productos5. Mejora la obtención global de utilidades

Page 32: Métricas de Proceso y proyecto de software

El personal de software desarrolla un conjunto de preguntas relacionadas con características cuantitativas por ejemplo, tamaño, costo, tiempo de desarrollo, estas preguntas se derivan de sub objetivos relacionadas con las entidades y actividades realizadas como parte del proceso del software.

Para esto se puede derivar la siguiente lista de preguntas: ¿la solicitud del cambio del cliente contiene la información requerida para evaluar adecuadamente el cambio y luego implementarlo en un forma oportuna?¿cuan grande es el registro de petición de cambio?¿el tiempo de respuesta para fijar los bugs es aceptable con base en as necesidades del cliente ¿se sigue el proceso de control de cambios?¿los cambios de alta prioridad se implementan en forma oportuna?

Page 33: Métricas de Proceso y proyecto de software

• En base a la preguntas se puede deducir el sub-objetivo: mejorara el desempeño del proceso de gestión de cambio

• Se identifican entidades y atributos del proceso de software

• Según el SEI en esencia se aplica un proceso de refinamiento paso a paso en el que los objetivos se refinan en preguntas que posteriormente se refinan en entidades y atributos que entonces se refinan en métricas.