Está en la página 1de 17

1

Calidad del Software


ITI Gestión
curso 2010/2011

Calidad del Software Medición 2

Programa

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

M.E.Manso.

1
Calidad del Software Medición 3

1. Medición y Experimentación
Bibliografía
• [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.

M.E.Manso.

Calidad del Software Medición 4

1. Objetivos del Tema 1

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

M.E.Manso.

2
Calidad del Software Medición 5

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.

Calidad del Software Introducción 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” ...

M.E.Manso.

3
Calidad del Software Introducción 7

Objetivos de la Medición

Caracterizar Productos
Evaluar Procesos
Predecir Recursos
Mejorar
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
M.E.Manso.
límites? ¿Se ha mejorado?...)

Calidad del Software Introducción 8

Objetivos de la Medición

Objetivos de Gestión Objetivos de Ingeniería


ƒ ¿Coste de los procesos? ƒ ¿Son contrastables los
ƒ ¿Productividad del equipo? requisitos?
ƒ ¿Bondad del código ƒ ¿Hemos probado y depurado
adecuadamente el producto?
desarrollado?
ƒ ¿Hemos alcanzado los
ƒ ¿Satisfacción del usuario? objetivos?
ƒ ¿Que ocurrirá en el futuro?
¿Podemos predecir?

M.E.Manso.

4
Calidad del Software Teoría medición 9

1.2 Medición y Medida (i)


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

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.

Calidad del Software Teoría medición 10

Medición y Medida (ii)

• ¿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?

M.E.Manso.

5
Calidad del Software Teoría medición 11

Medición y Medida (iii)

Ya disponemos del proceso de medición


¿Qué aserciones podemos hacer sobre el atributo y las

entidades que lo poseen?

Ejemplo:
• Superficie1=30Ha2 Superficie2=60Ha2
• 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?

M.E.Manso.

Calidad del Software Teoría medición 12

Tipos de Validez
• 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?

M.E.Manso.

6
Calidad del Software Teoría medición 13

Fases de la Medición Formal

Identificar atributos Identificar relaciones


de una entidad del empíricas del
mundo real atributo

Identificar relaciones
Definir la aplicación numéricas para cada
del mundo real a R relación empírica
Condición
representacional
Comprobar que las relaciones
numéricas preservan y son
preservadas por las empíricas

M.E.Manso.

Calidad del Software Teoría medición 14

Teoría Representacional de
la Medición
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.

M.E. Manso.

7
Calidad del Software Teoría medición 15

Tipos de Escala (i)


• 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

M.E.Manso.

Calidad del Software Teoría medición 16

Tipos de Escala (ii)


• 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

M.E.Manso.

8
Calidad del Software Teoría medición 17

Tipos de Escala (iii)

• 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’

M.E.Manso.

Calidad del Software Teoría medición 18

Tipos de Escala (iv)


¿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
M.E.Manso.

9
Calidad del Software Teoría medición 19

Ejemplo escala (i)


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

M.E.Manso.

20

Ejemplo escala (ii)


Tipo de Transformación Operadores Ejemplos
Escala Admisible básicos
Nominal Cualquier Determinación de Etiquetas del tipo:
transformación uno a igualdad Nombre de los lenguajes
uno
Perfil Profesional (Gestor,
Ingeniero de software,
Programador, etc.)
Ordinal y1 > y2 si x1 > x2 Las de arriba y Rankings y Ordenaciones:
mayor que,
menor que Prioridad y severidad

Niveles del CMM

M.E. Manso.

10
21

Ejemplo escala (iii)

Tipo de Transformación Operadores Ejemplos


Escala Admisible básicos
Ratio Y= ax a>0 Las de arriba e Intervalos de tiempo
igualdad de ratios
Coste, esfuerzo, longitud…
Absoluta Y=x Todos Contadores

Probabilidad

M.E. Manso.

Calidad del Software Teoría medición 22

Modelo Estructural (Kitchenham)

Mundo real se aplica a     (1:1) Mundo formal


Entidad (a medir) Valor (medida) 

posee    (m:n) se expresa en    (1:1)

Atributo cuantifica     Unidad


(dimensión)  (m:n)
pertenece a    (1:1)

Tipo de escala
M.E.Manso.

