HERRAMIENTAS CASE TAPIA HERNANDEZ ARELI FUNDAMENTOS DE INGENIERIA DE SOFTWARE TAREA FECHA DE ENTREGA: 15/ABRIL/2014 ¿Qué SON LAS HERRAMIENTAS CASE? Las herramientas CASE son un conjunto de herramientas y métodos asociados que proporcionan asistencia automatizada en el proceso de desarrollo del software a lo largo de su ciclo de vida. Fueron desarrolladas para automatizar esos procesos y facilitar las tareas de coordinación de los eventos que necesitan ser mejorados en el ciclo de desarrollo de software. OBJETIVOS Aumentar la productividad de las áreas de desarrollo y mantenimiento de los sistemas informáticos. * Mejorar la calidad del software desarrollado. * Reducir tiempos y costos de desarrollo y mantenimiento del software. * Mejorar la gestión y dominio sobre el proyecto en cuanto a su planificación, ejecución y control. * Mejorar el archivo de datos (enciclopedia) de conocimientos (know-how) y sus facilidades de uso, reduciendo la dependencia de analistas y programadores. Automatizar: * El desarrollo del software * La documentación * La generación del código * El chequeo de errores * La gestión del proyecto Permitir: * La reutilización (reusabilidad) del software * La portabilidad del software * La estandarización de la documentación * Integrar las Mejorar el archivo de datos (enciclopedia) de conocimientos. * Facilitar la utilización de las distintas metodologías que desarrollan la propia ingeniería del software. CLASIFICACION DE LAS HERRAMIENTAS CASE 1. Herramientas integradas, I-CASE (Integrated CASE, CASE integrado): Abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas también CASE workbench. 2. Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o frontend Orientadas a la automatización y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: análisis y diseño. 3. Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o backend Dirigidas a las últimas fases del desarrollo: construcción e implantación. 4. Juegos de herramientas o Tools-Case: Son el tipo más simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontrarían las herramientas de reingeniería, orientadas a la fase de mantenimiento. Según su Integración: Toolkits (Juego de herramientas) Conjunto de herramientas software que automatizan alguna fase del ciclo de vida (análisis, diseño, gestión,...). Comparten la BD de soporte y la interfaz de usuario. Integración baja. Workbenchs (Banco de trabajo) Conjunto de herramientas software que automatizan el ciclo de vida en más de una fase, típicamente en análisis + diseño + implementación (incluyendo documentación asociada). Asisten en todo el proceso y proporcionan un producto documentado y operativo. Además de compartir la BD de soporte y la interfaz de usuario, están basadas en una misma metodología. Integración media. IPSE (Integrated Project Support Environment) Integración alta. Cubren todo el ciclo de vida, la gestión de proyectos y de la configuración. Por su Posición: Upper CASE: Herramientas de apoyo a las primeras fases Métricas del software. Estimación de costes. Planificación temporal. Medium CASE: Herramientas de apoyo a las fases centrales. Análisis. Diseño. Lower CASE: Herramientas de apoyo a las últimas fases. Implementación (generación de código). Pruebas (caja blanca y caja negra). Mantenimiento. Documentación de la implementación y documentación para el usuario final. Por su Funcionalidad: * Herramientas de planificación de sistemas de gestión. * Herramientas de análisis y diseño. * Herramientas de programación. * Herramientas de integración y prueba * Herramientas de gestión de prototipos. * Herramientas de mantenimiento. * Herramientas de gestión de proyectos. * Herramientas de soporte. EJEMPLOS DE HERRAMIENTAS CASE Herramientas CASE más utilizadas Erwin PLATINUM Erwin es una herramienta de diseño de base de datos. Brinda productividad en diseño, generación, y mantenimiento de aplicaciones. Desde un modelo lógico de los requerimientos de información, hasta el modelo físico perfeccionado para las características específicas de la base de datos diseñada. EasyCASE Esta herramienta permite automatizar las fases de análisis y diseño dentro del desarrollo de una aplicación, para poder crear las aplicaciones eficazmente – desde procesamiento de transacciones a la aplicación de bases de datos de cliente/servidor, así como sistemas de tiempo real. Oracle Designer Oracle Designer es un juego de herramientas para guardar las definiciones que necesita el usuario y automatizar la construcción rápida de aplicaciones cliente/servidor flexibles y gráficas. Integrado con Oracle Developer PowerDesigner PowerDesigner es una suite de aplicaciones de Powersoft para la construcción, diseño y modelado de datos a través de diversas aplicaciones. Es la herramienta para el análisis, diseño inteligente y construcción sólida de una base de datos y un desarrollo orientado a modelos de datos a nivel físico y conceptual, que dan a los desarrolladores Cliente/Servidor la más firme base para aplicaciones de alto rendimiento. System Architect Esta herramienta posee un repositorio único que integra todas las herramientas, y metodologías usadas. En la elaboración de los diagramas, el System Architect conecta directamente al diccionario de datos, los elementos asociados, comentarios, reglas de validaciones, normalización, etc. Posee control automático de diagramas y datos, normalizaciones y balanceamiento entre diagramas "Padre e Hijo", además de balanceamiento horizontal, que trabaja integrado con el diccionario de datos, asegurando la compatibilidad entre el Modelo de Datos y el Modelo Funcional. Rational Rose Rational Rose es una herramienta de producción y comercialización establecidas por Rational Software Corporation (actualmente parte de IBM). Rose es un instrumento operativo conjunto que utiliza el Lenguaje Unificado (UML) como medio para facilitar la captura de dominio de la semántica, la arquitectura y el diseño. Este software tiene la capacidad de: Crear, Ver, Modificar y Manipular los componentes de un modelo. HERRAMIENTAS CASE ORIENTADAS A OBJETOS Muchos de los beneficios son alcanzados únicamente cuando el Análisis y Diseño son utilizados con herramientas CASE Orientadas a Objetos, basados en repositorios que generan códigos. * Fomenta la reutilización y extensión del código. * Permite crear sistemas más complejos. * Relacionar el sistema al mundo real. * Facilita la creación de programas visuales. * Construcción de prototipos * Agiliza el desarrollo de software * Facilita el trabajo en equipo * Facilita el mantenimiento del software Lo interesante de la Programación Orientada a Objetos es que proporciona conceptos y herramientas con las cuales se modela y representa el mundo real tan fielmente como sea posible. HERRAMIENTAS CASE ESTRUCTURAS Las herramientas Case utilizarán técnicas gráficas para diseñar las clases y sus interacciones, y para utilizar objetos existentes adaptados en nuevas aplicaciones. Las herramientas deberían facilitar el modelamiento en términos de eventos, triggers (iniciadores), estado de los objetos, etc. Las herramientas de los CASE Orientados a Objetos generan códigos tan pronto como una clase sea definida y permitirá al diseñador probar y utilizar el método creado. Las herramientas deberán ser diseñadas para estimular la máxima creatividad y continuo refinamiento del diseño durante la construcción.