Professional Documents
Culture Documents
Tema 16: Ingeniera del Software Asistida por Ordenador: Herramientas CASE
Contenido
1. Introduccin al CASE. 2. Componentes de un Sistema CASE (Bloques Bsicos del CASE) 3. Plataformas Hardware de la tecnologa CASE. 4. Categoras de Herramientas CASE. 5. Entornos CASE integrados.
Arquitectura de Integracin.
6. El repositorio CASE.
1. Introduccin al CASE
l
La tecnologa CASE es la automatizacin del desarrollo de Software. El CASE propone un nuevo concepto de ciclo de vida del software basado en la automatizacin. La idea bsica del CASE es proporcionar un conjunto de herramientas bien integradas que ahorren trabajo enlazando y automatizando todas las fases del ciclo de vida del software. Las tecnologas tradicionales son de dos tipos: Manuales y con herramientas aisladas:
Herramientas Aisladas
1. Introduccin al CASE
l
A diferencia de esto, la tecnologa CASE es una combinacin de herramientas software y de Metodologas totalmente integrada y que abarca todas las fases del ciclo de vida del software. Las metodologas manuales son laboriosas y de trabajo intensivo. La tecnologa CASE facilita el seguimiento de las metodologas a nivel detallado al automatizar el dibujo de los diagramas y la generacin de la documentacin del sistema.
1. Introduccin al CASE
Ventajas de la tecnologa CASE:
l l l l l l l
Permite el uso de diversas tecnologas. Aumenta la calidad del software mediante comprobacin automtica. Facilita la construccin de prototipos. Simplifica el mantenimiento del sistema. Acelera el proceso de desarrollo. Favorece el desarrollo gradual e iterativo. Posibilita la reutilizacin de los componentes del software.
1. Introduccin al CASE
l
El CASE no es una tecnologa nueva, sino que est construida sobre tcnicas y herramientas comprobadas en la prctica. Lo que cambia del CASE no es el contenido, sino la forma. La novedad es la automatizacin. Esta tecnologa (nueva forma de construir software) est soportada por una generacin de herramientas de software (columna vertebral de la tecnologa CASE). Tecnologa CASE: Disciplina automatizada para el desarrollo, mantenimiento y gestin de software. Herramienta CASE: Herramienta de Software que automatiza tareas particulares del ciclo de vida del software.
1. Introduccin al CASE
l
Con el objetivo de automatizar el proceso de produccin de software, las herramientas CASE se disearon principalmente para: - Confeccionar grficos para especificar y documentar los sistemas. - Juntar todas las fases del ciclo de vida del software. - Almacenar de forma conjunta en el ordenador toda la informacin sobre el sistema. Soportan gran variedad de tareas de desarrollo y mantenimiento del software , como por ejemplo: - Herramientas para el dibujo de diagramas. - Herramientas para el prototipado de la interfaz de usuario. - Repositorios e informes: Utilidades para almacenar, obtener informes y consultar toda la informacin del sistema. - Herramientas de verificacin y correccin de las especificaciones del sistema. - Herramientas para generar cdigo ejecutable a partir de las especificaciones del sistema. - Herramientas de mantenimiento y de documentacin para documentar el sistema.
Mdulo 4. Tema 16: Herramientas CASE 7
1. Introduccin al CASE
Evolucin de las Herramientas CASE:
l
Surgen a principios de los 80: Herramientas de diagramacin y documentacin (Dibujadores de diagramas). A mediados de los 80: Comprobacin automtica de errores basada en las reglas de la metodologa. Aparece el repositorio para almacenar la informacin del sistema. A principios de los 90: Generacin automtica de cdigo a partir de las especificaciones de diseo. Actualmente: Conductor inteligente de metodologas. nfasis en la Reutilizacin como mecanismo de desarrollo.
Mdulo 4. Tema 16: Herramientas CASE 8
1. Introduccin al CASE
Objetivos de la Tecnologa CASE:
l
Proporcionar un entorno de desarrollo interactivo con un tiempo de respuesta rpido y comprobacin de errores desde el principio. La automatizacin de muchas tareas de desarrollo y mantenimiento del software. Programacin visual proporcionada por interfaces grficas potentes . En definitiva, el fin ltimo de la tecnologa CASE es automatizar todo el ciclo de vida del software mediante un conjunto de herramientas integradas.
1. Introduccin al CASE
Definiciones:
l
Tecnologa CASE: Tecnologa de software que proporciona una disciplina automatizada para el desarrollo, mantenimiento y gestin de software. Incluye las metodologas automatizadas y herramientas automatizadas. Herramienta CASE: Una herramienta de software que automatiza una tarea en particular del ciclo de vida del software. Sistema CASE: Conjunto integrado de herramientas CASE que comparten una interfaz comn de usuario y se procesan en un entorno comn de ordenador. Entorno de trabajo CASE (Workbench): Conjunto integrado de herramientas CASE diseadas para trabajar conjuntamente y automatizar totalmente el ciclo de vida del software, incluyendo anlisis, diseo, codificacin y pruebas. Plataforma Hardware CASE: Arquitectura hardware que proporciona una plataforma de operacin a las herramientas CASE.
Mdulo 4. Tema 16: Herramientas CASE 10
Front end
Repositorio Central
Back end
El componente Front-end corresponde a las fases primarias del ciclo de vida del software, es decir, el anlisis y el diseo. Las herramientas CASE front-end proporciona funciones para soportar las actividades de anlisis y de diseo, como diagramacin, prototipos y comprobacin de especificaciones. El componente Back-end corresponde a las ltimas fases del ciclo de vida del software, es decir, la implementacin y el mantenimiento. Las herramientas del Back-end automatizan la generacin de cdigo, las comprobaciones de errores, la generacin de las Bases de Datos.
Mdulo 4. Tema 16: Herramientas CASE 11
El Repositorio es el enlace entre los componentes Front-end y Back-end de un sistema CASE. Es el vehculo de comunicacin por el cual toda la informacin reunida durante el ciclo de vida se gestiona y comparte. El repositorio CASE es el integrador bsico del ciclo de vida que permite a las herramientas CASE utilizadas en una fase del ciclo de vida, pasar los datos a la fase siguiente.
12
Existen tres alternativas de las plataformas hardware para el soporte de sistemas CASE: 1. Una estacin de trabajo individual: Micro 2. Arquitectura a dos niveles: Compuesta por un ordenador anfitrin o principal y estaciones de trabajo individuales: Ordenador Principal
Micro
Ingeniera del Software (3 I.T.I.S., I.T.I.G) Mdulo 4. Tema 16: Herramientas CASE 13
Intermedio
Micro
14
La eleccin del hardware de estas estaciones de trabajo se centran en: La capacidad de memoria y de proceso. La calidad de los grficos. La posibilidad de conexin en red. La capacidad multiusuario/multitarea La conectividad.
15
La conectividad es importante. En la prctica, una E.T. CASE aislada no es til. Esto se soluciona conectando las E.T. en una red de rea local. El objetivo es poder compartir la informacin del sistema almacenada en el repositorio.
Una de las estaciones acta como servidor, que se designa como repositorio maestro. El resto de estaciones de trabajo tienen libreras del proyecto importando partes seleccionadas a su repositorio CASE local. El contenido del repositorio maestro se protege con restricciones de actualizacin, es decir, se proporcionan mecanismos de bloqueo para permitir el acceso concurrente y sin conflictos al mismo fichero.
16
17
Las caractersticas de una plataforma hardware CASE de dos o tres niveles son: Conectividad entre niveles y entre estaciones de trabajo.+ Soporte multiusuario. Interfaces con diccionarios y Bases de Datos corporativas. Conexin de mltiples repositorios de informacin del sistema.
18
Hasta ahora hemos visto herramientas CASE individuales, que abarcan actividades de Ingeniera del Software por separado. Pero la verdadera potencia del CASE solamente se puede lograr mediante la integracin.
Beneficios de un Entorno CASE Integrado: Transferencia de informacin (modelos, programas, documentos, datos) entre una herramienta y otra, y entre un paso de ingeniera y el siguiente. Reduccin del esfuerzo necesario para efectuar actividades globales como la configuracin del software, el control de calidad y la produccin de documentos. Aumento del control del proyecto mediante una mejor planificacin, monitorizacin y comunicacin. Mejor coordinacin entre los miembros del personal que estn trabajando en grandes proyectos software.
Mdulo 4. Tema 16: Herramientas CASE 23
Unas interfaces estandarizadas entre herramientas y Un mecanismo homogneo para la comunicacin entre el ingeniero de software y todas sus herramientas .
Requisitos de un Entorno CASE Integrado: Debe proporcionar un mecanismo para compartir la informacin de ingeniera del software entre todas las herramientas que estn contenidas en el entorno. Debe hacer posible que un cambio de un elemento de informacin se siga hasta los dems elementos de informacin relacionados. Debe permitir un acceso directo y no secuencial a cualquiera de las herramientas contenidas en el entorno CASE.
24
25
Herramienta CASE Marco de Referencia de Integracin Servicios de Portabilidad Arquitectura del entorno: - Plataforma HW - Sistema Operativo
Puente entre las herramientas CASE y la arquitectura del entorno. Permiten que las herramientas CASE y su marco de referencia de integracin migren entre diferentes plataformas HW y Sistemas Operativos sin grandes complicaciones.
26
La Capa de Gestin de Objetos proporciona el mecanismo para la integracin de herramientas . Cada herramienta CASE se enchufa en la capa de gestin de objetos. Funcionando en conjuncin con el repositorio CASE, esta capa proporciona los servicios de integracin: Un conjunto de mdulos que acoplan las herramientas con el repositorio. Proporciona los servicios de gestin de configuracin y lleva a cabo el control de versiones y el control de cambios.
29
6. El Repositorio CASE
l
Se suelen utilizar tambin los trminos: BD CASE, BD del proyecto, depsito y a veces diccionario de datos, aunque el repositorio es un concepto mucho mas amplio que el diccionario, ya que almacena muchos mas tipos de informacin del sistema, adems de las relaciones entre componentes y las reglas de la metodologa para procesar o utilizar los componentes.
Definicin: El Repositorio CASEes un mecanismo para almacenar y organizar toda la informacin relativa al sistema, incluyendo la planificacin, elanlisis, diseo, implementacin y la gestin de la informacin del proyecto. Es el corazn del I-CASE, que sirve de lugar nico donde se guarda toda la informacin del sistema para tenerla disponible siempre que se necesite.
31
6. El Repositorio CASE
l
El Repositorio CASE es la base para: La integracin de las herramientas CASE. Controlar la consistencia y la integridad de las especificaciones del sistema. La distribucin de la informacin compartida del sistema. La generacin de la documentacin del sistema. La generacin de cdigo. La reutilizacin del software (no slo cdigo). El control y la gestin del proyecto.
32
6. El Repositorio CASE
Funciones del Repositorio:
l
Integridad de Datos : Incluye funciones para validar las entradas efectuadas en el repositorio para asegurar la consistencia entre objetos relacionados y para efectuar de forma automtica modificaciones en cascada cuando un cambio hecho a un objeto exige algn cambio en otros objetos relacionados con el. Compartir Informacin: El repositorio proporciona un mecanismo para compartir informacin entre mltiples desarrolladores y entre m ltiples herramientas, gestiona el control multiusuario a los datos y bloquea/desbloquea objetos para que los cambios no se superpongan. Integracin Datos-Herramientas: Establece un modelo de datos al que pueden acceder todas las herramientas del entorno I-CASE y controla el acceso a los datos.
Mdulo 4. Tema 16: Herramientas CASE 33
6. El Repositorio CASE
Funciones del Repositorio:
l
Integracin Datos-Datos: Funciona como un SGBD para que se puedan llevar a cabo las dems funciones. Seguimiento de la metodologa: Contiene las reglas asociadas a la metodologa de ingeniera del software que se est siguiendo. Para realizar estas funciones se define el repositorio en trminos de un metamodelo que determina la forma en que se almacena la informacin en el repositorio, la forma en que las herramientas pueden acceder a los datos y estos datos son visualizados por los ingenieros de software, etc.
34
6. El Repositorio CASE
Caractersticas y Contenido del Repositorio:
Para ver esto hay que examinar el repositorio desde dos perspectivas: l a) QUE es lo que hay que almacenar. l b) QUE servicios debe proporcionar. a) Respecto a lo primero, el tipo de informacin que se puede almacenar es: - Informacin acerca del dominio del problema. - La solucin del sistema a medida que vaya surgiendo. - Las reglas e instrucciones relativas a la metodologa que se est siguiendo. - Informacin acerca del contexto organizativo De forma ms detallada, el contenido de un repositorio CASE organizado por categoras es el siguiente:
35
6. El Repositorio CASE
Caractersticas y Contenido del Repositorio:
De forma m s detallada, el contenido de un repositorio CASE organizado por categor as es el siguiente: Informacin de la Empresa:
l l l l l l
Estructura Organizativa Anlisis de rea de negocios Funciones de negocios Reglas de negocios Modelos de procesos (escenarios) Arquitectura de la informacin
36
6. El Repositorio CASE
Diseo de Aplicaciones:
l l l l l l l l l l
Reglas de metodologa Representaciones grficas Diagramas del sistema Estndares de denominacin Reglas de integridad Estructuras de datos Definiciones de proceso Definiciones de clase rboles de men Criterios de rendimiento
l l l l l l l
Restricciones temporales Definiciones de pantalla Definiciones de informes Definiciones lgicas Lgicas de comportamiento Algoritmos Reglas de transformacin
37
6. El Repositorio CASE
Construccin: Cdigo fuente; cdigo objeto Instrucciones de construccin del sistema Imgenes binarias Dependencias de configuracin Informacin de cambios Validacin y Verificacin: Plan de comprobacin; casos de prueba de los datos Resultados de comprobaciones Anlisis estadsticos Mtricas de calidad del software
38
6. El Repositorio CASE
Informacin de gestin del proyecto: Planes de proyecto Estructura de desglose de tareas Estimaciones; planes Carga de recursos; informe de problemas Solicitudes de cambios; informes de estado Informacin de auditora
39
6. El Repositorio CASE
a) Respecto a los servicios que puede proporcionar, un repositorio robusto proporciona dos clases de servicios :
l l
Los tipos de servicios que se puede esperar de cualquier SGBD potente. Los servicios especficos de un entorno CASE.
Muchos de los requisitos de un repositorio son los mismos que las tpicas aplicaciones que se construyen con un SGBD. Es decir, muchos repositorios actuales utilizan un SGBD como tecnologa de gestin de datos bsica, entre estas caractersticas destacamos: l Almacenamiento de datos no redundante . l Seguridad: Contraseas, control de modificaciones, proporcionar utilidades de copias de seguridad y restauraciones automticas. l Posibilidad de realizar consultas e informes del contenido del repositorio. l Proporcionar mecanismos de importacin/exportacin para hacer transferencias de informacin. l Apoyo multiusuario. Permite que varios desarrolladores trabajen en el mismo proyecto al mismo tiempo.
Ingeniera del Software (3 I.T.I.S., I.T.I.G) Mdulo 4. Tema 16: Herramientas CASE 40
6. El Repositorio CASE
Por otra parte, el entorno CASE requiere demandas especiales con respecto al repositorio que van ms all de lo que est disponible directamente en un SGBD comercial. Entre estas caractersticas especiales de los repositorios CASE destacamos:
l
Almacenamiento de estructuras de datos sofisticadas . El repositorio debe admitir tipos de datos complejos tales como diagramas, documento, as como sencillos elementos de datos. Un repositorio tambin debe almacenar un modelo de informacin (un metamodelo) que describe la estructura, relaciones y semntica de los datos almacenados en l. Seguimiento de reglas . Permite seguir las reglas de una determinada metodologa a la hora de abordar un sistema de informacin. Interfaz de herramientas comn. El modelo de informacin del repositorio (metamodelo) contiene una interfaz com n que permite que toda una gama de herramientas interpreten el significado de los datos almacenados en l.
Mdulo 4. Tema 16: Herramientas CASE 41
6. El Repositorio CASE
l
Gestin de procesos/proyectos . Un repositorio contiene informacin no slo acerca de la aplicacin de software en s, sino tambin acerca de las caractersticas de cada proyecto particular, y del proceso general de la organizacin para ingeniera del software ( fases, tareas, etc.). Control de dependencias y gestin de cambios . El repositorio gestiona una amplia variedad de relaciones entre los elementos de datos almacenados en l. El mantenimiento de estas relaciones entre objetos se denomina administracin de enlaces. La capacidad de seguir la pista de todas estas relaciones es crucial para la integridad de la informacin almacenada en el repositorio y es una de las contribuciones ms importantes que efecta el concepto de repositorio para la mejora del proceso de desarrollo de software.
42