Realización
Relación entre clasificadores, un clasificador
Especifica un contrato que otro clasificador garantiza
que cumplirá.
ICollection
add()
remove()
contains()
<>
List
ICollection
List
Interfaces, tipos y roles
Una interfaz es una colección de operaciones que especifican los servicios de una clase o componente.
Las interfaces modelan las líneas de separación o puntos de conexión (seams) de un sistema.
Una interfaz permite separar la especificación de la implementación.
Un tipo especifica un dominio de valores junto con operaciones (no métodos) aplicables a esos valores.
Un rol denota el comportamiento de una entidad dentro de un particular contexto.
Interfaces
Interfaz requerida
Interfaz
proporcionada
Clases Estructuradas
Clases Estructuradas
Estructura interna de una clase
Biblioteca
estudiante: Prestatario [0..*]
(Gp:) PrestamoEstud: Prestamo [0..4]
personal: Prestatario [0..*]
(Gp:) PrestamoPerso: Prestamo [0..9]
:Libro: [0..*]
0..*
1
1
0..*
:Bibliotecario [1..*]
biblioConectado:Bibliotecario [0..1]
Diagrama de estructura compuesto
Biblioteca
estudiante: Prestatario [0..*]
(Gp:) PrestamoEstud: Prestamo [0..4]
personal: Prestatario [0..*]
(Gp:) PrestamoPerso: Prestamo [0..9]
Libro: [0..*]
0..*
1
1
0..*
:Bibliotecario [1..*]
biblioConectado:Bibliotecario [0..1]
Paquetes
Elemento organizativo
Puede agrupar elementos de cualquier tipo
Permite agrupar elementos relacionados semánticamente
Un elemento es exclusivo a un paquete:
Si eliminamos el paquete se elimina el elemento
Establece un espacio de nombres
Posibilidad de anidar paquetes
Paquetes: Notación
Importación/Exportación en paquetes
Visibilidad pública y privada
Relaciones de importación y generalización.
La parte pública de un paquete son sus exportaciones.
Cuando un paquete A importa a otro B, todos los elementos públicos de B son añadidos a A, se accede a ellos sin calificar su nombre.
La complejidad de un gran número de abstracciones es controlada a través de los paquetes y de la importación.
Importación/Exportación en paquetes
La relación de acceso es igual que la importación, pero los elementos públicos son añadidos como privados.
La relación de importación es transitiva.
Importación y acceso se representan mediante relaciones de dependencia estereotipadas con <> y <>.
Los paquetes anidados tienen acceso al espacio de nombres del paquete que los contiene.
(Gp:) Servidor
(Gp:) + BaseDeDatos
(Gp:) + ServicioDeRegistro
(Gp:) Cliente
(Gp:) + FormularioPedido
(Gp:) + FormularioDeSeguimiento
(Gp:) – Pedido
(Gp:) GUI
(Gp:) + Ventana
(Gp:) + Formulario
(Gp:) # GestorEventos
(Gp:) Politicas
(Gp:) + ReglasPedidos
(Gp:) + GUI:Ventana
(Gp:) <>
(Gp:) <>
<>
<>
<>
Generalización de Paquetes
(Gp:) WindowsGUI
(Gp:) + GUI:Ventana
(Gp:) + Formulario
(Gp:) – GUI:GestorEventos
(Gp:) + VBForm
(Gp:) GUI
(Gp:) + Ventana
(Gp:) + Formulario
(Gp:) – GestorEventos
(Gp:) MacGUI
Paquetes
Un paquete bien estructurado debe:
ser cohesivo
estar poco acoplado
pocos anidamientos
conjunto equilibrado de elementos
Uso de los paquetes
Agrupar elementos relacionados para manejarlos en conjunto. Ejemplos:
Paquete “Clases e interfaces del modelo”
Paquete “Interfaces de usuario”
Paquete “Servicios base de datos”
Paquete “Modelo del análisis”
Uso de los paquetes
(Gp:) Modelo de
Análisis
Modelo
Un modelo captura una vista de un sistema físico.
Es una abstracción de ese sistema con cierto propósito, para cierto conjunto de personas interesadas y a cierto nivel de abstracción.
Un modelo contiene todos los elementos de modelado necesarios.
Un modelo y sus elementos se representan mediante diagramas, que expresan una vista del modelo.
Modelo
Vistas UML: 4 + 1
Vista de Diseño
Vista de Implementacion
Vista de Interacción
Vista de Despliegue
Vista de casos de uso
vocabulario
funcionalidad
ensamblado
gestion conf.
topología
entrega
distribución
instalación
capacidad de procesamiento
escalabilidad
rendimiento
comportamiento
Vistas UML: 4 +1
Vista de Diseño
Vista de Implementacion
Vista de Interacción
Vista de Despliegue
Vista de casos de uso
clases
interfaces
colaboraciones
componentes
nodos
clases activas
casos de uso
Vistas UML
Vista de Diseño
Vista de Implementación
Vista de Interacción
Vista de Despliegue
Vista de casos de uso
Diagramas de clase
Diagramas de interacción
Diagramas de estado
Diagramas de componentes
Diagrama de interacción
Diagramas de estado
Diagramas de despliegue
Diagramas de casos de uso
Diagramas de clase
Diagramas de interacción
Diagramas de estado
Contenidos
Modelado del Comportamiento
Diagramas de interacción
Diagramas de actividades
Máquinas de estado
Componentes
Modelado de la Implementación
Artefactos y despliegue
Diagramas de despliegue
Colaboraciones
UML, Metamodelado y MDA
Enlaces y Conectores
Un enlace es :
una conexión semántica entre objetos.
comúnmente es una instancia de una asociación.
un camino por el cual enviar un mensaje
Una línea de vida es un participante en una interacción.
Un conector es un enlace entre líneas de vida
Enlaces y Asociaciones
mensaje
enlace
objeto
Enlaces
Restricciones para expresar la naturaleza del enlace:
association
self
global
local
parameter
Diagrama de Objetos
Diagrama de Objetos
Diagrama de Objetos
alumnos *
profesores *
grupos *
Interacciones y Mensajes
Interacción: Comportamiento que comprende un conjunto de mensajes intercambiados entre un conjunto de líneas de vida dentro de un contexto para lograr un propósito.
Mensaje: especificación de una particular comunicación entre líneas de vida de una interacción que transmite información, con la expectativa de desencadenar una actividad.
Líneas de Vida
mensaje
línea de
vida
irene:Persona
umu: Empresa
asignar(desarrollo)
Líneas de Vida
mensaje
conector
línea de
vida
:Empresa
irene:Persona
umu: Empresa
Tipos de mensajes
Síncrono
El emisor espera hasta recibir el resultado
Asíncrono
El emisor no espera a recibir el resultado
Retorno
Indica el retorno de una llamada
Creación y destrucción
<> y <>
Modelado del comportamiento
Se describe cómo los objetos colaboran entre sí para realizar cierta actividad.
Se expresan mediante los diagramas de interacción:
Diagramas de Secuencia y Diagramas de Comunicación
También se describe las máquinas de estado que caracterizan a los objetos y flujos de actividades
Diagramas de estado
Diagramas de actividades
Diagramas de Interacción
Describen una interacción y hay dos tipos.
Diagramas de Secuencia:
Destacan la ordenación temporal de los mensajes
Diagramas de Comunicación:
Destacan la organización estructural de los objetos participantes.
Equivalencia semántica
Diagramas de Secuencia
Incluye:
Líneas de vida (antes objetos y su línea de tiempo )
Focos de control o activación
Mensajes: a instancias o de creación
Mensaje self
Información de control (en UML 2 sólo en diagramas de comunicación): condiciones y marcas de iteración
Indicar el objeto devuelto por el mensaje: return
(añadirlos sólo cuando ayuden a clarificar la interacción)
Mensajes
Simple: metodo(arg)
Creación de objetos: <>
Destrucción de objetos: <>
Asignación: v:= método(arg)
Identificar hilo: número del mensaje en la secuencia precedido por el nombre del proceso o hilo
En UML 2.0 en diagramas de comunicación:
Condición: [condicion] metodo(arg)
Iteración: * metodo(arg), [1..n] metodo(arg)
Numeración jerárquica o secuencial o ninguna
Mensajes
Simple: preparar(), addPedido(p)
Condición: [condicion] metodo(arg)
Iteración: * preparar()
Asignación: hayStock:= eliminar()
Identificar hilo: D3 : activar()
Diagrama de Comunicación
c:Cliente
:Transaccion
p:ProxyODBC
1: <>
2: establecerAcciones
3: establecerValores
4: establecerValores
6: <>
t {local}
proxy {global}
{new}
Operadores de control
Ejecución opcional (opt)
El cuerpo se ejecuta si se cumple una condición
Ejecución condicional (alt)
El cuerpo se divide en varias regiones, cada una con una condición asociada. Se ejecuta el cuerpo de la región cuya condición se satisface.
Ejecución paralela (par)
El cuerpo se divide en varias regiones. Cada región representa una computación paralela. Se ejecuta de forma paralela el cuerpo de cada región
Ejecución iterativa (loop)
El cuerpo se ejecuta mientras se cumple una condición
Ejecución referencia (ref)
El cuerpo hace referencia a otra interacción
Uso de los diagramas de interacción
Modelado del aspecto dinámico.
Modelado del flujo de control que caracteriza el comportamiento de un sistema:
casos de uso
colaboraciones
patrones
frameworks
operaciones
Diagramas de Secuencia vs. Diagramas de Comunicación
Equivalencia semántica
Simples para comportamientos simples.
Si hay mucho comportamiento condicional, usar diferentes escenarios.
Diagramas de secuencia muestran mejor el orden en que se ejecutan los mensajes
Diagramas de colaboración muestran claramente los objetos a los que está conectado un determinado objeto.
Permiten la generación de código
Diagramas de Actividad
Representa una actividad.
Basados en las redes de Petri.
Formado por nodos conectados por arcos:
nodos acción y actividad
nodos de control, como control de concurrencia y decisión
nodos objeto
flujos de control y de flujo de objetos
Una actividad o una acción produce algún efecto que provoca algún cambio en el sistema o retorna un valor.
Nodos de Actividad
Nodos de acción
Realizan un trabajo: llamadas a operaciones, actividades, comportamiento, envío de señales, aceptar un evento.
Nodos de control
Controlan el flujo de la actividad
Nodos de objetos
Objetos o datos utilizados en la actividad
Flujo de control de la actividad
Flujo de objetos en la actividad
Semántica actividades
Basada en el flujo de tokens.
Un token contiene un dato, objeto o punto de control y está presente en un nodo.
Un nodo inicia la ejecución cuando se satisfacen las condiciones sobre sus tokens de entrada; al inicio acepta tokens de sus entrada y un token es colocado en el nodo; al finalizar ofrece tokens a sus arcos de salida y elimina el token.
Existen reglas de flujo de tokens
Página anterior | Volver al principio del trabajo | Página siguiente |