Hoy en día, muchas empresas se han extendido a la adquisición de herramientas CASE que significa: Ingeniería Asistida por Computadora con el fin de automatizar todo el proceso de desarrollo de un sistema, desde el principio hasta el final, CASE proporciona un conjunto de herramientas semiautomatizadas y automatizadas que están desarrollando una cultura de ingeniería nueva para muchas empresas. Uno de los objetivos más importante del CASE es conseguir la generación automática de programas desde una especificación a nivel de diseño.
Con la aparición de las redes de ordenadores en empresas y universidades ha surgido en el mundo de la informática la tecnología cliente / servidor. Son muchas de las organizaciones que ya cuentan con un número considerable de aplicaciones cliente / servidor en operación: Servidores de Bases de Datos y Manejadores de Objetos Distribuidos. Cliente / servidor es una tecnología de bajo costo que proporciona recursos compartidos, escalabilidad, integridad, encapsulamiento de servicios, etc. Pero al igual que toda tecnología, el desarrollo de aplicaciones cliente / servidor requiere que la persona tenga conocimientos, experiencia y habilidades en procesamiento de transacciones, diseño de base de datos, redes de ordenadores y diseño gráfica de interfase.
La tecnología CASE contribuye a mejorar la calidad y la productividad en el desarrollo de sistemas de información y se plantean los siguientes objetivos:
Permitir la aplicación práctica de metodologías estructuradas, las cuales al ser realizadas con una herramienta se consigue agilizar el trabajo.
Facilitar la realización de prototipos y el desarrollo conjunto de aplicaciones.
Simplificar el mantenimiento de los programas.
Mejorar y estandarizar la documentación.
Aumentar la portabilidad de las aplicaciones.
Facilitar la reutilización de componentes software.
Permitir un desarrollo y un refinamiento visual de las aplicaciones, mediante la utilización de gráficos.
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 del software
- La portabilidad del software
- La estandarización de la documentación
La estructura CASE se basa en la siguiente terminología:
CASE de alto nivel son aquellas herramientas que automatizan o apoyan las fases finales o superiores del ciclo de vida del desarrollo de sistemas como la planificación de sistemas, el análisis de sistemas y el diseño de sistemas.
CASE de bajo nivel son aquellas herramientas que automatizan o apoyan las fases finales o inferiores del ciclo de vida como el diseño detallado de sistemas, la implantación de sistemas y el soporte de sistemas.
CASE cruzado de ciclo de vida se aplica a aquellas herramientas que apoyan actividades que tienen lugar a lo largo de todo el ciclo de vida, se incluyen actividades como la gestión de proyectos y la estimación.