[Herramientas CASE] [Clasificación de Herramientas CASE]
[Ingeniería Inversa y Reingeniería de SW]
[Entrevistas y DFD's]
[Método: Entrega por etapas]
[Oportunidad de Consulta]
[Links]
HERRAMIENTAS CASE
¿Qué son las herramientas CASE?
Son herramientas de productividad que han sido creadas implícitamente para mejorar el trabajo rutinario de los analistas de sistemas mediante un apoyo automatizado.
Herramientas CASE son herramientas para ingeniería de software asistido por computadora.
¿Qué utilidad tienen las herramientas CASE ?
Los analistas se apoyan en las herramientas CASE para aumentar la productividad, comunicarse más efectivamente con los usuarios e integrar el trabajo que realizan en el sistema, desde el principio hasta el fin del ciclo de vida.
A continuación se presentan las principales ventajas:
* Aumento de la productividad del analista.
El analista puede llegar a ser más productivo simplemente por la reducción del tiempo considerable que es gastado típicamente en el trazo manual de diagramas de flujo de datos hasta que son aceptados. Una herramienta que permite esta característica
es Excelerator.
Muchas herramientas CASE mejoran la productividad del grupo, permitiendo que los analistas compartan fácilmente su trabajo con otros miembros del equipo; reduciendo el tiempo necesario para reproducir y distribuir los diagramas de flujo de datos entre los miembros del equipo. También, permite que los miembros del equipo del analista de sistemas no sean obligados a una calendarización estricta de la distribución y a la respuesta realimentadora.
Las herramientas CASE también facilitan la interacción entre los miembros del equipo al hacer de la diagramación un proceso dinámico e interactivo en vez de ser uno en donde los cambios son problemáticos y que tienden a convertirse en una pérdida de productividad.
* Mejora de la comunicación del analista-usuario.
Las herramientas CASE utilizadas por los analistas, promueven una comunicación mayor y más significativa entre usuario y analistas. Esta característica permite que el sistema propuesto se convierta en una realidad y sea usado.
* Proporciona un medio de comunicación.
Las herramientas CASE proporcionan un medio de comunicación acerca del sistema durante su conceptualización Mediante el uso del apoyo automatizado que proporciona salida en pantalla, los clientes pueden ver fácilmente cómo son representados los flujos de dato y otros conceptos del sistema, y solicitan correcciones o cambios que se habrían llevado demasiado tiempo con un sistema manual.
* Integración de las actividades del ciclo de vida.
Proporcionan una manera de integrar las actividades y proporcionar continuidad de una fase a la siguiente a lo largo del ciclo de vida del desarrollo de sistemas.
Las herramientas CASE son útiles cuando una fase particular del ciclo de vida requiere varias interacciones o retroalimentación y modificación. La integración de las actividades por medio del uso de tecnologías de ambientes integrados de herramientas, facilita que los usuarios comprendan la manera en que están interrelacionadas e interdependientes todas las fases del ciclo de vida.
* Evaluación precisa de los cambios del mantenimiento.CLASIFICACIÓN DE HERRAMIENTAS CASE.
Esta ventaja permite que los usuarios analicen y valoren el impacto de los cambios de mantenimiento. Por ejemplo, puede ser que el tamaño de un elemento, tal como un número de cliente, necesite ser agrandado. La herramienta CASE hará una referencia cruzada de todas las pantallas, reportes y archivos en donde es usado el elemento, produciendo un plan de mantenimiento comprensivo.
Las herramientas CASE son clasificadas de la siguiente manera:
* CASE de nivel inferior : frecuentemente usadas por programadores y personal que deben implementar el sistema diseñado por medio de las herramientas CASE superiores.
* CASE de nivel superior : ayudan principalmente a los analistas y diseñadores.
* CASE de nivel integrado: combinar el CASE inferior y superior.
En el cuadro siguiente se presentan algunas de las herramientas CASE más populares:
|
|
|
Al Lee & Associates | Magec | CASE de bajo nivel |
Anderson Consulting | Foundation | CASE integrado |
Cadre Technologies, Inc. | Teamwork | CASE de alto nivel |
CGI Systems, Inc. | PacBase | CASE integrado |
Computer Systems | POSE | CASE de alto nivel |
Advisers Inc. | Excelerator | CASE de alto nivel |
Intersolv | APS | CASE de bajo nivel |
KnowledgeWare,Inc. | Aplication Development
Workbench (ADW) Informatio Engineering Worbench (IEW) |
CASE integrado |
Siemens AG | XperCASE | CASE integrado |
Synon, Inc. | Synon AS/SET | CASE de bajo nivel |
Texas Instruments | Information Engineering
Facility (IEF) |
CASE integrado |
Visible Systems Corp. | Visible Analyst | CASE de alto nivel |
Yourdon, Inc. | Analyst/Designer Toolkit | CASE de alto nivel |
Herramientas CASE de nivel superior.
Una herramienta CASE superior permite que el analista cree y modifique el diseño de sistema. Toda la información acerca del proyecto es guardada en una enciclopedia llamada el depósito CASE, que es una gran colección de registros, elementos, diagramas, pantallas, reportes y otra información. Los reportes de análisis pueden ser producidos usando la información del depósito, que mostrará qué parte del diseño está incompleta o contine errores.
Las herramientas CASE superiores también puede ayudar a dar soporte al modelaje de los requerimientos funcionales de una organización, asistir a los analistas y usuarios en el trazo de las fronteras de un proyecto dado y ayudarlos a visualizar la manera a en que el proyecto engrana con otras partes de la organización. Además, algunas herramientas CASE superiores pueden dar soporte a la elaboración de prototipos de diseños de pantalla y reportes.
Herramientas CASE de nivel inferior.
Las herramientas CASE inferiores son usadas para generar código fuente de computadora, eliminando la necesidad de programar el sistema. La generación de código tiene varias ventajas:
1. El sistema puede ser producido más rápidamente que mediante la estructura de programas de computadora.2. La cantidad de tiempo empleada en el mantenimiento disminuye con la generación de código. No hay necesidad de modificar, probar y depurar programas de computadora.
3. El código puede ser generado en más de un lenguaje de computadora, por lo que es más fácil emigrar sistemas de una plataforma, tal como una macrocomputadora, a otra, tal vez una microcomputadora. Por ejemplo, Excelerator puede generar código en COBOL, C, BASIC y PL/1 usando el mismo depósito o enciclopedia.
4. La generación de código proporciona una forma eficiente en costo para adecuar sistemas comprados a proveedores de terceras partes, y así satisfacer las necesidades de la organización.Frecuentemente, la modificación de software adquirido requiere un esfuerzo tan grande que el costo de hacerlo excede al del software. Con software de generación de código, la compra de un diseño CASE y su depósito para la aplicación permite que el analista modifique el diseño y genere el sistema de cómputo revisado.
5. El código generado está libre de errores de programación de computadora. Los únicos errores potenciales son errores de diseño, que pueden ser minimizados por la ejecución de reportes de análisis CASE para asegurarse que el diseño de sistemas sea completo y correcto.
La siguiente imagen representa el ciclo de vida del desarrollo del sistema CASE.INGENIERÍA INVERSA Y REINGENIERÍA DE SOFTWARE.
La ingeniería inversa de software y la reingeniería son métodos para extender la vida de programas antiguos, llamados software legado. Ambos enfoques usan CARE (reingeniería asistida por computadora) para analizar y reestructurar el código de computadora existente. Se dispone de varios juegos de herramientas para ingeniería inversa que a continuación se presentan:
|
NOMBRE DEL PRODUCTO |
Bachman Information Systems, Inc. | Analyst Capture |
Cadre Technologies, Inc. | Teamwork |
CGI Systems, Inc. | PacReverse
XL Recover |
Intersolv | Design Recovery |
Siemens AG | XperCASE |
Frecuentemente, el término reingeniería es usado con el significado de "reingeniería de procesos de negocio", que es una forma de reorientar una organización alrededor de procesos principales.
Los analistas de sistemas pueden desarrollar un papel importante en la reingeniería de procesos de negocios, debido a que muchos de los cambios necesarios son posibles solamente debido a la disponibilidad de tecnología de información innovativa.
La ingeniería inversa es lo opuesto a la generación de código. El código fuente de la computadora es examinado, analizado y convertido en entidades de depósito. El primer paso en la ingeniería inversa de software es cargar el código existente de programas de computadora, tal como está escrito en COBOL, C u otro lenguaje de alto nivel, en el juego de herramientas. Dependiendo del juego de herramientas de ingeniería inversa utilizado, el código es analizado y el juego de herramientas produce parte o todo de lo siguiente:
1. Estructuras y elementos de datos que describen los archivos y registros guardados por el sistema.
2. Diseños de pantallas, si es que el programa trabaja en línea.
3. Diseños de reporte para los programas por lotes.
4. Una gráfica de estructura muestra la jerarquía de los módulos del programa.
5. Diseño y relaciones de la base de datos.
El diseño guardado en el depósito puede ser modificado o incorporado en otra información de proyecto CASE. Cuando se han terminado todas las modificaciones puede ser generado el código del nuevo sistema.
La reingeniería se refiere al proceso completo de convertir el código de programa al diseño en CASE, la modificación del diseño y la regeneración del nuevo código de programa.
Las ventajas de utilizar un juego de herramientas de ingeniería inversa son:
1. Reduce el tiempo requerido para el mantenimiento del sistema, liberando tiempo para nuevos desarrollos.
2. Se produce documentación, que puede no haber existido o ser mínima para los programas antiguos.
3. Se crean programas estructurados a partir de código de computadora sin estructura o débilmente estructurados.
4. Es más fácil realizar cambios futuros de mantenimiento, debido a que los cambios pueden ser hechos al nivel de diseño en vez de al nivel de código.
5. Se puede realizar el análisis del sistema para eliminar partes de código de computadora no utilizadas, que pueden existir en programas antiguos y que ya son obsoletos por revisión de los programas a lo largo de los años.
INICIO PÁGINA SIGUIENTE
Cualquier comentario o sugerencia dirigirse a:
[email protected]
[email protected]
[email protected]