jueves, 9 de diciembre de 2010

Sala Limpia del Software

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.
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.


Hace uso del modelo incremental del software
Asignada la funcionalidad el tubo de sala limpia comienza sus incrementos
Los requisitos globales del sistema se desarrollan empleando los métodos de software
Desarrolla un tubo de incremento de software
 
 
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.
 
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.
 
 
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.
  

Certificacion:
 
3. Se generan casos de prueba a partir del perfil
1. Es preciso crear escenarios de utilización
4. Se ejecutan pruebas y los datos de los fallos se registran
5. Se calcula y se certifica la fiabilidad
2. Se especifica un perfil de utilización
 
Requeire de 3 Modelos:
Modelo de muestreo : Ejecuta m casos de pruebas aleatorias y especifica si produce ó no un fallo.
Modelo de componentes: Certifica un sistema de n componentes  y determina la probabilidad de fallo del componente i.
Modelo de certificación: Estima y certifica la fiabilidad global del sistema. 
 
La ingeniería del software de sala limpia  es un enfoque formal para el desarrollo de software de calidad alta.

El resultado final son unas tasas de fallos bajas difíciles de conseguir empleando métodos menos formales.
 
 
 

 
 
 




 


 

No hay comentarios:

Publicar un comentario