Este enfoque hace hincapi en la necesidad de incluir la correccin en el software a medida que estese desarrolla. En lugar del ciclo bsico del anlisis, diseo, comprobacin y depuracin, el enfoque de sala limpia sugiere un punto de vista distinto: La filosofa que subyace a la ingeniera del software de sala limpia consiste en la edicin de dependencias de costosos procesos de eliminacin de defectos, mediante la escritura incrementos de cdigo desde un primer momento y mediante la verificacin de correccin antes de lacomprob acin. Su modelo de proceso incluye la certificacin estadstica de calidad de losincrementos de cdigo, a medida que estos se van acumulando en el sistema. El proceso de sala limpia hace hincapi en el rigor, en la especificacin y en el diseo, y en la verificacin formal de cada uno de los elementos del modelo de diseo resultante mediante el uso de pruebas de correccin basadas en fundamentos matemticos. Al extender el enfoque adoptado en los mtodos formales, el enfoque de sala limpia hace hincapi tambin en tcnicas de control estadstico de calidad, incluyendo las comprobaciones basadas en el uso anticipado del software por parte de los clientes. La ing. del soft. De sala limpia es un modelo de proceso que elimina los defectos antes de que puedan dar lugar a riesgos graves. Hace hincapi en la necesidad de producir unos modelos de anlisis y de diseo de muy alta calidad.
EL ENFOQUE DE SALA LIMPIA
La filosofa de la sala limpia en las tcnicas de fabricacin de hardware es la siguiente: se trata de una forma efectiva y eficiente en trminos de tiempo de establecer un enfoque de fabricacin que impida la introduccin de defectos de produccin. En lugar de fabricar un producto y dedicarse despus a eliminar defectos, este enfoque demanda la disciplina necesaria para eliminar errores en las especificaciones y en el diseo. Este enfoque no ha alcanzado gran difusin. Henderson sugiere tres posibles argumentos: 1) La creencia que la metodologa es excesivamente terica, matemtica y radical para utilizarla en el desarrollo de software real. 2) No propugna una comprobacin unitaria por parte de los desarrolladores, sino que la sustituye por una verificacin de la correccin y por un control estadstico de la calidad. (Distinto al modo convencional) 3) El uso de procesos de sala limpia requiere una aplicacin rigurosa de procesos definidos en todas las fases del ciclo de vida. La industria no est preparada para esto.
La estrategia de sala limpia
En el enfoque de sala limpia se desarrolla un tubo de incrementos de software por parte de equipos d e i n g e n i e r a d e l s o f t w a r e p e q u e o e i n d e p e n d i e n t e . A m e d i d a q u e s e v a c e r t i f i c a n d o c a d a incremento, se integra en el todo. La funcionalidad del sistema va creciendo con el tiempo. Una vez que se ha asignado una funcionalidad al elemento de software del sistema, el tubo de la sala limpia comienza sus incrementos. Se producen las tareas siguientes: PLANIFICACIN DE INCREMENTOS: Se van estableciendo las funcionalidades de cada uno delos incrementos, su tamao estimado, y un plan de desarrollo de sala limpia. Hay que tener cuidado de que los incrementos se vayan integrando en forma oportuna.
RECOLECCION DE REQUISITOS: Se desarrolla una descripcin ms detallada de requisitos del nivel
del usuario. ESPECIFICACIN DE LA ESTRUCTURA DE CAJAS: se utiliza para describir la especificacin funcional. La estructura de caja asla y separa la definicin creativa del comportamiento, de los datos de los procedimientos para cada nivel de refinamiento. DISEO FORMAL: mediante los usos de estructura de cajas, el diseo de s a l a l i m p i a e s u n a extensin natural y sin discontinuidades de la especificacin. Las especificaciones (que se denominan cajas negras) se refinan iterativamente (dentro de cada incremento) para transformarse en diseos a n l o g o s a l a a r q u i t e c t u r a y a l o s p r o c e d i m i e n t o s ( q u e s e d e n o m i n a n cajas de estado y cajas transparentes, resp.) VERIFICACION DE CORRECCION: el equipo de sala limpia lleva a cabo una serie de rigurosas a c t i v i d a d e s d e v e r i f i c a c i n d e c o r r e c c i n a p l i c a d a s p r i m e r o a l d i s e o y d e s p u s a l c d i g o . L a verificacin comienza con la estructura de cajas del ms alto nivel y avanza hacia el detalle de diseo el cdigo. GENERACION DE CODIGO, INSPECCION Y VERIFICACION: las especificaciones deestructura de caja, que se representan mediante un lenguaje especializado, se traducen al lenguaje de programacin adecuado. Se utilizan tcnicas de recorrido o de inspeccin para asegurar el cumplimiento semntico de las estructuras de cdigo y de cajas, y la correccin sintctica del cdigo. Se efecta una verificacin de correccin para el cdigo fuente. PLANIFICACION DE LA COMPROBACION ESTADISTICA: la utilizacin estimada del software se analiza y se planifica y se disea un conjunto de casos de prueba que ejerciten la distribucin de probabilidad de esa utilizacin. Especificacin, verificacin y generacin de cdigo en paralelo.
COMPROBACION ESTADISTICA DE UTILIZACION: resulta necesario disear un
conjunto finito de casos de prueba. Las tcnicas estadsticas de utilizacin ejecutan una coleccin de pruebas derivadas de una muestra estadstica de todas las posibles ejecuciones del programa por parte de todos los usuarios de una cierta poblacin blanca.
CERTIFICACION: despus de la verificacin, inspeccin y la comprobacin
s e c e r t i f i c a e l incremento como preparado para su integracin.
Qu hace diferente la sala limpia?
Difiere de los puntos de vista convencionales y orientados a objetos: 1) Hace usos explcitos del control estadstico de calidad 2) Verifica la especificacin del diseo empleando una demostracin de c o r r e c c i n b a s a d a e n l a s matemticas. 3) Hace mucho uso de la comprobacin estadstica de utilizacin para descubrir errores de especial incidencia. El enfoque de sala limpia aplica la mayor parte de los principios bsicos de ingeniera del software. Prcticas convencionales: quita importancia al papel de la comprobacin y depuracin de unitarios y al reducir mucho las comprobaciones que son realizadas por quien desarrolla el soft.En sala limpia, la comprobacin unitaria y la depuracin se ven sustituidas por una verificacin de correccin y por una comprobacin basada estadsticamente.