jueves, 29 de noviembre de 2012

Sala Limpia







La tecnología de dotación lógica de Cleanroom es un acercamiento al desarrollo del Software lógico, que mejora calidad y reduce costos. 

El acercamiento toma su nombre de los cuartos limpios usados en la fabricación de la precisión, donde las técnicas estadísticas del control de calidad acentúan la prevención del defecto concluido el retiro del defecto. 

Las mismas prácticas se pueden aplicar al desarrollo del Software lógico. En la tecnología de dotación lógica de Cleanroom, un proceso fiable, manejable substituye la codificación y poner a punto ad hoc.

El desarrollo incremental permite la mejora de proceso continua. Los equipos de diseño aplican el desarrollo y las técnicas de revisión basadas en métodos formales a los sistemas del producto que son casi sin defecto incluso antes de probar comienzan. Los equipos de la prueba utilizan control de calidad estadístico para certificar la calidad del sistema, en términos cliente significativos.

 Definición 

La ingeniería del Software de sala limpia es un enfoque formal 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.

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.

Tareas de Sala Limpia

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. El propósito del proceso del análisis de requisitos es 1) definir requisitos para el producto de software, incluyendo función, uso, ambiente, y funcionamiento, y 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 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.

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.

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

 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.

 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.

 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.

¿Qué  hace diferente la sala limpia?


Difiere de los puntos de vista convencionales y orientados a objetos:
1) Hace usos explícitos 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 mucho uso de la comprobación estadística de utilización para descubrir errores de especial  incidencia.

El enfoque de sala limpia aplica la mayor parte de los principios básicos de ingeniería del software. Prácticas convencionales: quita importancia al papel de la comprobación y depuración de unitarios y  al reducir mucho las comprobaciones que son realizadas por quien desarrolla el software. En sala limpia, la comprobación unitaria y la depuración se ven sustituidas por una verificación de  corrección y por una comprobación basada estadísticamente.
  
Especificación Funcional

Independientemente del modelo de análisis seleccionado. Se modelan los datos, la función y el comportamiento. Los modelos resultantes deben ser desglosados para proporcionar un grado de detalle cada vez más elevado. El objetivo global consiste en pasar de una especificación que captura la esencia de un problema a una especificación que proporciona una cantidad de detalle sustancial para su implementación.
Emplea un método llamado:

 Estructura de Cajas: Una caja encapsula el sistema con cierto grado de detalle. Mediante un proceso de refinamiento progresivo, se van refinando las cajas para formar una jerarquía en la cuál cada caja tiene.

 transferencia referencial: el contenido de información de cada especificación de caja basta para definir su refinamiento, sin depender de la implementación de ninguna otra caja. Esto capacita al analista para desglosar jerárquicamente el sistema. Se utilizan tres tipos de cajas:

Caja negra: Especifica el comportamiento del sistema o una parte del mismo. El sistema
responde a estímulos específicos mediante la aplicación de un conjunto de reglas de transición que hacen corresponder el estímulo con la respuesta.

