33
Universidad Técnica Particular de Loja Escuela de Ciencias de la Computación Procesos de Ingeniería de Software Arabel Aguilar Galo Lalangui

Métricas del proceso y proyecto - Procesos de Ingeniería de software

Embed Size (px)

DESCRIPTION

En la siguiente presentación se muestran aspectos relevantes acerca del proceso de medición al desarrollar soluciones software

Citation preview

Page 1: Métricas del proceso y proyecto - Procesos de Ingeniería de software

Universidad Técnica Particular de Loja

Escuela de Ciencias de la ComputaciónProcesos de Ingeniería de Software

Arabel AguilarGalo Lalangui

Page 2: Métricas del proceso y proyecto - Procesos de Ingeniería de software

INTRODUCCIÓN

Métricas aplicadas al proceso y proyecto de SW

Categorizar la medición del SW:

Métricas orientadas al tamaño

Métricas orientadas a la función

Métricas orientadas a objetos

Métricas orientadas a casos de uso

Métricas orientadas a la Ingeniería Web.

Page 3: Métricas del proceso y proyecto - Procesos de Ingeniería de software

INTRODUCCIÓN

Categorizar métricas de calidad del SW Medición de la calidad Eficacia en la eliminación de defectos

Integración de métricas del proceso de SW. Argumentos para las métricas del SW. Establecimiento de una línea base. Recopilación, cálculo y evaluación de métricas.

Page 4: Métricas del proceso y proyecto - Procesos de Ingeniería de software

TÉRMINOS CLAVE

MEDIDA: Valor asignado a un atributo de una entidad

mediante una medición.

MEDICIÓN: Es el acto de determinar una medida.

METRICA: Medida cuantitativa del grado en que un

sistema, componente o proceso posee un atributo dado.

Incluye el método de medición.

Page 5: Métricas del proceso y proyecto - Procesos de Ingeniería de software

TÉRMINOS CLAVE

INDICADOR: Es una métrica o combinación de métricas

que proporcionan una visión profunda del proceso de

software.

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.

Page 6: Métricas del proceso y proyecto - Procesos de Ingeniería de software

TÉRMINOS CLAVE

MProceso de IS

Proyecto

Producto

Recopilación de datos

Cálculo de Métricas

Evaluación de Métricas

Medidas

Métricas

Indicadores

Page 7: Métricas del proceso y proyecto - Procesos de Ingeniería de software

MÉTRICAS APLICADAS AL PROCESO DE SW (I)

Métricas de propósito estratégico.

Las métricas aplicadas al proceso establecen un conjunto

de indicadores – Mejora de procesos de SW.

Se basan en datos históricos o estadísticos.

Métricas privadas: Se aplica a individuos – y los

resultado o información no se publican.

Page 8: Métricas del proceso y proyecto - Procesos de Ingeniería de software

MÉTRICAS APLICADAS AL PROCESO DE SW (II)

Métricas públicas : Origen privada – Se publican a todo

el equipo.

Los indicadores del proceso permiten:

Al gestor, evaluar lo que funciona y lo que no

A la organización, tener una visión profunda de la

eficacia de un proceso ya existente

Page 9: Métricas del proceso y proyecto - Procesos de Ingeniería de software

MÉTRICAS APLICADAS AL PROYECTO SW (I)

Métricas de propósito táctico.

Doble finalidad

Minimizar tiempos de desarrollo – reducción de

problemas y riesgos.

Valorar calidad del producto – mejor calidad, menos

defectos – reducción de reelaboración.

Page 10: Métricas del proceso y proyecto - Procesos de Ingeniería de software

MÉTRICAS APLICADAS AL PROYECTO SW (II)

Los indicadores del proyecto permiten al gestor:

Evaluar el estado del proyecto en curso

Seguir la pista de riesgos potenciales

Detectar áreas problemáticas antes de que se conviertan en

críticas

Ajustar el flujo y las tareas de trabajo

Evaluar la habilidad del equipo del proyecto en controlar la

calidad de los productos de trabajo de la IS

Page 11: Métricas del proceso y proyecto - Procesos de Ingeniería de software

MEDICIÓN DEL SW

Medidas Directas Medidas Indirectas

Coste Funcionalidad

Esfuerzo humano Calidad

Líneas de código Complejidad

Velocidad de ejecución Eficiencia

Tamaño de memoria Fiabilidad

Número de defectos Facilidad de uso

etc. etc.

Page 12: Métricas del proceso y proyecto - Procesos de Ingeniería de software

Métricas del Software

Métricas Orientadas al tamaño

Métricas Orientadas a la función

Medidas directas del resultadoy del proceso

Medidas indirectas del software y del proceso

Page 13: Métricas del proceso y proyecto - Procesos de Ingeniería de software

Métricas orientadas al tamaño

Esfuerzo humano (persona - mes)

Coste (USD)

Páginas de documentación

N° de errores

