Conceptos Fundamentales sobre Herramientas Case
Herramienta CASE según ...
Henry David Crockett (Portland State University), "Las herramientas CASE se ven simplemente como herramientas que cualquiera puede escoger y utilizar (como un martillo) para desarrollar un sistema de información, su selección e implementación casi siempre llevará a una reducida productividad y calidad. La selección e implementación de herramientas CASE son un proceso de múltiples etapas que permite errores fatales en cada etapa. Uno de los errores más comunes es escoger una herramienta CASE que apoye un método desconocido para los diseñadores".
Alan Chimura (CASE Associates), "Las herramientas CASE incluyen manejadores, métodos, técnicas, disciplina, e instrucciones, todos trabajando juntos. Definir CASE menos ampliamente y presentarlo sin un suficiente entorno de apoyo es un acto de negligencia".
Las herramientas CASE abarcan cada etapa del proceso de ingeniería y cada actividad que se desarrolla a lo largo del mismo. CASE está formado por un conjunto de bloques que comienzan en el nivel del hardware y del sistema operativo y acaban en cada una de las herramientas.
CASE se refiere a herramientas para el desarrollo de sistemas que constan de cinco componentes: herramientas de diagramación, depósito de información, generadores de interfaces, generadores de código y herramientas de administración. Las herramientas CASE hacen hincapié en las actividades de alto nivel, aunque el objetivo a largo plazo es abarcar las actividades de análisis, diseño y desarrollo.
En resumen, las herramientas CASE son un complemento de la caja de herramientas del ingeniero del software. CASE proporciona al ingeniero la posibilidad de automatizar actividades manuales y de mejorar su visión general de la ingeniería. Al igual que las herramientas de ingeniería y de diseño asistidos por computadora que utilizan los ingenieros de otras disciplinas. Las herramientas CASE ayudan a asegurar la calidad de un producto desde su diseño antes de construirlo.
Bloques básicos de CASE
La ingeniería del software asistida por computadora puede ser tan sencilla como una única herramienta que preste su apoyo para una única actividad de ingeniería del software, o bien puede ser tan compleja como todo un entorno que abarque herramientas, una base de datos, personas, hardware, una red, sistemas operativos, estándares, y otros muchos componentes más.
Los bloques de construcción de CASE
Cada bloque de construcción forma un fundamento para el siguiente, estando las herramientas situadas en la parte superior de la estructura de los niveles de Hardware y Software. Es interesante tener en cuenta que el fundamento de los entornos CASE efectivos tiene relativamente poco que ver con las herramientas de ingeniería del software en sí. Más bien, los entornos que tienen éxito para la ingeniería del software se construyen basándose en una arquitectura de entorno que abarca un hardware y un sistema software adecuado. Además, la arquitectura del entorno debe considerar patrones de trabajo humano que se aplican durante el proceso de ingeniería de software. La arquitectura del entorno debe de considerar los patrones de trabajo humano que se aplicaran durante el proceso de ingeniería del software. Las arquitecturas del entorno constan de una plataforma hardware y de un apoyo de sistema operativo (incluyendo el software de red y de gestión de la base de datos), constituyen los fundamentos de CASE. Aunque su entorno en si requiere de otros bloques de construcción, existe un conjunto de servicios de portabilidad que proporciona un puente entre las herramientas CASE y su marco de referencia de integración y la arquitectura del entorno.
El marco de referencia de integración es una colección de programas más especializados que capacitan a las herramientas CASE individuales para comunicarse entre sí, para crear una base de datos del proyecto, y para mostrar el mismo aspecto al usuario final (el ingeniero del software). Los servicios de portabilidad permiten que las herramientas CASE y su marco de referencia de integración, migren entre distintas plataformas del hardware y sistemas operativos sin un mantenimiento adaptativo que resulte significativo.
Los bloques de construcción representan un fundamento exhaustivo para la integración de herramientas CASE. Sin embargo, la mayor parte de las herramientas CASE utilizados actualmente no han sido construidas empleando todos los bloques de construcción que antes descritos. De hecho, algunas herramientas CASE siguen siendo soluciones puntuales. Esto es, se utiliza una herramienta para que preste apoyo en una actividad de ingeniería del software concreta (p. ej.: análisis y modelado), pero esta herramienta no se comunica directamente con otras. Es decir, no esta unida a una base de datos del proyecto y no forma parte de un entorno integrado CASE (I-CASE), aún cuando no es lo ideal, se puede utilizar una herramienta CASE lo suficientemente eficiente, aunque se trate de una solución puntual.
Algunas Herramientas CASE
Las herramientas CASE pueden clasificarse por su función, su papel como instrumentos para administradores o personal técnico, por su utilización en los distintos pasos del proceso de ingeniería del software, la arquitectura de entorno (hardware y software) que les presta su apoyo, o incluso por su origen o su coste. En muchos casos, las únicas herramientas disponibles para el ingeniero del software eran compiladores y editores de texto. Estas herramientas abarcan solo la codificación, actividad que no debería de ocupar mas del 20% del proceso global del software.
- Las plataformas que soportan.
- Las fases del ciclo de vida del desarrollo de sistemas que cubren.
- La arquitectura de las aplicaciones que producen.
- Su funcionalidad.
CASE es una combinación de herramientas software (aplicaciones) y de metodologías de desarrollo :
1. Las herramientas permiten automatizar el proceso de desarrollo del software.
2. Las metodologías definen los procesos automatizar.
Una primera clasificación del CASE es considerando su amplitud :
TOOLKIT: es una colección de herramientas integradas que permiten automatizar un conjunto de tareas de algunas de las fases del ciclo de vida del sistema informático: Planificación estratégica, Análisis, Diseño, Generación de programas.
WORKBENCH: Son conjuntos integrados de herramientas que dan soporte a la automatización del proceso completo de desarrollo del sistema informático. Permiten cubrir el ciclo de vida completo. El producto final aportado por ellas es un sistema en código ejecutable y su documentación.
Una segunda clasificación es teniendo en cuenta las fases (y/o tareas) del ciclo de vida que automatizan:
UPPER CASE: Planificación estratégica, Requerimientos de Desarrollo Funcional de Planes Corporativos.
MIDDLE CASE: Análisis y Diseño.
LOWER CASE: Generación de código, test e implantación