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