Calidad del Software

Texto completo

(1)

M.E.Manso.

Calidad del Software

ITI Gestión

155

1. Medición y experimentación en Ingeniería del Software 1.1 Introducción

1.2 Teoría representacional de la medición. 1.3 Experimentación en Ingeniería del software.

2. Medidas del Producto 2.1 Métricas interna 2.2 Métricas externas.

2.2.1 Modelos de Calidad 2.2.2 Defectos del software.

2.2.3 Fiabilidad del software y modelos.

Programa

Medición Calidad del Software

(2)

M.E.Manso.

• Camisón C et al. Gestión de la calidad. Prentice Hall 2006

• Casadesus M et al. Calidad práctica. Prentice Hall 2005

• Dolado Cosín, J. J. & Fernández SANZ, L. Medición para la gestión en Ingeniería del Software. Ra-Ma 2000

• Fenton, N. Software quality assurance & Measurement. A worldwide perspective. Second edition. Chapman&Hall 1997

2.2

Métricas Externas

157

• Conocer la relación entre métricas externas y

modelos de calidad

• Conocer la utilidad y el manejo de algunas

métricas externas

• Conocer el concepto de fiabilidad

• Manejar diferentes modelos de fiabilidad del

software

Objetivos

M. Externas Calidad del Software

(3)

M.E.Manso.

Métricas Externas

Las medidas de atributos externos se

construyen en general a partir de los

atributos internos.

¿Cómo se relacionan? Patrones a seguir:

Modelos de Calidad y/o

Estándares de calidad

oISO

oIEEE…

159

Modelo de McCall

•3 ejes o puntos de vista

•11 factores •23 criterios •41 métricas

Modelo de Boehm

•7 factores •12 criterios

Modelo GQM...

M. Externas

Modelos de calidad (i)

(4)

M.E.Manso.

Modelos de calidad: de McCall(ii)

INTEROPERABILIDAD

(¿Podré comunicarlo con otros sistemas?) PORTABILIDAD

(¿Podré utilizarlo en otra máquina?) REUSABILIDAD

(¿Podré reutilizar parte del software?)

CORRECCION (¿Hace el software lo que yo quiero?) FIABILIDAD (¿Lo hace de forma exacta todo el tiempo?) EFICIENCIA (¿Se ejecutará sobre mi hardware lo mejor posible?) INTEGRIDAD (¿Es seguro?)

FACILIDAD DE USO (¿Puedo ejecutarlo?) FACILIDAD DE MANTENIMIENTO (¿Puedo arreglarlo?) FACILIDAD DE PRUEBA (¿Puedo probarlo?) FLEXIBILIDAD (¿Puedo modificarlo?) OPERACION REVI SION TRANS ICION

Modelo de MacCall (iii) Interrelación entre factores

(5)

M.E.Manso.

Modelo de Calidad

(IEEE. Computer Sociaty "standars for a software quality metrics methodology", P-1061/D20 1989)

Mantenibilidad Corrección Testabilidad Extensibilidad Recuento de defectos Nivel de los tests Esfuerzo Recuento de cambios

Tº para resolver /aislar Tasa de fallos

Cobertura de test Completitud del plan

Predicción de recursos esfuerzo

Esfuerzo del cambio Tamaño del cambio Tasa del cambio

Factor

Criterios Métricas

163

Modelos de calidad: GQM (iv)

