calidad del software - infor.uva.esmanso/calidad/metricas-externas-2011.pdf · proyecto...
TRANSCRIPT
1
M.E.Manso.
154
Calidad del Software
ITI Gestión
M.E.Manso.
155
1. Medición y experimentación en Ingeniería del Software1.1 Introducción1.2 Teoría representacional de la medición.1.3 Experimentación en Ingeniería del software.
2. Medidas del Producto2.1 Métricas interna
2.2 Métricas externas.2.2.1 Modelos de Calidad2.2.2 Defectos del software.2.2.3 Fiabilidad del software y modelos.
Programa
MediciónCalidad del Software
2
M.E.Manso.
156
• 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
M. ExternasCalidad del Software
M.E.Manso.
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. ExternasCalidad del Software
3
M.E.Manso.
158
Métricas Externas• Las medidas de atributos externos se
construyen en general a partir de losatributos internos.
• ¿Cómo se relacionan? Patrones a seguir:• Modelos de Calidad y/o• Estándares de calidad
o ISOo IEEE…
M. ExternasCalidad del Software
M.E.Manso.
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)
Calidad del Software
4
M.E.Manso.
160M. Externas
Modelos de calidad: de McCall(ii)
Calidad del Software
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
REVISIO
N TRANSICION
Modelo de MacCall (iii)Interrelación entre factores
M.E.Manso.
161
5
M.E.Manso.
162
Modelo de Calidad
(IEEE. Computer Sociaty "standars for a software quality metrics methodology", P-1061/D20 1989)
M. ExternasCalidad del Software
Mantenibilidad
Corrección
Testabilidad
Extensibilidad
Recuento de defectos
Nivel de los tests
Esfuerzo
Recuento de cambios
Tº para resolver /aislarTasa de fallos
Cobertura de testCompletitud del plan
Predicción de recursosesfuerzo
Esfuerzo del cambioTamaño del cambioTasa del cambio
Factor
Criterios Métricas
M.E.Manso.
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 calidaddel código? del código?
Métricas % de programadores Experiencia de programadores Tamaño Esfuerzo Erroresestándar y del lenguaje con el lenguaje, entorno,
Analizar
6
M.E.Manso.
164
• 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
M. Externas
Utilidad de los modelos de calidad (i)
Calidad del Software
M.E.Manso.
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.
166
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 ....
M. ExternasCalidad del Software
M.E.Manso.
167
Interés del estudio de defectos
• Control de CostesLa depuración de defectos dispara los costes
• Control del proceso de DesarrolloGestión de recursos para detectar-eliminar defectos
• Control del MantenimientoGestió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. ExternasCalidad del Software
8
M.E.Manso.
168
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 losque se observa si el suceso ocurre o no.
• Estadístico utilizado: la media muestral, que bajodeterminadas condiciones es una B(n,p) /n, o sepuede aproximar a una N(μ, σ).
M. ExternasCalidad del Software
M.E.Manso.
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 aobservar.
• La resultante de sumar v.a. independientesde Poisson, es de Poisson.
M. ExternasCalidad del Software
9
M.E.Manso.
170
Intervalos en general:
Para proporciones:
Para tasas:
nppP )ˆ1(ˆ3ˆ −±
nk
2ˆˆ σμ ±
2100
73310073
±
nk λλ ˆˆ ±
10027.073.03
10073 ×±
M. Externas
Diagramas de Control
Calidad del Software
M.E.Manso.
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. ExternasCalidad del Software
10
M.E.Manso.
172
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
M. ExternasCalidad del Software
M.E.Manso.
173
Daskalantonakis. 1992. Métrica utilizada por MOTOROLA.Efectividad total= NED/NEDM.
NED = nº de defectos encontrados en el desarrolloNEDM = 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.
174M. ExternasCalidad del Software
M.E.Manso.
175M. ExternasCalidad del Software
12
M.E.Manso.
176M. ExternasCalidad del Software
M.E.Manso.
177
En el AS/400 se prueban las componentes antes dereutilizarlas
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
Calidad del Software
13
M.E.Manso.
178M. ExternasCalidad del Software
M.E.Manso.
179M. ExternasCalidad del Software
14
M.E.Manso.
180
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)
M. Externas
Defectos y Mantenimiento IBM (AS/400)
Calidad del Software
M.E.Manso.
181Calidad del Software M. Externas
15
M.E.Manso.
182
Calcular utilizando los datos siguientes:Tº medio de resolución de defectosNº 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?
M. ExternasCalidad del Software
Defectos y Mantenimiento (IBM)
M.E.Manso.
183
ObjetivoModelar aspectos de la calidad del producto, parapredecir su comportamiento.• Defectos durante el desarrollo: permiten distribuir
los recursos y predecir el comportamiento tras lainstalación.
• Defectos después de la instalación: permitencontrolar gastos de mantenimiento.
• Mide un aspecto de la calidad del producto para elusuario.
FiabilidadCalidad del Software
Fiabilidad
16
M.E.Manso.
184
Si disponemos de los tiempos (ti) en los que se hanobservado 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?
FiabilidadCalidad del Software
Modelos de Fiabilidad: Utilidad
M.E.Manso.
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
FiabilidadCalidad del Software
Software vs. Hardware
17
M.E.Manso.
186
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.
FiabilidadCalidad del Software
Causas de la Aleatoriedad
M.E.Manso.
187
Sistema procesador de textos que sirve a ungrupo 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 deespera. De ellas sólo 15 son de tiempo deejecución
FiabilidadCalidad del Software
Unidades de Medida
18
M.E.Manso.
188
Tabla 2nº de fallo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15tiempo (sg) 10 19 32 43 58 70 88 103 125 150 169 199 231 256 296intervalo de tiem. 10 9 13 11 15 12 18 15 22 25 19 30 32 25 40
Tabla 3tiempo(seg.) 30 60 90 120 150 180 210 240 270fallos 2 3 2 1 2 1 1 1 1fallos 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 acumuladaspara ambas tablas
FiabilidadCalidad del Software
Ejemplo
M.E.Manso.
189Ejemplo (ii)
FiabilidadCalidad del Software
19
M.E.Manso.
190
Interviene la incertidumbreNi conociendo los defectos que hay dentro del software podríamosdeterminar 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 losparámetros del modelo.Un procedimiento de predicción que nos permitacombinar el modelo y las estimaciones anteriores parapredecir el comportamiento futuro.
FiabilidadCalidad del Software
Modelos de Fiabilidad
M.E.Manso.
191
Ocurre en el tiempo.En cada instante t hay una v.a., x(t), quepuede 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
FiabilidadCalidad del Software
Proceso Estocástico
20
M.E.Manso.
192
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 operacionalLos posibles "tipos" de comportamiento del programa cuando el programa es ejecutado, y su distribución de probabilidad.
FiabilidadCalidad del Software
Proceso de Producción de Fallos
M.E.Manso.
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 producefallo se hace al azarTiempo (T) hasta el siguiente fallo exponencial
Modelado de 2: ¿ ?
Calidad del Software
Fuentes Principales de Incertidumbre
21
M.E.Manso.
194
Tasa de fallo Tiempo medio de falloo función de riesgo
λ(t) = λ Λ(t) = λ * t E(T) = 1/ λ V(T) = 1/ λ2
∫ −==Λt
tLnSdttt0
)()()( λ)()()(
tStft =λ
∫−=t dtt
ets 0 )()(
λ ∫−=t dt
ets 0)(λ
FiabilidadCalidad del Software
Modelo Exponencial Homogéneo
M.E.Manso.
195Fiabilidad
Gráfico 35-1
Modelo Exponencial Homogéneo (ii)Calidad del Software
22
M.E.Manso.
196
Exploración en la muestra para elegir un modelo
¿Relación entre S(t) y λ(t) en el modelohomogé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)
∏ −=n
ihie1
λ
FiabilidadCalidad del Software
Modelo Exponencial Homogéneo (iii)
M.E.Manso.
197
Exponencial HomogéneaN(t) = Nº de fallos hasta t ∈{0,1,2 .....} P(λt)
P(N(t) = k ) =
Aplicaciones en las Pruebas: estrategia de parada.¿Cómo?
!)(
kte kt λλ−
FiabilidadCalidad del Software
Modelo Exponencial Homogéneo (iv)
23
M.E.Manso.
198
• 1/λ esta asociado a la escala.• p esta asociado al apuntamiento (gráficos 39-i).• Buscar la expresión de los momentos para T.
ptetS )()( λ−=1)()( −= ptpt λλλ
ptt )()( λ=Λ1)( )()´()( −−=−= ppt tpetStf λλ
FiabilidadCalidad del Software
Modelo de Weibull
M.E.Manso.
199Fiabilidad
Modelo de Weibull (ii)Calidad del Software
24
M.E.Manso.
200
ModelaDemanda de recursosDemanda de personalComportamiento de la detección/eliminación dedefectos ...
Fiabilidad
2)()( tt λ=Λ12)( )(2)´()( tetStf t λλ−=−=
)(2)( tt λλλ =2)()( tetS λ−=
Calidad del Software
Modelo de RayleighWeibull (p=2)
M.E.Manso.
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 dedefectos cuando el producto salga al mercado,o disponibilidad general (GA).
(Fig.7.2 y 7.3, distribución de Weibull)
FiabilidadCalidad del Software
Ejemplo AS/400 IBM
25
M.E.Manso.
202Fiabilidad
Ejemplo AS/400 IBM (ii)
Calidad del Software
M.E.Manso.
203
Hipótesis del modelo:1. Tasa de defectos del desarrollo correlacionadapositivamente con la tasa de defectos una vezinstalado (tabla 7.1).
2. Para la misma tasa de defectos en el origen,cuantos más se descubran y eliminen en lasprimeras fases menos quedarán para lassiguientes.
idea de “ buen desarrollo desde el principio” y“detectar los errores cuanto antes”.
FiabilidadCalidad del Software
Ejemplo AS/400 IBM (iii)
26
M.E.Manso.
204
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()(
+−== −
iNetS
i
tii
ii
FiabilidadCalidad del Software
Modelo de Jelinski-Moranda
M.E.Manso.
205
Procedimiento de inferenciaEstimadores máximo-verosímiles de N y φ.
Comentarios al ModeloLa hipótesis sobre la misma contribución delos defectos a la función de riesgo puede noser realista.Se pueden observar grandes diferenciasentre los valores observados y losestimados, y el modelo siempre da valoresmas “optimistas”…
FiabilidadCalidad del Software
Modelo de Jelinski-Moranda (ii)
27
M.E.Manso.
206
Modelo de Jelinski-Moranda de función de riesgot1 t2 t3...
Nφ(N-1)φ
(N-2)φ
FiabilidadCalidad del Software
Modelo de Jelinski-Moranda(iii)
M.E.Manso.
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 previaa la ejecución del programa.
• Pueden modelar sistemas que cambian detamaño.
Fiabilidad
Modelos Básico y Logarítmico (Tº de ejecución)
Calidad del Software
28
M.E.Manso.
208
λ (μ) = λo (1-μ/νo)μ(t) = νo (1-exp((- λo /νo)t ))λ (t) = λo exp((- λo /νo)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).
00)(
νλ
μμλ
−=d
d
tLntLn )()(00
0 νλλλ −+=
FiabilidadCalidad del Software
Modelo Básico
M.E.Manso.
209FiabilidadCalidad del Software
Modelos Básico y Logarítmico
29
M.E.Manso.
210Fiabilidad
Modelos Básico y Logarítmico (ii)Calidad del Software
M.E.Manso.
211FiabilidadCalidad del Software
Modelos Básico y Logarítmico (iii)
30
M.E.Manso.
212
λ (μ) = λo exp(-θμ)μ(t) = 1/θ ln (λo θ t+1)λ (t) = λo / (λo θ t+1)
θ= parámetro de caída de la intensidad defallo. Representa el cambio relativo de laintensidad de fallo por fallo experimentado.
• ¿Variación de λ?• ¿Relación entre λ y t?
FiabilidadCalidad del Software
Modelo Logarítmico
M.E.Manso.
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...
FiabilidadCalidad del Software
Estimación de Parámetros
31
M.E.Manso.
214
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
FiabilidadCalidad del Software
Utilidad de los Modelos
M.E.Manso.
215
¿Cuanto tiempo hay que seguir hasta alcanzar λ= 0,00001fallos/hrcpu ?
))(log(1
))((00
arítmicoLn
básico
f
p
fp
λλ
θμ
λλλνμ
=Δ
−=Δ
))(log11(1
))((00
arítmicot
básicoLntt
pf
f
ppf
λλθ
λλ
λν
−=Δ
=−
FiabilidadCalidad del Software
Parada en las Pruebas
32
M.E.Manso.
216FiabilidadCalidad del Software
Ejemplo de salida (SAS)
M.E.Manso.
217
Serie
Paralelo
∏ >⋅==n
ttiminptSiTS1
)()()(
∏ <⋅=−−=n
ttimaxptSiTS1
)())(1(1)(
0.90.85
0.99¿??
Fiabilidad
Fiabilidad de Sistemas
Calidad del Software