N° de defectosLDC

Productividad = KLDC / persona-mesCalidad = N° de errores (defectos) / KLDCCoste medio = USD / KLDCDocumentación = KLDC / persona-mes

Page 14: Métricas del proceso y proyecto - Procesos de Ingeniería de software

MEDIDAS LDC

n1: número de operadores diferentes que aparecen en el

programa.

n2: número de operandos diferentes que aparecen en el

programa.

N1: número total de veces que aparece el operador.

N2: número total de veces que aparecen el operando.

Page 15: Métricas del proceso y proyecto - Procesos de Ingeniería de software

Ejemplo (I):

Programa de ordenación por intercambio

  SUBROUTINE SORT(X,N)

  DIMENSION X(N)

  IF (N .LT. 2) RETURN

  DO 20 I=2, N

    DO 10 J=1, I

    IF (X(I) .GE. X(J)) GO TO 10

      SAVE = X(I)

      X(I) = X(J)

      X(J) = SAVE

10 CONTINUE

20 CONTINUE

  RETURN

  END

Page 16: Métricas del proceso y proyecto - Procesos de Ingeniería de software

  Operador Cuenta

1 Fin de sentencia 7

2 Subíndices de arreglos 6

3 = 5

4 IF() 2

5 DO 2

6 , 2

7 Fin de programa 1

8 .LT. 1

9 .GE. 1

10 GO TO 10 1

Total 28

De esta tabla se desprenden los valores de n1=10 y N1=28.

Ejemplo (II):

Page 17: Métricas del proceso y proyecto - Procesos de Ingeniería de software

  Operando Cuenta

1 X 6

2 I 5

3 J 4

4 N 2

5 2 2

6 SAVE 2

7 1 1

Total 22

De esta tabla se desprenden los valores de n2=7 y N2=22.

Ejemplo (III):

Page 18: Métricas del proceso y proyecto - Procesos de Ingeniería de software

Calcular la productividad, calidad, coste medio y

documentación de acuerdo a la información proporcionada en

la tabla que se muestra a continuación:

Productividad = KLDC / personas-mes

Calidad = Nº errores (defectos) / KLDC

Coste medio = Dólares / KLDC

Documentación = Páginas de documentación / KLDC

Proyecto

KLDC Esfuerzo

$(000)

pp. Doc.

Errores

Defectos

Personas

Alfa 12,1 24 168 365 134 29 3

Beta 27,2 62 440 1224 321 86 5

Gamma

20,2 43 314 1050 256 64 6

Page 19: Métricas del proceso y proyecto - Procesos de Ingeniería de software

Métricas orientadas a la función

Esfuerzo humano (persona - mes)

Coste (USD)

Páginas de documentación

N° de errores

N° de defectosPF

Productividad = PF / persona-mesCalidad = N° de errores (defectos) / PFCoste medio = USD / PFDocumentación = PF / persona-mes

Page 20: Métricas del proceso y proyecto - Procesos de Ingeniería de software

Métricas orientadas a la función

PF = cuentatotal X [0,65 + 0,01 * Sumatoria (Fi) ]

Punto de función

Sumatoria total resultante de la ejecutar las operaciones

en la tabla siguiente

Valores de ajuste de

complejidad

En función de un cuestionario de 14 preguntas (Anexo 1), las mismas que se evalúan en una

escala de 0 (no importante o aplicable) a 5 (absolutamente esencial)

Page 21: Métricas del proceso y proyecto - Procesos de Ingeniería de software

  Factor de ponderación  

Parámetro de medición Cuenta   Simple Media Compl.ejo    

Número de entradas del usuario

3 X 3 4 6 = 9

Número de salidas del usuario 2 X 4 5 7 = 8

Número de consultas del usuario

2 X 3 4 6 = 6

Número de archivos 1 X 7 10 15 = 7

Número de interfaces externas 4 X 5 7 10 = 20

Cuenta total 50

TABLA PARA EL CÁLCULO DE LOS PUNTOS DE FUNCIÓN

Page 22: Métricas del proceso y proyecto - Procesos de Ingeniería de software

Para el ejemplo descrito se asume que la Fi es 46 (un producto moderadamente complejo), por

consiguiente:

      PF = 50 x (0,65 + 0,01 x 46) = 55.5 ≈ 56

Donde cuenta-total es la suma de todas las entradas PF obtenidas de la figura 9.2 y Fi (i=1 a 14)

son los "valores de ajuste de complejidad". 

TABLA PARA EL CÁLCULO DE LOS PUNTOS DE FUNCIÓN (aplicación)

Page 23: Métricas del proceso y proyecto - Procesos de Ingeniería de software

MEDICIÓN DEL SW

No proporcionan suficiente granularidad para la

planificación.

Métricas sugeridas

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

MÉTRICAS ORIENTADAS A OBJETOS

Page 24: Métricas del proceso y proyecto - Procesos de Ingeniería de software