Proyecto AMI(Applications of Metrics in Industry, 1991

Objetivo Evaluar efectividad de un estándar de codificación

Cuestiones Quien lo usa? Cual es la productividad Cual es la calidad

del código? del código?

Métricas

% de programadores Experiencia de programadores Tamaño Esfuerzo Errores estándar y del lenguaje con el lenguaje, entorno,

(6)

M.E.Manso.

• Concretan la calidad, definiéndola, midiéndola y planificando

• Ayudan a comprender las relaciones entre las

características del producto software

• Facilitan la comunicación entre usuarios, directivos y técnicos

• Son empíricos, su validez se demuestra observando

resultados

Utilidad de los modelos

de calidad (i)

165

ƒ Establecimiento de los requisitos de calidad (sigue):

• Costes del factor vs. beneficios esperados • Repercusiones en el ciclo de vida

• Interrelaciones con otros factores

ƒ Ordenar los requisitos por prioridades

ƒ Obtener F-C-M involucrados.

¿Problemas?

ƒ Establecer objetivos medibles, y mínimos aceptables M. Externas

Utilidad de los modelos

de calidad (ii)

Calidad del Software

(7)

M.E.Manso.

Utilidad de los modelos

de calidad: uso de GQM (iii)

Objetivo de negocio: problemas en el negocio del software.

Objetivo: Analizar el producto final para

caracterizarlo con respecto a la clasificación de defectos desde el punto de vista de la

organización.

Preguntas: ¿Distribución de los errores en cada fase del desarrollo?

Métricas: Nº de errores de requisitos, Nº de errores de diseño ....

167

Interés del estudio de defectos

• Control de Costes

ƒ La depuración de defectos dispara los costes

• Control del proceso de Desarrollo

ƒ Gestión de recursos para detectar-eliminar defectos

• Control del Mantenimiento

ƒ Gestión/coste de recursos para eliminar defectos del desarrollo

• Medida de Calidad (6σ)

ƒ Objetivo de calidad planteado por las empresas de desarrollo de software

M. Externas Calidad del Software

(8)

M.E.Manso.

Defectos y límites permitidos, Diagramas

de Control

Si es una proporción (Binomial)

• Suceso que ocurre (error) y probabilidad de que

ocurra (p).

• Tamaño muestral, número de elementos en los

que se observa si el suceso ocurre o no.

• Estadístico utilizado: la media muestral, que bajo

determinadas condiciones es una B(n,p) /n, o se

puede aproximar a una N(μ, σ).

169

Defectos y límites permitidos, Diagramas

de Control

Si se estudia una tasa (Poisson)

• Unidades en las que se estudia la ocurrencia del suceso.

• Número de unidades muestrales que se van a observar.

• La resultante de sumar v.a. independientes de Poisson, es de Poisson.

M. Externas Calidad del Software

(9)

M.E.Manso. Intervalos en general: Para proporciones: Para tasas: n p p Pˆ±3 ˆ(1− ˆ) n k 2 ˆ ˆ σ μ± 2 100 73 3 100 73 ±

n

k

λ

λ

ˆ

±

ˆ

100 27 . 0 73 . 0 3 100 73 ± ×

Diagramas de Control

171

• Detección y Eliminación de defectos en cada fase. • Medición de las Tasas de defectos durante los test

formales.

• Medición de la llegada de defectos en cada fase.

• Medición del tiempo medio necesario para eliminar los defectos.

• Medición de la efectividad de procesos de detección y eliminación .

¿Objetivos ?

Atrasadosi-1 Nuevosi+ Atrasadosi-1= + Actualesi Atrasadosi= Actualesi- Eliminadosi ti ti+1 - Eliminadosi t

Métricas de Defectos

M. Externas Calidad del Software

(10)

M.E.Manso. Fagan (1976)

Efectividad de una inspección= (NDI / NTDAI)*100. NDI= nº de defectos encontrados durante la inspección.

NTDAI= nº total de defectos encontrados antes de la Inspección.

Macina y KolKhorst (1988)

Porcentaje de detección temprana= (NDI / NDED)*100.

NDI= nº de defectos encontrados en inspección (diseño-código). NDED= nº de defectos encontrados en el desarrollo.

Efectividad de la Depuración

173

Daskalantonakis. 1992. Métrica utilizada por MOTOROLA. Efectividad total= NED/NEDM.

NED = nº de defectos encontrados en el desarrollo NEDM = nº de defectos encontrados en el desarrollo y mantenimiento.

Efectividad de una fase i = NDEFi /NDGFi. NDEFi = nº de defectos encontrados en la fase i. NDGFi = nº de defectos generados en la fase i.

(figuras 6.3, 6.4 y tabla 6.2)

M. Externas

Efectividad de la Depuración

Calidad del Software

(11)

M.E.Manso.

175

M. Externas Calidad del Software

(12)

M.E.Manso.

177

En el AS/400 se prueban las componentes antes de reutilizarlas

ƒ r=0,69.

ƒ Las bandas corresponden al I.C. al 95% (fig. 5.10).

ƒ Las regiones se hacen utilizando las medianas (fig.

5.11).

M. Externas

Reusabilidad y Defectos

(13)

M.E.Manso.

179

M. Externas Calidad del Software

(14)

M.E.Manso.

T1 = Tasa de defectos postinstalación para código nuevo o cambiado.

• T1≤objetivo del sistema (t) I1= 0

• t< T1 < 2t I1= 1

• 2t ≤T1 < 3t I1 = 2

• 3t≤T1 I1 = 3

I2 = Tasa de defectos postinstalación para el código nuevo o cambiado

(por KLDC total).

I3= Nº de defectos categorizados por cuartiles (0,1,2,3) (punto de vista del usuario).

• I = I1 + I2 + I3 Si 5 ≤ I Revisar componente

(gráficos 21-1)

Defectos y Mantenimiento

IBM

(AS/400)

181

(15)

M.E.Manso.

Calcular utilizando los datos siguientes: ƒ Tº medio de resolución de defectos

ƒ Nº Medio de defectos/día (se localizaron 500 defectos) ƒ Recorrido intercuartílico para el Tº de resolución

% Prod. A (100/100KLDC) Prod. B (250/150LDC) 1 20 25 Severi. 2 22 30 3 25 05 4 33 40

¿Son iguales A y B, si el cliente considera intolerable una severidad >2?

Defectos y Mantenimiento

(IBM)

183

Objetivo

Modelar aspectos de la calidad del producto, para predecir su comportamiento.

• Defectos durante el desarrollo: permiten distribuir los recursos y predecir el comportamiento tras la instalación.

• Defectos después de la instalación: permiten controlar gastos de mantenimiento.

• Mide un aspecto de la calidad del producto para el usuario.

Fiabilidad

Calidad del Software

(16)

M.E.Manso.

Si disponemos de los tiempos (ti) en los que se han observado fallos de un sistema:

ƒ ¿Cómo es de fiable el software en este momento? ƒ ¿Se pueden parar las pruebas porque es “fiable”? ƒ Si realizo pruebas durante un tiempo más ¿Cuanto

mejorará su fiabilidad?

ƒ ¿Cuánto habré de esperar aún hasta alcanzar la fiabilidad objetivo?

Modelos de Fiabilidad: Utilidad

185

Software Hardware

fallos lógicos en el diseño fallos físicos corregir puede introducir

mas defectos

complejidad lógica menor

tendencia a cambiar con

frecuencia cambios al principio y final de la vida

Tabla 1

Fiabilidad

Calidad del Software

(17)

M.E.Manso.

ƒ Proceso de introducción de defectos impredecible, resultado de errores del equipo de desarrollo y/o mantenimiento.

ƒ Condiciones bajo las que se ejecuta un programa generalmente impredecibles.

ƒ Fallos que dependen de la presencia de defectos en el código y de la ejecución del programa en cierto estado.

ƒ En la depuración se pueden producir defectos.

Causas de la Aleatoriedad

187

Sistema procesador de textos que sirve a un grupo de trabajadores.

En una semana (tiempo de calendario)

puede estar 50 horas (tiempo de reloj) activo,

incluye el tiempo de ejecución y el tiempo de

espera. De ellas sólo 15 son de tiempo de

ejecución

Fiabilidad

Calidad del Software

(18)

M.E.Manso. Tabla 2 nº de fallo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 tiempo (sg) 10 19 32 43 58 70 88 103 125 150 169 199 231 256 296 intervalo de tiem. 10 9 13 11 15 12 18 15 22 25 19 30 32 25 40 Tabla 3 tiempo(seg.) 30 60 90 120 150 180 210 240 270 fallos 2 3 2 1 2 1 1 1 1 fallos acumulados 2 5 7 8 10 11 12 13 14

¿Tº Medio entre fallos? ¿Nº medio de fallos/sg?

Dibujar el polígono de frecuencias y de frecuencias acumuladas para ambas tablas

Ejemplo

189

Ejemplo (ii) Fiabilidad

(19)

M.E.Manso.

Interviene la incertidumbre

Ni conociendo los defectos que hay dentro del software podríamos determinar en que momento ocurrirá el siguiente fallo.

Ti es una v.a.Æf(t), F(t), R(t) = S(t) = 1-F(t)) Necesitamos

