Está en la página 1de 8

1.

5 DEFINICIN E HISTORIA DE LAS HERRAMIENTAS CASE


Las herramientas CASE (Computer Aided Software Engineering, Ingeniera de Software
Asistida por Computadora) son diversas aplicaciones informticas destinadas a aumentar
la productividad en el desarrollo de software reduciendo el costo de las mismas en
trminos de tiempo y de dinero. Estas herramientas nos pueden ayudar en todos los
aspectos del ciclo de vida de desarrollo del software en tareas como el proceso de realizar
un diseo del proyecto, clculo de costos, implementacin de parte del cdigo
automticamente con el diseo dado, compilacin automtica, documentacin o
deteccin de errores entre otras, que analizaba la relacin existente entre los requisitos
de un problema y las necesidades que stos generaban, el lenguaje en cuestin se
denominaba PSL (Problem Statement Language) y la aplicacin que ayudaba a buscar las
necesidades de los diseadores PSA (Problem Statement Analyzer).
Aunque sos son los inicios de las herramientas informticas que ayudan a crear nuevos
proyectos informticos, la primera herramienta CASE fue Excelerator que sali a la luz en
el ao 1984 y trabajaba bajo una plataforma PC.
Las herramientas CASE alcanzaron su techo a principios de los aos 90. En la poca en la
que IBM haba conseguido una alianza con la empresa de software AD/Cycle para trabajar
con sus mainframes, estos dos gigantes trabajaban con herramientas CASE que abarcaban
todo el ciclo de vida del software. Pero poco a poco los mainframes han ido siendo menos
utilizados y actualmente el mercado de las Big CASE ha muerto completamente abriendo
el mercado de diversas herramientas ms especficas para cada fase del ciclo de vida del
software1.
Objetivos de las herramientas CASE:
1. Mejorar la productividad en el desarrollo y mantenimiento del software.
2. Aumentar la calidad del software.
3. Reducir el tiempo y coste de desarrollo y mantenimiento de los sistemas
informticos.
4. Mejorar la planificacin de un proyecto
5. Aumentar la biblioteca de conocimiento informtico de una empresa ayudando a
la bsqueda de soluciones para los requisitos.
6. Automatizar el desarrollo del software, la documentacin, la generacin de cdigo,
las pruebas de errores y la gestin del proyecto.

Informacin consultada en el sitio web http://es.wikipedia.org/wiki/Herramienta_CASE el da 10 de Agosto


de 2012

7. Ayuda a la reutilizacin del software, portabilidad y estandarizacin de la


documentacin
8. Gestin global en todas las fases de desarrollo de software con una misma
herramienta.
9. Facilitar el uso de las distintas metodologas propias de la ingeniera del software.

1.6 CLASIFICACIN DE LAS HERRAMIENTAS CASE


Existe un cierto nmero de riesgos que son inherentes siempre que se intenta efectuar
una categorizacin de las herramientas CASE. Existe una sutil implicacin que consiste en
que para crear un entorno CASE efectivo se debern implementar todas las categoras de
herramientas esto no es ni sencillo ni cierto-. Cuando hay personas que creen que una
herramienta pertenece a una categora, se puede crear cierta confusin (o contradiccin)
al ubicar una herramienta especifica dentro de otra categora. Es posible que algunos
lectores piensen que se ha omitido una categora completa eliminando por tanto un
conjunto de herramientas completas e incluirlo as en el entorno CASE global-. Adems,
una categorizacin sencilla tiende a ser plana esto es, no se muestra la interaccin
jerrquica de las herramientas o las relaciones que existen entre ellas-. A pesar de estos
riesgos, es necesario crear una taxonoma de herramientas CASE para comprender
mejor la amplitud de CASE y para apreciar mejor en donde se pueden aplicar estas
herramientas dentro del proceso del software-.
Las herramientas CASE se pueden clasificar por su funcin, por su papel como
instrumentos para administradores o personal tcnico, por su utilizacin en los distintos
pasos del proceso de ingeniera del software, por la arquitectura del entorno (hardware y
software) que les presta su apoyo, o incluso por su origen o coste [QED89]. La taxonoma
que se presenta a continuacin utiliza como criterio principal la funcin.
Herramientas de ingeniera de procesos de negocio. Al modelar los requisitos de
informacin estratgica de una organizacin, las herramientas de ingeniera de procesos
de negocios proporcionan un metamodelo del cual se derivan sistemas de informacin
especficos. En lugar de centrarse en los requisitos de una aplicacin especfica, estas
herramientas CASE modelan la informacin de negocio cuando esta se transfiere entre
distintas entidades organizativas en el seno de una compaa. El objetivo primordial de las
herramientas de esta categora consiste en representar objetos de datos de negocio, sus
relaciones y la forma en que fluyen estos objetos de datos entre distintas zonas de
negocio en el seno de la compaa.

