Ingenieria Del Software de Sala Limpia
Ingenieria Del Software de Sala Limpia
Ingenieria Del Software de Sala Limpia
La ingeniera del software designa el conjunto de tcnicas destinadas a la produccin de un producto software, ms all de la sola actividad de programacin. Forman parte de esta disciplina las ciencias computacionales y el manejo de proyectos, entre otros campos, propios de la rama ms genrica denominada ingeniera informtica. A su vez el software es el conjunto de instrucciones que permite al hardware de la computadora desempear trabajo til. En los primeros aos del presente siglo, las reducciones de costo en hardware llevaron a que el software fuera un componente que participa en muchos de los dispositivos usados por las sociedades industrializadas. Asimismo, se considera parte del software a la documentacin generada durante el desarrollo del proyecto. El modelo de mtodos formales acompaa a un conjunto de actividades que conducen a la especificacin matemtica del software. Los mtodos formales permiten que un ingeniero especifique, desarrolle y verifique un sistema aplicando una notacin rigurosa y matemtica. Hay una variacin, que se utiliza por algunos ingenieros del software conocida como: ingeniera del software de sala limpia. Cuando se utilizan mtodos formales, se eliminan muchos de los problemas que son difciles de superar con las metodologas habituales: la ambigedad, la completitud y la inconsistencia se descubren y se corrigen de manera ms sencilla, mediante la aplicacin del anlisis matemtico.
Las ventajas de los mtodos formales son: (1) Se comprende mejor el sistema. (2) La comunicacin con el cliente mejora ya que se dispone de una descripcin clara y no ambigua de los requisitos del usuario. (3) El sistema se describe de manera precisa. (4) El sistema se asegura matemticamente que es correcto segn las especificaciones. (5) Mayor calidad del software respecto al cumplimiento de las especificaciones. (6) Mayor productividad. La falta de madurez en la prctica de los mtodos formales es la causa de la imposibilidad de utilizar los mtodos formales a nivel industrial tal y como se utilizan otros mtodos de la ingeniera del software. Algunas de estas causas son las siguientes: (1) El desarrollo de herramientas que apoyen la aplicacin de mtodos formales es complicado y los programas resultantes son incmodos para los usuarios. (2) Los investigadores por lo general, obviamente con salvadas excepciones, no conocen la realidad industrial. (3) Es escasa la colaboracin entre la industria y el mundo acadmico, que en ocasiones se muestra demasiado dogmtico. (4) Se considera que la aplicacin de mtodos formales encarece los productos y ralentiza su desarrollo.
La tecnologa de dotacin lgica de sala limpia es un acercamiento al desarrollo del software lgico, que mejora calidad y reduce costos. El acercamiento toma su nombre de los cuartos limpios usados en la fabricacin de la precisin, donde las tcnicas estadsticas del control de calidad acentan la prevencin del defecto concluido el retiro del defecto. Las mismas prcticas se pueden aplicar al desarrollo del producto software. En la tecnologa de dotacin lgica de sala limpia, el desarrollo incremental permite la mejora continua del proceso. Los equipos de diseo aplican el desarrollo y las tcnicas de revisin basadas en mtodos formales a los sistemas, obteniendo productos que son casi sin defecto incluso antes de realizar las respectivas pruebas. Los equipos de la prueba utilizan control de calidad estadstico para certificar la calidad del sistema, en trminos significativos para el cliente.
La ingeniera del software de sala limpia es un enfoque formal para el desarrollo del software, que pueda dar lugar a un software con una calidad notablemente alta. Emplea la especificacin de estructura de cajas para el modelado de anlisis y diseo, haciendo hincapi en la verificacin de la correccin, ms que en la comprobacin, como mecanismo fundamental para encontrar y eliminar errores. Se aplica una comprobacin estadstica de uso para desarrollar la informacin relativa a la tasa de fallos necesaria para certificar la fiabilidad del producto software. La filosofa de sala limpia es un enfoque riguroso de la ingeniera del software. Se trata de un modelo de proceso del software que hace hincapi en la verificacin matemtica de la correccin, y en la certificacin de la fiabilidad del software. El resultado final es una tasa de fallo extremadamente baja, que sera difcil o imposible de conseguir empleando mtodos menos formales.
La sucesin de tareas de sala limpia para cada incremento, se manifiesta mediante los requerimientos globales del producto que se van desarrollando empleando los mtodos de la ingeniera de sistemas. Una vez asignada la funcionalidad al elemento de software del sistema, el tubo de la sala limpia comienza sus incrementos y se producen las siguientes tareas: (1) Planificacin de incrementos. La planificacin incremental permite calidad temprana y continua interaccin con el usuario. Facilita mejoras de proceso mientras progresa el desarrollo. El acercamiento incremental evita los riesgos inherentes a la integracin tarda en el ciclo de desarrollo. (2) Recoleccin de requisitos. El propsito del proceso del anlisis de requerimientos consiste, por una parte, en definir requisitos para el producto software, incluyendo funcin, uso, ambiente, y funcionamiento.
la parte complementara constituye el obtener un acuerdo con el cliente en los requisitos como base para la funcin y especificacin de uso. (3) Especificacin de la estructura de cajas. Tres tipos especiales de funciones matemticas son importantes en el desarrollo de sala limpia, debido a su correspondencia y correlacin en el proceso de descomposicin y verificacin. 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 descomposicin, adems se puede incluir funcionalidad y orientacin a objeto. (4) Diseo formal. Mediante el uso del enfoque de estructura de
cajas, el diseo de sala limpia es una extensin natural y sin discontinuidades de la especificacin. Los participantes proporcionan los objetivos, los criterios de entrada, las tareas, la verificacin, las medidas y los criterios comunes de la salida en los procesos, as como elementos de proceso comn. (5) Verificacin de correccin. El equipo de sala limpia lleva a cabo una serie de rigurosas actividades de verificacin de correccin, las cuales se aplican primero al diseo y despus al cdigo. El propsito del proceso de verificacin de la correccin, es verificar la correccin del incremento asociado al producto software utilizando tcnicas matemticas. (6) Generacin de cdigo, inspeccin y verificacin. Las especificaciones de estructura de caja que se representan mediante un lenguaje especializado se traducen en un lenguaje de programacin adecuado. (7) Planificacin de la comprobacin estadstica. Se refiere a la comprobacin estadstica de uso y certificacin. El propsito del proceso estadstico de uso y certificacin es demostrar la aptitud del software para el uso en un experimento estadstico formal. La aptitud para el uso se define con respecto a los modelos de uso y a las metas de la certificacin empleados en el proceso de prueba. Las metas de certificacin, primero establecidas en el plan de medida y refinadas en el plan de prueba de incremento, se pueden expresar en trminos tales como el ndice de confiabilidad del software. 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 jerarqua en la cual cada caja tiene una transferencia. Para esto, al interior de la ingeniera del software de sala limpia, se utilizan tres tipos de cajas: (1) Caja negra. Especifica el comportamiento del sistema, o de una parte de un sistema. (2) Caja de estado. Esta caja encapsula los datos de estados y de servicios de forma anloga a los objetos. En esta vista de especificacin, se representan las entradas a la caja de estados y sus salidas. (3) Caja transparente. Las funciones de transicin que estn implicadas en la caja de estados se definen en la caja transparente. El diseo que se utiliza en la ingeniera del software de sala limpia hace mucho uso de la filosofa de programacin estructurada. Esta filosofa contiene las funciones bsicas de procesamiento, las que se refinan utilizando una expansin progresiva de funciones matemticas en estructuras de conectivas lgicas. La tcnica y estrategia de la comprobacin de la sala limpia es fundamentalmente distinta de los enfoques convencionales de comprobacin. Los mtodos convencionales derivan de un conjunto de casos de prueba para descubrir errores en el diseo y codificacin del producto software. La ingeniera del software de sala limpia se diferencia de otros mtodos o paradigmas por las siguientes razones: (1) Hace uso explcito del control estadstico de calidad. (2) Verifica la especificacin del diseo empleando una demostracin de correccin basada en las matemticas. (3) Hace mucho uso de la comprobacin estadstica de utilizacin para descubrir errores de especial incidencia.