Enlaces Visitados

jueves, 2 de junio de 2011

LAS HERRAMIENTAS CASE - INGENIERÍA CONCURRENTE.

LAS HERRAMIENTAS CASE.


     Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software.
     Como es sabido, los estados en el Ciclo de Vida de desarrollo de un Software son: Investigación Preliminar, Análisis, Diseño, Implementación e Instalación.

Definiciones:
  • Conjunto de métodos, utilidades y técnicas que facilitan la automatización del ciclo de vida del desarrollo de sistemas de información, completamente o en alguna de sus fases.
  • La sigla genérica para una serie de programas y una filosofía de desarrollo de software que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas.
  • Una innovación en la organización, un concepto avanzado en la evolución de tecnología con un potencial efecto profundo en la organización.

     Se puede ver al CASE como la unión de las herramientas automáticas de software y las metodologías de desarrollo de software formales.
     La realización de un nuevo software requiere que las tareas sean organizadas y completadas en forma correcta y eficiente. Las Herramientas CASE fueron desarrolladas para automatizar esos procesos y facilitar las tareas de coordinación de los eventos que necesitan ser mejorados en el ciclo de desarrollo de software.
     La mejor razón para la creación de estas herramientas fue el incremento en la velocidad de desarrollo de los sistemas. Por esto, las compañías pudieron desarrollar sistemas sin encarar el problema de tener cambios en las necesidades del negocio, antes de finalizar el proceso de desarrollo.
     También permite a las compañías competir más efectivamente usando estos sistemas desarrollados nuevamente para compararlos con sus necesidades de negocio actuales. En un mercado altamente competitivo, esto puede hacer la diferencia entre el éxito y el fracaso.
     Las herramientas CASE también permiten a los analistas tener más tiempo para el análisis y diseño y minimizar el tiempo para codificar y probar.
     La introducción de CASE integradas está comenzando a tener un impacto significativo en los negocios y sistemas de información de las organizaciones.
     Con un CASE integrado, las organizaciones pueden desarrollar rápidamente sistemas de mejor calidad para soportar procesos críticos del negocio y asistir en el desarrollo y promoción intensiva de la información de productos y servicios.
     La principal ventaja de la utilización de una herramienta CASE, es la mejora de la calidad de los desarrollos realizados y, en segundo término, el aumento de la productividad. Para conseguir estos dos objetivos es conveniente contar con una organización y una metodología de trabajo, además de la propia herramienta de trabajo, además de la propia herramienta.

Evolución de las Herramientas CASE:


1.   A INICIOS  DE LOS AÑOS 80.

     Ayuda en la documentación por computadora. Diagramación asistida por  computadora. Herramientas de análisis y diseño.

2.    A MEDIADOS DE LOS AÑOS 80.

              Diseño   automático   de   análisis  y pruebas. Repositorios automáticos de
         información de sistemas.

3.   AL FINAL DE LOS AÑOS 80.

            Generación automática de código desde especificaciones de diseño


4.   A INICIO DE LOS AÑOS 90.

            Metodología   Inteligente.  Interface   de   Usuario  reusable   como   una
         metodología desarrollo.

CLASIFICACIÓN DE LAS HERRAMIENTAS CASE

No existe una única clasificación de herramientas CASE y, en ocasiones, es difícil incluirlas en una clase determinada. Podrían clasificarse atendiendo a:
  • Las Plataformas que soportan.
  • Las fases del Ciclo de Vida del Desarrollo de sistemas que cubren.
  • Las Arquitecturas de las aplicaciones que producen.
  • Su funcionabilidad.

     Las herramientas CASE, en función de las fases del ciclo de vida abarcadas, se pueden agrupar de la forma siguiente:
    1. HERRAMIENTAS INTEGRADAS, I-CASE (Integrated CASE, CASE
                     Integrado): abarcan  todas   las  fases  del   ciclo  de  vida  del     
                     desarrollo  de sistemas. Son  llamadas también CASE workbench.

    1. HERRAMIENTAS DE ALTO NIVEL, U-CASE (Upper CASE - CASE
                     Superior) o front-end, orientadas a la automatización y soporte de las
                        actividades desarrolladas durante las primeras fases del desarrollo:
                        análisis y diseño.

    1. HERRAMIENTAS DE BAJO NIVEL, L-CASE (Lower CASE - CASE
                     inferior)  o  back-end,    dirigidas   a   las   últimas    fases   del 
                     desarrollo: construcción e implantación.

    1. JUEGOS DE HERRAMIENTAS   o Tools-Case,son el tipo más simple  de herramientas CASE. Automatizan una fase dentro del ciclo de vida.} Dentro de este grupo se encontrarían las herramientas de reingeniería, orientadas a la fase de mantenimiento.