Modelado de procesos y herramientas de gestin. Si una organizacin trabaja por


mejorar un proceso de negocio (o de software) lo primero que debe hacer es entenderlo.
Las herramientas de modelado de procesos (llamadas tambin herramientas de
tecnologa de procesos) se utilizan para representar los elementos clave del proceso de
manera que sea posible entenderlo mejor. Estas herramientas tambin pueden
proporcionar vnculos con descripciones de procesos que ayuden a quienes estn
implicados en el proceso de comprender las tareas que se requieren para llevar a cabo ese
proceso. Adems, las herramientas de gestin de procesos pueden proporcionar vnculos
con otras herramientas que proporcionan un apoyo para las actividades de proceso ya
definidas.
Herramientas de planificacin de proyectos. Las herramientas de esta categora se
centran en dos reas primordiales: estimacin de costes y de esfuerzos del proyecto de
software y planificacin de proyectos. Las herramientas de estimacin calculan el esfuerzo
estimado, la duracin del proyecto y el nmero de personas recomendado para el
proyecto. Las herramientas de planificacin de proyectos hacen posible que el gestor
defina todas las tareas del proyecto (la estructura de desglose de tareas), que cree una
red de tareas (normalmente empleando una entrada grafica), que represente las
interdependencias entre tareas y que modele la cantidad de paralelismo que sea posible
para este proyecto.
Herramientas de anlisis de riesgos. La identificacin de posibles riesgos y el desarrollo de
un plan para mitigar, monitorizar y gestionar esos riesgos tienen una importancia
fundamental en los proyectos grandes. Las herramientas de anlisis de riesgo hacen
posible que el gestor del proyecto construya una tabla de riesgos proporcionando una
gua detallada en la identificacin de y anlisis de riesgos.
Herramientas de gestin de proyectos. La planificacin del proyecto y el plan del
proyecto debern ser rastreados y monitorizados de forma continua. Adems, el gestor
deber utilizar las herramientas que recojan mtricas que en ltima instancia
proporcionen una indicacin de la calidad del producto del software. Las herramientas de
esta categora suelen ser extensiones de herramientas de planificacin de proyectos.
Herramientas de seguimientos de requisitos. Cuando se desarrollan grandes sistemas, las
cosas se derrumban. Es decir, el sistema proporcionado suele no satisfacer los requisitos
especificados por el cliente. El objetivo de las herramientas de seguimiento es
proporcionar un enfoque sistemtico para el aislamiento de los requisitos, comenzando
por el RFP del cliente o por la especificacin. Las herramientas tpicas de seguimiento de

requisitos combinan una evaluacin de textos por interaccin humana, con un sistema de
gestin de base de datos que almacena y categoriza todos y cada uno de los requisitos del
sistema que se analizan a partir de la RFP o especificacin original.
Herramientas de mtricas y de gestin. Las mtricas del software mejoran la capacidad
del gestor para controlar y coordinar el proceso de ingeniera del software y la capacidad
del ingeniero para mejorar la calidad del software que se produce. Las mtricas o
herramientas de medida actuales se centran en caractersticas de procesos y productos.
Las herramientas orientadas a la gestin se sirven de mtricas especficas del proyecto
(por ejemplo, LDC/persona-mes, defectos por punto de funcin) que proporcionan una
mejor visin de la calidad del diseo o del cdigo.
Herramientas de documentacin. Las herramientas de produccin de documentos y de
autoedicin prestan su apoyo a casi todos los aspectos de la ingeniera del software, y
representan una importante oportunidad de aprovechamiento para todos los que
desarrollan software. La mayora 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 documentacin en si resulta bastante deficiente. Es frecuente
que una organizacin de desarrollo de software invierta en la documentacin hasta un 20
o un 30 por 100 de su esfuerzo global de desarrollo de software. Por esta razn, las
herramientas de documentacin suponen una oportunidad importante para mejorar la
productividad.
Herramientas de software de sistema. CASE es una tecnologa de estaciones de trabajo.
Por tanto, el entorno CASE deber adaptarse a un software de sistema en red de alta
calidad, al correo electrnico, a los tablones de anuncios electrnicos y a otras
posibilidades de comunicarse.
Herramientas de control de calidad. La mayor parte de las herramientas CASE que
afirman tener como principal inters en el control de calidad son en realidad herramientas
de mtricas que hacen una auditoria del cdigo fuente para determinar si se ajusta o no a
ciertos estndares del lenguaje. Otras herramientas extraen mtricas tcnicas (captulos
19 y 24) en un esfuerzo por extrapolar la calidad del software que se est construyendo.
Herramientas de gestin de base de datos. El software de gestin de bases de datos sirve
como fundamento para establecer una base de datos CASE (repositorio), que tambin se
denominara base de datos del proyecto. Dada la importancia de los objetos de
configuracin, las herramientas de gestin de bases de datos para CASE pueden