MEDICIÓN DEL SW

Describen funciones y características visibles al usuario.

Independiente del lenguaje de programación.

Dependen de la complejidad del problema – no existe un

tamaño estándar.

MÉTRICAS ORIENTADAS A CASOS DE USO

Page 25: Métricas del proceso y proyecto - Procesos de Ingeniería de software

MEDICIÓN DEL SW

No se puede aplicar las métricas para el SW convencional.

Medidas aplicables a un proyecto Web

Número de páginas Web estáticas.

Número de páginas Web dinámicas.

Número de vínculos internos de 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.

MÉTRICAS DE PROYECTOS DE INGENIERÍA WEB

Page 26: Métricas del proceso y proyecto - Procesos de Ingeniería de software

MÉTRICAS DE CALIDAD DEL SW

Medidas de calidad del SW:

Corrección: grado en que el SW lleva a cabo su función.

Facilidad de mantenimiento: representa la facilidad de

corregirse y adaptarse a un cambio.

Integridad: Mide la habilidad de un sistema para resistir

ataques (tanto accidentales como intencionados) contra su

seguridad.

Facilidad de uso: Intento por medir lo amigable que puede

ser un programa con el usuario.

MEDICIÓN DE LA CALIDAD

Page 27: Métricas del proceso y proyecto - Procesos de Ingeniería de software

MÉTRICAS DE CALIDAD DEL SW

La Eficacia de la Eliminación de Defectos (EED) es una

medida de la habilidad de filtrar de las actividades de la

garantía de calidad y de control, al aplicarse a todas las

actividades del marco de trabajo del proceso.

Valora la habilidad de un equipo – encontrar errores –

antes siguiente fase.

Eficacia en la eliminación de defectos (EDD)

Page 28: Métricas del proceso y proyecto - Procesos de Ingeniería de software

INTEGRACIÓN DE MÉTRICAS DEL PROCESO DE SW

Permite determinar si existe o no la mejora de proceso y/o producto.

Se emplea para establecer una línea base – evaluar mejoras.

Sirve como fundamento para estimaciones futuras. El equipo del software puede establecer metas

significativas – mejora proceso.

Argumentos para las métricas del software

Page 29: Métricas del proceso y proyecto - Procesos de Ingeniería de software

INTEGRACIÓN DE MÉTRICAS DEL PROCESO DE SW

Consiste en datos recopilados de proyectos previos. Atributos de los datos de una línea base:

Razonablemente precisos. Máxima recopilación de datos. Medidas consistentes. Aplicaciones similares al trabajo que se estimará

Establecimiento de una línea base

Page 30: Métricas del proceso y proyecto - Procesos de Ingeniería de software

INTEGRACIÓN DE MÉTRICAS DEL PROCESO DE SW

Requiere una investigación histórica de datos – calcular métricas.

Evaluación y aplicación de las métricas.

Recopilación, cálculo y evaluación de métricas.

Page 31: Métricas del proceso y proyecto - Procesos de Ingeniería de software

Anexo 1: Preguntas para calcular el valor de ajuste de complejidad (I)

1. ¿El sistema requiere respaldo y recuperación confiables?

2. ¿Se requieren comunicaciones de datos especializadas para transferir información a la aplicación?

3. ¿Hay funciones distribuidas de procesamiento?

4. ¿El desempeño es crítico?

5. ¿El sistema se ejecutará en un entorno existente que tiene un uso pesado de operaciones?

6. ¿El sistema requiere entrada de datos en línea?

7. ¿La entrada de datos en línea requiere que la transacción de entrada se construya en varias pantallas u operaciones?

Page 32: Métricas del proceso y proyecto - Procesos de Ingeniería de software

Anexo 1: Preguntas para calcular el valor de ajuste de complejidad (II)

8. ¿Los archivos lógicos internos (ALI) se actualizan en línea?

9. ¿Las entradas, las salidas, los archivos o consultas son complejos?

10. ¿Es complejo el procesamiento interno?

11. ¿El código diseñado será reutilizable?

12. ¿Se incluyen la conversión e instalación en el diseño?

13. ¿Está diseñado el sistema para instalaciones múltiples en diferentes organizaciones?

14. ¿La aplicación está diseñada para facilitar el cambio y para que el usuario lo use fácilmente?

Page 33: Métricas del proceso y proyecto - Procesos de Ingeniería de software

Fuentes Bibliográficas

[PRESSMAN2005] PRESSMAN R. (2005) Ingeniería del software - un enfoque práctico Mc Graw Hill Sexta edición

Universitat Jaume, E77 -Gestión de Recursos de la Información, (en línea) citado el 8 de abril del 2008. Disponible en WWW: http://www.vision.uji.es/~sanchez/Teach/PDF-E77/Tema1.pdf

SALAZAR, E. y SALAZAR M., Métricas de proceso y proyecto, artículo.