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 |