ƒ Un modelo de predicción, que especifique S(T).

ƒ Un procedimiento de inferencia para estimar los

parámetros del modelo.

ƒ Un procedimiento de predicción que nos permita

combinar el modelo y las estimaciones anteriores para predecir el comportamiento futuro.

Modelos de Fiabilidad

191

ƒOcurre en el tiempo.

ƒEn cada instante t hay una v.a., x(t), que

puede ser discreta o continua.

ƒEl proceso se caracteriza por:

•La distribución de x(t)

•La variación del proceso en el tiempo

Si x(t) cambia en el tiempoÆproceso no homogéneo

Fiabilidad

Calidad del Software

(20)

M.E.Manso.

ƒEs un proceso estocástico.

ƒEl comportamiento de los fallos depende de:

•Nº de defectos al principio de la ejecución

introducidos - eliminados

•Entorno de ejecución o perfil operacional

Los posibles "tipos" de comportamiento del programa cuando el programa es ejecutado, y su distribución de probabilidad.

Proceso de Producción de Fallos

193

1. El entorno operacional (tipo de entrada a procesar)

2. Efecto que tendrá la solución del defecto

Fiabilidad

Modelado de 1: la elección de un estado que produce fallo se hace al azar

Tiempo (T) hasta el siguiente fallo Æexponencial Modelado de 2: ¿ ?

