Download Clean Room Software Engineering PDF

TitleClean Room Software Engineering
File Size58.1 KB
Total Pages10
Document Text Contents
Page 1

:















0BMétodos Computacionales en
Ingeniería Industrial

“Clean Room Software Engineering.”
(Ingeniería de Software de Sala Limpia)

Código del curso: 14015













Integrantes: Jorge Álvarez

Felipe Caro M.

Juan Cea R.

Felipe Verdugo.

Profesor de cátedra: Alonso Inostrosa Psijas



Fecha de entrega: 6 de Agosto de 2008



UNIVERSIDAD DE SANTIAGO DE CHILE

Facultad de Ingeniería

Departamento de Ingeniería Civil Industrial

Page 3

2

2BIntroducción.


Hay un gran número de factores que repercuten en la persona que
trabaja dentro de un entorno de desarrollo software. Los cambios en el sistema
operativo, el lenguaje de programación, la organización del proyecto, o los
estándares establecidos para los diferentes aspectos del ciclo de vida de un
proyecto pueden influir tanto en el trabajador como en la cantidad de trabajo
que puede realizar.


La utilización integrada del modelado de ingeniería del software

convencional, métodos formales, verificación de programas (demostraciones de
corrección) y estadística SQA se han combinado en una técnica que puede dar
lugar a un software de calidad extremadamente alta. La ingeniería del software
de 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, en lugar del ciclo
clásico de análisis, diseño, pruebas y depuración.


La filosofía primordial de la ingeniería del software de sala limpia es ser
un proceso que da importancia a la verificación matemática de la corrección
antes de que comience la construcción de un programa y de que la certificación
de la fiabilidad del software forme parte de la actividad de pruebas. Haciendo
hincapié en una filosofía más profunda, se trataría de aquella que tiene índices
de fallo extremadamente bajos y que es difícil o imposible de lograr utilizando
métodos menos formales.

¿Por qué es importante?


Los errores conllevan doble trabajo. Trabajar el doble lleva más tiempo y
es más caro. ¿No sería maravilloso poder reducir dramáticamente la cantidad
de errores (fallos informáticos) que se cometen en el diseño y construcción del
software? Esto es lo que promete la ingeniería del software de sala limpia.

Page 4

3

3BObjetivos del desarrollo de Cleanroom Software.



El enfoque de sala limpia hace uso de una versión especializada del
modelo incremental de software. Se desarrolla un «cauce de incrementos de
software» por parte de equipos de ingeniería del software pequeños e
independientes. A medida que se va certificando cada incremento, se integra
en el todo. Consiguientemente, la funcionalidad del sistema va creciendo con el
tiempo.


La ingeniería de sala limpia logra control de calidad estadístico sobre el

desarrollo del software separando estrictamente el proceso del diseño del
proceso de comprobación en un cauce de desarrollo incremental de software.

Page 5

4

4BDesarrollo del Software de sala limpia (Cleanroom
Software Development.)


1.- Definición


La ingeniería del Software de sala limpia es un enfoque formal y riguroso
para el desarrollo del Software, que pueda dar lugar a un Software que posea
una calidad notablemente alta. Emplea la especificación de estructura de cajas
(o métodos formales) para el modelado de análisis y diseño, y hace hincapié en
la verificación de la corrección, más que en la comprobación, como mecanismo
fundamental para hallar y eliminar errores. Se aplica una comprobación
estadística de utilización para desarrollar la información de tasa de fallos
necesaria para certificar la fiabilidad del Software proporcionado. El resultado
final son unas tasas de fallo extremadamente bajas, que sería difícil o imposible
de conseguir empleando unos métodos menos formales.

2.- Tareas


La sucesión de tareas de sala limpia para cada incremento, se
manifiesta mediante unos requisitos globales del sistema o producto que se
van desarrollando empleando los métodos de ingeniería de sistemas. Una vez
que se han asignado una funcionalidad al elemento de Software del sistema el
tubo de la sala limpia comienza sus incrementos y se producen las siguientes
tareas.



• Planificación de Incrementos.


La planificación incremental permite calidad temprana y continua
interacción con el usuario. Facilita mejoras de proceso mientras el desarrollo
progresa. El acercamiento incremental evita los riesgos inherentes integración
tardía en el ciclo de desarrollo.


• Recolección de requisitos.


Los propósitos del proceso del análisis de requisitos son:

1) definir requisitos para el producto de software, incluyendo función,

uso, ambiente, y funcionamiento.

2) obtener un acuerdo con el cliente en los requisitos como la base para

la función y especificación del uso.


• Especificación de la estructura de cajas.


Tres tipos especiales de funciones matemáticas son importantes en el
desarrollo a Sala limpia, debido a su correspondencia y correlación en el

Page 6

5

proceso de descomposición y verificación. Estas funciones son
conocidas como la caja negra, la caja de estado y caja limpia. En la
estructura de las cajas se pueden aplicar una variedad de estrategias de
descomposición, además se puede incluir funcionabilidad y orientación a
objeto.


• Diseño Formal.


Mediante el uso del enfoque de estructura de cajas, el diseño de sala
limpia es una extensión natural y sin discontinuidades de la
especificación. Dan los objetivos, los participantes, los criterios de
entrada, las tareas, la verificación, las medidas y los criterios comunes
de la salida en los procesos, así como elementos de proceso común.


