Você está na página 1de 22

Introduccin.

Durante las ltimas dcadas se ha trabajado en el rea de desarrollo de sistemas para encontrar tcnicas que permitan incrementar la productividad y el control de calidad en cualquier proceso de elaboracin de software, y hoy en da la tecnologa CASE (Computer Aided Software Engineering) reemplaza al papel y al lpiz por el ordenador para transformar la actividad de desarrollar software en un proceso automatizado. La tecnologa CASE supone la informatizacin de la informticaes decir la automatizacin del desarrollo del software--, contribuyendo as a elevar la productividad y la calidad en el desarrollo de los sistemas de informacin de forma anloga. Las Herramientas CASE fueron desarrolladas para automatizar esos procesos y facilitar las tareas de coordinacin de los eventos que necesitan ser mejorados en el ciclo de desarrollo de software.

1.- Que Son Las Herramientas CASE


Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software. Como es sabido, los estados en el Ciclo de Vida de desarrollo de un Software son: Investigacin Preliminar, Anlisis, Diseo, Implementacin e Instalacin. CASE se define tambin como: ! Conjunto de mtodos, utilidades y tcnicas que facilitan la automatizacin del ciclo de vida del desarrollo de sistemas de informacin, completamente o en alguna de sus fases. ! La sigla genrica para una serie de programas y una filosofa de desarrollo de software que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas. ! Se puede ver al CASE como la unin de las herramientas automticas de software y las metodologas de desarrollo de software formales.

2.- Herramientas CASE


Las Herramientas CASE fueron desarrolladas para automatizar esos procesos y facilitar las tareas de coordinacin de los eventos que necesitan ser mejorados en el ciclo de desarrollo de software. La mejor razn para la creacin de estas herramientas fue el incremento en la velocidad de desarrollo de los sistemas. Por esto, las compaas pudieron desarrollar sistemas sin encarar el problema de tener cambios en las necesidades del negocio, antes de finalizar el proceso de desarrollo. Tambin permite a las compaas competir ms efectivamente usando estos sistemas desarrollados nuevamente para compararlos con sus necesidades de negocio actuales. En un mercado altamente competitivo, esto puede hacer la diferencia entre el xito y el fracaso. Las herramientas CASE tambin permiten a los analistas tener ms tiempo para el anlisis y diseo y minimizar el tiempo para codificar y probar. La introduccin de CASE integradas est comenzando a tener un impacto significativo en los negocios y sistemas de informacin de la organizaciones. Con un CASE integrado, las organizaciones pueden desarrollar rpidamente sistemas de mejor calidad para soportar procesos crticos del negocio y asistir en el desarrollo y promocin intensiva de la informacin de productos y servicios.

3.- Ventajas Y Beneficios de Las Herramientas CASE


Estas herramientas pueden proveer muchos beneficios en todas las etapas del proceso de desarrollo de software, algunas de ellas son: Verificar el uso de todos los elementos en el sistema diseado. Automatizar el dibujo de diagramas. Ayudar en la documentacin del sistema. Ayudar en la creacin de relaciones en la Base de Datos. Generar estructuras de cdigo. La principal ventaja de la utilizacin de una herramienta CASE, es la mejora de la calidad de los desarrollos realizados y, en segundo trmino, el aumento de la productividad. Para conseguir estos dos objetivos es conveniente contar con una organizacin y una metodologa de trabajo, adems de la propia herramienta. La mejora de calidad se consigue reduciendo sustancialmente muchos de los problemas de anlisis y diseo, inherentes a los proyectos de mediano y gran tamao (lgica del diseo, coherencia, consolidacin, etc.). La mejora de productividad se consigue a travs de la automatizacin de determinadas tareas, como la generacin de cdigo y la reutilizacin de objetos o mdulos.

4.- Historia de La Herramienta CASE.


En los aos 70 un proyecto llamado ISDOS dise un lenguaje y por lo tanto un producto 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 software.

Cuadro De Evolucin de Las Herramientas CASE

5.- 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.

6.- Clasificacin de las Herramientas Case.


