INTRODUCCIÓN
Día a
día la tecnología avanza, surgen nuevas y mejores formas de hacer las cosas,
siempre buscando métodos más efectivos, confiables, con mayor calidad y menos
riesgos.
Las
herramientas CASE han surgido para dar solución a varios problemas inherentes
al diseño del software, principalmente nacen para solucionar el problema
de la mejora de la calidad del desarrollo de sistemas de mediano y gran tamaño,
y en segundo término, por el aumento de la productividad.
Para
que los negocios sean competitivos deben llevar una buena calidad de los
productos o servicios que ofrece. La mejora de la calidad se logra al reducir
sustancialmente muchos de los problemas de análisis y diseño relacionados con
los proyectos, como la lógica en el diseño y la coherencia de módulos, entre
otros. Y la mejora de la productividad se consigue a través de la
automatización de tareas como la generación y reutilización de código, que son
puntos importantes a considerar en una herramienta CASE.
HISTORIA
Las Herramientas CASE se iniciaron con un
procesador de palabras que fue usado para crear y manipular documentación.
Los 70’s vieron la introducción de técnicas
gráficas y diagramas de flujo de datos. Sobre este punto, el diseño y
especificaciones en forma pictórica 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.
Pronto 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. A diario, las herramientas gráficas integradas
con diccionarios de base de datos para producir poderosos diseños y desarrollar
herramientas, podrían sostener ciclos completos de 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
pueden saberse integrados en una simple 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. No fue sino hasta 1985 cuando las herramientas CASE
se volvieron realmente importantes 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.
El objetivo en 1985 para muchos vendedores era producir software más
rápidamente. Las herramientas del CASE serían una familia de métodos
favorablemente estructurados para planeamiento, análisis y diseño. Esto
llevaría a la generación automática de código para desarrollo de
software. Esto traería como beneficio: Una mejora en la calidad,
fiabilidad, utilidad y rendimiento.
Las herramientas CASE son un conjunto de herramientas y métodos
asociados que proporcionan asistencia automatizada en el proceso de desarrollo
del software a lo largo de su ciclo de vida.
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.
- Mejorar la productividad del software
- Aumentar la calidad del software.
- Reducir el tiempo y costo de desarrollo y mantenimiento de los sistemas informáticos.
- Mejorar la planificación de un proyecto.
- Aumentar la biblioteca de conocimiento informático de una empresa ayudando a la búsqueda de soluciones para los requisitos.
- Automatizar el desarrollo del software, la documentación, la generación de código, las pruebas de errores y la gestión del proyecto.
- Aumentar la productividad de las áreas de desarrollo y mantenimiento de los sistemas informáticos.
- Ayuda a la re-utilización del software, portabilidad y estandarización de la documentación.
- Gestión global en todas las fases de desarrollo de software con una misma herramienta.
- Facilitar el uso de las distintas metodologías propias de la ingeniería del software.
Automatizar:
- El desarrollo del software.
- La documentación.
- La generación del código.
- El chequeo de errores.
- La gestión del proyecto.
Permitir:
- La reutilización (reusabilidad) del software.
- La portabilidad del software.
- La estandarización de la documentación.
- Integrar las Mejorar el archivo de datos (enciclopedia) de conocimientos.
- Facilitar la utilización de las distintas metodologías que desarrollan la propia Ingeniería del software.
CARACTERÍSTICAS
Características que debe Soportar:
- Soporte gráfico para varias técnicas (DFD, E/R, STD, modelos OO, etc.)
- Control de errores “Consistencia”: Unicidad identificadores, reglas metodología, etc.
- Validación entre diferentes modelos:
- En una fase (Por ejemplo: entre DFD y E/R)
- En varias fases (DFD análisis y diseño; DFD diseño y Diagrama de estructuras).
Características Deseables
- Soporte multiusuario.
- Personalización.
- Control de documentos y versiones.
- Gestión de proyectos.
- Estadísticas de productividad y métricas del software.
- Pruebas.
- Simulación y Prototipado.
- Demostración correcciones especificaciones y/o software.
- Generación de código.
VENTAJAS
Estas
herramientas pueden proveer muchos beneficios en todas las etapas del proceso
de desarrollo de software, algunas de ellas son:
- Mejora en la productividad
- Mejora en la eficacia
- Mejora en la calidad del sistema de información
- Disminución de tiempo
- Automatización de tareas tediosas
- Garantizar la consistencia de los procedimientos
- 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.
- Generar estructuras de código.
DESVENTAJAS
- Confiabilidad en los métodos estructurados.
- Falta de niveles estándar para el soporte de la metodología.
- Conflictos en el uso de los diagramas.
- Diagramas no utilizados.
- Función limitada.
- Costo de adquisición.
PRINCIPALES
USUARIOS
- Organizaciones / Empresas
- Analistas.
- Desarrolladores.
- Ingenieros de Software.
COMPONENTES
O ELEMENTOS
REPOSITORIO
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.
Apoyándose
en la existencia del repositorio se efectúan comprobaciones de integridad y
consistencia:
Que no
existan datos no definidos.
Que no
existan datos autodefinidos (datos que se emplean en una definición pero que no
han sido definidos previamente).
Que todos
los alias (referencias a un mismo dato empleando nombres
distintos) sean correctos y estén actualizados.
Las
características más importantes de un repositorio son:
• Tipo
de información. Que contiene alguna metodología concreta, 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.
MÓDULOS DE DIAGRAMACIÓN Y MODELIZACIÓN
Este componente consiste en dar soporte para la creación de los
diagramas más utilizados para el análisis y diseño del software.
Algunos
de 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.
HERRAMIENTA DE PROTOTIPADO
El
objetivo principal de esta herramienta es poder mostrar al usuario, desde los
momentos iníciales 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.
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.
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. Si se trata de 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 interfaz de usuario de la aplicación.
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.
- Ayuda de tratamiento de textos. Facilidad para la introducción de textos complementarios a la documentación que se genera de forma automática.
- Interfaz con otras herramientas: procesadores de textos, editores gráficos, etc.
CLASIFICACIÓN
- Herramientas integradas, I-CASE (Integrated CASE, CASE integrado): abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas también CASE workbench.
- Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o front-end, orientadas a la automatización y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: análisis y diseño.
- Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back-end, dirigidas a las últimas fases del desarrollo: construcción e implantación.
- Juegos de herramientas o Tools-Case, 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.
Según su Integración:
- Toolkits (Juego de herramientas). Conjunto de herramientas software que automatizan alguna fase del ciclo de vida (análisis, diseño, gestión, ...). Comparten la BD de soporte y la interfaz de usuario. Integración baja.
- Workbenchs (Banco de trabajo). Conjunto de herramientas software que automatizan el ciclo de vida en más de una fase, típicamente en análisis + diseño + implementación (incluyendo documentación asociada). Asisten en todo el proceso y proporcionan un producto documentado y operativo. Además de compartir la BD de soporte y la interfaz de usuario, están basadas en una misma metodología. Integración media.
- IPSE (Integrated Project Support Environment). Integración alta. Cubren todo el ciclo de vida, la gestión de proyectos y de la configuración.
Por su Posición:
Upper CASE: Herramientas de
apoyo a las primeras fases
- Métricas del software.
- Estimación de costes.
- Planificación temporal.
Medium CASE: Herramientas de
apoyo a las fases centrales.
- Análisis.
- Diseño.
Lower CASE: Herramientas de
apoyo a las últimas fases.
- Implementación (generación de código).
- Pruebas (caja blanca y caja negra).
- Mantenimiento.
- Documentación de la implementación y documentación para el usuario final.
Por su Funcionalidad:
- Herramientas de planificación de sistemas de gestión.
- Herramientas de análisis y diseño.
- Herramientas de programación.
- Herramientas de integración y prueba.
- Herramientas de gestión de prototipos.
- Herramientas de mantenimiento.
- Herramientas de gestión de proyectos.
- Herramientas de soporte.
EJEMPLOS
DE HERRAMIENTAS CASE
Herramientas
CASE más utilizadas
- Erwin. PLATINUM ERwin es una herramienta de diseño de base de datos. Brinda productividad en diseño, generación, y mantenimiento de aplicaciones. Desde un modelo lógico de los requerimientos de información, hasta el modelo físico perfeccionado para las características específicas de la base de datos diseñada.
- EasyCASE. Esta herramienta permite automatizar las fases de análisis y diseño dentro del desarrollo de una aplicación, para poder crear las aplicaciones eficazmente – desde procesamiento de transacciones a la aplicación de bases de datos de cliente/servidor, así como sistemas de tiempo real.
- Oracle Designer. Oracle Designer es un juego de herramientas para guardar las definiciones que necesita el usuario y automatizar la construcción rápida de aplicaciones cliente/servidor flexibles y gráficas. Integrado con Oracle Developer
- PowerDesigner. PowerDesigner es una suite de aplicaciones de Powersoft para la construcción, diseño y modelado de datos a través de diversas aplicaciones. Es la herramienta para el análisis, diseño inteligente y construcción sólida de una base de datos y un desarrollo orientado a modelos de datos a nivel físico y conceptual, que dan a los desarrolladores Cliente/Servidor la más firme base para aplicaciones de alto rendimiento.
- System Architect. Esta herramienta posee un repositorio único que integra todas las herramientas, y metodologías usadas. En la elaboración de los diagramas, el System Architect conecta directamente al diccionario de datos, los elementos asociados, comentarios, reglas de validaciones, normalización, etc. Posee control automático de diagramas y datos, normalizaciones y balanceamiento entre diagramas "Padre e Hijo", además de balanceamiento horizontal, que trabaja integrado con el diccionario de datos, asegurando la compatibilidad entre el Modelo de Datos y el Modelo Funcional.
- Rational Rose. Rational Rose es una herramienta de producción y comercialización establecidas por Rational Software Corporation (actualmente parte de IBM). Rose es un instrumento operativo conjunto que utiliza el Lenguaje Unificado (UML) como medio para facilitar la captura de dominio de la semántica, la arquitectura y el diseño. Este software tiene la capacidad de : Crear, Ver, Modificar y Manipular los componentes de un modelo.
CRITERIOS PARA LA SELECCIÓN DE
UNA HERRAMIENTA CASE
- Tipo de computador (MainFrame, Ws, PC, ...)
- Lenguaje al que va orientada.
- Metodología soportada.
- Posibilidades de integración con otras plataformas (presentes y futuras).
- Criterios habituales en la selección de software: formación, precio, asistencia técnica, mantenimiento.
HERRAMIENTAS CASE ORIENTADAS A
OBJETOS
Muchos de los beneficios son alcanzados únicamente cuando el Análisis y
Diseño son utilizados con herramientas CASE Orientadas a Objetos, basados en
repositorios que generan códigos.
- Fomenta la reutilización y extensión del código.
- Permite crear sistemas más complejos.
- Relacionar el sistema al mundo real.
- Facilita la creación de programas visuales.
- Construcción de prototipos.
- Agiliza el desarrollo de software.
- Facilita el trabajo en equipo.
- Facilita el mantenimiento del software.
Lo interesante de la Programación Orientada a Objetos es que proporciona
conceptos y herramientas con las cuales se modela y representa el mundo real
tan fielmente como sea posible.
COSTOS
El costo es una de las mayores desventajas por la que muchas empresas y
desarrolladores no utilizan herramientas CASE. El
rango de precios de éstas herramientas en sus versiones para empresas van de
los $500.00 hasta más de los $4,000.00 dólares, esto sin contar con los costos
de entrenamiento y mantenimiento. Por ello se debe hacer un buen balance entre
los costos y los beneficios que traería la adopción de una herramienta CASE.
muchas gracias estoy buscando info de esto
ResponderEliminarx2
ResponderEliminarx3
ResponderEliminarx4
Eliminarx5
ResponderEliminarX6
ResponderEliminarx7
ResponderEliminarx8
ResponderEliminargracias rey <3
x9
ResponderEliminarx10
ResponderEliminarx11
ResponderEliminarx12
ResponderEliminarx13
ResponderEliminarx14
ResponderEliminar¡muchas gracias por esta información que buena está! que bueno es saber más sobre CASE.
ResponderEliminarx15
ResponderEliminar