Calidad del Software

Texto completo

(1)

Calidad del Software

ITI Gestión

curso 2010/2011

M.E.Manso.

2

1.

Medición y experimentación en Ingeniería

del Software

ƒ

Introducción

ƒ

Teoría representacional de la medición.

ƒ

Experimentación en Ingeniería del software.

2.

Medidas del Producto

3.

Modelos y métricas del Proceso

4.

Calidad del Software

Programa

Medición Calidad del Software

(2)

M.E.Manso.

3

• [Dolado, J., 2000] Dolado COSÍN, J. J. & Fernández SANZ, L. "Medición para la gestión en Ingeniería del Software". Ra-Ma. 2000.

ƒ Fernández, L. ‘Teoría de la medición del software’

ƒ Es el texto recomendado para la asignatura, pues contiene información y referencias muy valiosas sobre la medición en I. del Software.

• [Fenton, N. 1997] Fenton, N. 1997. "Software quality assurance & Measurement. A worldwide perspective". Second

edition.Chapman&Hall.

ƒ Texto recomendado para la parte de métricas. Proporciona el marco en el que desarrollar las actividades de medición del software y experimentación.

1. Medición y Experimentación

Bibliografía

Medición Calidad del Software

4

Manejar los conceptos básicos de la teoría representacional

de la medición.

Conocer el papel de la medición en Ingeniería del Software

(IS)

Conocer ideas básicas de experimentación y su utilidad en

IS

Conocer los problemas de la experimentación en IS, y

algunas soluciones.

1. Objetivos del Tema 1

Medición Calidad del Software

(3)

M.E.Manso.

1.1 Introducción

¿Porqué medir?

IS: “.. Aplicación de principios de ingeniería...

para la producción de Software de calidad“

Humphrey, 1989

Medir el software es una tarea pendiente.

Hay que validar las métricas que se utilizan.

Para

medir

se

necesitan

objetivos

claros

y

específicos

que guíen el proceso de medición.

Se debe ser crítico: medir un atributo no garantiza que

la medición sea satisfactoria.

M.E.Manso.

6

Necesidad de Medir en I.S.

“Los proyectos sin metas claras no podrán

alcanzar claramente las metas”

Principio de Gilb de patrones difusos

Algunos ejemplos…

ƒ

Patrones de medida: ¿son fáciles de usar?

ƒ

Comportamiento de los procesos: ¿modelos?

ƒ

Hay productos de los que se desconoce la calidad

¿Cómo garantizar su comportamiento al usuario?

ƒ

Mercado con referencias “anecdóticas” ...

Introducción Calidad del Software

(4)

M.E.Manso. 7

Caracterizar

Evaluar

Predecir

Mejorar

Productos

Procesos

Recursos

Introducción

Objetivos de la Medición

Calidad del Software

Medir para

Caracterizar, entender y establecer bases de referencia

Evaluar, conocer el estado actual, con respecto a una

referencia (¿desviaciones? ¿ % de cumplimiento? …)

Predecir y así poder planificar

Identificar las oportunidades de mejora (¿Llegamos a los

límites? ¿Se ha mejorado?...)

8

Objetivos de Gestión

ƒ

¿Coste de los procesos?

ƒ

¿Productividad del equipo?

ƒ

¿Bondad del código

desarrollado?

ƒ

¿Satisfacción del usuario?

Introducción

Objetivos de Ingeniería

ƒ

¿Son contrastables los

requisitos?

ƒ

¿Hemos probado y depurado

adecuadamente el producto?

ƒ

¿Hemos alcanzado los

objetivos?

ƒ

¿Que ocurrirá en el futuro?

¿Podemos predecir?

Objetivos de la Medición

(5)

M.E.Manso.

Medición: “

Proceso

que permite asociar números o

símbolos a atributos de entidades de un dominio del

mundo real, de forma que los describe de acuerdo a

reglas claramente especificadas”

Fenton, 1997

1.2 Medición y Medida (i)

Medición

(measurement): aplicación (mapping) desde el

mundo empírico real (dominio) al mundo formal (rango).

Medida

(measure): número o símbolo asociado por la

aplicación para representar el atributo de la entidad del

mundo real (un objeto, un suceso, una persona ...)l

M.E.Manso.

10

¿Cuánto debemos conocer de un atributo para considerar

que está medido?

ƒ

¿Qué es la Complejidad del software?

ƒ

¿Qué es la superficie de un terreno?

ƒ

¿Cómo sé que he medido realmente el atributo que

quería?

ƒ

¿Es el nº de errores una medida de la calidad del

software? Y si no ¿cuál es?

Teoría medición

Medición y Medida (ii)

(6)

M.E.Manso.

11

Ya disponemos del proceso de medición

¿Qué aserciones podemos hacer sobre el atributo y las

entidades que lo poseen?

Ejemplo:

Superficie1=30Ha

2

Superficie2=60Ha

2

Calidad1=30 Calidad2=60

¿Cómo podemos comparar la calidad de dos diseños?

¿Tiene sentido hablar de doble calidad de diseño? ¿Y de doble

superficie?

Teoría medición

Medición y Medida (iii)