evolucionar a partir de los sistemas de gestin de bases de datos relacionales (SGBDR)


para transformarse en sistemas de gestin de bases de datos orientadas a objetos
(SGBDOO).
Herramientas de gestin de configuracin de software. La gestin de configuracin de
software (GCS) se encuentra en el ncleo de todos los entornos CASE. Las herramientas
pueden ofrecer su asistencia en las cinco tareas principales de GCS identificacin, control
de versiones, control de cambios, auditoria y contabilidad de estados-. La base de datos
CASE proporciona el mecanismo de identificar todos los elementos de configuracin y de
relacionarlo con otros elementos; el proceso de control de cambios se puede implementar
con ayuda de las herramientas especializadas; un acceso sencillo a los elementos de
configuracin individuales facilita el proceso de auditoria; y la herramientas de
comunicacin CASE pueden mejorar enormemente la contabilidad de estados (ofreciendo
informacin acerca de los cambios a todos aquellos que necesiten conocerlos).
Herramientas de anlisis y diseo. Las herramientas de anlisis y diseo hacen posible
que el ingeniero del software cree modelos del sistema que vaya a construir. Los modelos
contienen una representacin de los datos, funcin y comportamiento (en el nivel de
anlisis), as como caracterizaciones del diseo de datos, de arquitectura, a nivel de
componentes e interfaz. Al efectuar una comprobacin de consistencia y validez de los
modelos, las herramientas de anlisis y diseo proporcionan al ingeniero del software un
cierto grado de visin en lo tocante a la representacin del anlisis, y le ayudan a eliminar
errores antes de que se propaguen al diseo, o lo que es peor, a la propia
implementacin.
Herramientas PRO/SIM. Las herramientas PRO/SIM (de construccin de prototipos y
simulacin) [NIC90] proporcionan al ingeniero del software la capacidad de predecir el
comportamiento de un sistema en tiempo real antes de llegar a construirlo. Adems,
tambin le capacitan para desarrollar simulaciones del sistema de tiempo real, lo que
permitir que el cliente obtenga ideas acerca de su funcionamiento, comportamiento y
respuesta antes de la verdadera implementacin.
Herramientas de desarrollo y diseo de interfaz. Las herramientas de desarrollo y diseo
de interfaz son en realidad un conjunto de herramientas de componentes de programas
(clases) tales como mens, botones, estructuras de ventana, iconos, mecanismos de
desplazamiento de la pantalla, controladores de dispositivos, etc. Sin embargo, estos
conjuntos de herramientas se estn viendo sustituidos por herramientas de construccin
de prototipos de interfaz que permiten una rpida creacin en pantalla de interfaces de

usuario sofisticadas, que se ajustan al estndar de interfaz que se haya adoptado para el
software.
Herramientas de construccin de prototipos. Se puede utilizar toda una gama de
herramientas de construccin de prototipos. Los generadores de pantallas permiten al
ingeniero del software definir rpidamente la disposicin de la pantalla para aplicaciones
interactivas. Otras herramientas de prototipos CASE ms sofisticadas permiten la creacin
de un diseo de datos, acompaado por diseos e informes de la pantalla. Muchas
herramientas de anlisis y diseo son ms extensas y proporcionan opciones de
construccin de prototipos. Las herramientas PRO/SIM generan un diseo esquemtico de
cdigo fuente en Ada y C para las aplicaciones de ingeniera (en tiempo real). Por ltimo,
una gama amplia de herramientas de cuarta generacin poseen tambin caractersticas de
construccin de prototipos.
Herramientas de programacin. La categora de herramientas de programacin abarca los
compiladores, editores y depuradores disponibles para apoyar a la mayora de los
lenguajes de programacin convencionales. Adems, en esta categora tambin residen
los entornos de programacin orientados a objetos (OO), los lenguajes de cuarta
generacin, los entornos de programacin grfica, los generadores de aplicaciones y los
lenguajes de consulta de base de datos.
Herramientas de desarrollo de Webs. Las actividades asociadas a la ingeniera Web estn
apoyadas por una variedad de herramientas de desarrollo de WebApps. Entre estas
herramientas se incluyen las que prestan ayuda en la generacin de texto, grficos,
formularios, guiones, apples y otros elementos de una pgina Web.
Herramientas de integracin y pruebas. En el directorio de herramientas de pruebas de
software del Software Quality Engineering [SQE95], se definen las categoras de
herramientas de pruebas siguientes:
Adquisicin de datos: herramientas que adquieren los datos que se utilizarn
durante la prueba;
Medida esttica: herramientas que analizan el cdigo fuente sin ejecutar casos de
prueba;
Medida dinmica: herramientas que analizan el cdigo fuente durante la
ejecucin;
Simulacin: herramientas que simulan las funciones del hardware o de otros
elementos externos;

