Modelos de confiabilidad (1)

Download Report

Transcript Modelos de confiabilidad (1)

Modelos de confiabilidad
Modelos de Confiabilidad
•
•
•
•
Confiabilidad de Software
Modelos descripcion, caracteristicas y elementos
Tipos de modelos
Ejemplo de modelo
Confiabilidad de software
• Definiciones:
▫ Basándonos en ANSI, definimos confiabilidad de
software como la probabilidad de una operación
de software de estar libre de fallos por un periodo
especifico de tiempo en un entorno específico.
▫ Es un atributo importante de la calidad del
software, junto con la funcionalidad, usabilidad,
servicio, capacidad, instalabilidad, mantenibilidad
y documentación. La confiabilidad es difícil de
alcanzar, porque la complejidad del software
tiende a ser alta.
Confiabilidad de software
• Mecanismos de fallos de software
▫ Las fallas de software pueden deberse debido a
errores, ambigüedades, descuidos o mal
interpretación de lo que el software está dispuesto
a satisfacer, falta de cuidado o incompetencia en la
codificación, testeo inadecuado, incorrecto; uso
inesperado del software u otros problemas que no
se pueden prever.
Confiabilidad de software
• Mecanismos de fallos de software
▫ Una lista parcial de características distintas del software
comparadas con el hardware puede ser la siguiente:










Causas de fallos
Desgaste
Conceptos de sistemas reparables
Dependencia de tiempo y ciclo de vida
Factores de entorno
Predicción de confiabilidad
Redundancia
Interfaces
Motivadores de tasas de fallo
Construcción de componentes estándar
Modelos de Confiabilidad
• Los modelos de confiabilidad surgieron debido a
intención de tratar de entender:
Porqué un software falla
• Trata de cuantificar la confiabilidad del software.
• Se han desarrollado más de 200 modelos a partir de
los años 1970s, pero el cómo cuantificar la
confiabilidad de un software sigue permaneciendo
irresuelta.
Modelos de Confiabilidad
• De los modelos creados, ninguno ha logrado
poder ser usado en todas las situaciones.
• Ningún modelo es completo o representativo.
Un modelo puede trabajar para un de forma
correcta para un software, mientras que para
otros puede causar problemas.
Modelos de Confiabilidad
• Partes de los modelos:
▫ Hipótesis
 El tiempo entre las fallas sucesivas tienden a ser
independientes: El tiempo, o el número adicional de
casos de prueba, a la falta siguiente puede depender
de la naturaleza o el tiempo de la falta anterior.
 Un fallo detectado se corrige inmediatamente.
 No se introducen nuevos errores durante el proceso
de eliminación de fallos.
 La tasa de fallos decrece con la prueba de tiempo, a
medida que avanza la prueba, se detectan fallas. O
bien son eliminados antes de que la prueba continúe
o no se eliminan y la prueba se desplaza a otras
partes del programa.
 Tasa de fracaso es proporcional al número de fallos
restante.
 La confiabilidad es una función del número de fallos
restante.
Modelos de Confiabilidad
• Factores: La aplicabilidad que posee cada modelo
dependiendo de la fase del desarrollo del software.
▫ Fase de diseño: las fallas se pueden detectar
visualmente o por otros procedimientos formales o
informales. Los modelos de confiabilidad del software
que se suelen aplicar son los de predicción, debido a
que aun no se encuentra un historial de fallos.
▫ Fase de Prueba: El tiempo de los modelos
dependientes, especialmente el tiempo entre los
modelos de fracasos, no suelen ser aplicados. Los que
se aplican son los modelos de estimación.
Modelos de Confiabilidad
▫ Función matemática que relaciona la
fiabilidad con el factor:
 La función matemática es generalmente más alta
orden exponencial o logarítmico.
Modelos de Confiabilidad
• Categorías
Basadas en la observación y la acumulación de
los errores de los datos y el análisis de la
inferencia estadística:
▫ Modelos de Predicción
▫ Modelos de Estimación
Modelos de Confiabilidad
• Diferencias:
Datos de Referencia
Cuando se utiliza
Marco de Tiempo
Modelos de Predicción
Utilización de datos
históricos.
Fases de desarrollo o de
prueba
Predice la fiabilidad en
algún momento futuro.
Modelos de Estimación
Utilización de los datos de
los actuales esfuerzos de
desarrollo de software.
Fase de Prueba
Estimación de la fiabilidad,
ya sea actual o en algún
momento futuro.
Modelos de Confiabilidad
• Clasificación de los modelos dependiendo de
las hipótesis
▫ Modelos de Tiempo entre fallas (TBF)




Los tiempos de Independiente entre fallos.
La misma probabilidad de la exposición de cada fallo.
Las fallas se eliminan después de cada ocurrencia.
No hay nuevas fallas introducidas durante la corrección
▫ Modelos de Conteo de Falla (FC)
 Intervalos de las pruebas son independientes uno de otro.
 Pruebas durante los intervalos es homogénea.
 El número de defectos detectados durante intervalos no
se traslapan son independientes unos de otros
Modelos de Confiabilidad
▫ Modelos de Implantación de Fallas (FS)
 La implantación de fallas están distribuidas al azar
en el programa.
 Fallas del programa como fallas implantadas poseen
la misma probabilidad de ser detectados.
▫ Modelos Entrada basada en un dominio (BID)
 Perfil de distribución de entrada es conocido.
 Pruebas aleatorias.
 Dominio de entrada se puede dividir en clases
equivalentes.
Nonhomogeneous Poisson Process
Model (NHPP)
• Es un modelo de tipo Poisson que toma el
numero de fallas por unidad de tiempo, como
variables aleatorias independientes de Poisson.
• El modelo fue propuesto primero en 1970 por
Armit Goel y Kazu Okumoto y ha constituido la
base para los modelos de uso de la observación
número de fallos por unidad de tiempo.
• Goel y Okumoto han determinado un tiempo de
liberación óptima para un sistema de
software. Si la fiabilidad deseada es de R por un
tiempo de funcionamiento especificados de O,
luego de lograr el resultado deseado, la cantidad
necesaria de tiempo que el software debe ser
observado es:
Requerimiento de datos
• Los requisitos de datos para aplicar este modelo
de recuento de falla son:
▫ Contar el número de fallos en cada intervalo de
prueba.
▫ El tiempo de finalización de cada período que el
software está bajo observación.
• Goel y Okumoto determinan el tiempo de
liberación óptima basada en los costos
• Los costos se refiere a los costos de las pruebas
de encontrar y reparar una falla en el entorno de
pruebas frente a la exploración.