Sunteți pe pagina 1din 23

5.

3 Clasificación de Herramientas CASE


5.3 Clasificación de Herramientas CASE
• Clasificaciones Formales
• Según la Fase del ciclo de vida que soportan:
– CASE frontales(Front-end) o superiores (Upper
CASE), abarcan las primeras fases de análisis y
diseño.
• En el Análisis de requerimientos pueden encontrarse
herramientas gráficas de descripción de procesos y datos,
prototipado, diccionarios de datos, verificación y análisis.
• En el diseño de la especificación se localizan herramientas
de normalización, diseño lógico, generación de esquemas,
diseño estructurado, verificación y análisis.

Ingeniería de Software 1
5.3 Clasificación de Herramientas CASE
– CASE dorsales (Back-end) o inferiores (Lower
CASE), cuyo objetivo suele ser el diseño detallado,
la construcción e implementación.
• En la parte de Implementación se pueden incluir
generadores de código, analizadores de código,
generadores de pruebas, depuradores de alto nivel, control
de rendimiento, entornos de producción, control de
versiones.
• Para el caso del Mantenimiento pueden encontrarse
auditores de ejecución, estimadores de costos, control de
rendimiento, analizadores estáticos y dinámicos,
herramientas para reestructuración de código.

Ingeniería de Software 2
5.3 Clasificación de Herramientas CASE

• Se denomina ICASE (Integrated CASE) a


las herramientas que engloban ambos
aspectos, e IPSE (Integrated
Programming Support Environment) a
aquellas que, además, incluyen
componentes para la gestión de
proyectos y la gestión de configuración.

Ingeniería de Software 3
5.3 Clasificación de Herramientas CASE
• Otra clasificación bastante conocida es la que
se establece en McCLURE, que distingue tres
categorías de herramientas CASE:
– Juegos de herramientas (Toolkit), son el tipo más
simple, y están formados por un conjunto de
herramientas que automatizan un tipo de tarea del
ciclo de vida, como el análisis. Dentro de éstas, se
incluyen los armazones (frameworks), que sirven
para proporcionar una infraestructura en la cual
acoplar y adaptar herramientas individuales.

Ingeniería de Software 4
5.3 Clasificación de Herramientas CASE
– Bancos de trabajo (workbenchs), conjuntos
de herramientas integradas que abarcan las
fases básicas del ciclo de vida; análisis,
diseño e implementación.
– Compañeros de metodologías (methodology
companions), que pueden ser cualquiera de
los anteriores, siempre que soporten todas
las fases y reglas de una metodología en
particular

Ingeniería de Software 5
5.3 Clasificación de Herramientas CASE
• El profesor Sommerville, por su parte distingue
entre:
– Entornos de programación, pensados para soportar
la programación, prueba y depuración de sistemas.
– Bancos de herramientas CASE, orientados
principalmente al análisis y diseño.
– Entornos de ingeniería del software, cuyo objetivo
principal es la producción de grandes sistemas
software, y que soportan todas las actividades de
desarrollo y mantenimiento.

Ingeniería de Software 6
5.3 Clasificación de Herramientas CASE
• Por otro lado, cabe destacar una clasificación
bastante reciente de Fuggetta, donde se
distingue entre:
– Herramientas, que soportan una tarea especifica del
proceso de producción de software, como la edición,
programación, verificación y validación, gestión de
configuración, métricas o gestión de proyectos.
– Bancos de herramientas, que integran varias
herramientas y que soportan; planificación y
modelado estratégico, desarrollo de la interfaz de
usuario, programación, verificación y validación,
mantenimiento e ingeniería inversa, gestión de
configuración o gestión de proyectos.
Ingeniería de Software 7
5.3 Clasificación de Herramientas CASE
– Entornos, que se caracterizan por soportar
los procesos software, y que este autor
subdivide en:
• Juegos de herramientas, conjunto de productos
débilmente integrados.
• Entornos integrados, que utilizan mecanismos
estándar para integrar sus componentes.
• Entornos de cuarta generación, que soportan una
clase especifica de programas, como el
procesamiento de datos.

Ingeniería de Software 8
5.3 Clasificación de Herramientas CASE
– Entornos centrados en el proceso, basados
en la definición formal del proceso software y
que se componen de dos partes:
• la destinada a la ejecución del modelo de proceso
• la utilizada para producir el modelo de proceso.
– Dentro de esta categoría se incluirían los generadores
de entorno y las metaherramientas CASE, capaces de
generar entornos de desarrollo siguiendo los
procedimientos y políticas descritos por el usuario en el
modelo de proceso

Ingeniería de Software 9
5.3 Clasificación de Herramientas CASE
• Clasificaciones Funcionales
• De gestión
– De Gestión de Proyectos: La planificación del
proyecto y el plan del proyecto deberán ser
rastreados y monitorizados de forma continua.
Además, el gestor deberá utilizar las herramientas
que recojan métricas que en última instancia
proporcionen una indicación de la calidad del
producto del software. Las herramientas de esta
categoría suelen ser extensiones de herramientas
de planificación de proyectos.

Ingeniería de Software 10
5.3 Clasificación de Herramientas CASE
– De Gestión de Bases de Datos: El software
de gestión de bases de datos sirve como
fundamento para establecer una base de
datos CASE (repositorio), que también se
denominará base de datos del proyecto.
• Dada la importancia de los objetos de
configuración, las herramientas de gestión de
bases de datos para CASE pueden evolucionar
a partir de los sistemas de gestión de bases de
datos relacionales (SGBDR) para transformarse
en sistemas de gestión de bases de datos
orientadas a objetos (SGBDOO).