ASPECTOS FUNDAMENTALES QUE DEBEN CONAISERARSE CUANDO SE
SELECCIONA UNA HERRAMIENTA CASE.


     Seleccionar una Herramienta CASE no es una tarea simple. No existe una ‘mejor’ herramienta respecto de otra. Hay numerosas historias respecto al uso de CASE y las fallas que pueden producirse. Las fallas o las respuestas satisfactorias están en relación con  las expectativas. Si el proceso de evaluación y selección de las Herramientas CASE falla, entonces la Herramienta no cumplirá con las especificaciones o expectativas del negocio. Esto puede ocurrir durante el proceso de implementación o ejecución del producto.

Hay tres puntos comunes que fallan en el proceso de evaluación y selección:

1. El proceso en sí mismo.
2. Los pre-requisitos necesarios.
3. Conocer la organización.

  1. EL PROCESO EN SÍ MISMO:

      El proceso de evaluación y selección de Herramientas CASE debe aproximarse a un proyecto mayor. El proceso debe definirse cuidadosamente y debe incluir las mejores técnicas de dirección de proyecto. Ninguna selección es igual que otra, porque dos organizaciones no son iguales.
     Por ejemplo, el proceso de selección para el Ministerio de Defensa puede ser completamente diferente que en una corporación comercial. Aunque hay principios básicos, por ejemplo, todos debemos entender el criterio en el que está basado el proceso de selección, todos deben tener una visión común.
     Es adecuado limitar el número de vendedores tanto como sea posible, para poder enfocar y entender realmente una determinada herramienta.

  1. LOS PRE-REQUISITOS NECESARIOS:

     El propósito de las herramientas CASE es apoyar y facilitar el desarrollo de software. Debe haber una comprensión clara del propósito de las herramientas que se propongan dentro del ambiente de desarrollo que es compartido por el equipo de la selección. El equipo debe tener una visión común del ambiente de desarrollo de sistemas, resultando la selección de la herramienta adecuada.
     Otro requisito previo importante sería tener una metodología de desarrollo de sistemas seleccionada. Sin una metodología, ingresará al largo camino del fracaso. Las herramientas implementan la metodología, no la determinan.

         3. CONOCER LA ORGANIZACIÓN:

     Cuando se está evaluando y seleccionando una herramienta CASE, es importante conocer y entender a la organización. Tal como las personas son únicas, así también las organizaciones son únicas a su propio modo, cada una tiene  una personalidad e infraestructura propias. Una empresa podría disciplinarse y alcanzar un nivel alto de madurez en el proceso de diseño de software, mientras otra puede estar en las fases tempranas. Sin tener en cuenta la disciplina y la madurez, es muy importante entender la organización que se verá reflejada en la selección final.

INGENIERÍA CONCURRENTE.

      La Ingeniería concurrente como un medio de integración de expertos de cada área de la empresa en un grupo multidisciplinario conlleva una serie de problemas de control de información, pues al manejar una gran cantidad de información en el proceso de toma de decisiones, es imposible para los participantes de este proceso asimilar los conceptos expuestos por los demás.

