Está en la página 1de 28

ANALISTA PROGRAMADOR UNIVERSITARIO

Herramientas Informáticas Avanzadas


Herramientas CASE

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.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

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.

3. HISTORIA DE LAS HERRAMIENTAS CASE


Las Herramientas CASE tienen su inicio con el simple procesador de palabras que fue usado para crear y
manipular documentación. En la década del setenta se introdujeron técnicas gráficas y diagramas de flujo de
estructuras de datos. Sobre este punto, el diseño y especificaciones en forma gráfica han sido
extremadamente complejos y consumían mucho tiempo para realizar cambios.
La introducción de las herramientas CASE para ayudar en este proceso, ha permitido que los diagramas
puedan ser fácilmente creados y modificados, mejorando la calidad de los diseños de software. Los
diccionarios de datos, un documento muy usado que mantiene los detalles de cada tipo de dato y los
procesos dentro de un sistema, son el resultado directo de la llegada del diseño de flujo de datos y análisis
estructural, hecho posible a través de las mejoras en las Herramientas CASE.
Luego se reemplazaron los paquetes gráficos por paquetes especializados que habilitan la edición,
actualización, e impresión en múltiples versiones de diseño. Posteriormente las herramientas gráficas se
integraron con diccionarios de base de datos para producir poderosos diseños y se desarrollaron
herramientas que podían sostener ciclos completos del diseño de documentos.
Como un paso final, la verificación de errores y generadores de casos de pruebas fueron incluidos para
validar el diseño del software. Todos estos procesos se integraron en una herramienta CASE que soporta todo
el ciclo de desarrollo.
La primera herramienta comercial se remonta a 1982, aunque algunos especialistas indican que algunos
ejemplos de herramientas para diagramación ya existían.
A partir del año 1985 las herramientas CASE adquirieron una gran relevancia en el proceso de desarrollo de
software. Los proveedores prometieron a la industria que muchas actividades serían beneficiadas por la
ayuda de las CASE. Estos beneficios consistían por ejemplo, en el aumento en la productividad. El objetivo en
1985 para muchos vendedores era producir software más rápidamente.
Las herramientas del CASE consistieron en métodos estructurados para planeamiento, análisis y diseño. Esto
llevaría a la generación automática de código para desarrollo de software vía una especificación formalmente
diseñada. Los beneficios obtenidos fueron los siguientes:
● Mejora en la calidad, fiabilidad, utilidad y rendimiento,

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

● el entorno de producción de documentación para software mejora la comunicación, mantenimiento y


actualización.
● realizan el trabajo de diseño de software más fácil y agradable,
● promesa futura de reemplazar realmente a los ingenieros de software especializados, y
● reducción del costo de producción de software.
Con el advenimiento de las Metodologías y de las Herramientas CASE, lo que estaba ocurriendo era, de facto,
que estábamos informatizando al Departamento de Informática. La implantación de Metodologías,
Herramientas y Técnicas en Desarrollo se fue haciendo “a trocitos”, de forma parcial, y en muchos casos
forzado por la presión mediática y de las consultoras: llegó un momento, a fines de los ochenta, en que “si no
ponías un CASE en tu vida, eras un neanderthal”, así que se adquirieron herramientas, se adoptaron
métodos, se enseñaron técnicas… pero sin un Programa Director que nos indicara de dónde veníamos, a
dónde íbamos, ni, desde luego, cuáles eran los objetivos finales a obtener, cuál era la luz al final del túnel.

4. BENEFICIOS DE LAS HERRAMIENTAS CASE


Los beneficios más significativos de las herramientas CASE se tratarán en las siguientes secciones.
4.1. Facilidad para la revisión de aplicaciones
La experiencia demuestra que una vez que las aplicaciones se implementan, se emplean por mucho tiempo.
Las herramientas CASE proporcionan un beneficio sustancial para las organizaciones al facilitar la revisión de
las aplicaciones. Contar con un depósito central agiliza el proceso de revisión ya que éste proporciona bases
para las definiciones y estándares para los datos. Las capacidades de generación interna, si se encuentran
presentes, contribuyen a modificar el sistema por medio de las especificaciones y no tanto por los ajustes al
código fuente.
4.2. Soporte para el desarrollo de prototipos de sistemas
En general, el desarrollo de prototipos de aplicaciones toma varias formas. En ocasiones se desarrollan
diseños para pantallas y reportes con la finalidad de mostrar la organización y composición de los datos,
encabezados y mensajes. Los ajustes necesarios al diseño se hacen con rapidez para alterar la presentación y
las características de la interface. Sin embargo, no se prepara el código fuente que es de naturaleza orientada
a los procedimientos como una parte del prototipo.
El desarrollo de prototipos puede producir un sistema que funcione. Las características de entrada y salida
son desarrolladas junto con el código orientado hacia los procedimientos y archivos de datos.
4.3. Generación de código
La ventaja más visible de esta característica es la disminución del tiempo necesario para preparar un
programa. Sin embargo, la generación del código también asegura una estructura estándar y consistente para
el programa (lo que tiene gran influencia en el mantenimiento) y disminuye la ocurrencia de varios tipos de
errores, mejorando de esta manera la calidad. Las características de la generación del código permiten volver
a utilizar el software y las estructuras estándares para generar dicho código, así como el cambio de una
especificación modular, lo que significa volver a utilizar el código y los enlaces con otros módulos.
4.4. Mejora en la habilidad para satisfacer los requerimientos del usuario
Es bien conocida la importancia de satisfacer los requerimientos del usuario, ya que esto guarda relación con
el éxito del sistema. De manera similar, tener los requerimientos correctos mejora la calidad de las prácticas
de desarrollo. Las herramientas CASE disminuyen el tiempo de desarrollo, una característica que es
importante para los usuarios. Estas herramientas agilizan la interacción entre los encargados del desarrollo y
el usuario. Las descripciones gráficas y los diagramas, así como los prototipos de reportes y la composición de
las pantallas, contribuyen a un intercambio de ideas más efectivo.
4.5. Soporte interactivo para el proceso de desarrollo

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

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.