Ingeniería de Software 11
5.3 Clasificación de Herramientas CASE
– De gestión de configuración de software: La
gestión de configuración de software (GCS)
se encuentra en el núcleo de todos los
entornos CASE. Las herramientas pueden
ofrecer su asistencia en las cinco tareas
principales de GCS
• Identificación,
• Control de versiones,
• Control de cambios,
• Auditoría y
• Contabilidad de estados

Ingeniería de Software 12
5.3 Clasificación de Herramientas CASE
– De gestión de pruebas: Las herramientas
de gestión de pruebas se utilizan para
controlar y coordinar las pruebas del
software por todos y cada uno de los
pasos principales de las pruebas.
• Las herramientas de esta categoría gestionan
y coordinan las pruebas de regresiones,
efectúan comparaciones que determinan la
diferencia entre la salida real y la esperada y
realizan pruebas por lotes de programas con
interfaces hombre-máquina interactivas.

Ingeniería de Software 14
5.3 Clasificación de Herramientas CASE
• Muchas herramientas de gestión de pruebas
sirven también como controladores de
pruebas genéricas.
• Un controlador de pruebas lee uno o más
casos de prueba de algún archivo de pruebas,
aplica formato a los datos de prueba para que
se ajusten a las necesidades del software que
se está probando, e invoca entonces al
software que es preciso probar

Ingeniería de Software 15
5.3 Clasificación de Herramientas CASE

• De soporte y documentación
– Herramientas de documentación. Las
herramientas de producción de
documentos y de autoedición prestan su
apoyo a casi todos los aspectos de la
ingeniería del software, y representan
una importante oportunidad de
“aprovechamiento” para todos los que
desarrollan software.

Ingeniería de Software 16
5.3 Clasificación de Herramientas CASE
– La mayoría de las organizaciones dedicadas al
desarrollo de software invierten una cantidad
de tiempo considerable en el desarrollo de
documentos, y en muchos casos el proceso de
documentación en sí resulta bastante
deficiente.
• De análisis y diseño
– Las herramientas de análisis y diseño hacen
posible que el ingeniero del software cree
modelos del sistema que vaya a construir.

Ingeniería de Software 17
5.3 Clasificación de Herramientas CASE
– Los modelos contienen una representación de
los datos, función y comportamiento (en el
nivel de análisis), así como caracterizaciones
del diseño de datos, de arquitectura, a nivel de
componentes e interfaz.
– Al efectuar una comprobación de consistencia
y validez de los modelos, las herramientas de
análisis y diseño proporcionan al ingeniero del
software un cierto grado de visión en lo
tocante a la representación del análisis, y le
ayudan a eliminar errores antes de que se
propaguen al diseño, o lo que es peor, a la
propia implementación.

Ingeniería de Software 18
5.3 Clasificación de Herramientas CASE
• De programación
– La categoría de herramientas de programación
abarca los compiladores, editores y
depuradores disponibles para apoyar a la
mayoría de los lenguajes de programación
convencionales.
– Además, en esta categoría, también residen
los entornos de programación orientada a
objetos (OO), los lenguajes de cuarta
generación, los entornos de programación
gráfica, los generadores de aplicaciones y los
lenguajes de consulta de bases de datos

Ingeniería de Software 19
5.3 Clasificación de Herramientas CASE
• De integración y pruebas
– En el directorio de herramientas de pruebas de
software del Software Quality Engineering, se
definen las categorías de herramientas de
pruebas siguientes:
• Adquisión de datos: herramientas que adquieren
los datos que se utilizarán durante la prueba.
• Medida estática: herramientas que analizan el
código fuente sin ejecutar casos de prueba.
• Medida dinámica: herramientas que analizan el
código fuente durante la ejecución.

Ingeniería de Software 20
5.3 Clasificación de Herramientas CASE
• Simulación: herramientas que simulan las funciones
del hardware o de otros elementos externos.
• Gestión de pruebas: herramientas que prestan su
asistencia en la planificación, desarrollo y control de
las pruebas.
• Herramientas de funcionalidad cruzada: se trata de
herramientas que atraviesan los límites de las
categorías anteriores.
– Debería tenerse en cuenta que muchas de las
herramientas de prueba poseen características
que abarcan dos categorías o más de las
anteriormente mencionadas

Ingeniería de Software 21
5.3 Clasificación de Herramientas CASE
• De creación de prototipo
– Se puede utilizar toda una gama de
herramientas de construcción de prototipos:
• Los generadores de pantallas permiten al ingeniero
del software definir rápidamente la disposición de la
pantalla para aplicaciones interactivas.
• Otras herramientas de prototipos CASE más
sofisticadas permiten la creación de un diseño de
datos, acompañado por diseños e informes de la
pantalla.
• Muchas herramientas de análisis y diseño son más
extensas y proporcionan opciones de construcción
de prototipo.

Ingeniería de Software 22
5.3 Clasificación de Herramientas CASE
• Las herramientas PRO/SIM generan un
diseño esquemático de código fuente en
Ada y C para las aplicaciones de ingeniería
(en tiempo real).
• Por último, una gama amplia de
herramientas de cuarta generación poseen
también características de construcción de
prototipos.

Ingeniería de Software 23

S-ar putea să vă placă și