• Verificación de Corrección.


El equipo de sala limpia lleva a cabo una serie de rigurosas actividades
de verificación de corrección aplicadas primero al diseño y después al
código. El propósito del proceso de la verificación de la corrección, es
verificar la corrección del incremento del software usando técnicas
matemáticas.


• Generación de Código, inspección y verificación.


Las especificaciones de estructura de caja que se representan mediante
un lenguaje especializado se traducen la lengua de programación mas
adecuado.


• Planificación de la comprobación estadística, comprobación

estadística de utilización y certificación.


El propósito del proceso estadístico de prueba y de certificación es
demostrar la aptitud del software para el uso en un experimento estadístico
formal. La "aptitud para el uso" se define con respecto a los modelos de uso y a
las metas de la certificación empleados en el proceso de prueba. Las metas de
certificación, primero establecidas en el plan de medida y refinadas en el plan
de prueba de incremento, se pueden expresar en términos tales como índice
de confiabilidad del software.

3.- Cajas de Sala Limpia


Una caja encapsula el sistema con un cierto grado de detalle. Mediante un
proceso de refinamiento progresivo, se van refinando las cajas para formar una
jerarquía en la cual cada caja tiene una transferencia. Para esto se utilizan tres
tipos de cajas:


• Caja Negra.


Especifica el comportamiento del sistema, o de una parte de un sistema.

Page 7

6

• Caja de Estado.


Esta caja encapsula los datos de estados y de servicios (operaciones)
de forma análoga a los objetos. En esta vista de especificación, se
representan las entradas de la caja de estados y sus salidas.


• Caja Transparente.


Las funciones de transición que están implicadas en la caja de estados
se definen en la caja transparente.


4.- Verificación de diseño


El diseño que se utiliza en la ingeniería del Software de sala limpia hace
mucho uso de la filosofía de programación estructurada. Son realmente las
funciones básicas de procesamiento, se refinan ahora utilizando una expansión
progresiva de funciones matemáticas en estructuras de conectivas lógicas.

5.- Comprobación de la sala limpia


La técnica y estrategia de la comprobación de la sala limpia es algún
fundamentalmente distinto de los enfoques convencionales de comprobación.
Los métodos convencionales derivan de un conjunto de casos de prueba para
descubrir errores de diseño y codificación.

6.- Diferenciar de Sala Limpia


Existen diversos métodos o paradigmas que nos reflejan la diferencia
notoria de que sea sala limpia.


• Hace uso explícito del control estadístico de calidad.


• Verifica la especificación del diseño empleando una demostración de
corrección basada en las matemáticas.


• Hace mucho uso de la comprobación estadística de utilización para

descubrir errores de especial incidencia.

Page 8

7

5BResumen.



La ingeniería del software de sala limpia es un enfoque formal para el
desarrollo del software, que puede dar lugar a un software que posea una
calidad notablemente alta. Emplea la especificación de estructura de cajas (o
métodos formales) para el modelado de análisis y diseño, y hace hincapié en la
verificación de la corrección, más que en las pruebas, como mecanismo
fundamental para hallar y eliminar errores. Se aplica una prueba estadística de
utilización para desarrollar la información de tasa de fallos necesaria para
certificar la fiabilidad del software proporcionado.


El enfoque de sala limpia comienza por unos modelos de análisis y

diseño que hacen uso de una representación de estructura de cajas. Una
«caja» encapsula el sistema (o algún aspecto del sistema) en un determinado
nivel de abstracción. Se utilizan cajas negras para representar el
comportamiento observable externamente de ese sistema. Las cajas de estado
encapsulan los datos y operaciones de ese estado. Se utiliza una caja limpia
para modelar el diseño de procedimientos que está implicado por los datos y
operaciones de la caja de estados. Se aplica la verificación de corrección una
vez que está completo el diseño de estructura de cajas. El diseño de
procedimientos para un componente de software se desglosará en una serie de
subfunciones. Para demostrar la corrección de cada una de estas
subfunciones, se definen condiciones de salida para cada una de las
subfunciones y se aplica un conjunto de subpruebas. Si se satisfacen todas y
cada una de las condiciones de salida, entonces el diseño debe ser correcto.


Una vez finalizada la verificación de corrección, comienza la prueba
estadística de utilización. A diferencia de la comprobación condicional, la
ingeniería del software de sala limpia no hace hincapié en la prueba unitaria o
de integración. En su lugar, el software se comprueba mediante la definición de
un conjunto de escenarios, mediante la determinación de las probabilidades de
utilización de cada uno de esos escenarios y mediante la aplicación posterior
de pruebas aleatorias que satisfagan estas probabilidades. Los registros de
error resultantes se combinan con modelos de muestreo, de componentes y de
certificación para hacer posible el cálculo matemático de la fiabilidad estimada
de ese componente de software. La filosofía de sala limpia es un enfoque
riguroso de la ingeniería del software. Se trata de un modelo de proceso del
software que hace hincapié en la verificación matemática de la corrección y en
la certificación de la fiabilidad del software. El resultado final son unas tasas de
fallo extremadamente bajas, que sería difícil o imposible de conseguir
empleando unos métodos menos formales.

Similer Documents