Calidad del Software

(21)

M.E.Manso.

Tasa de fallo Tiempo medio de fallo

o función de riesgo λ(t) = λ Λ(t) = λ* t E(T) = 1/ λ V(T) = 1/ λ2

= − = Λ t t t dt LnS t 0 ) ( ) ( ) ( λ ) ( ) ( ) ( t S t f t = λ

− = t dt t e t s( ) 0λ ( ) = −

t dt e t s( ) 0λ

Modelo Exponencial Homogéneo

195 Fiabilidad

Gráfico 35-1

Modelo Exponencial Homogéneo (ii)

(22)

M.E.Manso.

Exploración en la muestra para elegir un modelo

¿Relación entre S(t) y λ(t) en el modelo homogéneo?

D. Homogénea: describe un proceso sin memoria

S(t) = S1(t1) * S2(t2)/ S2(t1) * ...Sn(t)/Sn(tn-1) hi= ti- ti-1 0 t1 t2 t3 tn-1 tn=t λ(1) λ(2) λ(3)... λ(n)

− = ne ihi 1 λ

Modelo Exponencial Homogéneo (iii)

197

Exponencial Homogénea

N(t) = Nº de fallos hasta t∈{0,1,2 ...}Æ P(λt)

P(N(t) = k ) =

Aplicaciones en las Pruebas: estrategia de parada. ¿Cómo?

!

)

(

k

t

e

−λt

λ

k Fiabilidad

Calidad del Software

(23)

M.E.Manso.

• 1/λ esta asociado a la escala.

• p esta asociado al apuntamiento (gráficos 39-i).

• Buscar la expresión de los momentos para T.

p t e t S( )= −(λ ) λ(t)=λpt)p−1 p t t) ( ) ( = λ Λ 1 ) ( ) ( ) ´( ) (t =−S t = pet p t pf λ λ

Modelo de Weibull

199 Fiabilidad

Modelo de Weibull (ii)

Calidad del Software

(24)

M.E.Manso.

Modela

ƒ Demanda de recursos ƒ Demanda de personal ƒ Comportamiento de la detección/eliminación de defectos ... 2 ) ( ) (t = λt Λ 1 2 ) ( ) ( 2 ) ´( ) (t S t e t f =− = − λt λ ) ( 2 ) (t λ λt λ = 2 ) ( ) (t e t S = − λ

Modelo de Rayleigh

Weibull (p=2)

201

ƒ Proceso de eliminación de defectos de un

producto AS/400 de IBM desarrollado en un proceso de 6 fases.

ƒ Se dispone del comportamiento de los defectos

observados hasta el Test del Sistema (ST).

ƒ El objetivo del estudio es estimar la tasa de

defectos cuando el producto salga al mercado, o disponibilidad general (GA).

(Fig.7.2 y 7.3, distribución de Weibull)

Fiabilidad

Calidad del Software

(25)

M.E.Manso.

Ejemplo AS/400 IBM (ii)

203

Hipótesis del modelo:

1. Tasa de defectos del desarrollo correlacionada positivamente con la tasa de defectos una vez instalado (tabla 7.1).

2. Para la misma tasa de defectos en el origen, cuantos más se descubran y eliminen en las

primeras fases menos quedarán para las

siguientes.

Ä idea de “ buen desarrollo desde el principio” y

“detectar los errores cuanto antes”.

Fiabilidad

Calidad del Software

(26)

M.E.Manso.

Para cada fallo i:

N = nº inicial de defectos

• Modelo básico exponencial. Todos los defectos contribuyen por igual a la función de riesgo (φ). • El 2º tipo de incertidumbre no se contempla: los

defectos se eliminan de forma perfecta y no se introducen más.

φ

λ

λ

)