Sistemas Expertos en la Ingeniería Concurrente
     Un sistema experto representa un medio de apoyo en la toma de decisiones, dependiendo de la complejidad de estos sistemas, pueden ayudar a niveles administrativos o técnicos. Los sistemas expertos son una recopilación de grandes cantidades de información (Data Warehouse) de forma tal que se tiene una gran cantidad de conocimiento en un solo medio integrado.

     La información contenida en el sistema es referente a cada departamento incluido en el proceso de desarrollo del producto. Aplicado a nuestro caso de estudio, el proceso de producción de un filtro para alberca podría hacer uso de un sistema experto como base para aplicar una metodología de ingeniería concurrente. Los componentes del sistema experto apoyarían el proceso de creación del filtro en todas las etapas, algunos posibles usos de los componentes del sistema experto en este proceso podrían ser los siguientes:

·         Marketing. Se podría contar una base de datos que se alimentara con datos introducidos por lo clientes a través de un sitio web hecho con páginas activas (ASP, JSP, PHP, CGI). Dichos datos podrían consistir en preferencias de los clientes con respecto a las dimensiones de los filtros, su calidad, su durabilidad o su precio. A través del sistema experto se podrían modelar consultas de atributos múltiples con el fin de conocer detalles relevantes del mercado interesado. Las consultas podrían acotar el mercado por edad, sexo, dirección o ingresos con el fin de tener estadísticas que nos dijeran donde vive la gran mayoría de compradores de filtros con el fin de especular sobre nuevos posibles clientes. En el sentido de captar las preferencias del cliente se han desarrollado metodologías que permiten conocer los deseos de los consumidores y transformar estos deseos, expresados en su lenguaje en un conjunto de especificaciones técnicas destinadas a satisfacerles. El QFD (Quality Function Development), es una metodología que en forma matricial nos permite recoger el QUÉ piden los clientes, el CÓMO vamos a responder a estas demandas y en CUÁNTO los vamos a satisfacer. Esta metodología aplicada en cascada a los distintos lenguajes de las distintas áreas de la empresa, nos permite conocer como interacciona entre sí y determinar posibles carencias o duplicidades en nuestro producto como en su valoración por los clientes.

·         Diseño. El sistema experto podría incluir herramientas de diseño asistido por computadora (CAD) con el fin de materializar las expectativas de los clientes y las aptitudes de la empresa en el diseño final. Esto se lograría implementando una base de datos histórica (Data Warehouse) con referencias al desarrollo de otros filtros con el fin de comparar problemas, inconvenientes o ventajas que se tuvieron al desarrollar dichos productos. De igual forma, para la parte de los clientes se podría implementar una interfaz inteligente entre el sistema CAD y la base de datos del marketing que generara un diseño base del filtro que implicara las preferencias más significativas de los clientes. A partir de este diseño, los expertos de cada área podrían empezar a buscar un punto de balance entre lo que el cliente quiere y lo que más le conviene a la empresa para así obtener un diseño final de nuestro filtro.
·         Producción.
·         Ventas.
Ventajas de utilizar un Sistema Experto en la IC
     Como se pudo apreciar con los ejemplos anteriores, los sistemas expertos propician la efectividad de la empresa en todos sus departamentos, al automatizar algunas de las tareas de la empresa y al concentrar toda la información competente al proceso de desarrollo del producto. De esta forma podemos apreciar las siguientes ventajas al usar los sistemas expertos en la ingeniería concurrente lo que generalmente se conoce como ingeniería concurrente asistida por computadora (CACE):