5. CARACTERÍSTICAS COMUNES DE UNA HERRAMIENTA CASE


En las siguientes secciones se tratarán las características comunes de las CASE.
5.1. Operaciones iniciales
Los sistemas CASE almacenan información por proyecto, cada aplicación es considerada como un proyecto.
La información que describe cada proyecto se mantiene por separado de la de otros.
5.2. Menú principal de funciones
Muchas herramientas CASE permiten que el usuario seleccione una acción señalando su nombre o un
número sobre la pantalla, ya sea a través de un dispositivo apuntador o por el posicionamiento de una barra
luminosa por medio de las teclas de flechas y tabulador contenidas en el teclado.
5.3. Dibujo de diagramas de flujo de datos
Los diagramas de flujo de datos son uno de muchos tipos de diagramas y cartas disponibles en las
herramientas CASE, es muy sencillo modificar estos diagramas.
5.4. Diccionario por proyecto
A medida que se formulan las especificaciones y la documentación, toda la información con respecto al
proyecto se acumula en el diccionario de datos. Parte de la información, la graba directamente la persona
que hace uso de la herramienta, otra parte es grabada automáticamente.
Una vez que la información se encuentra en el diccionario, puede volver a ser utilizada por el mismo proyecto
en forma repetida, sin necesidad de definirla de nuevo.
Dentro del diccionario, las entradas se pueden añadir, modificar, listar, borrar y cambiar nombre. También es
posible listar el contenido del diccionario con informes preformateados. Se tiene acceso a la información
contenida en el diccionario desde cualquier parte.
5.5. Pantallas e informes
Varias herramientas CASE, proporcionan un método rápido y sencillo para desarrollar prototipos de pantallas
para que los usuarios finales trabajen con ellas. El analista puede diseñar y ejecutar pantallas y reportes con
el apoyo de un menú, definir la distribución de una pantalla o reporte, también se puede generar un reporte
basándose en datos de prueba proporcionados al sistema.
5.6. Herramientas para análisis y documentación
Algunas herramientas CASE ofrecen características tales como un conjunto de reportes que validan las
descripciones del sistema.
5.7. Utilerías
La información utilizada por el sistema se encuentra descripta por las funciones de utilería, estas funciones
permiten definir las contraseñas de los usuarios, los privilegios de acceso y los procedimientos de respaldo.
Las utilerías también proporcionan funciones de respaldo y recuperación. Con ellas es posible copiar o volver
a crear una parte o todo el diccionario del proyecto a partir de una copia de respaldo

6. COMPONENTES DE UNA HERRAMIENTA CASE


Las principales componentes de una herramienta CASE y sus funcionalidades se describen en las siguientes
secciones.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

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.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

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.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

● Control sobre el tamaño, fuente y emplazamiento de los textos: en el diagrama.


● Comparaciones entre gráficos de distintas versiones: de esta forma será más fácil identificar qué
diferencias existen entre las versiones.
● Inclusión de pseudocódigo: que servirá de base a los programadores para completar el desarrollo de la
aplicación.
● Posibilidad de deshacer el último cambio: facilitando que un error no conlleve perder el trabajo
realizado.
6.3. Herramienta de prototipado
El objetivo principal de esta herramienta es poder mostrar al usuario, desde los momentos iniciales del
diseño, el aspecto que tendrá la aplicación una vez desarrollada. Ello facilitará la aplicación de los cambios
que se consideren necesarios, todavía en la fase de diseño.
La herramienta será más útil, cuanto más rápidamente permita la construcción del prototipo y por lo tanto se
consiga la implicación del usuario final en el diseño de la aplicación. Asimismo, es importante poder
aprovechar el prototipo para la construcción del resto de la aplicación. Actualmente, es imprescindible
utilizar productos que incorporen esta funcionalidad por la cambiante tecnología y necesidades de los
usuarios.
Los prototipos han sido utilizados ampliamente en el desarrollo de sistemas tradicionales, ya que
proporcionan una realimentación inmediata, que ayudan a determinar los requisitos del sistema. Las
herramientas CASE están bien dotadas en general, para crear prototipos con rapidez y seguridad.
6.4. Generador de código
Normalmente se suele utilizar sobre ordenadores personales o estaciones de trabajo, por lo que el paso
posterior del código al host puede traer problemas, al tener que compilar en ambos entornos.
Las características más importantes de los generadores de código son:
● Lenguaje generado: puede ser un lenguaje estándar o un lenguaje propietario.
● Portabilidad del código generado: capacidad para poder ejecutarlo en diferentes plataformas físicas
y/o lógicas.
● Generación del esqueleto del programa o del programa completo: si únicamente genera el esqueleto
será necesario completar el resto mediante programación.
● Posibilidad de modificación del código generado: suele ser necesario acceder directamente al código
generado para optimizarlo o completarlo.
● Generación del código asociado a las pantallas e informes de la aplicación: mediante esta
característica se obtendrá la interface de usuario de la aplicación.
6.5. Módulo generador de documentación
El módulo generador de la documentación se alimenta del repositorio para transcribir las especificaciones allí
contenidas.
Algunas características de los generadores de documentación son:
● Generación automática: a partir de los datos del repositorio, sin necesidad de un esfuerzo adicional.
● Combinación de información textual y gráfica: lo que hace más fácil su comprensión.
● Generación de referencias cruzadas: con ello se podrá localizar fácilmente en qué partes de la
aplicación se encuentra un determinado objeto o elemento, con el fin de analizar el impacto de un
cambio o identificar los módulos afectados por un determinado error.
● Ayuda de tratamiento de textos: facilidad para la introducción de textos complementarios a la
documentación que se genera de forma automática.
● Interface con otras herramientas: procesadores de textos, editores gráficos, etc.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

