Herramientas CASE para el desarrollo de artefactos SW en Java

Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Computadora) son diversas aplicaciones informáticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el costo de las mismas en términos de tiempo y de dinero. Estas herramientas pueden ayudar en todos los aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar un diseño del proyecto, cálculo de costos, implementación de parte del código automáticamente con el diseño dado, compilación automática, documentación o detección de errores entre otras

Una herramienta CASE suele incluir:

• Un diccionario de datos para almacenar información sobre los datos de la aplicación de bases de datos.
• Herramientas de diseño para dar apoyo al análisis de datos.
• Herramientas que permitan desarrollar el modelo de datos corporativo, así como los esquemas conceptual y lógico.
• Herramientas para desarrollar los prototipos de las aplicaciones.

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.

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