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.