·         Información integrada. Este aspecto es el que persigue principalmente el sistema experto, pues se pretende juntar una gran cantidad de información que nos sirva de base para desarrollar nuestro producto. Esto promueve el hecho de que todos los participantes del equipo multidisciplinario tengan acceso a la información de los demás de manera previa, con el fin de que las juntas se lleven a cabo lo más rápido posible. La arquitectura del sistema experto podría diseñarse como una arquitectura cliente/servidor con el fin de que los participante puedan acceder la información en cualquier momento e inclusive al mismo tiempo.
·         Comunicación eficaz. La gran cantidad de información que se encuentra al alcance de los participantes del equipo, propicia que todos conozcan a cierto nivel el proceso de desarrollo visto desde el punto de vista cada departamento, con esto, se evitan discusiones sobre aspectos poco comprendidos en el proceso de diseño. Con el conocimiento general del proceso de desarrollo del producto, la comunicación se vuelve entonces más eficaz, pues cada participante conoce los inconvenientes y las ventajas que se tendrían para cada departamento en función de algún cambio en el diseño del producto.
·         Rápida toma de decisiones. Con la información integrada en un solo núcleo y con la agilización de la comunicación entre los participantes del proyecto, se obtiene una aceleración en la toma de decisiones, producto de tener un equipo de expertos en cada área pero conocen y comprenden a las demás.
     La Ingeniería Concurrente (IC) es una filosofía orientada a integrar sistemáticamente y en forma simultánea el diseño de productos y procesos, para que sean considerados desde un principio todos los elementos del ciclo de vida de un producto, desde la concepción inicial hasta su disposición final, pasando por la fabricación, la distribución y la venta. Debe otorgar además una organización flexible y bien estructurada, proponer redes de funciones apoyadas por tecnologías apropiadas y arquitecturas comunes de referencia (ej: computadores en red y en bases de datos).
     Retomando lo expuesto anteriormente la ingeniería concurrente es un esfuerzo sistemático para un diseño integrado, concurrente del producto y de su correspondiente proceso de fabricación y de servicio. Pretende que los desarrolladores, desde un principio, tengan en cuenta todos los elementos del ciclo de vida del producto, desde el diseño conceptual, hasta su disponibilidad incluyendo calidad, costo y necesidades de los clientes. Persigue un estudio sistemático, simultáneo, en el momento del desarrollo del producto, de las necesidades de mercado que va a cubrir, de los requisitos de calidad y costos, de los medios y métodos de fabricación, venta y servicio necesarios para garantizar la satisfacción del cliente.
     Involucra el trabajo coordinado y simultáneo de los diversos departamentos de la empresa: Marketing, Ingeniería del Producto, Ingeniería del Proceso, Producción, Calidad, Ventas, Mantenimiento, Costos, etc.
     La ingeniería concurrente sustituye el típico entorno de trabajo en el desarrollo y fabricación del producto basado en un diagrama secuencial de actuación de los distintos departamentos, por un trabajo concurrente, simultáneo, en equipo, de todos a partir del mismo momento en que se inicia el proceso.

BIBLIOGRAFÍA:

1.    AHMED, H.S. AI-Ashaab. [ngeniería Concurrente. Morelos, mayo de 1997.

2.    ARMANDO BARRERA COAPONGO “Evaluación de las Prácticas de Diseño y su Factibilidad de Implementación de un Ambiente de Ingeniería Concurrente en la Industria Mexicana”, México, D.F., diciembre de 1995.

3.    BIREN PRASAD “Concurrent Engineering Fundamentals”, Upper Saddle River, N.J., Prentice Hall 1996-1997.

4.    BROWNE J., HUNTY  I. , andJ. ZHANG. T/¡e Extended Enterprise. Galway, Ireland, 1997.

5.    ESPINOZA, RAFAEL. El Tiempo. «El drama del desempleo». Bogotá, 1 abril de 1999.

6.    HALL, D. Concurrent Engineering: dcfinitfons tenns and tecnlliqlles in Concurren! Engineering. IEEE Spectrum, julio de 1991.

7.    HARTLEY, JOHN R. Concurrellt Engineering. Industrial Newsletters Ltda"     Reino Unido, 1990.


9.    IDA, Institutefoy Defense Analysis. Report R-338. Bastan, Julio de 1986.

10. KRUGLIANSKAS, ISAK. Ingeniería Simultánea: Organización e implementación CIl¡?/Il empresas  brasileñas. Brasil 1993.

11. KRUGLIANSKAS, ISAK. [ngeniería Simultánea y Técnicas Asociadas en empresas.

12. LENGUAJES DE PROGRAMACIÓN, Soraya María, Alberto delgado, Alberto Rubio, Santiago Aira, Jesús Herrero y Luis Mozo.


Participante: Wolfgang Montero

No hay comentarios:

Publicar un comentario