Documentos de Académico
Documentos de Profesional
Documentos de Cultura
HERRAMIENTAS CASE
1. INTRODUCCIÓN
Desde el inicio de la escritura del software, ha existido un conocimiento de la necesidad de herramientas
automatizadas para ayudar al diseñador del software. Inicialmente la concentración estaba en herramientas
de apoyo a programas como traductores, recopiladores, ensambladores, y procesadores de macros.
Este conjunto de aplicaciones que pueden informatizarse, aumentó rápidamente en un breve espacio de
tiempo, causando una gran demanda por nuevo software a desarrollar. A medida que se escribía nuevo
software, habían ya en existencia infinidad de líneas de código que necesitaban ser mantenidas y
actualizadas.
Esto causó a la industria de las computadoras muchos problemas, debido a que no podían cubrir el
incremento de la demanda con los métodos que se estaban usando. Esto fue reconocido como una crisis del
software. Para superar este problema en el proceso de desarrollo de software, se introdujeron metodologías
para intentar crear estándares de desarrollo.
Existe también otra manera en la que la industria se ha ayudado a superar las dificultades de uso de esta
tecnología disponible. La industria de computadoras ha desarrollado un soporte automatizado para el
desarrollo y mantenimiento de software que se denomina CASE (Computer Aided Software Engineering;
ingeniería de software asistida por computadora).
2. CONCEPTO DE 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. 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.
CASE se define también como:
● 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.
● 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 efecto
potencial profundo en la organización.
● También se lo puede definir 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 ello, 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.
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. 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.
Estas herramientas pueden proveer muchos beneficios en todas las etapas del proceso de desarrollo de
software, algunas de ellos son:
● Verificar el uso de todos los elementos en el sistema diseñado,
● automatizar el dibujo de diagramas,
● ayudar en la documentación del sistema,
● ayudar en la creación de relaciones en la Base de Datos, y
● generar estructuras de código.
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.
La mejora de calidad se consigue reduciendo sustancialmente muchos de los problemas de análisis y diseño,
inherentes a los proyectos de mediano y gran tamaño (lógica del diseño, coherencia, consolidación, etc.). La
mejora de productividad se consigue a través de la automatización de determinadas tareas, como la
generación de código y la reutilización de objetos o módulos.
La experiencia ha demostrado que el desarrollo de sistemas es un proceso interactivo. Las herramientas CASE
soportan pasos interactivos al eliminar el trabajo manual de dibujar diagramas, elaborar catálogos y realizar
clasificaciones. Como resultado de esto, se garantiza que los analistas repasarán y revisarán los detalles del
sistema con mayor frecuencia y en forma más consistente.
6.1. Repositorio
Es la base de datos central de una herramienta CASE. El repositorio amplía el concepto de diccionario de
datos para incluir toda la información que se va generando a lo largo del ciclo de vida del sistema, como por
ejemplo: componentes de análisis y diseño (diagramas de flujo de datos, diagramas entidad - relación,
esquemas de bases de datos, diseños de pantallas), estructuras de programas, algoritmos, etc. Algunos
autores lo denominan Diccionario de Recursos de Información.
Muchos requisitos del repositorio son iguales a los de las aplicaciones típicas que se construyen tomando
como base un sistema de gestión de bases de datos de comercial (SGBD). De hecho, muchos de los
repositorios CASE actuales hacen uso de un SGBD (normalmente relacional u orientado a objetos) como la
tecnología de gestión de datos básica.
Las características más importantes de un repositorio son:
● Tipo de información: datos, gráficos, procesos, informes, modelos o reglas.
● Tipo de controles: si incorpora algún módulo de gestión de cambios, de mantenimiento de versiones,
de acceso por clave, de redundancia de la información. La gestión de cambios y el mantenimiento de
versiones, ayudan en el caso de que convivan diferentes versiones de la misma aplicación o se tengan
que realizar cambios en la versión en producción y en la de desarrollo simultáneamente.
● Tipo de actualización: si los cambios en los elementos de análisis o diseño se ven reflejados en el
repositorio en tiempo real o mediante un proceso por lotes (batch). Esto será importante en función a
la necesidad de que los cambios sean visibles por todos los usuarios, en el acto.
● Reutilización de módulos para otros diseños: el repositorio es la clave para identificar, localizar y
extraer código para su reutilización.
● Posibilidad de exportación e importación: para extraer información del repositorio y tratarla con otra
herramienta (formateo de documentos, mejora de presentación) o incorporar al repositorio,
información generada por otros medios.
● Interfaces automáticas con otros repositorios o bases de datos externas: para poder compartir
información
Muchos requisitos del repositorio son iguales a los de las aplicaciones típicas que se construyen tomando
como base un sistema de gestión de bases de datos de comercial (SGBD). De hecho, muchos de los
repositorios CASE actuales hacen uso de un SGBD (normalmente relaciona1 u orientado a objetos) como la
tecnología de gestión de datos básica. Entre las características de un SGBD que dan soporte a la gestión de
información de desarrollo del software se incluyen las siguientes: Almacenamiento no redundante,
Independencia de datos o aislamiento del aspecto fisico, control de transacciones, seguridad, consulta e
informe de datos ad-hoc, apertura importacion/exportacion, soporte multiusuario entre otras.
En la siguiente figura se muestra entre otras cosas los contenidos que pueden ser alojados en un repositorio.
Metamodelo: Un concepto muy relacionado a los repositorios es el metamodelo este define las
técnicas y metodologías soportadas por la herramienta, y que es conveniente que pueda ser extensible
por parte del usuario. No siempre es visible.
El metamodelo determina la forma en que se almacena la información en el repositorio, la forma en
que las herramientas pueden acceder a los datos y estos datos pueden ser visualizados por los
ingenieros de software, el grado hasta el cual se puede mantener la seguridad e integridad de los
datos, y la facilidad con que se puede ampliar el modelo ya existente para admitir nuevas
necesidades.
6.2. Módulos de diagramación y modelización
Los diagramas y modelos utilizados con mayor frecuencia son:
● Diagrama de flujo de datos.
● Modelo entidad - interrelación.
● Historia de la vida de las entidades.
● Diagrama Estructura de datos.
● Diagrama Estructura de cuadros.
● Técnicas matriciales.
Algunas características referentes a los diagramas son:
● Número máximo de niveles: para poder soportar diseños complejos.
● Número máximo de objetos: que se pueden incluir para no encontrarse limitado en el diseño de
grandes aplicaciones.
● Número de diagramas distintos en pantalla: o al mismo tiempo en diferentes ventanas.
● Dibujos en formato libre: con la finalidad de añadir comentarios, dibujos, información adicional para
aclarar algún punto concreto del diseño.
● Actualización del repositorio por cambios en los diagramas: siempre resulta más fácil modificar de
forma gráfica un diseño y que los cambios queden reflejados en el repositorio.
● Herramientas integradas, I-CASE (Integrated CASE): abarcan todas las fases del ciclo de vida del
desarrollo de sistemas. Son llamadas también CASE workbench. Tienen un repositorio y aportan
técnicas estructuradas para todas las fases del ciclo de vida.
Se materializa la necesidad de retener cierta información de una fase especifica del ciclo de vida del
software y transpórtala a otra sin tener pérdidas, (Ambiente Integrado). Las herramientas I-CASE se
basan en una metodología de desarrollo.
● Herramientas que comprenden algunas fases del ciclo de vida de desarrollo de Software
− Herramientas de alto nivel, U-CASE (Upper CASE): o frontend, orientadas a la automatización y
soporte de las actividades desarrolladas durante las primeras fases del desarrollo: planificación,
análisis y diseño. Una estrategia posible es utilizar una U-CASE para planificación, análisis y diseño,
prototipos combinada con otras herramientas más modernas para las fases de construcción y
pruebas. En este caso, habría que vigilar cuidadosamente la integración entre las distintas
herramientas.
Obs: Algunos autores introducen el M-CASE (Medium CASE), utilizadas para el análisis y
diseño, pero de la aplicación) a diferencia de U-CASE que se orienta a los requisitos.
A mediados de los 90’s surge este tipo de herramientas automatizadas que permite generar
diagramas, tomando como punto de partida discursos en lenguajes controlados.
− Herramientas de bajo nivel, L-CASE (Lower CASE): o backend, dirigidas a las últimas fases del
desarrollo (construcción e implantación). En gran parte de las aplicaciones informáticas de las
herramientas CASE están destinadas al aumento de productividad durante el desarrollo de software
provocando una disminución de coste en el transcurso del proceso del mismo en términos de
tiempo y dinero.
− Juegos de herramientas o toolkits: 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.
8.2. Funcionalidad
● Herramientas de planificación de sistemas de gestión: sirven para modelar los requisitos de
información estratégica de una organización. Proporcionan un "metamodelo" del cual se pueden
obtener sistemas de información específicos. Su objetivo principal es ayudar a comprender mejor
cómo se mueve la información entre las distintas unidades organizativas. Estas herramientas
proporcionan una ayuda importante cuando se diseñan nuevas estrategias para los sistemas de
información y cuando los métodos y sistemas actuales no satisfacen las necesidades de la organización.
● Herramientas de análisis y diseño: permiten al desarrollador crear un modelo del sistema que se va a
construir y también la evaluación de la validez y consistencia de este modelo. Proporcionan un grado
de confianza en la representación del análisis y ayudan a eliminar errores con anticipación. Estas
herramientas cubren las siguientes funcionalidades:
− Análisis y diseño (Modelamiento).
− Creación de prototipos y de simulación.
− Diseño y desarrollo de interfaces.
Ej. CASE Spec, IRQ4. Las características son Especificaciones varias, seguimiento de modelos, rastreo
hacia adelante/atrás.
Las herramientas de análisis y diseño, son la parte más importante de las herramientas CASE, en
cuánto a número de licencias vendidas y de fabricantes. Su principal objetivo es ayudar a la definición
de requisitos del sistema y sus propiedades.
Dentro de esta categoría destacan las herramientas que permiten crear y modificar:
● Diagramas E/R.
● Herramientas de programación: se engloban aquí los compiladores, los editores y los depuradores de
los lenguajes de programación convencionales. Ejemplos de estas herramientas son:
− Codificación convencional.
− Codificación de cuarta generación.
− Programación orientada a objetos.
A partir de las especificaciones del diseño se puede generar código (C, COBOL, JAVA, PHP y C#) como
los esquemas de bases de datos (sentencias de definición en SQL) convenientes.
Actualmente las herramientas CASE ofrecen interfaces con diversos lenguajes de cuarta generación
para la construcción de sistemas de manera rápida.
· Ingeniería inversa de datos: son capaces de extraer la información del código fuente que describe la
estructura de los elementos de datos, construyendo así diagramas Entidad-Relación partiendo de
esquemas relacionales en red, o incluso archivos.
· Ingeniería inversa de procesos: permiten aislar la lógica de las entidades y las reglas del negocio a
partir del código.
· Reestructuración de código fuente: modifican su formato o implantan un formato estándar.
· Redocumentación: permiten generar diagramas a fin de que se comprenda mejor el código.
· Análisis de código: sus funcionalidades van desde la identación automática del código fuente hasta la
posibilidad de ir visualizando dinámicamente las llamadas del mismo.
● Procedimientos (fases estándar, hitos, informes, etc.) y sucesos (revisiones, finalizaciones, informes de
problemas, peticiones de cambios, etc.) del flujo de trabajo (proceso).
Normalmente la parte de reglas y procedimientos de los metadatos se definen en forma de base de reglas,
para facilitar su modificación según evoluciona el proceso de desarrollo del software. Por ejemplo, un nuevo
método de diseño podría alterar las reglas de representación y cambiar los estándares del proceso de trabajo
seguido hasta el momento.
La capacidad de control permite que cada herramienta pueda notificar al resto del entorno (a otras
herramientas, al gestor de metadatos, al gestor de datos, etc.) la ocurrencia de eventos significativos, así
como enviar peticiones para la realización de acciones a otras herramientas y servicios por medio de un
activador. Por ejemplo, una herramienta de gestión de configuración que haga una comprobación cruzada de
la consistencia de documentos.
La capacidad de control ayudará a mantener la integridad del entorno y proporcionará también un medio
para automatizar procesos y procedimientos estándar. El activador puede estar incorporado en un entorno
cerrado o puede estar visible para las distintas herramientas, a través de una interface de programación y un
mecanismo de paso de mensajes.
La tecnología CASE tendrá el mayor impacto si se integra a proyectos de innovación tecnológica que
contemplen las siguientes características:
● Interfaces de programación visual.
● Soluciones cliente-servidor.
● Manejo de múltiples Bases de Datos.
● Independencia de la plataforma de hardware y software.
● Reingeniería de proceso de negocios.
En la Figura 5 se muestra un esquema de Integración Total.
Las herramientas de trazado de requisitos típicos combinan una evaluación de textos por interacción
humana, con un sistema de gestión de bases de datos que almacena y categoriza todos y cada uno de los
requisitos del sistema que se "analizan" a partir de las especificaciones originales. Ej. REM 1.2.X.
CaseComplete, Requisite Pro (UML).
Hace tiempo, las únicas herramientas de las que disponía un ingeniero de software eran las herramientas de
codificación convencionales. En la actualidad las herramientas convencionales siguen existiendo en primera
línea de desarrollo del software, pero están respaldadas por todas las otras herramientas CASE.
10.10. Herramientas de codificación de cuarta generación
La tendencia hacia la representación de aplicaciones de software en niveles más altos de abstracción ha
hecho que muchos diseñadores utilicen herramientas de codificación de cuarta generación.
Los sistemas de consulta a bases de datos, los generadores de código y los lenguajes de cuarta generación
han cambiado la forma en que se desarrollan los sistemas.
Es evidente que el objetivo final del CASE es la generación automática de código, lo que significa la
representación de sistemas a un nivel de abstracción más alto que el de los lenguajes de programación
convencionales.
Estas herramientas de generación de código no sólo traducirán la descripción de un sistema a un programa
operativo, sino que también ayudarán a verificar la corrección de las especificaciones del sistema, de tal
forma que la salida resultante satisfaga los requisitos del usuario.
10.11. Herramientas de programación orientadas a objetos
La programación orientada a los objetos es una de las tecnologías más actuales de la ingeniería del software.
Por esta razón los vendedores de sistemas CASE están lanzando al mercado nuevas herramientas para el
desarrollo del software orientado a objetos.
Los entornos de programación orientados a los objetos suelen estar unidos a lenguajes de programación
específicos (C++, Eiffel, Objective-C o Smalltalk).
Un entorno orientado a objetos típico incorpora características de las interfaces de tercera generación (ratón,
ventanas, menús desplegables, operaciones sensibles al contexto, etc.) con funciones especializadas como la
del "inspector", una función que permite al ingeniero de software examinar todos los objetos contenidos en
unas bibliotecas de objetos para determinar si pueden ser reutilizados en la aplicación actual.
● Uso estratégico de herramientas: definir una estrategia clara para el uso adecuado de las
herramientas.
● Desarrollo de un Plan para el proceso total de adopción: un plan y diseño para el proceso total de
posicionar estas herramientas al interior de cada componente de la organización.
● Compromiso: propiciar que las personas se involucren en el esfuerzo de adopción en forma activa,
motivando a los participantes.
● Metodología ajustable: buena disposición y factibilidad técnica de ajustar cuando sea necesario los
métodos de la organización y los métodos típicos de usar herramientas CASE, de tal forma que
permitan llegar a un conjunto consistente de métodos.
● Entrenamiento: proporcionar entrenamiento e información necesarios y apropiados en cada paso a
cada persona involucrada en el proceso de adopción
● Ayuda de expertos: proveer de ayuda experta en el uso de las herramientas durante el proyecto y
extenderlo a los demás integrantes de la organización.
● Proyecto piloto: los resultados de una prueba piloto controlada son prioritarios al tomar una decisión
final.
● Capacidad de la herramienta: capacidad técnica de la herramienta en cuanto al entorno de hardware y
software, de modo que satisfaga los objetivos definidos en el contexto del alcance esperado.
● Cambio moderado: asegurar la viabilidad que la organización pueda operar simultáneamente entre el
viejo y nuevo método, hasta que los componentes de la organización hayan cambiado totalmente
hacia el nuevo método.
La adopción de herramientas CASE debe incluir los siguientes procesos principales que se detallan en las
siguientes secciones.
11.1. Proceso de preparación
El propósito de este proceso es el establecimiento de los objetivos generales de los esfuerzos de adopción de
herramientas CASE y establecer y definir los aspectos de dirección y administración. Esta etapa comprende:
● Establecimiento de objetivos,
● Verificación de la factibilidad y medición de los objetivos,
● Establecimiento de políticas,
● Desarrollo de planes
11.2. Proceso de evaluación y selección
El propósito de este proceso es identificar las herramientas CASE más adecuadas, que sean las candidatas y
aseguren que las herramientas recomendadas cumplirán con los objetivos de la organización
Este proceso está compuesto por:
● Iniciación: define los objetivos y requerimientos para la evaluación de las herramientas CASE.
● Estructuración: elaborar un conjunto de requerimientos basados en cada herramienta CASE.
● Evaluación: producir reportes de evaluación técnica.
● Selección: identificar las herramientas más adecuadas.
11.3. Proceso de proyecto piloto
El propósito de este proceso es ayudar en la validación del trabajo desarrollado en el proceso inicial de
adopción del CASE, y para determinar si la actual capacidad de la herramienta es lo que la organización
necesita.
Este proceso está compuesto por:
● Iniciación: definir planes, procedimientos, recursos y capacitación para realizar el proyecto piloto.
● Performance: ejecutar un proyecto controlado en cada nueva herramienta que pueda ser probada.
● Evaluación: provee los resultados de la evaluación de la performace del proyecto piloto.
● Decisión: liderar el proceso de adopción, dejando la herramienta o performance a un segundo
proyecto piloto e identificando la experiencia en el aprendizaje de la organización para el proceso de
transición.
11.4. Proceso de Transición
El propósito de este proceso es minimizar las interrupciones durante el cambio de los actuales procesos hacia
la nueva tecnología, basados en el máximo aprovechamiento de las experiencias del proyecto piloto.
Este proceso está compuesto por:
● Iniciación: definir planes, procedimientos y recursos que permitan la transición hacia el uso de las
herramientas.
● Entrenamiento: capacitar a los usuario de la nueva herramienta.
● Institucionalización: aplicar progresivamente la herramienta en segmentos largos del entorno, como
parte normal de la práctica organizacional.
● Monitoreo y apoyo continuo: identificar si el proceso de adopción funciona correctamente y asegurar
el entrenamiento, así como otros recursos que sean necesarios durante el período de transición.
● Evaluación y culminación: medir el resultado de la adopción de las herramientas CASE y proveer a la
organización la experiencia y conocimiento para futuros proyectos de adopción.
El equipo debe tener una visión común del ambiente de desarrollo de sistemas, y el resultado de la selección
de la herramienta debe ser acorde con los requisitos del sistema.
Otro requisito previo importante es tener una metodología de desarrollo de sistemas seleccionada. Sin una
metodología, se ingresa al largo camino del fracaso. Las herramientas implementan la metodología, no la
determinan.
12.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.
● Evaluar la eficiencia del producto en las pruebas unitarias y de integración, y fundamentalmente en las
pruebas de sistemas.
● Considerar los recursos apropiados para utilizar el Case, de Hardware (memoria, disco, concurrencia),
de Software (versión de Sistema Operativo).
● descripción,
● definición de objetivos y metas,
● productos de la etapa,
● factores críticos de éxito, y
● lista de tareas que conviene realizar.
14.1. Etapas del Método CASE
La metodología CASE se basa en un análisis y desarrollo del tipo descendiente "topdown", en la que el ciclo
de vida de un sistema se compone de las siguientes etapas (Figura 6):
1. Estrategia
2. Análisis
3. Diseño
4.1. Construcción
4.2. Documentación
5. Transición
6. Producción
Es decir que del diseño conceptual se pasa al diseño final que será utilizado para la implantación. En esta
etapa el modelo entidad-relación será transformado en un diseño de base de datos y en especificaciones de
almacenamiento, y el modelo funcional será transformado en módulos y manuales de procedimientos.
El diseño final del sistema integra tres diseños: el de la base de datos, el de la aplicación y el de la red.
Además se elaboran los planes de prueba y de transición y se realizan los diseños de los sistemas de auditoria
y control, y el de respaldos y recuperación. Los resultados de esta etapa lo constituyen, la arquitectura del
sistema, el diseño de la base de datos, la especificación de los programas, la especificación de los manuales
de procedimientos. En la Figura 9 se muestra esta etapa.
Figura 9: Diseño
14.5. Construcción
A partir del diseño final generado en la anterior etapa, se codificarán y probarán los nuevos programas,
utilizando herramientas apropiadas. Esta etapa involucra planeación, diseño de la estructura del sistema,
codificación de abajo a arriba (prueba de unidades y enlaces), pruebas de arriba a abajo (prueba del sistema)
y un enfoque disciplinado en la realización del trabajo y en el control de versiones del sistema y pruebas. Los
resultados de esta etapa son los programas probados y la base de datos refinada.
En la Figura 10 se muestra el proceso de esta etapa.
Es fundamental la utilización de una metodología en el desarrollo de sistemas, para lograr una real
satisfacción de los usuarios y ampliar la vida útil de los sistemas de información.
Además la realización de las etapas de estrategia, análisis, diseño y documentación, permiten contar con
productos que serán invaluables para la extensión y mantenimiento de los sistemas informáticos,
adaptándolos a la evolución natural de las organizaciones.
● La selección se centra sólo en factores técnicos por lo que la herramienta resulta insuficiente para los
aspectos relativos a la gestión que todo desarrollo lleva consigo.
Las medidas más eficaces para afrontar estos problemas es comprender y analizar los distintos tipos de
metodologías y herramientas existentes (junto a su ''escalabilidad'') y utilizar herramientas adecuadas a cada
problema, lo que supone un gran esfuerzo en formación e inversión en consultoría.
15.3. Deficiencias de la propia organización (falsas expectativas)
Independientemente de las deficiencias citadas anteriormente que son propias de las herramientas en sí
mismas, muchas veces los fracasos en la adopción de herramientas CASE son debidos a problemas de la
propia organización.
La adopción de la ''filosofía'' CASE es como la transferencia de cualquier otra tecnología, un tema más
''cultural'' que tecnológico.
Las causas de fracaso más notables en esta área:
● Actitud por parte de los directivos de introducir la tecnología CASE como la ''salvación'' de todos los
males del desarrollo sin contar con una base metodológica
● Poca valoración del esfuerzo requerido (económico, formación, aceptación).
● Incapacidad para encontrar las metodologías y herramientas adecuadas del nivel de madurez de la
organización.
● Inadecuada formación.
● No medir la productividad ni la rentabilidad que resulten de la aplicación de la tecnología.
Estas deficiencias se pueden superar con una gestión adecuada de las expectativas, siendo realista
(conociendo la cultura de la empresa y su historia frente a los cambios tecnológicos) y con una buena gestión.
● CASE para trabajo en grupo (groupware): estas herramientas se centran en el proceso de desarrollo
más que en el producto a desarrollar, facilitando la integración de diferentes grupos humanos,
pertenecientes incluso a empresas diferentes, trabajando conjuntamente en un gran proyecto.
Deberían incorporar las facilidades clásicas de ofimática: correo electrónico, calendarios en línea,
planificación de actividades, preparación de documentos, actas de reuniones, etc.
● CASE para desarrollo de sistemas orientados a objetos: en la actualidad existen algunas herramientas
que cubren alguna de las fases del ciclo de vida de desarrollo de aplicaciones orientadas a objetos
(interfase de usuario, análisis, diseño, programación, etc.).
El objetivo futuro podría ser cubrir el ciclo de vida completo. Aunque en la actualidad la mayor
efectividad se consigue con las herramientas CASE para métodos estructurados.
En un futuro esta situación se invertirá a favor de las que soportan objetos. La proliferación de este
tipo de herramientas podrá verse retrasada debido al gran número de notaciones y metodologías de
orientación a objetos distintas que existen en la actualidad.
Es importante resaltar que las herramientas actuales permiten generar objetos: modelo "estático" y
modelo "funcional", mas no el modelo "dinámico". La programación orientada a objetos puede
cambiar la forma que tienen las empresas de hacer negocio y como tal, necesita ser tratada
cuidadosamente, tanto por las empresas u organismos, como por los fabricantes de tecnologías que
proporcionan las soluciones.
En la actualidad ya existen herramientas que han evolucionado hacia:
● La utilización de la tecnología multimedia.
● La incorporación de técnicas de inteligencia artificial.
● Sistemas de realidad virtual.