Download Diagramación de Arquitecturas en UML
Document related concepts
no text concepts found
Transcript
Diagramación de Arquitecturas en UML Arquitectura de Objetos Distribuidos Tipos de diagramas • Diagramas de paquetes – Descomposición en subsistemas (grupos de clases) • Diagramas de componentes – Componentes de software (API s) • Diagramas de emplazamiento (deployment) – Mapeo del sistema en hardware • Diagramas de secuencias – Comportamiento dinámico del sistema Diagramas de Paquetes • Los paquetes son usados en diagramas de clases para agrupar clases relacionadas • Útil cuando la complejidad del diagrama de clases dificulta realizar el diagrama • En arquitecturas permite agrupar clases y minimizar dependencia (bajo acoplamiento) Elementos de diagramación: Paquete Paquete Dependencia Ejemplo – Diagrama de paquetes IU captura de pedidos IU lista de correo AWT Aplicación de captura de pedidos Pedidos Aplicación de lista de correos Clientes Ejemplo–Diagrama de paquetes (2) IU captura de pedidos IU lista de correo AWT Aplicación de captura de pedidos Aplicación de lista de correos Dominio Pedidos Clientes Interfaz Oracle Interfaz con base de datos {abstracta} Interfaz MySQL Componente de software • Un componente de software es un elemento de software que: – Cumple con ciertos estándares de interacción y composición – Puede ser emplazado en forma independiente y sin modificaciones Definiciones • Componente software Unidad de composición de aplicaciones de software, que posee un conjunto de interfaces y satisface un conjunto de requisitos, y que puede ser desarrollado, adquirido e incorporado al sistema y compuesto con otros componentes de forma independiente, en tiempo y espacio. • Sistema basado en componentes Conjunto de mecanismos y herramientas que permiten la creación e interconexión de componentes de software, junto con una colección de servicios para facilitar las labores de los componentes que residen y se ejecutan en él. Definiciones (2) • Modelo de componentes Definición de la forma de sus interfaces y los mecanismos para interconectarlos (DCE, COM, JavaBeans, CORBA, .NET framework). • Plataforma de componentes Entorno de desarrollo y de ejecución de componentes que permiten aislar la mayor parte de las dificultades conceptuales y técnicas que conlleva la construcción de aplicaciones basadas en los componentes de un modelo de componentes concreto (Windows - COM, EJB, Orbix - Corba, .NET). Definiciones (3) • Interfaz de un componente Determina las operaciones que el componente implementa como las que precisa utilizar de otros componentes durante la ejecución. Usualmente son los métodos públicos que el componente implementa más los eventos que emite. • Eventos Especifican la forma en la que el componente notifica al exterior una respuesta a un estímulo externo o bien un cambio en una condición interna. Se especifica la condición para que se produzca, pero no cómo tratarlo. Middleware de componentes … … … … Container Container Middleware Bus Replication Security A/V Streaming Persistence Scheduling Notification Load Balancing • Componentes encapsulan la lógica de la aplicación • Componentes interactúan via puertos • Ofrecen interfaces, o “facetas” • Requieren puntos de conexión, o “receptáculos” • Depósitos & fuentes de eventos • Atributos • Contenedores ofrecen un ambiente de ejecución para componentes con requerimientos comúnes de operación • Componentes/contenedores pueden también • Communicarse via un middleware • Reutilizar servicios del middleware Diagramas de Componentes • Un componente es una parte física de un sistema (ejecutable, librería, archivo, etc.) • Implementación de una o más clases • Un componente implementa (o realiza) una interfaz Elementos de diagramación: Interfaz :componente.java Componente Conexión Ejemplo: Diagrama de componentes imagen.java componente.java <<interface>> ObservadorDeImagen imagen.java abortar: int {final static} error: int {final static} componente.java actualizarImagen(): Boolean • El componente componente.java realiza la interfaz ObservadorDeImagen • El componente imagen.java depende del componente componente.java Diagramas de Emplazamiento • Muestra la relación entre componentes de software y de hardware • Cada nodo representa una unidad de cómputo • Muestra donde se ejecuta cada paquete Elementos de diagramación: Nodo :Componente Componente Conexión Ejemplo: diagrama de emplazamiento Servidor Web TCP/IP :App servlet :Servidor web Cliente PDA :Browser web Cliente PDA :Browser Wap WAP Ejemplo: Diagrama de Emplazamiento Ejemplo: Diagrama de Emplazamiento Ejercicio • La Universidad del Caribe cuenta con 6 facultades ubicadas en distintos municipios del estado de Quintana Roo. • Cada universidad cuenta con su propia biblioteca y se desea que cualquier estudiante o profesor de la universidad pueda consultar, y pedir a préstamo cualquier libro de las facultados Ejercicio • Se desea que se puedan realizar las consultas y solicitudes de préstamo a través de un browser. • El préstamo entre bibliotecas se realiza cada viernes. • Hacer un diagrama de arquitectura para dicho sistema.