7. BLOQUES BASICOS DE UNA HERRAMIENTA CASE


La ingeniería del software asistida por computadora puede ser tan sencilla como herramienta que preste su
apoyo para una única actividad de ingeniería de software. O bien puede ser compleja como todo entorno que
abarque herramientas, una base de datos, personas, hardware, una red, sistemas operativos, estándares y
otros componentes mas.
Cada bloque de construcción forma un fundamento para el siguiente, estando las herramientas situadas en la
parte superior de la pirámide. Es importante tener en cuenta que el fundamento de entornos CASE efectivos
tiene relativamente poco que ver con las herramientas de ingeniería del software en sí. Los entornos que
tienen éxito para la ingeniería del software se construyen en base auna arquitectura de entorno que abarca
un hardware adecuado y un software de sistema adecuado.
Las arquitecturas del entorno que constan de una plataforma hardware y de un apoyo de sistema operativo
(incluyendo el software de red y de gestión de la base de datos), constituyen los fundamentos del CASE. Pero
el entorno CASE requiere de otros bloques de construcción. Existen un conjunto de servicios de portabilidad
que proporciona un puente entre las herramientas CASE y su marco de referencia de integración y la
arquitectura del entorno.
El marco de referencia de integración es una colección de programas especializados que capacitan a las
herramientas CASE individuales para comunicarse entre sí, para crear una base de datos del proyecto, y para
mostrar el mismo aspecto al usuario final (ingeniero del software ).
Los servicios de portabilidad permiten que las herramientas CASE y su marco de referencia de integración
migren entre distintas plataformas del hardware y el sistema operativo sin un mantenimiento que resulten
significativo.
En la Figura 1 se representan los bloques de construcción de una Herramienta CASE.

Figura 1: Bloques de construcción de una Herramienta CASE

8. 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:
● Plataformas que soportan.
● Fases del ciclo de vida del desarrollo de sistemas que cubren.
● Arquitectura de las aplicaciones que producen.
● Funcionalidad.
8.1. Fases del ciclo de vida del desarrollo de sistemas que cubren

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

● 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.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

● Diagramas de flujo de datos.


● Diagramas de estructura de cuadros.
● Diagramas de clases.
También son muy importantes las herramientas de prototipado como:
● Los diseñadores de pantallas.
● Generadores de menús.
● Generadores de informes y lenguajes de especificación ejecutables.
Un aspecto importante es la capacidad de análisis y verificación de especificaciones que soporta la
herramienta, no sólo sintáctica sino también semántica, como por ejemplo la capacidad de normalizar
un diagrama de datos.
Todas estas herramientas operan sobre un repositorio donde se va almacenando la información
necesaria para el funcionamiento de la misma herramienta.

● 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.

● Herramientas de integración y prueba: sirven de ayuda a la adquisición, medición, simulación y prueba


de los equipos lógicos desarrollados. Entre las herramientas más utilizadas están:
− Análisis estático.
− Codificación de cuarta generación.
− Programación orientada a los objetos.
● Herramientas de gestión de prototipos: los prototipos son utilizados ampliamente en el desarrollo de
aplicaciones, para la evaluación de especificaciones de un sistema de información, o para un mejor
entendimiento de cómo los requisitos de un sistema de información se ajustan a los objetivos
perseguidos.
En la fase de Diseño, su propósito, basándose en los requerimientos previamente obtenidos, es
mostrar las ventanas, su navegación, interacción, controles y botones al usuario y obtener una
retroalimentación que nos permite mejorar el Diseño de Interfaz
● Herramientas de mantenimiento: la categoría de herramientas de mantenimiento se puede subdividir
en:
− Ingeniería inversa. (reverse engine de proceso, datos, interfaz)
− Reestructuración y análisis de código.
− Reingeniería. (reverse engine y fordware engine de todo el software)
En cuanto herramientas de Ingeniería inversa este tipo cubren las siguientes funcionalidades:

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

· 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.

● Herramientas de gestión de proyectos: la mayoría de las herramientas CASE de gestión de proyectos


se centran en un elemento específico de la gestión del proyecto, en lugar de proporcionar un soporte
global para la actividad de gestión.
Utilizando un conjunto seleccionado de estas herramientas se pueden realizar estimaciones de
esfuerzo, coste y duración, hacer un seguimiento continuo del proyecto, estimar la productividad y la
calidad, etc.
Existen también herramientas que permiten al comprador del desarrollo de un sistema, hacer un
seguimiento que va desde los requisitos del pliego de prescripciones técnicas inicial, hasta el trabajo de
desarrollo que convierte estos requisitos en un producto final. Se incluyen dentro de las herramientas
de control de proyectos las siguientes:
− Planificación de proyectos.
− Seguimiento de requisitos.
− Gestión y medida.
● Herramientas de soporte: se engloban en esta categoría las herramientas que recogen las actividades
aplicables en todo el proceso de desarrollo, como las que se relacionan a continuación:
− Documentación: creación automatizada de un conjunto muy variado de documentación que va
desde la descripción textual de un pseudocódigo, hasta diagramas más o menos complejos.
− Software de sistemas.
− Control de calidad.
− Bases de datos.
− Herramientas de gestión de configuración.

La Gestión de Configuración, se hace imprescindible la incorporación de una herramienta capaz de


gestionar la configuración de los sistemas. Este tipo de herramientas ofrece distintos tipos de
capacidades:
● Control de versiones: capacidad de proporcionar almacenamiento y acceso controlado a los
datos, así como de registrar los cambios sobre los mismos y poder recuperar versiones
anteriores.
● Construcción: consiste en automatizar las tareas asociadas a la compilación y enlace de un
sistema con el fin de generar ejecutables.
● Trazabilidad de requisitos y análisis de impacto: permiten rastrear un requisito hasta su
implementación, y conocer los elementos del sistema que se ven afectados ante un cambio.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