No existe una nica clasificacin de herramientas CASE y, en ocasiones, es difcil incluirlas en una clase determinada. Podran clasificarse atendiendo a: 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. Las herramientas CASE, en funcin de las fases del ciclo de vida abarcadas, se pueden agrupar de la forma siguiente: 1. Herramientas integradas, I-CASE (CASE integrado): abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas tambin CASE workbench. 2. Herramientas de alto nivel, U-CASE (CASE superior) o front-end, orientadas a la automatizacin y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: anlisis y diseo. 3. Herramientas de bajo nivel, L-CASE (CASE inferior) o back-end, dirigidas a las ltimas fases del desarrollo: construccin e implantacin. 4. Juegos de herramientas o Tools-Case, son el tipo ms simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontraran las herramientas de reingeniera, orientadas a la fase de mantenimiento.

Cuadro comparativo de Ventajas Y Desventajas de Los Tipos de Herramientas CASE (Sin mencionar a Tools-Case)

Juego de Herramientas o Tools Case. Estn formadas por un conjunto de herramientas orientadas cada una de ellas a resolver una determinada fase del desarrollo. El ensamblaje de las mismas se efecta por medio de una serie de interfaces que adaptan las salidas producidas por cada una de ellas de forma que sirva como entrada en la siguiente. Otra posible clasificacin, utilizando la funcionalidad como criterio principal, es la siguiente: Herramientas de planificacin de sistemas de gestin. Sirven para modelizar los requisitos de informacin estratgica de una organizacin. Proporcionan un "metamodelo" del cual se pueden obtener sistemas de informacin especficos. Su objetivo principal es ayudar a comprender mejor cmo se mueve la informacin entre las distintas unidades organizativas. Estas herramientas proporcionan una ayuda importante cuando se disean nuevas estrategias para los sistemas de informacin y cuando los mtodos y sistemas actuales no satisfacen las necesidades de la organizacin.

Herramientas de anlisis y diseo. Permiten al desarrollador crear un modelo del sistema que se va a construir y tambin la evaluacin de la validez y consistencia de este modelo. Proporcionan un grado de confianza en la representacin del anlisis y ayudan a eliminar errores con anticipacin. Herramientas de anlisis y diseo (Modelamiento). Herramientas de creacin de prototipos y de simulacin. Herramientas para el diseo y desarrollo de interfaces. Mquinas de anlisis y diseo (Modelamiento).

10

Herramientas de programacin. Se engloban aqu los compiladores, los editores y los depuradores de los lenguajes de programacin convencionales. Ejemplos de estas herramientas son: Herramientas de codificacin convencionales. Herramientas de codificacin de cuarta generacin. Herramientas de programacin orientadas a los objetos.

Herramientas de integracin y prueba: Sirven de ayuda a la adquisicin, medicin, simulacin y prueba de los equipos lgicos desarrollados. Entre las ms utilizadas estn: Herramientas de anlisis esttico. Herramientas de codificacin de cuarta generacin. Herramientas de programacin orientadas a los objetos.

Herramientas de gestin de prototipos. Los prototipos son utilizados ampliamente en el desarrollo de aplicaciones, para la evaluacin de especificaciones de un sistema de informacin, o para un mejor entendimiento de cmo los requisitos de un sistema de informacin se ajustan a los objetivos perseguidos.

Herramientas de mantenimiento: La categora de herramientas de mantenimiento se puede subdividir en: Herramientas de ingeniera inversa. Herramientas de reestructuracin y anlisis de cdigo.

11

Herramientas de reingeniera. Herramientas de gestin de proyectos. La mayora de las herramientas CASE de gestin de proyectos se centran en un elemento especfico de la gestin del proyecto, en lugar de proporcionar un soporte global para la actividad de gestin. Utilizando un conjunto seleccionado de las mismas se puede: realizar estimaciones de esfuerzo, coste y duracin, hacer un seguimiento continuo del proyecto, estimar la productividad y la calidad, etc. Existen tambin herramientas que permiten al comprador del desarrollo de un sistema, hacer un seguimiento que va desde los requisitos del pliego de prescripciones tcnicas inicial, hasta el trabajo de desarrollo que convierte estos requisitos en un producto final. Se incluyen dentro de las herramientas de control de proyectos las siguientes: Herramientas de planificacin de proyectos. Herramientas de seguimiento de requisitos. Herramientas de gestin y medida.

Herramientas de soporte. Se engloban en esta categora las herramientas que recogen las actividades aplicables en todo el proceso de desarrollo, como las que se relacionan a continuacin: Herramientas de documentacin. Herramientas para software de sistemas. Herramientas de control de calidad. Herramientas de bases de datos.

12