Calidad del Software

12

Validez Teórica

¿Que axiomas cumple?

¿Que escala de medida tiene? ...

Validez empírica (experimentos)

¿Sirve para medir realmente el atributo?

¿Es un modelo de Predicción válido?

¿Cuál de las dos interesa en IS?

Teoría medición

Tipos de Validez

(7)

M.E.Manso.

Fases de la Medición Formal

Identificar relaciones

empíricas del

atributo

Identificar relaciones

numéricas para cada

relación empírica

Definir la aplicación

del mundo real a R

Comprobar que las relaciones

numéricas preservan y son

preservadas por las empíricas

Condición representacional

Identificar atributos

de una entidad del

mundo real

M.E. Manso.

14

La Medición debe:

ƒ

Representar adecuadamente los atributos a los que

se asocian números o símbolos y

ƒ

Preservar las relaciones que tienen los elementos,

objeto de la medición.

Las manipulaciones en el sistema numérico o simbólico

deben tener sentido en el mundo real.

Teoría medición

Teoría Representacional de

la Medición

(8)

M.E.Manso.

15

Nominal

Se clasifica cada entidad (Código por lenguajes)

Permite cualquier biyección

Ordinal

Se clasifican las entidades en grupos ordenados

(Fallos: muy graves, graves, leves o cosméticos)

Permite cualquier aplicación monótona

Teoría medición

Tipos de Escala (i)

Calidad del Software

16

De Intervalo

La diferencia existente entre un valor y

otro consecutivo en orden es siempre la

misma. Preserva diferencias.

grados Celsius o centígrados

Permite cualquier transformación afín

M = a M’+b

Teoría medición

Tipos de Escala (ii)

(9)

M.E.Manso.

De Ratio

Cumple las condiciones de la escala de intervalo, y además

hay un cero de referencia

(grados Kelvin, LDC de un programa…)

Permite cualquier cambio de escala (M=aM’ / a>0)

Absoluta

Se mide siempre contando elementos y sólo es posible una

representación: el recuento real de elementos

Número de personas en un proyecto

Sólo permite la Identidad M=M’

Tipos de Escala (iii)

M.E.Manso.

18

¿Que se puede decir de las entidades medidas que

tenga sentido (Meaningfulness)?

Debe ser invariante frente a las transformaciones

propias de la escala.

ƒ

El número de errores encontrados durante los test de

integración fue de 100

ƒ

El coste de depuración de cada error en el programa X fue

de al menos 100

ƒ

Un error semántico se depura en el doble de tiempo que

uno sintáctico

Teoría medición

Tipos de Escala (iv)

(10)

M.E.Manso.

19

C={diagramas de flujo}

Atributo: complejidad

Medida: número de decisiones binarias V(G)

¿V(G1) = V(G2) ↔ G1 y G2 son igual de

complejos?

G1

G2

Teoría medición Calidad del Software

Ejemplo escala (i)

Ejemplo escala (ii)

20

Tipo de

Escala

Transformación

Admisible

Operadores

básicos

Ejemplos

Nominal Cualquier transformación uno a uno Determinación de igualdad

Etiquetas del tipo: Nombre de los lenguajes Perfil Profesional (Gestor, Ingeniero de software, Programador, etc.) Ordinal y1> y2 si x1> x2 Las de arriba y

mayor que, menor que

Rankings y Ordenaciones: Prioridad y severidad

(11)

Ejemplo escala (iii)

M.E. Manso.

Tipo de

Escala

Transformación

Admisible

Operadores

básicos

Ejemplos

Ratio Y= ax a>0 Las de arriba e

igualdad de ratios Intervalos de tiempo Coste, esfuerzo, longitud… Absoluta Y=x Todos Contadores

Probabilidad

M.E.Manso.

22

Teoría medición

Modelo Estructural

(Kitchenham)

Calidad del Software

Entidad (

a medir)

Valor (medida) 

Atributo

(dimensión) 

Tipo de escala

Unidad

se expresa en    (1:1)

se aplica a     (1:1)

pertenece a    (1:1)

posee    (m:n)

cuantifica    

(m:n)

Mundo real

Mundo formal

(12)

M.E.Manso.

23

Medida cuantitativa del grado en que un sistema,

componente o proceso posee un atributo dado

(IEEE, 1993).

Entidades software

Medidas

Atributo

j

¿Qué métricas conoce?

E

Métrica(entidad

i

)

R

Regla de asignación de valores a entidades

Métricas del Software

Teoría medición Calidad del Software

24

Clasificación de las Métricas (i)

Teoría medición Calidad del Software

Directas / Indirectas

De atributos que son/no son mensurables directamente

ƒ

Longitud de un código fuente

ƒ

Tiempo para desarrollar un programa.

ƒ

Productividad de un programador.

• Simples / Compuestas

Compuestas: tratan de capturar atributos cualitativos

por medio de medidas directas/indirectas que se

ponderan.

)

Interpretación, comparación de resultados...

• Objetivas o Subjetivas

(13)

Clasificación de las Métricas (ii)

Atributos externos, que dependen del comportamiento del

producto en un entorno determinado:

ƒ Usabilidad

ƒ Integridad

ƒ Eficiencia

ƒ Reusabilidad

ƒ Portabilidad

Atributos internos del producto:

ƒ Medidas de tamaño (longitud del código, funcionalidad

ƒ Medidas de diseño

• Acoplamiento: grado de interdependencia entre módulos

• Cohesión: grado en el los componentes locales de un módulo colaboran para realizar una tarea concreta

• ……. M.E. Manso.

M.E.Manso.

26

Producto

Atributo interno

Atributo

externo

Especificaciones

Tamaño, reutilización, modularidad, redundancia, funcionalidad, sintaxis, corrección

Fácil de comprender, fácil mantenimiento

Diseño

Tamaño, reutilización, modularidad, cohesión, acoplamiento,

funcionalidad

Calidad,

complejidad fácil mantenimiento

Código

Tamaño, reutilización, modularidad, cohesión, acoplamiento, funcionalidad, complejidad algorítmica... Calidad, complejidad fácil mantenimiento Fiabilidad fácil uso

Test

Tamaño Cobertura Calidad

Calidad del Software

Clasificación (Fenton-i)

(14)

M.E.Manso.

27

Teoría medición

Entidades Atributo interno

Atributo externo

Procesos y Recursos

Construcción de Especificaciones

Tº de esfuerzo, nº de

cambios Calidad, Coste, Estabilidad

Diseño Tº de esfuerzo, nº de errores

en las especificaciones Efectividad-Costes

Test Tº, Esfuerzo, Nº de errores

encontrados Efectividad-Costes, Fiabilidad, Estabilidad

Personal Edad, Coste Productividad,

Experiencia

Equipos Tamaño, Nivel de

Comunicación Productividad, Calidad

Software Precio, Tamaño Usabilidad, Fiabilidad..

Hardware Precio, Memoria, Rapidez Fiabilidad

Calidad del Software

Clasificación (Fenton-ii)

Ejemplo de Medidas (i)

28

Recursos

Atributos

Medidas posibles

Tamaño del equipo Número de personas asignadas Personal asignado Experiencia Años de experiencia en

programación

Perfil profesional Perfil profesional (Jefe de proyecto, Analista, Programador)

Herramientas CASE Tipo ¿Se utiliza?

Nombre del tipo Si/No

Tiempo

Fechas comienzo y fin Duración

Fechas del calendario

(15)

Ejemplo de Medidas (ii)

M.E. Manso.

Producto

Atributos

Medidas posibles

Sistema

Tamaño

Número de módulos/programas Número de puntos función Número de unidades físicas

Número de líneas físicas de código fuente Número de bytes de memoria requeridos Densidad de

defectos

Número de defectos/módulos, programas Número de defectos/puntos función

Programa Longitud

Líneas físicas de código fuente Sentencias lógicas de código fuente

Ejemplo de Medidas (iii)

M.E. Manso.

30

Producto

Atributos

Medidas posibles

Unidad Número de caminos LI Complejidad de Mc cabe Documento Longitud Número de páginas

Defectos Tipo Origen Gravedad Esfuerzo_Corrección Tiempo_Corrección

Nombre del tipo

Lugar/actividad donde se localizó Clasificación ordinal

Número de horas*personas

Días/Horas desde que se origina hasta eliminación

(16)

Ejemplo de Medidas (iv)

M.E. Manso.

31

Proceso

Atributos

Medidas posibles

Proceso de desarrollo Duración Hitos Esfuerzo_Desarrollo Cònformidad estándares Finalización

Días de Calendario o Laborables Fechas

Horas, días, meses

Número_desviaciones/proyecto Número_desviaciones/fase

%finalización/duración total proyecto %finalización/esfuerzo total proyecto %finalización/ Tareas totales proyecto

Diseño Duración Calidad

Días de Calendario o Laborables Densidad de defectos

Ejemplo de Medidas (v)

32

Proceso

Atributos

Medidas posibles

Pruebas Volumen Progreso # casos planificados # casos ejecutados # casos superados % de superados/planificados Mantenimiento Coste Esfuerzo # Euros/año # Días (horas)/año Solicitudes de Volumen Estado # cambios_solicitados en espera Nombre del estado de la solicitud

(17)

M.E.Manso.

Medidas Intra e Intermodulares

ƒ

Cohesión, Acoplamiento... ¿Cómo se definen?

Clasificación de Medidas de Complejidad

ƒ

Tamaño (LDC) ¿Tamaño es igual a Longitud?

ƒ

De Flujo de Control (Mc Cabe)

ƒ

De Flujo de Información ((Henry-Kafura)

ƒ

Ciencia del Software (Volumen)

Otras clasificaciones (i)

M.E. Manso.

34

Clasificación en Orientación al objeto (Zuse)

Diseño

Implementación

Sistema

Nº Métodos

LDC

Árboles

Profundidad

LDC

Clases

Nº de Atributos

LDC

Clasificación teórica (Zuse)

Por tipo de axiomas que cumplen

Teoría medición Calidad del Software

Figure

Actualización...

Referencias

Actualización...

Related subjects :