9. OPCIONES DE INTEGRACIÓN DE LAS HERRAMIENTAS CASE


Las herramientas CASE pueden ser integradas de muchas formas. En un extremo se utiliza una herramienta
CASE de forma aislada. Se crea un número limitado de elementos de configuración de software (documentos,
programas o datos) que se manipulan mediante una única herramienta y cuya salida tiene el formato de
copia de pantalla y/o documentación gráfica. En cierto sentido, el enlace con el resto del entorno de
desarrollo se realiza mediante copias en papel que gestiona el informático.
Pocas herramientas CASE se utilizan en forma aislada. Se pueden utilizar de varias formas.
9.1. Intercambio de datos
La mayoría de las herramientas permiten exportar datos en forma de archivo sin estructura con un formato
conocido. Esto permite un intercambio de datos punto a punto entre las distintas herramientas CASE. Se
utiliza normalmente un "filtro" de transmisión intermedio como lo muestra la Figura 2.

Figura 2: Intercambio de datos


La desventaja del intercambio de datos punto a punto está en que, sólo parte de los datos exportados es
utilizable por la herramienta receptora, ya que no fue diseñada para ser totalmente compatible. Además, a
medida que evoluciona el software, la necesidad de transferir archivos cada vez que se hace un cambio
pequeño puede llevar mucho tiempo.
Las versiones pueden quedar "desfasadas" fácilmente, perdiéndose la posibilidad de transferencia, la cual
suele ser en un único sentido. No hay posibilidad de que los cambios se reflejen en ambos sentidos, y es
difícil hacer comprobaciones cruzadas de documentos y mantener la integridad de la configuración a través
de las distintas herramientas que se estén utilizando.
9.2. Acceso común a herramientas
Permite al usuario utilizar distintas herramientas de forma similar, por ejemplo a través de un menú
desplegable del gestor de ventanas del sistema operativo. En un entorno multitarea, un usuario podría abrir
simultáneamente varias herramientas, coordinando manualmente sus entradas y comparando las
representaciones de diseño a medida que evolucionan (Figura 3). Por ejemplo, el usuario podría visualizar un
diagrama de flujo de datos, un diagrama de estructura, un diccionario de datos y un segmento de código
fuente, todos mantenidos por diferentes herramientas.

Figura 3: Acceso común a herramientas

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

9.3. Integración de datos


En este caso la Herramienta CASE se puede utilizar de las formas que se detallan a continuación.
● Gestión común de datos: los datos de distintas herramientas se pueden mantener en una única base
de datos lógica, que puede estar físicamente centralizada o distribuida. Hay una modalidad de fusión
que permite combinar el trabajo de varias personas trabajando en diferentes partes de una aplicación.
Aunque los datos generados por las distintas herramientas se gestionan de forma conjunta en el nivel
de gestión de datos comunes, las herramientas no conocen de forma explícita las estructuras de datos
y la semántica de representación del diseño de las demás. Se requiere una etapa de traducción
(normalmente ejecutada manualmente) para permitir que una herramienta utilice la salida generada
por otra.
● Datos compartidos: las herramientas del nivel de datos compartidos tienen estructuras de datos y
semántica compatible, pudiendo intercambiar datos sin necesidad de una etapa de traducción. Cada
herramienta se diseña para ser compatible con las demás. Por esta razón, la mayor parte del
intercambio de datos se da entre herramientas de un único fabricante o en casos en los que se han
establecido relaciones estratégicas entre distintos fabricantes para generar un conjunto de datos
integrado, a veces a petición de clientes importantes.
● Interoperabilidad: las herramientas que combinan las características de acceso común y la capacidad
de compartir datos, tienen la posibilidad de interoperación. Esto representa el mayor nivel de
integración entre herramientas diferentes. Sin embargo, hay otras propiedades del entorno global
CASE que se pueden añadir para mejorar la efectividad del proceso de desarrollo de software.
En la Figura 4 se representa la integración de datos.

Figura 4: Integración de datos


9.4. Integración total
Para alcanzar la integración total del entorno CASE se necesitan dos características más: gestión de
metadatos y capacidad de control.
Los metadatos representan información sobre los datos de ingeniería generados por las distintas
herramientas CASE. Esta información incluye:
● Definiciones de objetos (tipos, atributos, representaciones y relaciones válidas).
● Relaciones y dependencias entre objetos de granularidad arbitraria (ejemplo una entidad única o un
fragmento de código de una subrutina).
● Reglas de diseño del software (por ejemplo: las distintas formas válidas de dibujar y equilibrar un
diagrama de flujo de datos).

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

● 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.

Figura 5: Integración total

10. TIPOS DE HERRAMIENTAS CASE


En las siguientes secciones se van a tratar los diferentes tipos de herramientas cases comunes en la industria
y sus principales características.
10.1. Herramientas de seguimientos de requisitos
Cuando se desarrollan grandes sistemas, el sistema proporcionado suele no satisfacer los requisitos
especificados por el cliente. La característica principal de esta herramienta es proporcionar un enfoque
sistemático para el aislamiento de requisitos, comenzando por la solicitud del cliente de una propuesta o
especificaciones.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

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).

10.2 Herramientas de métricas