Otra clasificacin, diferencia las funciones CASE en cinco grupos:

Repositorio.
Funcionan en torno a un repositorio central, siendo ste el ncleo fundamental que contiene todas las definiciones de objeto y sus relaciones. Los objetos pueden ser especificaciones del sistema en forma de diagramas de flujo de datos, diagramas entidad-relacin, esquemas de bases de datos, diseos de pantallas, etc. El repositorio es un concepto ms amplio que el de diccionario de datos y soporta a los dems grupos de funciones. No es fcil encontrar en el mercado productos Case con funcionalidades estrictamente a las de repositorio, ya que, a pesar de su innegable importancia, tienen un carcter auxiliar de los dems grupos de funciones. Cualquier sistema Case poseer un repositorio propio o bien, trabajar sobre un repositorio suministrado por otro fabricante o vendedor.

Re-ingeniera.
Los sistemas Case permiten establecer una relacin estrecha y fuertemente formalizadle entre los productos generados a lo largo de distintas fases del ciclo de vida, permitiendo actuar en el sentido especificaciones-cdigo (ingeniera "directa") y tambin en el contrario (ingeniera "inversa"). Ello facilita la realizacin de modificaciones en la fase ms adecuada en cada caso y su traslado a las dems. Al conjunto de facilidades proporcionadas por la ingeniera directa e "inversa" se le denomina "re-ingeniera".

13

Soporte del ciclo de vida.


El ciclo de vida de una aplicacin o de un sistema de informacin se compone de varias etapas, que van desde la planificacin de su desarrollo hasta su implantacin, mantenimiento y actualizacin. Aunque el nmero de fases puede ser variable en funcin del nivel de detalle que se adopte, pueden de modo simplificado, identificarse las siguientes: Planeamiento. Anlisis y Diseo. Implantacin (programacin y pruebas). Mantenimiento y actualizacin. Los sistemas Case pueden cubrir la totalidad de estas fases o bien especializarse en algunas de ellas. En este ltimo caso se pueden distinguir sistemas de "alto nivel" ("Upper Case"), orientados a la autonoma y soporte de las actividades correspondientes a las dos primeras fases y, sistemas de "bajo nivel" ("Lower Case"), dirigidos hacia las dos ltimas. Los sistemas de "alto nivel" pueden soportar un nmero ms o menos amplio de metodologas de desarrollo.

Soporte de proyecto.
Este tipo de funciones hace referencia al soporte de actividades que se producen durante el desarrollo, derivadas fundamentalmente del trabajo en grupos, tales como facilidades de comunicacin, soporte a la creacin, modificacin e intercambio de documentacin, herramientas personales, controles de seguridad, etc. Los sistemas Case pueden conceder a estas cuestiones una importancia variable por lo cual el soporte de proyecto constituye un factor de diferenciacin.

14

Mejora continua de calidad.


Aunque frecuentemente se asocia a los sistemas Case con la mejora de la productividad en el desarrollo de aplicaciones, debe tenerse en cuenta que una de las principales ventajas estriba tambin, en la mejora de la calidad de los desarrollos realizados. Determinados sistemas Case enfatizan ms sobre este punto que sobre el anterior, introduciendo herramientas que permiten ejercer un control intenso de garanta de calidad del software desarrollado desde las primeras fases de su ciclo de vida.

15

7.- Rango de las Herramientas Case (Revista Tecnologa de Punta)

16

8.- 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 ampla 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. En algunas referencias se le denomina Diccionario de Recursos de Informacin. La mayora de herramientas CASE poseen un repositorio propio o bien trabajan sobre un repositorio suministrado por otro fabricante o vendedor.

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.

17

Algunas caractersticas referentes a los diagramas son: Nmero mximo de niveles para poder soportar diseos complejos. Nmero mximo de objetos que se pueden incluir para no encontrarse limitado en el diseo de grandes aplicaciones. Nmero de diagramas distintos en pantalla o al mismo tiempo en diferentes ventanas. Dibujos en formato libre con la finalidad de aadir comentarios, dibujos, informacin adicional para aclarar algn punto concreto del diseo. Actualizacin del repositorio por cambios en los diagramas. Siempre resulta ms fcil modificar de forma grfica un diseo y que los cambios queden reflejados en el repositorio.

