You are on page 1of 3

Aunque no es fácil y no existe una forma única de clasificarlas, las herramientas CASE se pueden

clasificar teniendo en cuenta los siguientes parámetros:

1. Las plataformas que soportan


2. Las fases del ciclo de vida del desarrollo de sistemas que cubren.
3. La arquitectura de las aplicaciones que producen.
4. Su funcionalidad.
 Herramientas de análisis y diseño:
Suponen la parte más importante de las herramientas CASE en cuanto a número de licencias
vendidas y de fabricantes, y su principal objetivo es ayudar a la definición de los 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, diagrama de clases,
etc.; también son muy importantes las herramientas de prototipado como: diseñadores de
pantallas, generadores de menús, generadores de informes, y lenguajes de especificación
ejecutables.
 Generación de código y documentación:
A partir de las especificaciones del diseño se puede generar código tanto para los programas
como para la creación de los esquemas de bases de datos (sentencias de definición en SQL)
actualmente, las herramientas CASE también ofrecen interfaces con diversos lenguajes de
cuarta generación para la construcción rápida de sistemas.
Aunque no se puede generar en todos los casos el 100% del código de los programas,
aumenta considerablemente la productividad, ya que genera una buena parte del código y
al programador le queda sólo por completar la implementación de los programas o
refinarlos.
Una cuestión importante es la integración en el entorno CASE de herramientas de prueba y
depuración, las facilidades de importación/exportación hacia SGBD y diccionarios externos.
Las herramientas CASE soportan la creación automatizada de un conjunto muy variado de
documentación, que va desde la descripción textual en una especie de pseudocódigo hasta
diagramas más o menos complejos.
 Herramientas de prueba:
Las herramientas de prueba se conocen también por las siglas CAST (Computer Aided
Software Testing), y tal como se conocen ahora es un área bastante reciente dentro de la
tecnología CASE. Algunas funcionalidades que suelen tener este tipo de herramientas son:
 Gestión de pruebas: predecir coste y tiempo de las pruebas; planificar pruebas de
productos, actividades y recursos; monitorizar pruebas; y generar informes.
 Definir requisitos y objetivos de prueba: registrar requisitos y objetivos; y 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; y
predecir la salida esperada.
 Construir entornos de ejecución de pruebas: verificar código; implementar código;
y generar elementos de prueba tales como módulos impulsores (drivers), módulos
ficticios (stubs), interfaces, etc.
 Ejecutar pruebas: registrar ejecuciones de casos de prueba; repetir ejecuciones; y
registrar casos de prueba y salidas reales.
 Evaluar pruebas: fallos de las pruebas; estadísticas de fallos; calidad de las pruebas;
y calidad del software (funcionalidad, rendimiento, etc.).
 Herramientas de construcción: auxilian equipos grandes en la construcción y
administración de liberación de paquetes de software.
 Herramientas híbridas: son un nuevo fenómeno, aplicación Servicios Web para crear un
sistema distribuido que puede manejar múltiples estilos de desarrollo y la flexibilidad de
agregar nuevas herramientas y servicios sin mucho trabajo. Buenos ejemplos incluyen
Sourceforge, Collab.NET, y todas sus variantes.

La clasificación basada en las fases del ciclo de desarrollo cubre:

 Upper CASE (U-CASE): herramientas que ayudan en las fases de planificación, análisis de
requisitos y estrategia del desarrollo, usando, entre otros diagramas UML.
 Middle CASE (M-CASE): herramientas para automatizar tareas en el análisis y diseño de la
aplicación.
 Lower CASE (L-CASE): herramientas que semi-automatizan la generación de código, crean
programas de detección de errores, soportan la depuración de programas y pruebas.
Además, automatizan la documentación completa de la aplicación. Aquí pueden incluirse
las herramientas de Desarrollo rápido de aplicaciones.

Existen otros nombres que se le dan a este tipo de herramientas, y que no es una clasificación
excluyente entre sí, ni con la anterior:

 Integrated CASE (I-CASE): herramientas que engloban todo el proceso de desarrollo


software, desde análisis hasta implementación.
 MetaCASE: herramientas que permiten la definición de nuestra propia técnica
de modelado, los elementos permitidos del metamodelo generado se guardan en un
repositorio y pueden ser usados por otros analistas, es decir, es como si definiéramos
nuestro propio UML, con nuestros elementos, restricciones y relaciones posibles.
 CAST (Computer-Aided Software Testing):herramientas de soporte a la prueba de
software.
 IPSE (Integrated Programming Support Environment):herramientas que soportan todo el
ciclo de vida, incluyen componentes para la gestión de proyectos y gestión de
la configuración.

Por funcionalidad podríamos diferenciar algunas como:

 Herramientas de generación semiautomática de código.


 Editores UML.
 Herramientas de Refactorización de código.
 Herramientas de mantenimiento como los sistemas de control de versiones.

You might also like