Las métricas del software mejoran la capacidad del administrador para controlar y coordinar el proceso del
software y la capacidad del ingeniero para mejorar la calidad del software que se produce.
Las herramientas métricas actuales se centran en procesos, proyectos y características del producto.
Las herramientas orientadas a la gestión capturan métricas especificas del proyecto (por ejemplo:
LDC/personames, defectos por punto de función) que proporcionan una indicación global de productividad o
de calidad. Las herramientas orientadas técnicamente determinan métricas técnicas que proporcionan una
mejor visión de la calidad del diseño o del código. Muchas de las herramientas métricas avanzadas mantiene
una base de datos de medidas de medias de la industria.
Basándose en características de proyectos y de productos proporcionados por el usuario, estas herramientas
califican los números locales frente a los valore medios de la industria (y frente al rendimiento local anterior)
y sugieren estrategias para llegar a mejoras. Estas herramientas utilizan un sistema experto para sugerir el
orden en el que se debe llevar a cabo un proyecto.
Métrica: medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado,
Incluye el método de medición. Ej. “La productividad de este proyecto fue de 500 LCD/Persona-mes”. Le dan
al ingeniero una visión de la eficacia del proceso, proyecto o característica del producto.
10.3. Herramientas de documentación
Las herramientas de producción de documentación y autoedición se utilizan en casi todos los aspectos de la
ingeniería del software y representan una oportunidad muy interesante para todos los que desarrollan
software. No es casual que una empresa emplee el 20 o el 30 por ciento de su esfuerzo de desarrollo en la
documentación. Por esta razón, estas herramientas constituyen una opción importante para aumentar la
productividad.
Las herramientas de documentación suelen estar unidas a otras herramientas CASE por medio de una
interfaz de datos suministrada por el vendedor. Por ejemplo, muchas herramientas de análisis y diseño están
unidas a uno o varios sistemas de autoedición, de tal forma que los modelos y textos creados durante el
análisis y el diseño puedan ser transmitidos a una herramienta de documentación y añadidos a la
especificación creada utilizando la misma herramienta de documentación.
10.4. Herramientas para software de sistemas
El CASE es una tecnología de estaciones de trabajo. Por ello, el entorno CASE debe soportar software de
redes de comunicación de alta calidad, correo electrónico, boletines electrónicos y otras posibilidades de
comunicación. El sistema operativo más empleado en las estaciones de trabajo de ingeniería es el Windows.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

10.5. Herramientas de gestión de bases de datos


Esta herramienta sirve como fundamento para establecer una base de datos CASE (depósito), que también se
denominará base de datos del proyecto. Dado el énfasis acerca de los objetos de configuración, las
herramientas de gestión de bases de datos para CASE pueden evolucionar a partir de los sistemas de gestión
de bases de datos relacionales (SGBDR) para transformarse en sistema de gestión de bases de datos
orientada a objetos (SGBDOO).
10.6. Herramientas de bases de datos y de configuración de software
El software de gestión de bases de datos sirve como base para el establecimiento de una base de datos CASE
(almacén). Poniendo énfasis en los objetos de la configuración, las herramientas de gestión de bases de datos
para CASE pueden evolucionar de los sistemas relacionales a los sistemas basados en objetos.
Las herramientas CASE pueden ayudar en las cinco tareas principales de la configuración del software:
● identificación de versiones
● control de versiones,
● control de cambios,
● auditoria y
● gestión de estados.
Las base de datos CASE proporciona un mecanismo para identificar cada elemento de la configuración y
relacionarlo con otros elementos. La utilización de bases de datos, herramientas de gestión y configuración y
herramientas de inspección de componentes, es el primer paso hacia una biblioteca de software que
estimulará la reutilización de componentes de software.
10.7. Herramientas PRO/SIM
Las herramientas de creación de prototipos y de simulación (PRO/SIM) proporcionan al ingeniero de software
la capacidad de predecir el comportamiento de un sistema de tiempo real antes de que sea construido.
Además, le permiten desarrollar prototipos de sistemas de tiempo real que proporcionen al cliente una visión
general de la función, de la operación y de la respuesta, antes de la codificación final.
Muchas herramientas PRO/SIM tienen la capacidad de generar código para Ada y para muchos otros
lenguajes de programación que se harán cada vez más sofisticados a medida que estas herramientas
evolucionen.
KBSI – PROSIM
Originariamente, esta herramienta la creó Knowledge Based Systems, Inc. KBSI – PROSIM es un programa del
tipo Finanzas y negocios. El nombre de archivo de instalación del programa más común es: ProSim.exe.
Es un software le permite modelar y optimizar los procesos de su empresa mediante el diseño visualmente
los flujos de trabajo de alto rendimiento y la generación automática de modelos de simulación de esos
diseños. Puede distribuir y ver sus modelos de proceso en un número de diferentes formatos (incluyendo
HTML y XML) y de importación de Microsoft Project.

10.8. Herramientas para el diseño y desarrollo de interfaces


Las herramientas de diseño y desarrollo de interfaces son en realidad un conjunto de componentes de
software, tales como menús, botones, estructuras de ventanas, iconos, mecanismos de visualización,
controladores de dispositivos y otros elementos de este tipo.
Sin embargo, estos conjuntos de herramientas están siendo reemplazados por herramientas para desarrollar
prototipos que permiten la creación rápida en pantalla de interfaces sofisticadas ajustadas al estándar
elegido para el software.
10.9. Herramientas de codificación convencionales

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

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.

11. ADOPCIÓN DE HERRAMIENTAS CASE EN LAS ORGANIZACIONES