11
Calidad del Software Teoría medición 23

Métricas del Software

• Medida cuantitativa del grado en que un sistema,


componente o proceso posee un atributo dado
(IEEE, 1993).”
Entidades software Medidas
Atributoj
Métrica(entidadi)
E R
Regla de asignación de valores a entidades

¿Qué métricas conoce?


M.E.Manso.

Calidad del Software Teoría medición 24

Clasificación de las Métricas (i)


• 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

M.E.Manso.

12
25

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.

Calidad del Software Teoría medición 26

Clasificación (Fenton-i)
Producto Atributo interno Atributo
externo
Especificaciones Tamaño, reutilización, modularidad, Fácil de comprender,
redundancia, funcionalidad, sintaxis, fácil mantenimiento
corrección
Diseño Tamaño, reutilización, modularidad, Calidad,
cohesión, acoplamiento, complejidad fácil
funcionalidad mantenimiento

Código Tamaño, reutilización, modularidad, Calidad,


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

M.E.Manso.

13
Calidad del Software Teoría medición 27

Clasificación (Fenton-ii)
Entidades Atributo interno Atributo externo
Procesos y Recursos
Construcción de Tº de esfuerzo, nº de Calidad, Coste,
Especificaciones cambios Estabilidad

Diseño Tº de esfuerzo, nº de errores Efectividad-Costes


en las especificaciones

Test Tº, Esfuerzo, Nº de errores Efectividad-Costes,


encontrados Fiabilidad, Estabilidad
Personal Edad, Coste Productividad,
Experiencia
Equipos Tamaño, Nivel de Productividad, Calidad
Comunicación
Software Precio, Tamaño Usabilidad, Fiabilidad..

Hardware Precio, Memoria, Rapidez Fiabilidad

M.E.Manso.

28

Ejemplo de Medidas (i)


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)

Tipo Nombre del tipo


Herramientas CASE
¿Se utiliza? Si/No
Fechas comienzo y fin Fechas del calendario
Tiempo
Duración Días (laborables o de calendario).

• ¿Qué ESCALA tienen?


M.E. Manso.

14
29

Ejemplo de Medidas (ii)


Producto Atributos Medidas posibles
Número de módulos/programas
Número de puntos función
Tamaño Número de unidades físicas
Sistema Número de líneas físicas de código fuente
Número de bytes de memoria requeridos

Densidad de Número de defectos/módulos, programas


defectos Número de defectos/puntos función
Líneas físicas de código fuente

Programa Longitud Sentencias lógicas de código fuente

M.E. Manso.

30

Ejemplo de Medidas (iii)


Producto Atributos Medidas posibles
Número de caminos Complejidad de Mc cabe
Unidad LI

Documento Longitud Número de páginas

Tipo Nombre del tipo

Origen Lugar/actividad donde se localizó

Defectos Gravedad Clasificación ordinal

Esfuerzo_Corrección Número de horas*personas

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


eliminación
M.E. Manso.

15
31

Ejemplo de Medidas (iv)


Proceso Atributos Medidas posibles
Duración Días de Calendario o Laborables
Hitos Fechas
Esfuerzo_Desarrollo Horas, días, meses

Proceso de Número_desviaciones/proyecto
desarrollo
Cònformidad Número_desviaciones/fase
estándares
%finalización/duración total proyecto
%finalización/esfuerzo total proyecto
Finalización
%finalización/ Tareas totales proyecto
Duración Días de Calendario o Laborables
Diseño
Calidad Densidad de defectos
M.E. Manso.

32

Ejemplo de Medidas (v)


Proceso Atributos Medidas posibles
Volumen # casos planificados
# casos ejecutados
Pruebas
Progreso # casos superados
% de superados/planificados

Coste # Euros/año
Mantenimiento
Esfuerzo # Días (horas)/año
Volumen # cambios_solicitados en espera
Solicitudes de Nombre del estado de la solicitud
cambios Estado
Esfuerzo estimado (horas) para solicitudes
Esfuerzo pendientes
M.E. Manso.

16
Calidad del Software Teoría medición 33

Otras clasificaciones (i)

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)

M.E.Manso.

Calidad del Software Teoría medición 34

Otras clasificaciones (ii)

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

M.E. Manso.

17

También podría gustarte