1

(

)

(

+

=

=

i

N

e

t

S

i t i i i i

Modelo de Jelinski-Moranda

205

Procedimiento de inferencia

Estimadores máximo-verosímiles de N y φ.

Comentarios al Modelo

ƒ La hipótesis sobre la misma contribución de

los defectos a la función de riesgo puede no ser realista.

ƒ Se pueden observar grandes diferencias

entre los valores observados y los

estimados, y el modelo siempre da valores mas “optimistas”…

Fiabilidad

Calidad del Software

(27)

M.E.Manso.

Modelo de Jelinski-Moranda de función de riesgo

t1 t2 t3... Nφ (N-1)φ (N-2)φ

Modelo de Jelinski-Moranda(iii)

207

• Predicciones satisfactorias, en general.

• Son simples y fáciles de entender.

• Programas que facilitan su implementación.

• Parámetros con una interpretación física clara,

relacionados con información que existe previa a la ejecución del programa.

• Pueden modelar sistemas que cambian de

tamaño.

Fiabilidad

Modelos Básico y Logarítmico

(Tº de ejecución

)

(28)

M.E.Manso.

λ (μ) = λo (1-μ/νo)

μ(t) = νo (1-exp((-λoo)t ))

λ (t) =λo exp((- λoo)t )

• λo= intensidad de fallo al comienzo de la ejecución. • μ= media esperada de fallos en un instante de tiempo.

• νo= promedio de fallos que podrían ocurrir en un tiempo

infinito (gráficos 49-i).

0 0 ) ( ν λ μ μ λ = d d t Ln t Ln ( ) ( ) 0 0 0 νλ λ λ = + −

Modelo Básico

209 Fiabilidad

Calidad del Software

(29)

M.E.Manso.

Modelos Básico y Logarítmico (ii)

211 Fiabilidad

Calidad del Software

(30)

M.E.Manso.

λ (μ) = λo exp(-θμ)

μ(t) = 1/θ ln (λo θ t+1)

λ (t) = λo / (λo θ t+1)

θ= parámetro de caída de la intensidad de fallo. Representa el cambio relativo de la intensidad de fallo por fallo experimentado. • ¿Variación de λ?

• ¿Relación entre λy t?

Modelo Logarítmico

213

νo= n º de defectos.

• Utilizar una distribución hipergeométrica.

• Considerar las características del programa y tener en cuenta métricas relacionadas con el nº de defectos.

• Estimar la tasa de defectos/instrucción...

Fiabilidad

Calidad del Software

(31)

M.E.Manso.

Condiciones Básico Logarítmico Estudios o predicciones antes de ejecutar x

Efectos de tecnología software a través del estudio de defectos

x El tamaño del programa cambia continua y

substancialmente

x Perfil operacional claramente no uniforme x Importa la predicción temprana x

Utilidad de los Modelos

215

¿Cuanto tiempo hay que seguir hasta alcanzar λ= 0,00001 fallos/hrcpu ? ) )(log ( 1 ) )( ( 0 0 arítmico Ln básico f p f p λ λ θ μ λ λ λ ν μ = Δ − = Δ ) )(log 1 1 ( 1 ) )( ( 0 0 arítmico t básico Ln t t p f f p p f λ λ θ λ λ λ ν − = Δ = − Fiabilidad

Calidad del Software

(32)

M.E.Manso.

Ejemplo de salida (SAS)

217 Serie Paralelo

= ⋅ > = n Sit p min ti t T S 1 ) ( ) ( ) (

− = ⋅ < − = n Sit p max ti t T S 1 ) ( )) ( 1 ( 1 ) ( 0.9 0.85 0.99 ¿?? Fiabilidad

Fiabilidad de Sistemas

Figure

Actualización...

Referencias

Actualización...