12.07.2015 Views

Unidad IV.- APLICACIÓN DETUDIOS DE CONFIABILIDAD.

Unidad IV.- APLICACIÓN DETUDIOS DE CONFIABILIDAD.

Unidad IV.- APLICACIÓN DETUDIOS DE CONFIABILIDAD.

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Unidad</strong> <strong>IV</strong>.- APLICACIÓN <strong><strong>DE</strong>TUDIOS</strong> <strong>DE</strong> <strong>CONFIABILIDAD</strong>.(Musa J.D., 2004 pp153)4.1 Ingeniería de confiabilidad en software.4.1.1 Conceptos básicos.Primeramente es necesario definir de forma cuantitativa la confiabilidad para poderobtener beneficio de la ingeniería de confiabilidad en software.Para esto es necesario definir o discutir los conceptos de falla (failure) y falta(fault), gravedad (severity) de la falla e intensidad (intensity) de la falla y entenderla diferencia entre ellos.Una falla es una desviación del comportamiento del sistema de la ejecución que elusuario requiere o necesita. Este es un concepto orientado al usuario.Una falta es el defecto que causa o puede potencialmente causar la falla cuandose ejecuta. Este es un concepto orientado al desarrollador (programador).Por ejemplo: En una pantalla UIR cuando se da un click con el ratón que debeabrir un dialogo u otra aplicación y esta no se abre o ejecuta. Este comportamientoes una falla. La falta que causa la falla es la falta de código.Investigar sobre la falta del 1999 al 2000La falta no necesariamente resulta en falla, pero la falla ocurre solo si existe lafalta. Al resolver una falla Ud. puede encontrar la falta. Es muy importante eldistinguir estos dos conceptos.Estas definiciones son aceptadas por la IEEE y ASA (American StandardAssociation).Recuerde que una falla esta asociada a la operación del sistema. Una falla desoftware se presenta durante la ejecución de un programa.Hay que determinar de forma racional las “necesidades del usuario”, basados enel consenso de usuarios.Una falla es un defecto en el código. Este es causado por un error, la cual es unaacción incorrecta o faltante, de una persona o un grupo de personas. Por ejemplo;un programador puede provocar un error si la definición de los requerimientos noes correcta, resultando en una falta de código.Alguna fallas tienen más impacto que otras. Por esta razón se asignan proyectospara diferenciar las clases o niveles de la gravedad de fallas. Una clase degravedad de falla (failure severity class) es un conjunto de fallas que tienen elmismo impacto en los usuarios. Generalmente no se pone el objetivo de la


intensidad de la falla (failure intensity objective) para diferenciar la clase degravedad de la falla.La intensidad de la falla es una forma alterna de expresar la confiabilidad. Eningeniería de confiabilidad de software se utiliza comúnmente intensidad de falla.Y se definió originalmente como falla por unidad de tiempo. Por ejemplo 1 falla/Khr.Por experiencias en productos basados en software se ha demostrado que es másconveniente expresar la intensidad de la falla como falla por unidad natural. Launidad natural es una unidad que relaciona la salida del software con el producto ola cantidad de procesamientos que hace, ejemplos:• Página de salida (1 falla / Kpaginas impresas).• Transacciones como reservaciones, ventas depósitos. (1 falla / Ktransacciones).• Llamadas telefónicas (1 falla / Kllamadas).Esta es una medida que es bien recibida por los usuarios, esta enfocada a lascondiciones de su negocio.Se sugieren cuatro pasos en ingeniería de confiabilidad para determinar lacorrecta confiabilidad de sus productos.1. Definir que significa falla.2. Seleccionar una unidad de referencia común para todas las intensidades defalla.3. Establecer para cada sistema asociado un objetivo de la intensidad de falla.4. Para cada software:a. Determinar el objetivo de la intensidad de falla del softwaredesarrollado.b. Seleccione estrategias de confiabilidad de software para mejorar elobjetivo de la intensidad de falla.


