Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Tecnologías CASE Introducción. Conceptos, Objetivos, Herramientas y Métodos de las tecnologías CASE Clasificación de herramientas CASE Entornos CASE Integrados (I-CASE) Adopción de Herramientas CASE Casos de Estudio 46 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Concepto ¿En que consiste la integración? Combinación: Combina diferentes herramientas y modelos Clausura: Permite la comunicación entre las herramientas, las personas y los procesos El verdadero poder de la tecnología CASE se obtiene a través de la Integración (I-CASE) Integrated Computer Assisted Software Engineering 47 Herramientas y Entornos de Programación Tema 2. L4G y CASE. Entornos I-CASE. Características Aportar algún modo de compartir información entre las herramientas en el entorno Permitir la detección de cambios en los elementos de información relacionados Permitir el control de diferentes versiones Permitir el acceso directo a cualquiera de las herramientas Permitir la integración de procedimientos y herramientas en una estructura de fragmentación Mantener la consistencia en el aspecto y en la interacción de la interfaz Soportar la comunicación entre los Ingenieros de Software Mantener juntas a las herramientas y las técnicas con vistas a mejorar el proceso y el producto Ramón Hervás Lucas - Curso 2008/2009 - HyEP 48 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Características Más Herramientas Escala de proyectos creciente Metodologías Interactivas Demanda para Mejor control Justificación I-CASE Complejidad de Software creciente Demanda para Alta calidad Demanda para Alta productividad 49 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Características Rápido Envolvimiento de Herram. Tec. Focos de Competitividad Carencia de estándares Muchas nuevas Herramientas Hitos a superar por I-CASE Metodologías Múltiples de diseño Plataformas heterogéneas Limitaciones de la Integración tec. 50 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Características: ¿Por qué compartir datos entre las herramientas? Evitar el reintroducir de los datos en cada una de las herramientas disponibles. Evitar errores humanos al reintroducir los datos. Evitar la dificultad del manejo de datos cuando los proyectos crecen. Las Herramientas CASE integradas proponen un único repositorio de base de datos para todas la herramientas de diseño, representación, etc. Facilita la documentación en todas las etapas del desarrollo. 51 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Marco de trabajo Presentación Interfaz de usuario Administración de tareas … Herramientas … Servidor de Mensajes Servicios de integración de datos Repositorio Sistema operativo 52 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Marco de trabajo Presentación: Define cómo se van a ser vistas (por el usuario) todas las herramientas del ambiente CASE: Menús, mensajes de ayuda, mensajes de error, entre otros Interfaz de usuario: Establece un mecanismo para un GUI particular: Administrador de ventanas, menús de contexto, botones, entre otros Administrador de tareas: Permite al desarrollador definir y ejecutar tareas que requieren cooperación y sincronización de dos o más herramientas Servicios de integración de datos (Administrador de objetos o de entregables): Permite comunicar las herramientas con el repositorio y administra los metadatos y las vistas para los desarrolladores. Repositorio: Provee administración para los datos comunes y enlaces entre todas las herramientas del ambiente CASE y debe ser capaz de administrar cualquier tipo de objeto: (Información textual, gráfica o binaria, diagramas de flujo, diagrama ER, etc.) y las relaciones entre ellos. Servidor de Mensajes: Provee de un canal de comunicación entre las herramientas y el ambiente CASE 53 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. 54 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Beneficios Transferencia fácil de información (modelos, programas, documentos, datos) entre unas herramientas y otras y entre una etapa del desarrollo y la siguiente. Reducción del esfuerzo necesario para actividades de carácter general (gestión de configuración, aseguramiento de la calidad o documentación) Mayor control sobre el proyecto al mejorar la planificación, la monitorización y la comunicación Mejor coordinación entre las personas que participan en un proyecto software También existen herramientas especialmente diseñadas para ayudar a integrar diversas herramientas CASE. Estos entornos de integración se denominan Frameworks 55 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Beneficios Interfaz de usuario común Soporte a “plataformas” orientadas a objetos. Interfaces gráficas estándares (modelos). Fácil manipulación y registro sin hacer cambio en el código fuente Interfaz de herramienta Herramientas verticales: Partes de ciclo de vida del proyecto Herramientas horizontales: Procesos de mantenimientos de las partes, como desarrollo manejado por múltiples desarrolladores (check-in y check-out) 56 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Beneficios Control y comunicación de herramientas Permite comunicación entre herramientas y la interacción a través de mensajes, eventos y disparadores de datos Permite al usuario definir y ejecutar tareas con varias herramientas de forma secuencial y concurrente Manejo de Repositorio del proyecto (Sin redundancia, Adm. BD del proyecto) Manejo de datos internos del proyecto Manejo de activos de información Debe funcionar en red de diferentes plataformas Mecanismos de corrección, validación, diseño y correctitud de la información que ingresa a la BD del proyecto Meta datos, dependencia y relaciones entre los activos que forman parte del proyecto. Reglas de comunicación entre las herramientas CASE 57 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Beneficios Administración de entregables Debe operar y administrar el espectro completo de entregables del desarrollo de software (Especificaciones, códigos fuentes, archivos, métricas, entre otros objetos) Características principales de la administración de entregables: La habilidad de definir objetos de tamaño arbitrario y granularidad La habilidad de administrar ligas de versión entre cualquier grupo de objetos La habilidad para asociar objetos dentro de colecciones que pueden ser manipuladas y versionadas como un objeto sencillo Portabilidad del Sistema Operativo Independencia con la plataforma y sistema operativo 58 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Beneficios Administración de la Configuración Habilidad de administrar las versiones, ligas entre los componentes y los activos administrados (Documentos, librerías, módulos, etc.) Debe construir facilidades para administrar el compilador y los procesos ligados los cuales son parte de la configuración Administración de las versiones de los componentes Trazabilidad Debe de soportar la habilidad de trazar el sistema completo a través de documentación de análisis y diseño Ayuda a asegurar la calidad de sistema ya que ayuda a encontrar todos los requerimientos y la especificación de los mismos Ayuda a mantener las documentaciones acorde con las versiones Ayuda a mantener las pista de las ligas entre los componentes de un proyecto 59 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Beneficios Administración de contexto Hacer vistas de una parte en especial del proyecto (Base de Datos, códigos, etc.) Un programador puede ver la parte que le corresponde ó su “Subconjunto de espacio de trabajo” sin tener que impactar el resto del proyecto Se puede incluir componentes de seguridad para evitar que partes privadas sean manipuladas por otros Transparencia en la red Debe proveer facilidad y acceso a los datos, de forma transparente para el usuario De esta forma se puede trabajar en un sistema robusto de red (Desde estaciones de trabajo en forma remota) Se tiene la configuración de cada usuario bajo control Trabajar en forma distribuida Simulaciones Debugeo, depuración de sistemas y soporte en forma remota 60 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Opciones de Integración Convenciones Herramienta Individual de notación Intercambio de Datos Fuente Simple Puente entre Herramientas IPSE 62 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Opciones de Integración Herramientas CASE separadas. En este caso, las salidas suelen ser de texto sobre papel. Los enlaces son manuales. La integración es manual. Intercambio de datos Punto-a-Punto. Las herramientas exportan datos en un fichero. Los constructores de las herramientas CASE, realizan puentes entre herramientas. H A H B Datos Privados Datos Privados Traductor 63 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Opciones de Integración Acceso común a las Herramientas. El utilizador puede abrir varias herramientas simultáneamente. Comparación visual entre las Herramientas. Los procesos de transferencia son sencillos. Interfaz de usuario común H A H B Datos Privados Datos Privados Traductor 64 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Opciones de Integración Gestión de Datos común. Los datos de varias herramientas pueden ser mantenidos en una sola Base de Datos. Un solo suministrador de CASE integra diversas Herramientas en un solo paquete. Interfaz de usuario común H A Datos Privados H B Datos Privados Repositorio de Datos de Proyecto Compartido 65 Herramientas y Entornos de Programación Tema 2. Tecnologías CASE. Entornos I-CASE. Opciones de Integración Integración completa. Gestión de Metadatos: Definición de objetos, relaciones y dependencias entre objetos, reglas de diseño de software, flujos de trabajo. Facilidades de Control: Permite la comunicación con el resto del entorno IPSE Interfaz de usuario común H A H B Mecanismo de disparo Meta-datos Repositorio de Datos de Proyecto Compartido 66