Logo Studenta

HerramientasCase

¡Este material tiene más páginas!

Vista previa del material en texto

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 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
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 muchasactividades 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 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
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. 
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  
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. 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas 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                           
descripcionesdel 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 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
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. 
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 
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. 
● 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. 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
● 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 identificarlos 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. 
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. 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
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 
● 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. 
● 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                           
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
diseño, 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.  
− Herramientas de bajo nivel, L­CASE (Lower CASE): o backend, dirigidas a las últimas fases del                             
desarrollo (construcción e implantación). 
− 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. 
● 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. 
● 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. 
● 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) 
● 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. 
Profesor Adjunto:​Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
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. 
− Software de sistemas. 
− Control de calidad. 
− Bases de datos. 
9. COBERTURA DE LAS HERRAMIENTAS CASE 
En este apartado se va a dar tratamiento a la cobertura de las principales Herramientas CASE. 
9.1. Herramientas de análisis y diseño. 
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. 
● 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. 
9.2. Generación de código y documentación. 
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. 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
Las herramientas CASE también soportan la 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. 
9.3. Herramientas de prueba. 
Las herramientas de prueba se conocen también por las siglas CAST (Computer Aided Software Testing), y                               
es un área bastante reciente dentro de la tecnología CASE. 
Algunas coberturas que suelen tener este tipo de herramientas son las siguientes: 
● Gestión de pruebas: 
− Predecir costo y tiempo de las pruebas. 
− Planificar pruebas de productos, actividades y recursos 
− Monitorizar pruebas. 
− Generar informes. 
● Definir requisitos y objetivos de prueba: 
− Registrar requisitos y/u objetivos. 
− Verificar requisitos. 
● Diseñar pruebas: 
− Diseñar, generar y documentar los casos de prueba. 
− Rastrear (tracing) requisitos. 
− Trazar caminos, ramas y sentencias de casos de prueba. 
− Predecir la salida esperada. 
● Construir entornos de ejecución de pruebas: 
− Verificar código. 
− Implementar código. 
− Generar elementos de prueba: módulos impulsores (drivers), módulos ficticios (stubs), interfaces,                     
etc. 
● Ejecutar pruebas: 
− Fallos de las pruebas. 
− Estadísticas de fallos. 
− Calidad de las pruebas. 
− Calidad del software (funcionalidad, rendimiento, etc.) 
9.4. Herramientas de gestión de configuración. 
En entornos de desarrollo complejos se integran diversas herramientas de ingeniería de software, 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 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
9.5. Herramientas de ingeniería inversa. 
Algunas herramientas de este tipo cubren las siguientes funcionalidades: 
● 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. 
10. 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. 
10.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 losdatos 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. 
10.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. 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
 
Figura 3: ​Acceso común a herramientas 
10.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 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
10.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). 
● 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 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
11. TIPOS DE HERRAMIENTAS CASE 
En las siguientes secciones se van a tratar los diferentes tipos de herramientas cases y sus principales                                 
características. 
11.1. Herramientas de seguimientos de requisitos 
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. 
11.2 Herramientas de métricas 
Las métricas de software mejoran la capacidad del administrador para controlar y coordinar el proceso del                               
software y lacapacidad del ingeniero para mejorar la calidad del software que se produce. La métricas y                                   
herramientas de medida actuales se concentran en procesos, proyectos y características del producto. 
11.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. 
11.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. 
11.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). 
11.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                             
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
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. 
11.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. 
11.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. 
11.9. Herramientas de codificación convencionales 
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. 
11.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. 
11.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. 
   
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADORUNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
 
 
12. 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. 
● 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. 
12.1. Proceso de preparación 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
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 
12.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. 
12.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. 
12.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. 
13. PUNTOS IMPORTANTES A CONSIDERAR PARA SELECCIONAR UNA HERRAMIENTA CASE 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas 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­requisitosnecesarios. 
● Conocer la organización. 
13.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. 
13.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. 
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. 
13.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. 
14. 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. 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
● 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. 
14.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. 
● 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). 
 
15. 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. 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
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 sinoque 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: 
● descripción, 
● definición de objetivos y metas, 
● productos de la etapa, 
● factores críticos de éxito, y 
● lista de tareas que conviene realizar. 
15.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 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
 
Figura 6: Etapas del Método CASE 
15.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. 
 
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. 
15.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. 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
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 
15.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. 
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 
15.5. Construcción 
Profesor Adjunto:​  Ing. Alfredo R. Espinoza 
Ayudante de 1º:​     Lic. Claudia Panica 
 
 
 
ANALISTA PROGRAMADOR UNIVERSITARIO 
Herramientas Informáticas Avanzadas 
Herramientas CASE 
 
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 
15.6. Documentación 
Uno de los productos fundamentales para un uso y mantenimiento, efectivos y eficientes de los sistemas

Continuar navegando