Con frecuencia las organizaciones experimentan problemas con la adopción de Herramientas CASE, debido a
que las mismas no conocen bien los beneficios de esta tecnología.
Es importante ampliar el rango de organizaciones que adquieran tecnologías de computación y
desarrollen estándares para el desarrollo de software, diseño de métodos, metodologías y técnicas para
llevar adelante el ciclo de vida de los sistemas.
Para ello, se recomienda:
● identificar los factores críticos en los procesos,
● proponer un conjunto de procesos a adoptar, y
● guiar satisfactoriamente esta adopción teniendo en consideración la organización y su entorno
cultural.
Los factores que hacen crítico el proceso de adopción de tecnología CASE, incluyen:
● Objetivos: la definición de un conjunto de objetivos claros y medibles, que incluyan objetivos técnicos
y de negocio. Un ejemplo podría ser “incrementar en un 50% el mejoramiento de la calidad en la
actividad de especificación de requerimientos” o “incrementar en un 40% el uso de herramientas CASE
en el desarrollo de proyectos”.
● Apoyo de la Administración: extender la participación activa de la alta gerencia para alentar la
adopción de CASE, sin limitar la buena voluntad para obtener los recursos que sean necesarios.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

● 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:

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

● 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.

12. PUNTOS IMPORTANTES A CONSIDERAR PARA SELECCIONAR UNA HERRAMIENTA CASE


Seleccionar una Herramienta CASE no es una tarea simple. No existe una mejor herramienta respecto de
otra. Existen 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.
Existen tres puntos comunes que fallan en el proceso de evaluación y selección:
● El proceso en sí mismo.
● Los pre-requisitos necesarios.
● Conocer la organización.
12.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 Salud puede ser completamente diferente que en
una corporación comercial. Aunque hay principios básicos, por ejemplo todos deben 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.
12.2. 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.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

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.

13. ESTRATEGIAS DE IMPLANTACIÓN DE UNA HERRAMIENTA CASE


Las estrategias más relevantes a considerar en la implantación de una Herramienta CASE, son las siguientes:
● Identificar la magnitud de problemas a resolver en la Institución.
● Identificar el nivel estratégico que deben tener los sistemas.
● Evaluar los recursos de hardware y software disponibles en la Institución y el medio.
● Evaluar el nivel del personal.
● Efectuar un estudio de costo-beneficio definiendo metas a lograr.
● Elegir las herramientas apropiadas para la Institución.
● Establecer un programa de capacitación de personal de sistemas y usuarios.
● Elegir una aplicación que reúna la mayor parte de los siguientes requisitos:
− Gran impacto de resultados.
− Disponibilidad de recursos.
− Mínimo nivel de riesgos.
− Máxima colaboración de usuarios.
− Tamaño reducido de solución.
● Se establecerán interfases de compatibilidad de los nuevos sistemas que deben convivir con los
sistemas anteriores.
13.1. Consideraciones importantes
Otras consideraciones importantes se enumeran a continuación:
● La elección de la Herramienta CASE va a depender de sus estrategias de desarrollo:
− Si tiene un gran volumen de aplicativos desarrollados, es conveniente contrastar lo realizado versus
las técnicas de Análisis y Diseño.
− Si tiene presión por resultados a corto plazo, el empleo de un Lower Case le será de utilidad, si se
basa en modelos de datos y procesos claros y definidos.
− Si desea realizar proyectos de gran envergadura es recomendable aplicar Upper y Lower Case.
− Si trabaja con archivos de grandes dimensiones, es recomendable que el Case soporte el Diseño de
Bases de Datos.
− Si no tiene formación y experiencia en el manejo de metodologías, es recomendable contar con
asesoría especializada, que capacite al personal y supervise los avances de Análisis y Diseño.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

● 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).

14. METODOLOGÍA CASE PARA EL DESARROLLO DE SISTEMAS


Los sistemas informáticos al agilizar y optimizar el almacenamiento, difusión y procesamiento de la
información; mejoran la producción de las organizaciones que los emplean para la automatización de sus
funciones. Sin embargo, si no se tienen en cuenta ciertos elementos en el diseño e implantación, no siempre
la automatización significa un aumento de la producción.
Existe un costo asociado con la adquisición de la tecnología CASE, debido a que la automatización puede ser
ineficiente y no operativa, si previamente no se ha realizado lo siguiente:
● un análisis de las necesidades de la organización,
● de las diferentes ofertas tecnológicas del mercado, y
● de un diseño de los sistemas adecuado, tanto de las funciones de la organización, como de la
tecnología empleada.
Por ejemplo, en la actualidad es muy común automatizar de manera independiente ciertas funciones de una
organización utilizando computadoras personales y paquetes comerciales económicos.
En un principio este tipo de sistemas pueden satisfacer las necesidades de la función automatizada, pero
posteriormente cuando es necesario contar con accesos flexibles de información consistente y que englobe
todas las funciones de la organización, dichos sistemas se vuelven inadecuados.
También se debe tener en cuenta la falta de un dimensionamiento previo del sistema, por lo que el equipo
adquirido puede resultar a corto plazo insuficiente u obsoleto.
Por lo tanto, antes de iniciar una automatización es importante tener en cuenta que:
● las organizaciones son complejas y realizan diversas funciones que están relacionadas entre si, que sus
necesidades de manejo de información cambian y crecen, y que además del manejo operativo de la
información hay una necesidad de contar con un acceso global que permita una mejor toma de
decisiones,
● la tecnología es muy cambiante, cada vez hay mayor variedad de equipos y sistemas mas poderosos de
costos diversos, lo que complica la selección de la tecnología adecuada,
● el diseño, la programación y la operación de los sistemas requieren de especialistas
Por lo antes mencionado, si se pretende que realmente una automatización no solamente redunde en una
mejora de la producción sino que además resulte una inversión rentable en cuanto a la adquisición de una
tecnología adecuada, es necesario contar con una metodología de desarrollo de sistemas.
Debido a que el desarrollo de sistemas de información es una actividad compleja, ésta puede dividirse para
su estudio en las siguientes etapas:
● Definición y análisis de los requerimientos del usuario.
● Diseño del sistema y de la base de datos.
● Implantación y prueba de módulos.
● Integración y prueba del sistema.
● Operación y mantenimiento.
Como estas etapas a su vez son muy elaboradas, han surgido varias metodologías que permiten realizarlas de
una manera estructurada. El método CASE (Computer Aided Systems Engineering) plantea una secuencia de
etapas que es aproximadamente equivalente a las mencionadas antes, pero es más detallada, y además
proporciona para cada etapa su:

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

