Clean Room Software Engineering
December 7, 2016 | Author: yailsk8 | Category: N/A
Short Description
Clean Room Ingenieria de Software...
Description
: UNIVERSIDAD DE SANTIAGO DE CHILE Facultad de Ingeniería Departamento de Ingeniería Civil Industrial
Métodos Computacionales en 0B
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
1
Índice. Introducción
02
Objetivos del desarrollo de Cleanroom Software
03
Desarrollo del Software de Sala Limpia (Cleanroom Software) 04 Resumen
07
Bibliografía
09
1
Introducción. 2B
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.
2
Objetivos del desarrollo de Cleanroom Software. 3B
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.
3
Desarrollo del Software de sala limpia (Cleanroom Software Development.) 4B
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
4
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, estadística de utilización y certificación.
comprobació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.
5
•
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.
6
Resumen. 5B
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.
7
Una aplicación que podemos encontrar utilizando esta técnica de desarrollo de software es el desarrollo de un Proyecto de Estructuración de un Prototipo PedagógicoTecnológico de Tele-Educación para la Formación de Maestros Rurales del Departamento de Caldas en la Producción de M.D.C en Colombia. Este proyecto es un prototipo de tele-educación que integra los aspectos pedagógicos, tecnológicos y organizativos. Los beneficios técnicos de usar de Sala Limpia traducen en beneficios económicos significantes. Pueden identificarse beneficios directos e indirectos con una reducción de fracasos campo-experimentados, tiempo del ciclo reducido, y la vida del producto más larga. Los beneficios indirectos de lealtad del cliente y menos competidores son difíciles cuantificar.
8
Bibliografía. 1. The University of Texas at Arlington, http://www.uta.edu/cse/levine/fall99/cse5324/cr/clean/page.html (4 Ago. 2008) 2. Mills, H.D.; Dyer, M.; Linger, R.C., Cleanroom Software Engineering, IEEE Volume 4, Issue 5, Sept. 1987 Page(s):19 - 25 Digital Object Identifier 10.1109/MS.1987.231413 http://ieeexplore.ieee.org/iel5/52/35732/01695817.pdf?isnumber=35732& prod=JNL&arnumber=1695817&arSt=19&ared=25&arAuthor=Mills%2C+ H.D.%3B+Dyer%2C+M.%3B+Linger%2C+R.C. (4 Ago. 2008) 3. Pressman & Associates, http://www.rspa.com/spi/cleanroom.html (4 Ago. 2008) 4. http://books.google.cl/books?id=Sduq8Y6xJeIC&pg=PT249&dq=Clean+ Room+Software+Engineering&as_brr=3&sig=ACfU3U0j_nwzG5jgpUgKL FMbjWpfntDEvw#PPT248,M1 (4 Ago. 2008)
9
View more...
Comments