Son diversas aplicaciones informticas destinadas a aumentar la productividad en el desarrollo de software reduciendo el coste 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, calculo de costes, implementacin de parte del cdigo automticamente con el diseo dado, compilacin automtica, documentacin o deteccin de errores entre otras. Historia 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 software. OBJETIVOS DE LAS Tecnologa CASE La tecnologa CASE supone la automatizacin del desarrollo del software, contribuyendo a mejorar la calidad y la productividad en el desarrollo de sistemas de informacin y se plantean los siguientes objetivos: Permitir la aplicacin prctica de metodologas estructuradas, las cuales al ser realizadas con una herramienta se consigue agilizar el trabajo. Facilitar la realizacin de prototipos y el desarrollo conjunto de aplicaciones. Simplificar el mantenimiento de los programas. Mejorar y estandarizar la documentacin. Aumentar la portabilidad de las aplicaciones. Facilitar la reutilizacin de componentes software. Permitir un desarrollo y un refinamiento visual de las aplicaciones, mediante la utilizacin de grficos . Automatizar -El desarrollo del software -La documentacin -La generacin del cdigo -El chequeo de errores -La gestin del proyecto Permitir -La reutilizacin del software -La portabilidad del software -La estandarizacin de la documentacin Componentes de una Herramienta CASE De una forma esquemtica podemos decir que una herramienta CASE se compone de los siguientes elementos: Repositorio (diccionario) donde se almacenan los elementos definidos o creados por la herramienta, y cuya gestin se realiza mediante el apoyo de un Sistema de Gestin de Base de Datos (SGBD) o de un sistema de gestin de ficheros. Meta modelo (no siempre visible), que constituye el marco para la definicin de las tcnicas y metodologas soportadas por la herramienta. Carga o descarga de datos, son facilidades que permiten cargar el repertorio de la herramienta CASE con datos provenientes de otros sistemas, o bien generar a partir de la propia herramienta esquemas de base de datos, programas, etc. que pueden, a su vez, alimentar otros sistemas. Este elemento proporciona as un medio de comunicacin con otras herramientas. Comprobacin de errores, facilidades que permiten llevar a cabo un anlisis de la exactitud, integridad y consistencia de los esquemas generados por la herramienta. Interfaz de usuario, que constar de editores de texto y herramientas de diseo grfico que permitan, mediante la utilizacin de un sistema de ventanas, iconos y mens, con la ayuda del ratn, definir los diagramas, matrices, etc. que incluyen las distintas metodologas. Estructura general de una Herramienta CASE La estructura CASE se basa en la siguiente terminologa: 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 planificacin de sistemas, el anlisis de sistemas diseo de sistemas. CASE de bajo nivel son aquellas herramientas que automatizan o apoyan las fases finales o inferiores del ciclo de vida como el diseo detallado de sistemas, la implantacin 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 gestin de proyectos y la estimacin.
DESCRIPCION DE LAS HERRRAMIENTAS CASE ERWIN Erwin es una herramienta para el diseo de base de datos, que Brinda productividad en su diseo, generacin, y mantenimiento de aplicaciones. Desde un modelo lgico de los requerimientos de informacin, hasta el modelo fsico perfeccionado para las caractersticas especficas de la base de datos diseada, adems Erwin permite visualizar la estructura, los elementos importantes, y optimizar el diseo de la base de datos. Genera automticamente las tablas y miles de lneas de stored procedure y triggers para los principales tipos de base de datos. EASYCASE Esta herramienta permite automatizar las fases de anlisis y diseo dentro del desarrollo de una aplicacin, para poder crear las aplicaciones eficazmente desde el procesamiento de transacciones a la aplicacin de bases de datos de cliente/servidor, as como sistemas de tiempo real. JDEVELOPER
Este magnfico entorno integrado desarrollado por Oracle trabaja con la ingeniera inversa, es decir primero se crea el cdigo y despus el diagrama. Es un software propietario pero gratuito desde 2005. Las primeras versiones de 1998 estaban basadas en el entorno JBuilder de Borland, pero desde la versin 9i de 2001 est basado en Java, no estando ya relacionado con el cdigo anterior de JBuilder. MAGICDRAW MagicDraw es una herramienta de modelaje con completas caractersticas UML, sin duda es una de las mejores herramientas CASE del mercado, que procura mantenerse adems siempre al da con continuas actualizaciones. Es desarrollada por No Magic, Inc. Implementada totalmente en JAVA. Diseada para los analistas del negocio, los analistas del software, los programadores, los ingenieros de software, y los escritores de la documentacin, esta herramienta de desarrollo dinmica y verstil facilita anlisis y el diseo de los sistemas y de las bases de datos orientados objeto.
VISUAL PARADIGM Visual Paradigm es una herramienta UML profesional que soporta el ciclo de vida completo del desarrollo de software: anlisis y diseo orientados a objetos, construccin, pruebas y despliegue. Permite dibujar todos los tipos de diagramas de clases, cdigo inverso, generar cdigo desde diagramas y generar documentacin. BENEFICIOS DE LAS HERRAMIENTAS CASE Entre los beneficios ofrecidos por la tecnologa CASE se encuentran los siguientes: Facilidadpara la revisin de aplicaciones Las herramientas CASE proporcionan un beneficio substancial para las organizaciones al facilitar la revisin de las aplicaciones. Soporte para el desarrollo de prototipos de sistemas Muchas herramientas CASE soportan las primeras etapas del desarrollo del prototipo. Muy pocas brindan apoyo durante todo el proceso de desarrollo del prototipo. Las que proporcionan la capacidad para generar cdigo soportan de hecho todo proceso, ya que el cdigo puede ser generado al inducir la actividad de generacin despus de cambiar las especificaciones o requerimientos. Generacin de cdigo La ventaja ms visible de esta caracterstica es la disminucin del tiempo necesario para preparar un programa. Sin embargo, la generacin del cdigo tambin asegura una estructura estndar y consistente para el programa (lo que tiene gran influencia en el mantenimiento) y disminuye la ocurrencia de varios tipos de errores, mejorando de esta manera la calidad. Las caractersticas de la generacin del cdigo permiten volver a utilizar el software y las estructuras estndares para generar dicho cdigo, as como el cambio de una especificacin modular, lo que significa volver a generar el cdigo y los enlaces con otros mdulos. Ninguna de las herramientas que existen en el presente es capaz de generar un cdigo completo en los dominios. Mejora en la habilidad para satisfacer los requerimientos del usuario Es bien conocida la importancia de satisfacer los requerimientos del usuario, ya que esto guarda relacin con el xito del sistema. De manera similar, tener los requerimientos correctos mejora la calidad de las prcticas de desarrollo. Parece ser que las herramientas CASE disminuyen el tiempo de desarrollo, una caracterstica que es importante para los usuarios. Las herramientas afectan la naturaleza y cantidad de interaccin entre los encargados del desarrollo y el usuario. Las descripciones grficas y los diagramas, as como los prototipos de reportes y la composicin de las pantallas, contribuyen a un intercambio de ideas ms efectivo. Soporte interactivo para el proceso de desarrollo La experiencia ha demostrado que el desarrollo de sistemas es un proceso interactivo. Las herramientas CASE soportan pasos interactivos al eliminar el tedio manual de dibujar diagramas, elaborar catlogos y clasificar. Como resultado de esto, se anticipa que los analistas repasarn y revisarn los detalles del sistema con mayorfrecuencia y en forma ms consistente. COMPONENTES Y FUNCIONALIDADES DE UNA HERRAMIENTA CASE A continuacin se describen los principales componentes de una herramienta CASE y sus funcionalidades: Repositorio. Base de datos central de una herramienta CASE. El repositorio amplia el concepto de diccionario de datos para incluir toda la informacin que se va generando a lo largo del ciclo de vida del sistema, como por ejemplo: componentes de anlisis y diseo (diagramas de flujo de datos, diagramas entidad - relacin, esquemas de bases de datos, diseos de pantallas), estructuras de programas, algoritmos, etc. La mayora de las herramientas CASE poseen un repositorio propio o bien trabajan sobre un repositorio suministrado por otro fabricante o vendedor. Apoyndose en la existencia del repositorio se efectan comprobaciones de integridad y consistencia: Que no existan datos no definidos. Que no existan datos autodefinidos (datos que se emplean en una definicin pero que no han sido definidos previamente). Que todos los alias (referencias a un mismo dato empleando nombres distintos) sean correctos y estn actualizados. Las caractersticas ms importantes de un repositorio son: Tipo de informacin. Que contiene alguna metodologa concreta, datos, grficos, procesos, informes, modelos o reglas. Tipo de controles. Si incorpora algn mdulo de gestin de cambios, de mantenimiento de versiones, de acceso por clave, de redundancia de la informacin. La gestin de cambios y el mantenimiento de versiones, ayudarn en el caso de que convivan diferentes versiones de la misma aplicacin o se tengan que realizar cambios en la versin en produccin y en la de desarrollo, simultneamente. Tipo de actualizacin. Si los cambios en los elementos de anlisis o diseo se ven reflejados en el repositorio en tiempo real o mediante un proceso por lotes (batch). Esto ser importante en funcin a la necesidad de que los cambios sean visibles por todos los usuarios, en el acto. Reutilizacin de mdulos para otros diseos. El repositorio es la clave para identificar, localizar y extraer cdigo para su reutilizacin. Posibilidad de exportacin e importacin para extraer informacin del repositorio y tratarla con otra herramienta (formateo de documentos, mejora de presentacin) o incorporar al repositorio, informacin generada por otros medios. Interfaces automticas con otros repositorios o bases de datos externos. Mdulos de diagramacin y modelizacin. Algunos de los diagramas y modelos utilizados con mayor frecuencia son: Diagrama de flujo de datos. Modelo entidad - interrelacin. Historia de la vida de las entidades. Diagrama Estructura de datos. Diagrama Estructura de cuadros. Tcnicas matriciales. Algunas caractersticas referentes a los diagramas son: Nmero mximo de niveles. Nmero mximo de objetos. Nmero de diagramas distintos en pantalla Dibujos en formato libre Actualizacin del repositorio por cambios en los diagramas. Control sobre el tamao, fuente y emplazamiento de los textos Comparaciones entre grficos de distintas versiones. Inclusin de pseudocdigo Posibilidad de deshacer el ltimo cambio Herramienta de prototipado. GENERADOR DE CODIGO Normalmente, se suele utilizar sobre ordenadores personales o estaciones de trabajo, por lo que el paso posterior del cdigo al host puede traer problemas, al tener que compilar en ambos entornos. Las caractersticas ms importantes de los generadores de cdigo son: ESTRATEGIAS DE IMPLANTACION DE UNA HERRAMIENTA CASE Identificar la magnitud de problemas a resolver en la Institucin. Identificar el nivel estratgico que deben tener los sistemas. Evaluar los recursos de hardware y software disponibles en la Institucin y el medio. Evaluar el nivel del personal. Efectuar un estudio de costo-beneficio definiendo metas a lograr. Elegir las herramientas apropiadas para la Institucin. Establecer un programa de capacitacin de personal de sistemas y usuarios Elegir una aplicacin que rena la mayor parte de los siguientes requisitos: Gran impacto de resultados. Disponibilidad de recursos. Mnimo nivel de riesgos. Mxima colaboracin de usuarios. Tamao reducido de solucin. Se establecer interfases de compatibilidad de los nuevos sistemas que deben convivir con los sistemas anteriores. CONSIDERACIONES PARA LA ELECCION DE CASE La eleccin del Case va a depender de sus estrategias de desarrollo: Si tiene un gran volumen de aplicativos desarrollados, es conveniente contrastar lo realizado versus las tcnicas de Anlisis y Diseo. Si tiene presin por resultados a corto plazo, el empleo de un Lower Case le ser de utilidad, si se basa en modelos de datos y procesos claros y definidos. Si desea realizar proyectos de gran envergadura es recomendable aplicar Upper y Lower Case. Si trabaja con archivos de grandes dimensiones, es recomendable que el Case soporte el Diseo de Bases de Datos. Si no tiene formacin y experiencia en el manejo de metodologas es recomendable contar con asesora especializada, que capacite al personal y supervise los avances de Anlisis y Diseo. Evale la eficiencia del producto, en las pruebas unitarias y de integracin, y fundamentalmente en las pruebas de sistemas. Considere los recursos apropiados para usar el Case, de HW (memoria, disco, concurrencia), de SW (versin de Sistema Operativo).
Herramientas CASE mas utilizadas ERwin PLATINUM ERwin es una herramienta para el diseo de base de datos, que Brinda productividad en su diseo, generacin, y mantenimiento de aplicaciones. Desde un modelo lgico de los requerimientos de informacin, hasta el modelo fsico perfeccionado para las caractersticas especficas de la base de datos diseada, adems ERwin permite visualizar la estructura, los elementos importantes, y optimizar el diseo de la base de datos. Genera automticamente las tablas y miles de lneas de stored procedure y triggers para los principales tipos de base de datos. ERwin soporta principalmente bases de datos relacionales SQL y bases de datos que incluyen Oracle, Microsoft SQL Server, Sybase. El mismo modelo puede ser usado para generar mltiples bases de datos, o convertir una aplicacin de una plataforma de base de datos a otra. Software para Aplicaciones Compatibles NetDynamics PowerBuilder PROGRESS Visual Basic Bases de Datos Compatibles CA-Clipper, CA-OpenIngres DB2 for MVS, DB2 for OS/390 DB2 UDB, dBASE FoxPro, HiRDB Informix, InterBase Microsoft Access, Microsoft SQL Server Oracle, Paradox Rdb, red Brick Warehouse SAS, SQL Anywhere SQLBase, Sybase Teradata Sistemas Operativos Compatibles Windows NT Windows 95 Windows 98 Requerimientos Tcnicos: Mnimo 10 MB de espacio de disco duro, 16 MB RAM (32 MB RAM recomendado para modelos largos.) EasyCASE Esta herramienta permite automatizar las fases de anlisis y diseo dentro del desarrollo de una aplicacin, para poder crear las aplicaciones eficazmente desde el procesamiento de transacciones a la aplicacin de bases de datos de cliente/servidor, as como sistemas de tiempo real. Base de datos que soporta Oracle Paradox Progress SQLBase SQL Server Sybase Watcom SQL Access ANSI SQL Clipper dBASE III, IV, V DB2 FoxPro Informix Requerimientos del sistema EasyCASE Professional 4.2 o superior requiere: EasyCASE Database Engineer; PCs 386/486/Pentium y compatibles; Microsoft Windows 3.1 o superior, 8 MB RAM, 8 MB de espacio en disco duro; VGA o mejor color. Oracle Designer Oracle Designer es un conjunto de herramientas para guardar las definiciones que necesita el usuario y automatizar la construccin rpida de aplicaciones cliente/servidor grficas. Integrado con Oracle Developer, Oracle Designer, que provee una solucin para desarrollar sistemas empresariales de segunda generacin. En el lado del Servidor, Oracle Designer soporta la definicin, generacin y captura de diseo de los siguientes tipos de bases de datos, por conexin de Oracle: Oracle8, Oracle7 Personal Oracle Lite Rdb ANSI 92 DB2/2 and MVS Microsoft SQL Server Sybase System Architect Esta herramienta posee un repositorio nico que integra todas las herramientas, y metodologas usadas. En la elaboracin de los diagramas, el System Architect conecta directamente al diccionario de datos, los elementos asociados, comentarios, reglas de validaciones, normalizacin, etc. Posee control automtico de diagramas y datos, normalizaciones y balanceamiento entre diagramas Padre e Hijo, adems de balanceamiento horizontal, que trabaja integrado con el diccionario de datos, asegurando la compatibilidad entre el Modelo de Datos y el Modelo Funcional. El System Architect Traduce modelos de entidades en esquemas para: Sybase DB2 Oracle u Oracle 7 Ingress SQL Server RDB XDB Progress Paradox SQL Base AS400 Interbase OS/2 DBMS Dbase 111 Informix
HERRAMIENTAS DE ANLISIS Y GESTIN DE REQUISITOS INCOSE Requirements Management Tools Survey Revisin de herramientas de gestin de requisitos Incorpora una tabla comparativa de herramientas de gestin de requisitos GatherSpace Herramienta comercial, disponible versin trial. Gestin de requisitos a travs de la Web RaQuest Herramienta comercial, disponible versin trial. Slo disponible para Windows RaQuest es la herramienta de gestin de requisitos de Enterprise Architect Case Complete Herramienta comercial, disponible versin trial. Gestiona casos de uso y requisitos Analyst Real Team System Herramienta comercial, disponible versin trial. Versin personal y multiusuario Tiger Pro:- Tool to Ingest and Elucidate Requirements Herramienta shareware. Tiene definicin de costes y riesgos Open Source Requirements Management Tool Herramienta libre. Bastante difundida. Escrita en Java y disponible para cualquier plataforma. Rational RequisitePro Herramienta comercial de pago. Muy completa y difundida por todo el mundo. Version trial de 15 das aqu Borland Caliber Herramienta comercial de pago. Tiene versin de evaluacin por 30 das. Muy completa. IRqA Herramienta comercial de pago. Tiene versin de evaluacin por 30 das. Muy completa. MKS requirements Herramienta comercial de pago.
HERRAMIENTAS CASE DE ANLISIS Y DISEO ORIENTADO A OBJETOS
ArgoUML Herramienta Open Source para UML 1.4 BOUML Herramienta libre para UML 2 Enterprise Architect Herramienta comercial. Muy completa Rational Rose Herramienta comercial. Muy completa Borland Together Herramienta comercial. Muy completa Poseidon Gratis por 30 das MOTORES DE PERSISTENCIA Hibernate Motor de persistencia para Java y .Net Kodo Motor de persistencia de BEA Systems para Java ENTORNOS DE DESARROLLO JBuilder Entorno de desarrollo de Borland para Java Eclipse Entorno de desarrollo para mltiples lenguajes y plataformas NetBeans Entorno de desarrollo para mltiples lenguajes y plataformas Visual Studio Team System Entorno de desarrollo de Microsoft para mltiples lenguajes con la plataforma .NET HERRAMIENTAS DE PRUEBA JUnit Pruebas automticas para desarrollos en Java NUnit Pruebas automticas para desarrollos en .NET CppUnit Pruebas automticas para desarrollos en C++ CACTUS Pruebas automticas para desarrollos en Java en la parte servidor HERRAMIENTAS MDA (Model Driven Architecture) AndroMDA MDA Open Source