● 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

Figura 6: Etapas del Método CASE


14.2. Estrategia
Esta es una de las etapas mas importantes, ya que tiene por objetivo lograr un entendimiento claro de las
necesidades de la organización y del ambiente en que operará el sistema o sistemas a implantar.
Con el fin de tener una visión desde los puntos de vista de la dirección corporativa, se analizan las diferentes
funciones que realiza la organización y sus necesidades de información en todos los niveles.
Durante esta etapa se realizan una serie de entrevistas con la dirección y los responsables de los
departamentos. A partir de esta información se realiza así un primer modelado de los requerimientos del
sistema de información adecuado a las necesidades de la organización. Posteriormente para la definición de
una primera versión de la arquitectura del sistema, además de los requerimientos antes obtenidos, se toman
en cuenta las tecnologías en ese momento disponibles y los sistemas de información ya existentes en
operación. En la Figura 7 se muestra este proceso.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

Figura 7: Etapa Estrategia


Los resultados de esta etapa es un conjunto de modelos de la empresa, un conjunto de recomendaciones, y
un plan acordado de desarrollo de los sistemas de información. La elaboración de este último se hará de
acuerdo las necesidades actuales y futuras de la organización, tomando en cuenta restricciones operativas,
financieras y técnicas.
14.3. Análisis
La etapa de análisis toma y verifica la información de la etapa de estrategia y la expande en suficiente detalle
para asegurar la precisión de los modelos de la empresa, posibilitando un fundamento sólido para el diseño,
dentro del alcance de la organización y tomando en cuenta sistemas existentes.
Con el fin de obtener un refinamiento de los modelos, durante esta etapa se realiza otra serie de entrevistas
ya no a un nivel directivo como en la anterior, sino a un nivel operativo y técnico. Con la participación los
responsables de la operación de las funciones que serán automatizadas se realiza un análisis detallado de sus
requerimientos específicos en cuanto a objetivos, subfunciones, información, datos, etc.
Así, en esta etapa a partir de los modelos de la organización obtenidos en la anterior y del producto del
análisis de ésta, se genera el modelado del sistema. Los modelos básicos de esta etapa son:
● Modelo entidad-relación: modela mediante relaciones lógicas todos los datos involucrados en el
sistema, de tal manera que cualquier tipo de explotación (consulta o modificación) sean posibles.
● Modelo funcional: modela las diferentes servicios que ofrecerá el sistema mediante una organización y
clasificación de las diversas funciones y subfunciones que fueron identificadas en el análisis.
● Definición de las restricciones que tendrá el sistema y la estrategia que se seguirá en la etapa de
transición.
El proceso de esta etapa y sus resultados se muestran en la Figura 8.

Figura 8: Etapa Análisis


14.4. Diseño
La etapa de diseño toma los requerimientos y el modelado de la etapa de análisis y determina la mejor
manera de satisfacerlos, logrando niveles de servicios acordados en el ambiente técnico y en las decisiones
previas de los niveles requeridos de automatización.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

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.

Figura 10: Construcción


14.6. Documentación
Uno de los productos fundamentales para un uso y mantenimiento, efectivos y eficientes de los sistemas
programados son los manuales. Esta metodología incluye una etapa dedicada a esta actividad tan importante
y resalta para que en su elaboración se consideren el estilo de trabajo y las necesidades propias de los
usuarios que utilizarán y mantendrán el sistema. Esta etapa se realiza al mismo tiempo que la de
construcción.
Los manuales resultantes de esta etapa se elaboran a partir de las especificaciones de diseño de los
programas realizados, y del análisis del estilo de trabajo y nivel de competencia de los usuarios del sistema.
En la Figura 11 se muestra el proceso de esta etapa.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

Figura 11: Documentación


14.7. Transición
La implantación de sistemas no necesariamente implica la sustitución total de los antiguos subsistemas y de
sus bases de datos correspondientes. En ciertos casos, por razones operativas y/o económicas, los nuevos
sistemas integran algunos de los antiguos, lo que implica un nuevo tipo de uso y de operación que deberá ser
asimilado y aprendido por los usuarios y operadores. Por esta razón el desarrollo de un sistema no se termina
con su programación, antes de su liberación para su uso, se debe preveer un período de transición que
deberá incluir la alimentación de la nuevas bases de datos, la capacitación de los usuarios y el desarrollo de
pruebas.
En esta metodología la transición conforma una de sus etapas y en ella se realizan se realizan todas las tareas
necesarias para la implementación y proporciona un periodo inicial de soporte al sistema. La transición debe
llevarse a cabo con una interrupción mínima de la organización, y debe dejar a los usuarios confiados y listos
para explotar el nuevo sistema. El resultado final de esta etapa es un reporte que muestre que las pruebas
fueron satisfactorias. En la Figura 12 se muestra el proceso de esta etapa.

Figura 12: Transición


14.8. Producción
Finalmente en la etapa de producción se asegura que el sistema funcione correctamente en la mayoría de los
casos, y con intervención mínima de los administradores del sistema. Para esto se realizan nuevas pruebas, se
reevalúan los resultados y se realizan refinamientos del sistema.
Los cambios necesarios deberán ser introducidos sin afectar a los usuarios, y deberá conseguirse la máxima
confianza de los mismos. El resultado de esta etapa es un sistema listo para su operación.
La Figura 13 ilustra esta etapa.

Figura 13: Producción


14.9. Conclusión

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

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.

15. CAUSAS DEL FRACASO EN LA INCORPORACIÓN DE HERRAMIENTAS CASE