Gestin de pruebas: herramientas que prestan su asistencia en la planificacin,


desarrollo y control de las pruebas;
Herramientas de funcionalidad cruzada: se trata de herramientas que atraviesan
los lmites de las categoras anteriores.

Debera tenerse en cuenta que muchas de las herramientas de prueba poseen


caractersticas que abarcan dos categoras o ms de las anteriormente mencionadas.

Herramientas de anlisis esttico. Las herramientas de anlisis esttico prestan su


asistencia al ingeniero del software a efectos de derivar casos prcticos. En la industria se
utilizan tres tipos distintos de herramientas estticas de prueba: herramientas de prueba
basadas en cdigo; lenguajes de prueba especializados y herramientas de prueba basadas
en requisitos. Las herramientas de prueba basadas en cdigo admiten un cdigo fuente (o
LDP) como entrada, y llevan a cabo varios anlisis de los que se obtiene la generacin de
casos de prueba. Los lenguajes de prueba especializados (por ejemplo, ATLAS), hacen
posible que el ingeniero del software escriba especificaciones de prueba y la logstica de
su ejecucin. Las herramientas de prueba basadas en requisitos aslan los requisitos del
usuario y sugieren los casos de prueba (o clases de prueba) que ejercitarn esos
requisitos.

Herramientas de anlisis dinmico. Las herramientas de anlisis dinmico interactan con


el programa que se est ejecutando, prueban la cobertura de rutas, prueban las
afirmaciones por otro lado el flujo de ejecucin del programa. Las herramientas dinmicas
pueden ser intrusivas, o no intrusivas. Las herramientas intrusivas modifican el software
que hay que comprobar mediante la insercin de sondas (instrucciones adicionales y que
efectan las actividades mencionadas anteriormente. Las herramientas de prueba no
intrusivas utilizan un procesador hardware por separado que funciona en paralelo con el
procesador que contiene el programa que se est probando.

Herramientas de gestin de pruebas. Las herramientas de gestin 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 categora gestionan y coordinan las
pruebas de regresiones, efectan comparaciones que determinan las diferencias entre la
salida real y la esperada y realizan pruebas por lotos de programas con interfaces hombremquina interactivas. Adems de las funciones indicadas anteriormente, muchas

herramientas de gestin de pruebas sirven tambin como controladores de pruebas


genricos. Un controlador de pruebas lee uno o ms casos de prueba de algn 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.

Herramientas de pruebas cliente/servidor. El entorno C/S exige unas herramientas de


pruebas especializadas que ejerciten la interfaz grfica de usuario y los requisitos de
comunicaciones en red para el cliente y el servidor.

Herramientas de reingeniera. Las herramientas para el software heredado abarcan un


conjunto de actividades de mantenimiento que actualmente absorben un porcentaje
significativo de todo el esfuerzo relacionado con el software. La categora de herramientas
de reingeniera se puede subdividir en las funciones siguientes:

Herramientas de ingeniera inversa para producir especificaciones: se toma el


cdigo fuente como entrada y se generan modelos grficos de anlisis y diseo
estructurados, listas de utilizacin y ms informacin sobre el diseo;
Herramientas de restructuracin y anlisis de cdigo: se analiza la sintaxis del
programa, se genera una grfica de control de flujo y se genera automticamente
un programa estructurado; y
Herramientas de reingeniera para sistemas online: se utilizan para modificar
sistemas de bases de datos on-line (por ejemplo, para convertir archivos IDMS o
DB2 en un formato de entidades y relaciones)

Muchas de las herramientas anteriores se ven limitadas a lenguajes de programacin


especficos (aunque abarcan la mayora de los lenguajes principales) y requieren un cierto
grado de interaccin con el ingeniero del software (Pressman, 2002).

Bibliografa
Pressman, R. (2002). Ingeniera del Software Un enfoque prctico. Madrid: Mc Graw Hill.