1. Definir que significa “falla”. Esto implica establecer requerimientos negativosdel programa, indicar el comportamiento del programa que un usuario noacepta. También debe definir la clase de gravedad de la falla, ejemplos:Clase de gravedad de lafallaImpacto en la capacidaddel sistemaEjemplo1 Interrupción del serviciobásico2 Degradación del serviciobásicoLlamadas no enlazadasNúmero de teléfono queno funciona3 Inconveniencia Interface de usuario queno funciona4 Efecto menor tolerable Monitor que le falta lafecha.2. Seleccionar una unidad de referencia común para todas las intensidades defalla.a. La unidad natural de mediada debe ser entendida yb. Clara para los usuarios, deberá ser fácil de medir.3. Establecer para cada sistema asociado un objetivo de la intensidad de falla.a. Determinar si los usuarios necesitan confiabilidad o disponibilidad oambos. Un sistema de control de vuelos, un sistema de reservaciónde vuelos.Si una falla causa perdida de tiempo referente al tiempo de recobrarun producto o al tiempo del humano. Se puede agregar dos tiemposmuertos y se pueden agregar dos tiempos muertos al análisisestándar de disponibilidad. En esta aproximación, se pone una metade disponibilidad efectiva para el equipo hombre-maquina. Lafórmula que relaciona el objetivo de la intensidad de falla λAes:(1 − A)λA=AtDonde; A es la disponibilidad y mt es el promedio del tiempo muertopor falla.m


Suponga que queremos el 99% de disponibilidad efectiva del equipohombre-maquina. Considere que el equipo requiere de un tiempopromedio de recuperación de 14 minutos de la persona involucrada,quien deberá borrar la memoria antes de reiniciar el sistema.Además el promedio del tiempo muerto de cada falla es 1 minuto. Deaquí el total de tiempo muerto es 15 minutos ó 0.25 Hrs.(1 − A) (1 − 0.99)λ0.01A= = =At (0.99)(0.25) 0.2425Aproximadamente 4 fallas por cada 100 Hrs.mb. Determinar en conjunto los objetivos de confiabilidad y/odisponibilidad. Los objetivos pueden establecerse por contrato,garantía o requerimientos regulatorios. Si los objetivos no sedeterminaron por lo antes mencionado entonces puede aplicar losiguiente:• Analice el beneficio contra confiabilidad u objetivo dedisponibilidad.• Analice la experiencia con productos similares.• Compare los objetivos para mayores características deconfiabilidad como: confiabilidad, intensidad de falla,disponibilidad, tiempo de desarrollo, precio del producto.En la siguiente tabla se muestra una típica variación de beneficio para un productobasado en software con confiabilidad, indicando la intensidad de falla.Intensidad de falla (Fallas pormillón de transacciones)Utilidad o beneficio(millones de dólares)1000 0.6500 1.5250 5.8100 17.250 21.425 19.810 16.3


Los factores que se deben tomar en cuenta en los productos son: La intensidad dela falla, el tiempo de desarrollo y el costo de desarrollo.En la siguiente tabla es información resultante de experimentos. Es una guía conrespecto al riesgo de la vida humana que esta basado en el factor que en USAexiste sobre la muerte debido a accidentes automovilísticos por millón de horas deviaje.Impacto de la fallaObjetivo de la intensidadde falla típico(Fallas/hr)Tiempo entrefallasCosto de cientos de10 -9 114,000 añosmuertes, mas que $10 9Costo de una muerte,10 -6 114 añosalrededor de $10 6Costo de aprox. $1000 10 -3 6 semanasCosto de aprox. $100 10 -2 100 horasCosto de aprox. $10 10 -1 10 horasCosto de aprox. $1 1 1 horasc. Determine el objetivo de la intensidad de falla para los objetivos deconfiabilidad y disponibilidad.Antes de encontrar un objetivo común de la intensidad de falla, cuando existenambos objetivos de confiabilidad y disponibilidad, debemos convertir el objetivo dedisponibilidad a un objetivo de intensidad de falla. Esto puede involucrar trespasos:Primero, debe convertir la disponibilidad a intensidad de falla expresada conrespecto al tiempo. Por ejemplo un producto con objetivo de disponibilidad de0.9999 y un tiempo muerto de 0.01 hr, entonces:λ = 0.0001/ 0.009999 = 0.0100 fallas/hrFSegundo, se debe convertir el tiempo a unidades naturales dividiendo el promediodel termino largo de las unidades naturales entre la unidad de tiempo.Considerando el ejemplo anterior, considere que las transacciones son la unidadde medida de referencia y que tenemos una gran número de Ktransacciones/hr.Convirtiendo a unidades de intensidad de falla, tenemos:


