
Ejemplo de una herramienta CASE.
La ingeniería de software asistida por computadora ( CASE ) es el dominio de las herramientas de software que se utilizan para diseñar e implementar aplicaciones. Las herramientas CASE son similares y se inspiraron en parte en las herramientas de diseño asistido por computadora (CAD) utilizadas para diseñar productos de hardware. Las herramientas CASE se utilizan para desarrollar software de alta calidad, libre de defectos y mantenible. El software CASE se asocia a menudo con métodos para el desarrollo de sistemas de información junto con herramientas automatizadas que se pueden utilizar en el proceso de desarrollo de software.
Contenido
- 1 Historia
- Software 2 CASE
- 2.1 herramientas
- 2.2 Bancos de trabajo
- 2.3 Ambientes
- 3 principales factores de riesgo CASE
- 4 Ver también
- 5 referencias
Historia
El proyecto Information System Design and Optimization System (ISDOS), iniciado en 1968 en la Universidad de Michigan, inició un gran interés en todo el concepto de uso de sistemas informáticos para ayudar a los analistas en el muy difícil proceso de análisis de requisitos y desarrollo de sistemas. Varios artículos de Daniel Teichroew encendieron a toda una generación de entusiastas con el potencial del desarrollo de sistemas automatizados. Su herramienta Lenguaje de declaración de problema / Analizador de declaración de problema (PSL / PSA) era una herramienta CASE, aunque era anterior al término.
Otro hilo importante surgió como una extensión lógica del diccionario de datos de una base de datos. Al extender el rango de metadatos retenidos, los atributos de una aplicación podrían retenerse dentro de un diccionario y usarse en tiempo de ejecución. Este "diccionario activo" se convirtió en el precursor de la capacidad de ingeniería impulsada por modelos más moderna. Sin embargo, el diccionario activo no proporcionó una representación gráfica de ninguno de los metadatos. Fue la vinculación del concepto de un diccionario que contiene los metadatos de los analistas, derivado del uso de un conjunto integrado de técnicas, junto con la representación gráfica de dichos datos lo que dio lugar a las versiones anteriores de CASE.
El siguiente participante en el mercado fue Excelerator de Index Technology en Cambridge, Mass. Mientras que DesignAid funcionaba con Convergent Technologies y más tarde con microcomputadoras en red Burroughs Ngen, Index lanzó Excelerator en la plataforma IBM PC / AT. Si bien, en el momento del lanzamiento, y durante varios años, la plataforma de IBM no admitía redes o una base de datos centralizada como lo hacían las máquinas Convergent Technologies o Burroughs, el atractivo de IBM era fuerte y Excelerator se destacó. Inmediatamente después de Excelerator hubo una serie de ofertas de compañías como Knowledgeware (James Martin, Fran Tarkenton y Don Addington), CA Gen de Texas Instrument y el conjunto de herramientas FOUNDATION de Andersen Consulting (DESIGN / 1, INSTALL / 1, FCP).
Las herramientas CASE alcanzaron su punto máximo a principios de la década de 1990. Según la revista PC Magazine de enero de 1990, más de 100 empresas ofrecían cerca de 200 herramientas CASE diferentes. En ese momento, IBM había propuesto AD / Cycle, que era una alianza de proveedores de software centrada en el repositorio de software de IBM utilizando IBM DB2 en mainframe y OS / 2 :
- Las herramientas de desarrollo de aplicaciones pueden provenir de varias fuentes: de IBM, de los proveedores y de los propios clientes. IBM ha establecido relaciones con Bachman Information Systems, Index Technology Corporation y Knowledgeware en las que los productos seleccionados de estos proveedores se comercializarán a través de un programa de marketing complementario de IBM para proporcionar ofertas que ayudarán a lograr una cobertura completa del ciclo de vida.
Con el declive del mainframe, AD / Cycle y las herramientas Big CASE murieron, abriendo el mercado para las herramientas CASE convencionales de hoy. Muchos de los líderes del mercado CASE de principios de la década de 1990 terminaron siendo comprados por Computer Associates, incluidos IEW, IEF, ADW, Cayenne y Learmonth amp; Burchett Management Systems (LBMS). La otra tendencia que condujo a la evolución de las herramientas CASE fue el surgimiento de métodos y herramientas orientados a objetos. La mayoría de los distintos proveedores de herramientas agregaron soporte para métodos y herramientas orientados a objetos. Además, surgieron nuevos productos que fueron diseñados de abajo hacia arriba para apoyar el enfoque orientado a objetos. Andersen desarrolló su proyecto Eagle como alternativa a Foundation. Varios de los líderes del pensamiento en desarrollo orientado a objetos desarrollaron cada uno su propia metodología y conjunto de herramientas CASE: Jacobsen, Rumbaugh, Booch, etc. Con el tiempo, estos diversos conjuntos de herramientas y métodos se consolidaron mediante estándares liderados por Object Management Group (OMG). El lenguaje de modelado unificado (UML) de OMG es actualmente ampliamente aceptado como el estándar de la industria para el modelado orientado a objetos.
Software CASE
A. Fuggetta clasificó el software CASE de manera diferente en 3 categorías:
- Las herramientas admiten tareas específicas en el ciclo de vida del software.
- Los bancos de trabajo combinan dos o más herramientas enfocadas en una parte específica del ciclo de vida del software.
- Los entornos combinan dos o más herramientas o bancos de trabajo y dan soporte al ciclo de vida completo del software.
Herramientas
Las herramientas CASE dan soporte a tareas específicas en el ciclo de vida del desarrollo de software. Se pueden dividir en las siguientes categorías:
- Modelado de negocios y análisis. Herramientas de modelado gráfico. Por ejemplo, modelado E / R, modelado de objetos, etc.
- Desarrollo. Fases de diseño y construcción del ciclo de vida. Entornos de depuración. Por ejemplo, IISE LKO.
- Verificación y validación. Analice el código y las especificaciones para verificar su corrección, rendimiento, etc.
- Gestión de la configuración. Controle el check-in y check-out de los objetos y archivos del repositorio. Por ejemplo, SCCS, IISE.
- Métricas y medición. Analice el código en cuanto a complejidad, modularidad (p. Ej., No "ir a"), rendimiento, etc.
- Gestión de proyectos. Gestione planes de proyectos, asignaciones de tareas, programación.
Otra forma común de distinguir las herramientas CASE es la distinción entre MAYÚSCULAS y MINÚSCULAS. Las herramientas de CASE superior dan soporte al modelado de análisis y negocios. Apoyan idiomas esquemáticas tradicionales, como los diagramas ER, diagrama de flujo de datos, diagramas de estructura, árboles de decisión, tablas de decisión, etc. minúsculas actividades de desarrollo de herramientas de apoyo, como el diseño físico, depuración, construcción, pruebas, integración de componentes, mantenimiento y reverso Ingenieria. Todas las demás actividades abarcan todo el ciclo de vida y se aplican igualmente a mayúsculas y minúsculas.
Bancos de trabajo
Los bancos de trabajo integran dos o más herramientas CASE y admiten actividades de procesos de software específicas. De ahí que logren:
- una interfaz homogénea y consistente (integración de presentación).
- Integración perfecta de herramientas y cadenas de herramientas (control e integración de datos).
Un banco de trabajo de ejemplo es el entorno de programación Visual Basic de Microsoft. Incorpora varias herramientas de desarrollo: un constructor de GUI, un editor de código inteligente, un depurador, etc. La mayoría de los productos CASE comerciales tienden a ser bancos de trabajo que integran sin problemas dos o más herramientas. Los bancos de trabajo también se pueden clasificar de la misma manera que las herramientas; como centrarse en Análisis, Desarrollo, Verificación, etc. además de centrarse en mayúsculas, minúsculas o procesos como la gestión de la configuración que abarcan todo el ciclo de vida.
Ambientes
Un entorno es una colección de herramientas CASE o bancos de trabajo que intenta respaldar el proceso de software completo. Esto contrasta con las herramientas que se centran en una tarea específica o en una parte específica del ciclo de vida. Los entornos CASE están clasificados por Fuggetta de la siguiente manera:
- Juegos de herramientas. Colecciones de herramientas sueltas. Por lo general, se basan en bancos de trabajo del sistema operativo, como el banco de trabajo del programador de Unix o el conjunto VMS VAX. Por lo general, realizan la integración a través de tuberías o algún otro mecanismo básico para compartir datos y pasar el control. La fuerza de la fácil integración es también uno de los inconvenientes. El simple paso de parámetros a través de tecnologías como el script de shell no puede proporcionar el tipo de integración sofisticada que puede ofrecer una base de datos de repositorio común.
- Cuarta generación. Estos entornos también se conocen como 4GL que significa entornos de lenguaje de cuarta generación debido al hecho de que los primeros entornos se diseñaron en torno a lenguajes específicos como Visual Basic. Fueron los primeros entornos en proporcionar una integración profunda de múltiples herramientas. Normalmente, estos entornos se centraban en tipos específicos de aplicaciones. Por ejemplo, aplicaciones impulsadas por la interfaz de usuario que realizaban transacciones atómicas estándar en una base de datos relacional. Algunos ejemplos son Informix 4GL y Focus.
- Centrado en el lenguaje. Entornos basados en un único lenguaje a menudo orientado a objetos, como el entorno Symbolics Lisp Genera o VisualWorks Smalltalk de Parcplace. En estos entornos, todos los recursos del sistema operativo eran objetos en el lenguaje orientado a objetos. Esto proporciona potentes oportunidades gráficas y de depuración, pero el código desarrollado se limita principalmente al lenguaje específico. Por esta razón, estos entornos eran principalmente un nicho dentro de CASE. Su uso fue principalmente para proyectos de I + D y creación de prototipos. Una idea central común para estos entornos fue la interfaz de usuario modelo-vista-controlador que facilitó mantener múltiples presentaciones del mismo diseño consistentes con el modelo subyacente. La arquitectura MVC fue adoptada por los otros tipos de entornos CASE, así como por muchas de las aplicaciones que se crearon con ellos.
- Integrado. Estos entornos son un ejemplo de lo que la mayoría de las personas de TI tienden a pensar primero cuando piensan en CASE. Entornos como AD / Cycle de IBM, FOUNDATION de Andersen Consulting, el sistema ICL CADES y DEC Cohesion. Estos entornos intentan cubrir el ciclo de vida completo desde el análisis hasta el mantenimiento y proporcionan un repositorio de base de datos integrado para almacenar todos los artefactos del proceso de software. El repositorio de software integrado fue la característica que definió este tipo de herramientas. Proporcionaron múltiples modelos de diseño diferentes, así como soporte para código en lenguajes heterogéneos. Uno de los principales objetivos para este tipo de entornos era la "ingeniería de ida y vuelta": poder realizar cambios a nivel de diseño y que estos se reflejen automáticamente en el código y viceversa. Estos entornos también se asociaron típicamente con una metodología particular para el desarrollo de software. Por ejemplo, la suite FOUNDATION CASE de Andersen estaba estrechamente vinculada a la metodología Andersen Method / 1.
- Centrado en el proceso. Este es el tipo de integración más ambicioso. Estos entornos intentan no solo especificar formalmente los objetos de análisis y diseño del proceso de software, sino el proceso real en sí mismo y utilizar ese proceso formal para controlar y guiar los proyectos de software. Algunos ejemplos son East, Enterprise II, Process Wise, Process Weaver y Arcadia. Estos entornos estaban, por definición, vinculados a alguna metodología, ya que el proceso de software en sí mismo es parte del entorno y puede controlar muchos aspectos de la invocación de herramientas.
En la práctica, la distinción entre bancos de trabajo y entornos era flexible. Visual Basic, por ejemplo, era un banco de trabajo de programación, pero muchos también lo consideraban un entorno 4GL. Las características que distinguían los bancos de trabajo de los entornos eran la integración profunda a través de un repositorio compartido o lenguaje común y algún tipo de metodología (entornos integrados y centrados en procesos) o especificidad de dominio (4GL).
Principales factores de riesgo CASE
Algunos de los factores de riesgo más importantes para las organizaciones que adoptan la tecnología CASE incluyen:
- Estandarización inadecuada. Las organizaciones suelen tener que adaptar y adoptar metodologías y herramientas para sus requisitos específicos. Hacerlo puede requerir un esfuerzo significativo para integrar tanto tecnologías divergentes como métodos divergentes. Por ejemplo, antes de la adopción del estándar UML, las convenciones de diagrama y los métodos para diseñar modelos orientados a objetos eran muy diferentes entre los seguidores de Jacobsen, Booch y Rumbaugh.
- Expectativas irrealistas. Los defensores de la tecnología CASE, especialmente los proveedores que comercializan conjuntos de herramientas costosos, a menudo exageran las expectativas de que el nuevo enfoque será una solución milagrosa que resuelva todos los problemas. En realidad, tal tecnología no puede hacer eso y si las organizaciones se acercan a CASE con expectativas poco realistas, inevitablemente se sentirán decepcionadas.
- Entrenamiento inadecuado. Al igual que con cualquier tecnología nueva, CASE requiere tiempo para capacitar a las personas en cómo usar las herramientas y ponerse al día con ellas. Los proyectos CASE pueden fracasar si los profesionales no reciben el tiempo adecuado para la capacitación o si el primer proyecto que se intenta con la nueva tecnología es en sí mismo una misión muy crítica y está plagada de riesgos.
- Control de proceso inadecuado. CASE proporciona nuevas e importantes capacidades para utilizar nuevos tipos de herramientas de formas innovadoras. Sin la guía y los controles de proceso adecuados, estas nuevas capacidades también pueden causar nuevos problemas importantes.
Ver también
Referencias