Beruflich Dokumente
Kultur Dokumente
DE SALA LIMPIA
1
CONTENIDO
1- INGENIERA DE SOFTWARE DE SALA LIMPIA .................................................... 3
1.1- Concepto .................................................................................................................. 3
1.2- Importancia .............................................................................................................. 4
1.3- Diferencia respecto al desarrollo convencional del software. ................................. 4
2- EL ENFOQUE DE SALA LIMPIA ............................................................................... 5
2.1 Tareas del Enfoque de Sala Limpia .............................................................................. 6
Planificacin de Incrementos ......................................................................................... 6
Recoleccin de Requisitos .............................................................................................. 6
Especificacin de la Estructura de Cajas ........................................................................ 6
Diseo Formal ................................................................................................................ 6
Verificacin de Correccin ............................................................................................. 6
Generacin de Cdigo, inspeccin y verificacin .......................................................... 6
Planificacin de la Comprobacin Estadstica ............................................................... 7
Comprobacin estadstica de utilizacin ........................................................................ 7
Certificacin ................................................................................................................... 7
3- ESPECIFICACIN FUNCIONAL ................................................................................... 7
3.1- Objetivo ................................................................................................................... 7
3.2- Estructura de Cajas .................................................................................................. 7
3.3- Especificacin de Caja Negra .................................................................................. 8
3.4- Especificacin de Caja de Estado ........................................................................... 9
3.5- Especificacin de Caja Transparente ...................................................................... 9
4- REFINAMIENTO Y VERIFICACIN DEL DISEO .................................................. 10
4.1- Finalidad ................................................................................................................ 10
Ejemplo de una verificacin del diseo:....................................................................... 12
4.2- Ventajas de la Verificacin del Diseo .................................................................. 14
5- COMPROBACIN DE SALA LIMPIA ......................................................................... 15
5.1- Finalidad ................................................................................................................ 15
5.2- Comprobacin de Estadstica de Casos Prcticos .................................................. 16
Ejemplo de comprobacin estadstica de casos prcticos: ........................................... 16
5.3- Certificacin ........................................................................................................... 18
ANEXOS .............................................................................................................................. 19
Anexo 1. Mapa Mental Ingeniera de Sala Limpia ........................................................... 19
BIBLIOGRAFA .................................................................................................................. 20
2
1- INGENIERA DE SOFTWARE DE SALA LIMPIA
1.1- Concepto
Al igual que las tcnicas de mtodos formales, 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.
Debido al alto nivel de exigencia que este mtodo requiere, debe ser realizado por
un ingeniero de software formado para sta especializacin
3
1.2- Importancia
Los errores conllevan doble trab ajo. Trabajar el doble lleva ms tiempo y es
ms caro. No sera maravilloso poder reducir dramticamente la cantidad de errores (fallos
informticos) que se cometen en el diseo y construccin del software? Esto es lo que
promete la ingeniera del software de sala limpia.
Cuando el software falla en el mundo real, suelen abundar los peligros a largo plazo
as como los peligros inmediatos. Los peligros pueden estar relacionados con la seguridad
humana, con prdidas econmicas o con el funcionamiento efectivo de una infraestructura
social y de negocios. La ingeniera del software de sala limpia es un modelo de proceso que
elimina los defectos antes de que puedan dar lugar a riesgos graves.
En el desarrollo convencional del software, los errores se aceptan como cosas que
pasan. Dado que se considera que los errores son inevitables, cada mdulo del programa
debe ser comprobado unitariamente (para descubrir los errores) y depurado despus (para
eliminar los errores). Cuando se publica finalmente el software, la utilizacin prctica
descubre aun ms defectos, y comienza otro ciclo de comprobacin y depuracin. Este
trabajo repetido asociado a las actividades mencionadas resulta costoso y lleva mucho
tiempo. Y lo que es peor, puede ser degenerativo; la correccin de errores puede
(inadvertidamente) dar lugar a la introduccin de otros errores.
4
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 software.
En sala limpia, la comprobacin unitaria y la depuracin se ven sustituidas por una
verificacin de correccin y por una comprobacin basada estadsticamente.
5
2.1 Tareas del Enfoque de Sala Limpia
Planificacin de Incrementos
Recoleccin de Requisitos
Diseo Formal
Verificacin de Correccin
6
cdigo y de cajas, y la correccin sintctica del cdigo. Se efecta una verificacin de
correccin para el cdigo fuente.
Certificacin
3- ESPECIFICACIN FUNCIONAL
3.1- Objetivo
7
formar una jerarqua en la cual cada caja tiene transferencia referencial: el contenido de
informacin de cada especificacin de caja basta para definir su refinamiento, sin depender
de la implementacin de ninguna otra caja (Ver Ilustracin 1). Esto capacita al analista para
desglosar jerrquicamente el sistema.
8
3.4- Especificacin de Caja de Estado
9
Ilustracin 4 Una especificacin de caja transparente
El enfoque del diseo que se utiliza en la ingeniera del software de sala limpia hace
mucho uso de la filosofa de programacin estructurada. Pero dicha programacin se aplica
mucho ms rigurosa. Las funciones bsicas de procesamiento se refinan ahora utilizando
una expansin progresiva de funciones matemticas en estructuras de conectivas lgicas y
subfunciones, en donde la expansin se efecta hasta que todas las funciones identificadas
pudieran ser enunciadas directamente en el lenguaje de programacin utilizado para la
implementacin
Cada especificacin de caja transparente representa el diseo de un procedimiento
necesario para efectuar una transicin de caja de estado. Mediante la caja transparente, se
utilizan las estructuras de programacin estructurada y de refinamiento progresivo. (Ver
Ilustracin 5).
10
Ilustracin 5 Refinamiento Progresivo
En cada nivel de refinamiento, el equipo de sala limpia lleva a cabo una verificacin
formal de correccin. Para lograr esto, se asocia un conjunto de condiciones genricas de
correccin a las estructuras de programacin estructurada. Si se expande una funcin f para
dar sucesin a g y h entonces la condicin de correccin para todas las entradas de f es:
Es cierto que g seguido por h da lugar a f?
Si se refina una funcin p para llegar a una estructura condicional (si-entonces-
sino), la condicin de correccin para toda entrada de p es:
Siempre que sea cierta la condicin (c) es cierto que q realiza p y siempre que
(c) sea falsa, es cierto que y realiza p?
Si se refina una funcin m en forma de bucle, las condiciones de correcci{on para
todas las entradas de m son:
Est garantizada la finalizacin?
Siempre que (c) sea verdadera es cierto que n seguido por m, siempre que (c)
sea falso sigue realizndose m si se obvia el bucle?
11
Cada vez que se refina una caja limpia hasta el siguiente nivel de detalle, se aplican
las condiciones de correccin indicadas anteriormente.
12
Ilustracin 7 Demostracin de la Correccin del Diseo (Clculo de raz cuadrada)
1. La condicin comienzo exige que [x>=0 y y=0]. Basndose en los requisitos del
problema, se supone que la condicin de entrada es correcta.
Consiguientemente, se satisface la primera parte de la condicin comienzo, x
>=0. Consiguientemente la segunda parte de la condicin comienzo tambin se
satisface. De aqu que comienzo sea verdadero.
2. La condicin bucle se puede encontrar de dos maneras: a) directamente saliendo
de comienzo (en este caso, la condicin del bucle se satisface directamente) o
bien b) a travs del control de flujo que pasa la condicin cont. Dado que la
condicin cont es idntica a la condicin bucle es verdadera
independientemente de la rama de flujo que lleve a ella.
3. Se llega a la condicin cont nicamente despus de haber incrementado en 1 el
valor de y. Adems, la ruta de flujo de control que lleva a cont solamente se
puede invocar si la condicin si tambin es verdadera. Consiguientemente si
(y+1)2<= x, se sigue que y2<=x. La condicin cont se satisface.
4. La condicin si se comprueba en la lgica condicional que se muestra.
Consiguientemente la condicin si debe ser verdadera cuando el flujo de control
pase por la va mostrada.
5. La condicin salida exige, en primer lugar, que x no aparece en ningn lugar a
la izquierda de un operador de asignacin. No hay ninguna llamada a funcin
que utilice x. Por lo tanto, queda intacto. Dado que la comprobacin de
13
2
condiciones (y+1) <=x. Adems, la condicin bucle debe seguir siendo
verdadera (esto es y2>=x). Consiguientemente, que (y+1) 2
>x e y2<=x se
pueden combinar para satisfacer la condicin salida.
Adems, es preciso asegurar que finalice el bucle. Un examen de la condicin
del bucle indica que dado que y se va incrementando y que x>=0, el bucle
finalmente debe terminar.
Permite que los equipos de sala limpia verifiquen todas las lneas de diseo y
cdigo.
Los diseadores pueden efectuar la verificacin mediante un anlisis y debate en
grupo de las bases del teorema de correccin y pueden producir pruebas escritas
cuando se necesite una confianza adicional en algn sistema crtico.
14
requisito de acuerdo unnime basado en las verificaciones individuales de
resultados da lugar a un software que posee pocos o ningn defecto antes de su
primera ejecucin.
Es escalable.
Todo sistema de software, independientemente de su tamao, posee unos
procedimientos de caja transparente del ms alto nivel formados por estructuras de
secuencia, alternancias e iteraciones. Cada uno de estos invoca tpicamente a un
gran subsistema que posee miles de lneas de cdigo. Por lo tanto, las condiciones
de correccin para estas estructuras de control de alto nivel se verifican de la misma
forma en que se procede con las estructuras de bajo nivel.
5.1- Finalidad
15
5.2- Comprobacin de Estadstica de Casos Prcticos
16
estmulo. Para facilitar la seleccin de los casos de prueba, estas probabilidades se hacen
corresponder con intervalos numerados entre 1 y 99 (Ver Tabla 1).
Tabla 1 Ejemplo Porcentaje de Probabilidad de una determinada funcionalidad del uso de un Software
17
5.3- Certificacin
18
ANEXOS
Anexo 1. Mapa Mental Ingeniera de Sala Limpia
19
BIBLIOGRAFA
20