01/1000 = 0.01 fallas/KtransaccionesTercero, debemos calcular el objetivo de la intensidad de la falla total desde que elobjetivo de la intensidad de la falla tiene una severidad de 1:λλ =FF1RDonde λFes el objetivo de la intensidad de falla total, λ F1es objetivo de laintensidad de la falla tiene una severidad de 1 y R es la relación o razón esperadade la intensidad de la falla tiene una severidad de 1.Continuando con el ejemplo, deberíamos asumir que la interrupción en el servicioson fallas con severidad 1 y que estas representan el 5% del total de las fallas,entonces R = 0.05 y:λ 0.01F= = 0.2 fallas/Ktransacciones.02Para convertir la intensidad de falla a confiabilidad y viceversa utilice:R = exp( − λt)Donde: R es la confiabilidad, λ es la intensidad de falla y t es número natural ounidades de tiempo.4. Para cada software:a. Determinar el objetivo de la intensidad de falla del softwaredesarrollado.Primeramente es necesario poner el objetivo de la intensidad de falla delsoftware desarrollado, con el fin de poder seleccionar las estrategias deconfiabilidad del software que se utilizarán a fin de darle seguimiento a laconfiabilidad durante la prueba del sistema con la intensidad de falla y larelación del objetivo de la intensidad de falla.Primero determine la intensidad de falla adquirida esperada y despuéscalcule el objetivo de la intensidad de falla del software desarrollado para elproducto base y sus variaciones.Para determine la intensidad de falla adquirida esperada, deberá encontrarla intensidad de falla para cada componente adquirido del producto y susvariaciones. Los componentes adquiridos incluyen el hardware y el softwareadquirido. La estimación deberá estar basada en:• Datos de operación.


• Garantía del vendedor o especificaciones.• Experiencia de expertos.b. Seleccione estrategias de confiabilidad de software para mejorar elobjetivo de la intensidad de falla.En la selección de estrategias de confiabilidad de software, setoman decisiones que son razonablemente opcionales yfrecuentemente son: revisión de requerimientos, revisión del diseño,revisión del código, grado de tolerancia de fallas en el diseño delsistema y prueba del sistema.El proceso de seleccionar estrategias de confiabilidad desoftware esta fundado sobre la predicción sobre la reducción delobjetivo de la intensidad de la falla.falla:Para determinar la reducción del objetivo de la intensidad de la1. Exprese el objetivo de la intensidad de falla delsoftware desarrollado en tiempo de ejecución.2. Calcule la intensidad de falla básica.3. Calcule la reducción del objetivo de la intensidad de lafalla.4.1.2. Guía para la prueba de confiabilidad de software.Debemos procesar los datos colectados de las fallas para cada sistema de formaseparada:1. Seguimiento de la mejora de confiabilidad en el desarrollo de software paraun producto base y sus variaciones. Se realizan estimaciones periódicas delde la relación entre la intensidad de la falla y el objetivo de la intensidad dela falla (FI/FIO), basado en los datos de fallas.2. Pruebas de aceptación para un producto base y sus variaciones.3. Aceptación o rechazo de un supersistema.4. Liberar un producto.4.2 Aplicaciones de la teoría de confiabilidad en sensores inteligentes.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!