En esta se sección se presentan las principales de fracaso en la incorporación de Herramientas CASE, las
mismas van a ser agrupadas en los los siguientes rubros:
● Deficiencias de la propia tecnología.
● Aplicación incorrecta de las Herramientas CASE.
● Deficiencias de la organización.
15.1. Deficiencia de la propia tecnología
Un gran número de empresas que empezaron a utilizar herramientas CASE durante los años ochenta,
posteriormente las abandonaron debido a inconvenientes, entre los cuales destacan:
● Soporte parcial del ciclo de vida, lo que permite automatizar sólo parte de las actividades de desarrollo,
mientras que otras se siguen realizando de forma tradicional.
● Incompatibilidad entre herramientas, incluso entre distintas versiones de la misma herramienta que no
siempre se encuentran sincronizadas en todas las plataformas hardware/software sobre las que
actúan.
● Escasa integración entre las mismas herramientas, así como entre éstas y el resto del entorno: SGBD,
lenguajes de cuarta generación, generadores de informes, etc.
● Poca confianza en el vendedor/distribuidor, ya que algunas empresas de CASE son relativamente
pequeñas y corren el peligro de desaparecer o ser absorbidas.
● Escasa e inadecuada documentación generada por la herramienta.
● Gran cantidad de herramientas produce inconvenientes, ya que genera indecisión al momento de
adquirirla.
● Funcionamiento deficiente en entornos multiusuarios, ya que muchas herramientas surgieron para
ordenadores personales.
● Poca capacidad de adaptación a los usuarios.
● Un alto costo, no sólo de la herramienta sino también de la plataforma que exige.
Todas estas deficiencias pueden ser superadas en mayor o menor medida, evaluando varias herramientas, y
considerando si fuera posible un cambio en el hardware/software utilizado, intentando cuantificar el costo de
la ''no adopción'' (con especial énfasis en el mantenimiento) y valorando los beneficios que el CASE puede
aportar.
15.2. Deficiencias en la aplicación de la tecnología a los problemas
Otra causa del fracaso se debe a la aplicación de herramientas CASE a problemas para los que no están
preparadas debido a que:
● Soportan una sola metodología especializada en el desarrollo de aplicaciones de gestión, y se pretende
utilizar la herramienta para construir sistemas de tiempo real.
● No soportan la técnica más adecuada, por ejemplo en el diseño de bases de datos muy grandes puede
ser conveniente emplear la ''integración de vistas'', que muchas herramientas CASE no soportan.
● Metodologías y herramientas que funcionan relativamente bien en proyectos pequeños o medianos,
pueden fracasar en proyectos grandes y viceversa.

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

● 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.

16. TENDENCIAS TECNOLÓGICAS Y DEL MERCADO EN LAS HERRAMIENTAS CASE


Las principales líneas de evolución hacia las que parecen encaminarse las herramientas CASE son:
● CASE para sistemas bajo arquitectura cliente/servidor: no se debe confundir el hecho de que una
herramienta CASE funcione en un entorno de arquitectura cliente/servidor, con que el sistema
desarrollado mediante una herramienta CASE vaya a funcionar bajo dicha arquitectura.
En la actualidad existen ejemplos de los dos casos, herramientas CASE que funcionan bajo un entorno
cliente/servidor, en red y con un repositorio centralizado en un servidor; y herramientas CASE que
generan aplicaciones que funcionan en un entorno cliente/servidor, en las cuales se puede indicar
dónde deben residir los componentes de la aplicación en tiempo de ejecución, liberando al
programador de aspectos referidos a los protocolos de comunicaciones, seguridad, interfases gráficas
de usuario, etc.
La línea de evolución en este caso vendrá marcada por versiones mejoradas de la herramienta, que
faciliten cada vez más la distribución de los elementos de una aplicación entre los diferentes clientes y
servidores. Lo que trae aparejado una mayor liberalización del programador, de todos los aspectos que
no sean propios de la aplicación (protocolos de red, seguridad, etc.).
● CASE multiplataforma: estas herramientas soportan las combinaciones dominantes de diferentes
plataformas físicas, sistemas operativos, interfases gráficas de usuario, sistemas de gestión de bases de
datos, lenguajes de programación y protocolos de red. En este sentido el futuro podrá ser de apertura
creciente a nuevas plataformas y portabilidad más generalizada.
● CASE para ingeniería inversa y directa: ya existen algunas herramientas de este tipo. Su evolución
marcará notables mejoras en la obtención de los diseños a partir del código ya existente (ingeniería
inversa) y la regeneración del mismo, una vez optimizado el diseño (ingeniería directa).

Profesor Adjunto: Ing. Alfredo R. Espinoza


ANALISTA PROGRAMADOR UNIVERSITARIO
Herramientas Informáticas Avanzadas
Herramientas CASE

● 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.

17. CONSIDERACIONES FINALES


La Herramientas CASE en la actualidad brindan una gran gama de componentes que incluyen la mayoría de
los requisitos necesarios para el desarrollo de los sistemas. Han sido creadas con una gran exactitud en torno
a las necesidades de los desarrolladores de software, para la automatización de procesos incluyendo el
análisis, diseño e implantación. También ofrecen una gran plataforma de seguridad a sistemas que las
utilizan.
Debido a la demanda que tienen las Herramientas CASE, su exigencia en cuanto a su utilización ha ido
aumentando, por lo que toda CASE debe entre otras cosas: proporcionar topologías de aplicación flexibles,
proporcionar aplicaciones portátiles, brindar un control de versión, crear código compilado en el servidor, dar
un soporte multiusuario y ofrecer seguridad.
Las Herramientas CASE cuentan con una credibilidad y exactitud que tienen un reconocimiento universal,
siendo utilizadas por desarrolladores y/o programadores que buscan un resultado óptimo y eficiente.

Profesor Adjunto: Ing. Alfredo R. Espinoza

También podría gustarte