martes, 7 de diciembre de 2010

SALA LIMPIA


SALA LIMPIA
Es un enfoque que hace hincapié en la necesidad de incluir la corrección en el software a medida que éste se desarrolla.
Consiste en la edición de dependencias de costosos procesos de eliminación de defectos, mediante la escritura de incrementos de código desde su primer momento.
Su modelo de proceso incluye la certificación estadística de calidad de los incrementos de código, a medida que estos se van acumulando en el sistema.
El Enfoque de Sala Limpia
Demanda la disciplina necesaria para eliminar errores en las especificaciones y diseño, fabricando el producto de forma limpia. Propuesta por Mills y sus colegas. Henderson sugiere tres razones:
         1. La creencia consistente en que la metodología de sala limpia es excesivamente teórica, matemática y radical para utilizarla en el desarrollo de software real.
         2. No propone una comprobación unitaria por parte de los desarrolladores, sino  que la sustituye por un control estadístico de la calidad.
         3. El uso de los procesos de sala limpia requiere procesos definidos  en las fases del ciclo vital.

La Estrategia de Sala Limpia




Tareas
         Planificación de incrementos: Se desarrolla un plan de proyecto que adopta la estrategia incremental. Se establecen las funcionalidades de los incrementos, tamaño estimado y un plan de desarrollo de sala limpia de cada uno.
         Recolección de requisitos: Mediante el uso de técnicas  se desarrolla una descripción de los requisitos a nivel de usuario.
         Especificación de la estructura de cajas: Se utiliza un método de especificación que hace uso de la estructura de caja para describir la especificación funcional, donde se aísla y separa  la definición de los datos  para cada nivel de refinamiento.
         Diseño formal: El diseño de sala limpia es una extensión natural y sin discontinuidades de la especificación. Las especificaciones (cajas negras) se refinan iterativamente para transformarse en diseños análogos  a la arquitectura  y a los procedimientos (cajas  de estado y cajas transparentes) respectivamente.
         Verificación de corrección: El equipo de sala limpia lleva a cabo actividades de verificación de corrección aplicadas al diseño y al código. La verificación comienza con la estructuras de cajas de alto nivel y avanza hacia el diseño y el código.
         Generación de código, inspección y verificación: La especificaciones de estructura de caja, que se representan mediante un lenguaje especializado, se traduce al lenguaje de programación adecuado.
         Planificación de la comprobación estadística: La utilización del software se analiza , se planifica y se diseña un conjunto de casos de pruebas que ejerciten la distribución de probabilidad de la utilización.
         Comprobación estadística de utilización: Las técnicas estadísticas de utilización ejecutan un conjunto finito de casos de prueba.
         Certificación: Una vez finalizado los procedimientos, se certifican los incrementos. 
Modelo de Proceso de Sala Limpia
 



¿Qué hace diferente la sala limpia?
1. Hace uso explícito del control estadístico de calidad.
2. Verifica la especificación del diseño empleando una demostración de corrección basada en las matemáticas.
3. Hace uso de la comprobación estadística de utilización para descubrir errores de especial incidencia. 
Especificación Funcional
Satisface los principios de análisis operacional, empleando un método denominado “especificación de estructura de cajas”.
Una caja encapsula al sistema con cierto grado de detalle.
Mediante el refinamiento progresivo forma una jerarquía, donde cada caja tiene transferencia referencial.
Se utilizan tres tipos de cajas:
Caja negra: Especifica el comportamiento del sistema.
Caja de estado: Encapsula los datos de estados  y de servicios de forma análoga a los objetos.
Caja transparente: Contiene el diseño de procedimientos correspondiente a la caja de estados.
Especificación de caja de estado
Es una generalización sencilla de una máquina de estado.
Utiliza una transacción de datos para determinar el estado siguiente.
Se producen transiciones entre el estado actual y el nuevo.
Función de caja negra:


Refinamiento de la estructura de cajas




Refinamiento progresivo 
Raíz cuadrada 












Ventajas de la verificación del diseño










Comprobación de Sala Limpia
Objetivo : Validar los requisitos de software mediante la demostración de una muestra estadística de casos prácticos.
Equivale : A comprobar el software en la forma en los que el usuario tienen intención de utilizarlo.
Determina : La distribución de probabilidad de utilización correspondiente al software.
Analiza : La especificación (caja negra) de c/incremento del software para definir los estímulos (entradas o procesos) que dan lugar a modificar el comportamiento del software.
Desarrolla : Un incremento del software que gestione la interacción del usuario con el teclado del sistema de seguridad.
Genera : Una serie de números aleatorios entre 1 y 99, correspondiente al intervalo de la probabilidad. 




 
Sucesiones de números aleatorios:


Se derivan los siguientes casos prácticos mediante  la selección de los estímulos basados en el intervalo de distribución que se muestra en la tabla anterior:




Conclusiones
La ingeniería del software de sala limpia  es un enfoque formal para el desarrollo de software de calidad alta.
Emplea la estructura de caja (métodos formales) para el modelado de análisis y diseño, haciendo hincapié en la verificación de la coreccion.
Aplica una comprobación estadística  de utilización de la tasa de fallos para certificar la fiabilidad del software
El resultado final son unas tasas de fallos bajas difíciles de conseguir empleando métodos menos formales.





CASO ESTUDIO DE SALA LIMPIA




No hay comentarios:

Publicar un comentario en la entrada