Caja de estado: encapsula los datos de estados y de servicios de forma análoga a los objetos. Se representa las entradas y las salidas . representa la historia de estímulos de la caja negra (los datos encapsulados en la caja de estado que deben ser mantenidos entre las transiciones implicadas.

Caja transparente: se definen en esta caja las funciones de transición que están implicadas en la caja de estados.

1.     Especificación de caja negra

Es una abstracción que describe la forma en que un sistema responde a unos estímulos. Lasabstracciones de datos, las operaciones que manipulan estas abstracciones, se ven encapsuladas por la caja negra. Al igual que una jerarquía de clases, la especificación de caja negra puede mostrar a las jerarquías de utilización en que las cajas de nivel inferior heredan las propiedades de las cajas de nivel inferior dentro de la estructura de árbol.

2.     Especificación de caja de estado

Es una generalización sencilla de una máquina de estado. Un estado es algún modo observable de comportamiento del sistema. A medida que se produce el procesamiento, el sistema va respondiendo a sucesos (estímulos) efectuando una transición que parte del estado actual y llega a algún nuevo estado. A medida que se efectúa la transición, puede producirse una acción.
Utiliza una abstracción de datos para determinar la transición al estado siguiente, y la acción (respuesta) que se producirá como consecuencia de la transición.
La caja de estado contiene una caja negra. 
3.     Especificación de caja transparente

Está íntimamente relacionada con el diseño de procedimientos y con la programación estructurada. Es importante tener en cuenta que la especificación de procedimientos descrita en la jerarquía de caja transparente se puede demostrar a efectos de corrección.                                                                                                                         

 
Refinamiento y verificación del diseño

Cada especificación de caja transparente representa el diseño de un procedimiento necesario para efectuar una transición de caja de estado.  Mediante la caja transparente, se utilizan las estructuras de programación estructurada y de refinamiento progresivo. En cada nivel de refinamiento, el equipo de sala limpia lleva a cabo una verificación formal de corrección. Para lograr esto, se asocia un conjunto de condiciones genéricas de corrección a las estructuras de programación estructurada.

Es importante tener en cuenta que la utilización de estructuras de programación estructurada restringe el número de comprobaciones de corrección que es preciso efectuar.


Ventajas de la verificación del diseño.

La verificación de corrección rigurosa de cada uno de los refinamientos del diseño de cajatransparente posee un cierto número de ventajas evidentes:
·                     Se reduce la verificación de un proceso finito.
La forma anidada y secuencial, en que se organizan las estructuras de control en una caja transparente, define de manera natural una jerarquía que revela las condiciones de corrección que es preciso verificar. Un axioma de sustitución nos permite reemplazar las funciones objetivo por sus refinamientos de estructura de control dentro de la jerarquía de subdemostraciones.
·                     Permite que los equipos de sala limpia verifiquen todas la líneas de diseño y código.
A parte se pueden realizar pruebas escritas cuando se necesite una confianza adicional.
  •  Da lugar a un nivel de defectos próximo a cero
El requisito de acuerdo unánime basado en las verificaciones individuales de resultados da lugar a un software. que posee pocos o ningún defecto antes de su primera ejecución. 
·                      Es escalable. 
·                      Produce un código mejor que la comprobación unitaria.
Porque la unitaria solamente comprueba los efectos de ejecutar vías de pruebas seleccionadas de entre muchas vías posible. Al basar la verificación en la teoría de funciones, el enfoque de sala limpia puede verificar todos y cada uno de los posibles efectos sobre los datos, porque aun cuando un programa pueda tener múltiples vías de ejecución, solamente posee una función.


Cajas negras(Ingeniería de requisitos)


Empresa Tricotextil:



1) Para obtener el modelo de sistemas, ¿cual seria su proceder? Sabiendo que uno de los jornaleros que trabaja en el área de producción, es el único contacto.

Como el unico contacto en el area de produccion,pediríamos que nos mostrara cada uno de las áreas de la empresa,y asi poder conocer a otras personas que nos podrian seguir ayudando ala recolecta de la informacion segun su area.

Después se le podria pedir que nos muestre el sistema que tienen actualmente o si todo lo llevan a mano y pedirle que es lo que necesitan en la empresa textilera.. 

2) ¿En cuantos sistemas podría dividir el modelo de sistema? Justifique cada subsistema 

Subsistema de inventario: se requiere que se puedan visualizar de manera más efectiva la materia prima que entra y sale de bodega para llevar un mejor control  de todo lo que hay .

Sistema de producción: Se requiere la cantidad de producción diaria, la cantidad de materia prima que no se utiliza y las que si son utilizadas,  el numero de empleados que se encuentran en cada una de las áreas de producción etc.

Subsistema de atención al cliente: Se llevara el control de las personas a la que se le estará entregando el producto, las cantidades devueltas y cantidades perdidas y alas personas que son los proveedores.

Subsistema de Contabilidad: Se controlan cada uno de los ingresos y egresos, las ganancias del año.
3) ¿Qué tipo de software podría implementar en dicha empresa, si actualmente existen dos computadoras con Ms office (una en el área de atención y otra en contabilidad)?

En el área de atención al cliente se necesita un software que pueda registrar las peticiones de los clientes y que este pueda ser procesado por lo operarios y les permita tomar una decisión mas rápidamente.

En el área de contabilidad un software que sea capaz de agilizar los procesos de cálculos, esto se puede lograr atreves de la selección de las cuentas y operaciones mas usadas en la empresa.

4) ¿Qué estrategia sugiere para la propuesta a presentar?  

- Identificar los requisitos  que se requieren.
- Analizar las prioridades  de la empresa.
- Validación de implementación del sistema.
- Realización de evaluación del sistema.
- Elaboración de planes al analizar el proyecto.

 ¿A quien le presentaría dicha propuesta? 
La propuesta se le presentaría a los propietarios de la empresa junto con los encargados de llevar a cabo el mantenimiento y monitoreo del software a desarrollar, además de los trabajadores que van a interactuar directamente con el sistema.

¿Qué aspectos de tecnologías sugiere?   

se necesita una computadora por área que esté conectado mediante una red, que permita actualizaciones constantes de información atreves de la empresa y sus operaciones.

Que el área de contabilidad pueda acceder a todos los datos monetarios en tiempo real, manteniendo una comunicación constante entre las demás áreas y sus registros y que haiga un seguimiento por el administrador o gerente general.





No hay comentarios:

Publicar un comentario