Herramienta de prototipado:
El objetivo principal de esta herramienta es poder mostrar al usuario, desde los momentos iniciales del diseo, el aspecto que tendr la aplicacin una vez desarrollada. Ello facilitar la aplicacin de los cambios que se consideren necesarios, todava en la fase de diseo. La herramienta ser tanto ms til, cuanto ms rpidamente permita la construccin del prototipo y por tanto antes, se consiga la implicacin del usuario final en el diseo de la aplicacin.

Generador de cdigo:
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:

18

Lenguaje generado. Si se trata de un lenguaje estndar o un lenguaje propietario. Portabilidad del cdigo generado. Capacidad para poder ejecutarlo en diferentes plataformas fsicas y/o lgicas. Generacin del esqueleto del programa o del programa completo. Si nicamente genera el esqueleto ser necesario completar el resto mediante programacin. Posibilidad de modificacin del cdigo generado. Suele ser necesario acceder directamente al cdigo generado para optimizarlo o completarlo.

Mdulo generador de documentacin:


El mdulo generador de la documentacin se alimenta del repositorio para transcribir las especificaciones all contenidas. Algunas caractersticas de los generadores de documentacin son: Generacin automtica a partir de los datos del repositorio, sin necesidad de un esfuerzo adicional. Combinacin de informacin textual y grfica, lo que hace ms fcil su comprensin. Generacin de referencias cruzadas. Con ello se podr localizar fcilmente en qu partes de la aplicacin se encuentra un determinado objeto o elemento, con el fin de analizar el impacto de un cambio o identificar los mdulos afectados por un determinado error. Ayuda de tratamiento de textos. Facilidad para la introduccin de textos complementarios a la documentacin que se genera de forma automtica. Interface con otras herramientas: procesadores de textos, editores grficos, etc.

19

9.- Ejemplo de Herramientas Case ms utilizadas.


ERwin
PLATINUM ERwin es una herramienta de diseo de base de datos. Brinda productividad en 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, 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 hace fcil el diseo de una base de datos. Los diseadores de bases de datos slo apuntan y pulsan un botn para crear un grfico del modelo E-R (Entidadrelacin) de todos sus requerimientos de datos y capturar las reglas de negocio en un modelo lgico, mostrando todas las entidades, atributos, relaciones, y llaves importantes. Ms que una herramienta de dibujo, ERwin automatiza el proceso de diseo de una manera inteligente. Por ejemplo, ERwin habilita la creacin de un diccionario de atributos reusables, asegurando la consistencia de nombres y definiciones para su base de datos. Se mantienen las vistas de la base de datos como componentes integrados al modelo, permitiendo que los cambios en las tablas sean reflejados automticamente en las vistas definidas. La migracin automtica garantiza la integridad referencial de la base de datos. ERwin establece una conexin entre una base de datos diseada y una base de datos, permitiendo transferencia entre ambas y la aplicacin de ingeniera reversa. Usando esta conexin, Erwin genera automticamente tablas, vistas, ndices, reglas de integridad referencial (llaves primarias, llaves foraneas), valores por defecto y restricciones de campos y dominios.

20

ERwin soporta principalmente bases de datos relacionales SQL y bases de datos que incluyen Oracle, Microsoft SQL Server, Sybase, DB2, e Informix. 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.

21

- Conclusin.
Podemos concluir en que las herramienta CASE han venido a revolucionar la forma de automatizar aspectos clave del desarrollo mejor del ciclo de vida del software, el mejoramiento en la calidad y su productividad de informacin. La herramientas CASE actualmente brindan una gran gama de componentes que incluyen todos o la mayora de los requisitos necesarios para el desarrollo de los sistemas, han sido creadas con una gran exactitud en torno a las necesidades de los desarrolladores de software para la automatizacin de procesos incluyendo el anlisis, diseo e implantacin. Ofrecen una gran plataforma de seguridad a sistemas que las usan. Debido a la demanda que tienen las CASE, su exigencia en cuanto a su uso ha ido aumentando, por lo que toda CASE debe entre otras cosas: proporcionar topologas de aplicacin flexibles, proporcionar aplicaciones porttiles, brindar un Control de versin, crear cdigo compilado en el servidor, dar un Soporte multiusuario y ofrecer seguridad. Las herramientas CASE cuentan con una credibilidad y exactitud que tienen un reconocimiento universal, siendo usadas por cualquier desarrollador y/o programador que busca un resultado ptimo y eficiente.

22

Você também pode gostar