vista lógica

74
Análisis y diseño orientado a objetos con UML VISTA LÓGICA (MODELO ESTÁTICO Y DINÁMICO) Clases Atributos y operaciones Responsabilidades Relaciones Asociación Multiplicidad Agregación Generalización Dependencia Mecanismos comunes. Estereotipos. Paquetes. Restricciones. Modelo Vista Controlador (MVC). Mapeo de clases a bases de datos relacionales. VISTA LÓGICA

Upload: thyago1211

Post on 13-Jun-2015

1.150 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Vista lógica

Análisis y diseño orientado a objetos con UML

VISTA LÓGICA (MODELO ESTÁTICO Y DINÁMICO) Clases

Atributos y operaciones Responsabilidades

Relaciones Asociación

Multiplicidad Agregación Generalización Dependencia

Mecanismos comunes. Estereotipos. Paquetes. Restricciones.

Modelo Vista Controlador (MVC). Mapeo de clases a bases de datos relacionales.

VISTA LÓGICA VISTA LÓGICA

Page 2: Vista lógica

• La Vista Lógica describe la estructura interna del sistema, es decir las partes que lo integran y cómo interactúan.

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Vista Lógica

Los diagramas de clase de UML nos permiten modelar esta vista del sistema

Page 3: Vista lógica

• Los diagramas de clase son uno de los diagramas más importantes y más utilizados de UML.

• Permiten capturar los elementos que integran la estructura interna del sistema así como su relaciones.

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de clase

Cliente

+nombre+apellido paterno+apellido materno+domicilio+telefonos

Factura

+numero+fecha+monto

+emitir()

Page 4: Vista lógica

Una clase representa un grupo de objetos con características y comportamiento comunes.

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Qué son las clases

Atributos Operaciones

Características externas y

visibles. Lo que la clase conoce.

Conjunto de acciones que

una clase realiza. Lo que la clase puede realizar.

Page 5: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Atributos

• Los atributos representan una propiedad de la clase definida en términos abstractos.

• Cada atributo puede tomar un valor en particular, determinando así el estado de un objeto en un momento determinado.

• Una clase puede tener varios atributos o ninguno.

• El conjunto de atributos definen la estructura de la clase.

Alumno

+nombre+apellido+segundo apellido+fecha nacimiento+domicilio+matricula

Page 6: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Operaciones

• Pueden ser algo hecho por o sobre la clase.

• Las operaciones de una clase pueden hacer uso de los atributos de la clase y modificar sus valores, cambiando así el estado.

• Las operaciones definidas en cada clase permiten cumplir con sus responsabilidades.

Elevador

+subir()+bajar()+detenerse()+abrirPuertas()+cerrarPuertas()+seleccionarPiso()-validarCapacidad()

Page 7: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Notación UML

Nombre de la clase

+ATRIBUTOS

+OPERACIONES()

Nombre de la clase

Page 8: Vista lógica

• Las clases se pueden construir desde tres perspectivas:

– CONCEPTUAL. Representando los conceptos del dominio que se está estudiando. Se dibujan sin importar el software con que se implementarán por lo que son independientes del lenguaje. Pueden ubicarse en el contexto del negocio (modelado de negocio) o del sistema.

– ESPECIFICACIÓN. Enfocados al diseño del software en su filosofía pero no en su implementación.

– IMPLEMENTACIÓN. Se expone por completo la implementación.

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Perspectivas

Page 9: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Perspectiva conceptual

Conceptos del dominio que se está estudiando. No importa el software con que se implementarán Son independientes del lenguaje. Pueden ubicarse en el contexto del negocio (modelado de negocio) o del sistema.

Pago

cantidad

Venta

fechahora

Pago-por

11

Page 10: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Perspectiva de especificación

Enfocados al diseño del software en su filosofía pero no en su implementación.

Pago

cantidad: Dinero

getDevolucion(): Dinero

Venta

fecha: Fechahora: Hora

getTotal(): Dinero

Pago-por

11

Page 11: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Perspectiva de implementación

Se expone por completo la implementación. Ligada a un lenguaje de programación orientado a objetos.

Pago

+cantidad: Dinero

+getDevolucion(): Dinero

Venta

+fecha: Date+hora: Date

+getTotal(): Dinero

Pago-por

11

Dinero

+monto: double

Page 12: Vista lógica

Las clases surgen de la terminología del problema.

Los sustantivos (cosas, personas, hechos) ya que pueden convertirse en clases del modelo.

Verbos que pueden ser operaciones de las clases o en clases por sí mismas.

Los atributos de una clase también se pueden identificar por sustantivos específicos que pueden tomar algún valor.

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Cómo identificar las clases

Page 13: Vista lógica

• En las perspectivas de especificación e implementación, los atributos y las operaciones se definen con mayor detalle:

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Atributos y Operaciones

Clase

-atributo: Tipo = default

+Operacion(): Tipo

visibilidadAuto

-marca: String-modelo: String-placa: String-transmision: String

+cargarGasolina(litros: double)+setters()+getters()

Page 14: Vista lógica

Todos los sistemas contienen varias clases.

Los objetos contribuyen al comportamiento del sistema colaborando unos y otros. Esta colaboración se representa a través de las relaciones

La existencia de una relación entre dos clases denota una vía de comunicación (enlace) por las que se puede enviar peticiones y mensajes entre ellas.

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Relaciones

Alumno

Curso

Profesor

Aula

Page 15: Vista lógica

• Existen varios tipos relaciones entre clases, los principales son:

• Dependencia• Asociación• Agregación• Composición• Herencia

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Relaciones

Page 16: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Relaciones

Dependencia

Asociación

Agregación

Composición

Herencia

Cuando los objetos de una clase trabajan temporalmente con objetos de otra clase.

Cuando los objetos de una clase trabajan con objetos de otra clase por tiempo prolongado.

Cuando una clase es propietaria del objeto pero comparte a otras clases la referencia del objeto. El objeto puede existir independiente de la clase.

Cuando una clase contiene objetos de otra clase. Los objetos no pueden existir independientes de la clase.

Cuando una clase es un tipo de otra clase.

+ d

ébil

+ f

uert

e

Page 17: Vista lógica

Es una relación “de uso” entre dos elementos, uno de ellos dependiente y el otro independiente (cliente

y proveedor).

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Dependencia

“ B depende de A “ es decir, B es el Cliente y A es el Proveedor.

BBAA

Page 18: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Dependencia

Teléfono Teléfono publicopublico ViajeroViajero

LíneaLíneaPuntoPunto

dibujar (inicio:Punto, fin:Punto)

Page 19: Vista lógica

Es una relación estructural que especifica que los objetos de un elemento están conectados con los objetos de otro.

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Asociación

BBAA

Por cada instancia de uno pueden existir “n” instancias del otro.

Page 20: Vista lógica

Las asociaciones de representan que una instancia de A ”tiene“ instancias de B.

La asociación puede ser nombrada con algún verbo que describa de forma más precisa el tipo de relación entre dos clases, por ejemplo: vende, imparte, participa, realiza.

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Asociación

Persona Revistasuscribe +revista suscrita+suscriptor

0..*0..*

Personas se suscriben a revistas.

Page 21: Vista lógica

En las asociaciones además se especifica la multiplicidad,

Es decir el número instancias de una clase con respecto a la otra.

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Multiplicidad

Exactamente uno

Cero o más

Uno o más

Cero o uno

Rango específico

1

0..*

1..*

0..1

2..4

Muchos*

Page 22: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Asociación

FarmaciaFarmacia

EquipoEquipo

MedicamentoMedicamentodistribuyedistribuye

*

*

PartidosPartidosjuegajuega

*

2

TrabajadorTrabajadorempleaemplea

*

1EmpresaEmpresa

EstudianteEstudiantealojaaloja

0..4

0..1DepartamentoDepartamento

Page 23: Vista lógica

Es una relación donde una de las clases es parte de la otra.

Si la clase contenedora es destruida, la clase contenida puede permanecer.

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Agregación

BBAA

“ B es parte de A”

“ A contiene B ”

Page 24: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Agregación

VentaVenta ClienteCliente

LlantaLlantaAutoAuto

JugadoresJugadoresEquipoEquipo

Page 25: Vista lógica

Al igual que la agregación, es una relación de “todo-partes” pero más fuerte.

El tiempo de vida de las partes depende directamente la clase contenedora.

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Composición

BBAA

“ B es componente de A”

“ A se compone de B ”

Page 26: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Composición

CorazónCorazónPersonaPersona

LápizLápiz PuntaPunta

Libro Capítulo

Page 27: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Composición vs. Agregación

CapítuloCapítuloLibroLibro

BibliotecaBiblioteca LibroLibro

Page 28: Vista lógica

Representa una relación “es un”.

La subclase hereda los métodos y atributos de la superclase, además de poseer sus propios métodos y atributos

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Herencia

BB

AA

“ B es un tipo de A”

“ A se especializa en B ”

Page 29: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

ParticularParticular

TransporteTransporte

PúblicoPúblico

Herencia

DestajoDestajo

EmpleadoEmpleado

AsalariadoAsalariado HonorariosHonorarios

Page 30: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Ejercicio 7

Page 31: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Mecanismos comunes

Sirven para adaptar el lenguaje a necesidades particulares, dentro de un marco ordenado respetando reglas.

Se usan para extender el lenguaje (UML) de manera controlada.

Mecanismos: •especificaciones•adornos•divisiones comunes•mecanismos de extensibilidad.

Page 32: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Mecanismos comunes - Especificaciones

Los modelos UML tienen al menos dos dimensiones: una dimensión gráfica y una textual.

Las especificaciones son descripciones textuales de la semántica de un elemento.

Explicación textual de la sintaxis y semántica de los bloques de construcción.

CuentaBancariaCuentaBancaria

Semántica plano posterior Especificación de clase

Especificación caso de uso

Especificación dependencia

Page 33: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Mecanismos comunes - Adornos

No hay necesidad de mostrarlo todo en un diagrama, es más importante que el diagrama sea claro.

Los adornos son elementos que hacen visibles aspectos de la especificación del elemento:

CuentaBancariaCuentaBancaria

CuentaBancariaCuentaBancaria

Elemento sin adornos

Elemento con adornos

{autor: Juan, estado: probado}

- numeroCuenta: long-proietario: Cliente- saldo: long

# retirar(): long# calculaInteres(): void# depositar(): void

Page 34: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Notas

Las notas, es el tipo de adorno más utilizado.

Una nota es un símbolo gráfico utilizado para contener restricciones o comentarios vinculados a un elemento o colección de elementos.

Permiten adjuntar información como: observaciones, revisiones o explicaciones.

Semaforo

+estado

+cambiar()

Un semaforo víal de tres estados

Page 35: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Mecanismos comunes – Divisiones comunes

Existen dos divisiones comunes en UML:

clasificador/instanciae

interfaz/implementación.

(…más)

Page 36: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Mecanismos comunes – Divisiones comunes Clasificador /Instancia

La noción abstracta de un tipo de elemento es un clasificador.

Los elementos específicos, concretos, las instancias.

Ejemplo:

Alumno

+nombre+apellidos+matricula+fechaNacimiento

J uan : Alumno

: Alumno

Page 37: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Mecanismos comunes – Divisiones comunesinterfaz / implementación

El principio es separar qué hace algo (interfaz) de cómo lo hace (implementación).

La interfaz define un contrato que garantiza seguir implementaciones específicas.

Volador

Avión

Helicoptero

Superhéroe

Volador

+despegar()+planear()+aterrizar()

Page 38: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Mecanismos de extensibilidad

Estereotipos Paquetes Notas Restricciones Valores etiquetados

Page 39: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Estereotipos

•Los estereotipos son un mecanismo de extensibilidad del UML.

•Un estereotipo amplía el vocabulario del UML, permitiendo crear nuevos tipos de bloques de construcción, derivados de los existentes y específicos para determinado problema.

•Se presentan como palabras entre paréntesis triangulares

<< estereotipo >>

•Aplican a diversos elementos de UML como: Clases, Casos de Uso, Relaciones, Actores, etc.

Page 40: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Estereotipos

Actor<<Sistema>><<Sistema>>

<<Tabla>><<Tabla>>

<<uses>><<uses>>

<<servidor><<servidor>>>

<<java>><<java>>

Page 41: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Paquetes

Un paquete es el elemento de organización básica de un modelo de sistema UML.

Puede considerarse todo el sistema como un paquete que contiene los demás paquetes, diagramas y elementos.

Un paquete puede contener paquetes subordinados, diagramas o elementos únicos,

Paquete

java

lang

Page 42: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Restricciones

Las restricciones permiten añadir especificaciones, condiciones o limitaciones más detalladas.

Condiciones que deben cumplirse para que el modelo este bien formado.

{ restricciones }{ restricciones }

Alumno

+nombre+apellidos+matricula+fechaNacimiento

{mayor de edad}

Curso

Page 43: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Valores etiquetados

Proporcionan una forma de ampliar la especificación al permitir añadir nueva información a un elemento.

Es una palabra clave que puede tener un valor anexado.

{ etiqueta1=valor1, etiqueta2=valor2 }

Servidor

{procesadores = 3}

Un valor etiquetado no es lo mismo que un atributo de clase

Más bien es un metadato que se aplica al elemento, no a sus instancias

{Autor=J uan Pérez}

Cliente

+nombre+apellido paterno+apellido materno+domicilio+telefonos

Page 44: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Modelo – Vista - Controlador

Page 45: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Modelo – Vista - Controlador

La triada de clases Modelo/Vista/Controlador se uso para construir interfaces de usuario en Smalltalk 80.

Consiste en tres tipos de objetos

Modelo Es el objeto de aplicación

Vista Es su representación en pantalla

ControladorDefine el modo en que la interfaz reacciona a la entrada del usuario.

Antes de MVC las interfaces agrupaban los tres objetos en uno solo

MVC los separa para incrementar la flexibilidad y reutilización.

Page 46: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Modelo – Vista - Controlador

MVC desacopla las vistas de los modelos estableciendo entre ellos un protocolo de suscripción/notificación

Cada vista debe reflejar el estado del modelo y cada vez que los datos del modelo cambian este “avisa” a las vistas que dependen de él.

En respuesta a estos “avisos” las vistas se actualizanEsto permite crear nuevas vistas sin modificar el modelo.

A = 50%B = 30%C = 20%

vistas

modelo

Page 47: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Modelo – Vista - Controlador

Aplicable a un problema general: desacoplar objetos de manera que los cambios en uno puedan afectar a otros sin necesidad de que el objeto conozca los detalles de los otros. (Patrón Observer)

Observers Subject

Suscriptores Periódico

Page 48: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Modelo – Vista - Controlador

MVC y una aplicación Web

Cliente

CGI / Controlador

Value object

Página / Vista

DB

Modelo / BD / lógica del negocio

4

1

2

Crea instancias dePetición HTTP

3

5 Respuesta HTTP

Page 49: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Modelo – Vista - Controlador

MVC y una aplicación Web

1 El cliente realiza una petición HTTP la cual es recibida por un CGI.

2 El CGI actúa como un controlador y procesa la petición. Es probable que realice una petición al modelo (usualmente la base de datos). El resultado de procesar la petición se estructura en la forma de un value object.

3 El controlador direcciona el control a la vista. Representada por una página web (php, asp, jsp). La responsabilidad de la página es generar la vista del modelo el cual obtiene con del value object.

4

5 La vista regresa una página al navegador vía una respuesta HTTP.

Page 50: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Mapeo de clases a bases de datos relacionales

Page 51: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Mapeo de clases a bases de datos relacionales

Cómo modelar un esquema

1. Identificar clases persistentes2. Crear un diagrama de clases que contenga las clases

marcadas como persistentes3. Expandir detalles estructurales de estas clases4. Centrar la atención en las relaciones que estructuran las

clases y en su cardinalidad.

Page 52: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Mapeo de clases a bases de datos relacionales

Mapeo de clases a Base de Datos

Cada clase identificada como persistente se mapea a una tabla:

Cliente

nombre

direccion

telefono

Tabla Cliente

clienteID nombre dirección teléfono

Page 53: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Mapeo de clases a bases de datos relacionales

Mapeo de clases a Base de Datos

Relaciones de uno a muchos

Tabla Cliente

clienteID nombre direccion telefono

Cliente

nombredirecciontelefono

Renta

fechadevuelto

0..*

11

0..* Tabla Renta

rentaID fecha devuelto clienteID

Page 54: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Mapeo de clases a bases de datos relacionales

Mapeo de clases a Base de Datos

• Relaciones de muchos a muchos

Table ProductoIngrediente

productoID ingredienteID

Producto

Ingrediente

1..*

0..*

1..*

0..*

Page 55: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Mapeo de clases a bases de datos relacionales

Mapeo de clases a Base de Datos

Relaciones de herencia:

Cada subclase es mapeada a una tabla separada con una columna adicional por cada atributo heredado.

Todas las clases de la jerarquía son mapeadas a una única tabla, agregando columnas para todos los atributos de la jerarquía.

Page 56: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de interacción

Page 57: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de interacción

Una interacción establece el escenario para un comportamiento del sistema introduciendo todos los objetos que colaboran para realizar alguna acción. Incluyen los mensajes enviados entre objetos. La mayoría de las veces, un mensaje implica la invocación de una operación o el envío de una señal.

Las interacciones se usan para modelar el flujo de control dentro de una operación, una clase, un componente, un caso de uso o el propio sistema.

Page 58: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de interacción

Un diagrama de interacción es una representación gráfica de interacciones entre objetos. Hay dos tipos de diagramas de interacción:

1. Diagramas de secuencia

2. Diagramas de colaboración

Cada uno provee un punto de vista diferente de la misma interacción Los diagramas de secuencia están ordenados de acuerdo al tiempo Los diagramas de colaboración muestran la organización entre objetos.

Page 59: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de interacción

CBA

m1

m2

m3

m4

m5

Page 60: Vista lógica

Cliente AgenteBilletes AyudaPlanificacion

1<<create>>

2 : establecerItinerario()

3 : calcularRuta()

4 : ruta

5<<destroy>>

6 : notificar

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

objeto

Creación

LlamadaLlamada

(invocación local)

Retorno

Valor de retorno

Destrucción

Envío

Page 61: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de interacción

: Bank ClerkA1 : Account A2 : Account

transfer

withdraw

deposit

Page 62: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de interacción

A2 : Account : Bank Clerk

A1 : Account : Transfer

transferwithdraw

Deposit

Page 63: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de interacción

: Bank Clerk : TransferScreen : Transfer A1 : Account A2 : Account

Enter Amount

Enter Source Account

Enter Destination Account

TransferTransfer

Withdraw

Deposit

Page 64: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de colaboración

– Un diagrama de colaboración es una forma alternativa de representar los mensajes intercambiados por un conjunto de objetos

– El diagrama muestra interacciones de objeto organizadas alrededor de los objetos y sus ligas a cada uno

– Un diagrama de colaboración contiene: Objetos Ligas entre objetos Mensajes intercambiados entre objetos Flujo de datos entre objetos, si hay alguno

Page 65: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de colaboración

John : Alumno

forma de registro

forma horarioclases disponibles

1: introducir id

2: validar id

3: introducir semestre actual

4: crear nuevo horario5: desplegar

6: obtener cursos

Page 66: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de colaboración

John : Alumno

forma de registro

forma horarioclases disponibles

1: introducir id

2: validar id

3: introducir semestre actual

4: crear nuevo horario5: desplegar

6: obtener cursos

mensajeNúmero de secuencia

objetoenlace

objeto

Page 67: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de estado

Page 68: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de estado

Describe el comportamiento dinámico de los objetos en un cierto plazo.

Los diagramas de estado se usan para mostrar la historia de vida de una clase dada, los eventos que causan una transición de un estado a otro, y las acciones que resultan de un cambio de estado.

El estado de un objeto es una de las condiciones posibles en las que puede existir un objeto.

Page 69: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de estado

Estado

Estado secuencial

Estado concurrente

Estado A

Estado B

Estado A

Estado B

Estado 1

do : Operación

Acción

do : Operación

Fin

Inicio

ELEMENTOS DE UN DIAGRAMA DE ESTADO

Page 70: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de estado

EstadoUn estado es una de las condiciones posibles en las que puede existir un objeto. 

EventoEs la ocurrencia de alguna situación que sucede en un punto del tiempo; tiene una localización en tiempo y espacio.

 Ocurre en un punto en el tiempo y no tiene duración. Evento de llamada Evento de señal Evento de cambio Eventos de tiempo

Page 71: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de estado

TransiciónUna transición es un cambio de un estado original a un estado sucesor como resultado de algunos estímulos.Las transiciones pueden ser restringidas por:o        Evento señalo        Llamadao        Cambio de eventoo       Tiempo del evento.

Page 72: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de estado

Infancia Adolescencia

Madurez

Senectud

encendido

despegue

aterrizando

apagado

volando

Page 73: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de estado

addStudent

Initialize

do: Initialize course object

Unassigned

do: Assign professor to course

Open

entry: Register a student

Closed

do: Report course is full

Canceled

do: Send cancellation notices

addStudent/ numStudents = 0

cancelCourse

RegistrationComplete

do: Generate class roster

cancelCourse

[ numStudents = 10 ]

cancelCourse

[date = end]

registration closed[

numStudents < 3 ]

Page 74: Vista lógica

Diplomado de Bases de Datos - Modelado Orientado a Objetos

Análisis y diseño orientado a objetos con UML Vista Lógica

Diagramas de estado

principal<<ventana>>

Altas<<ventana>>

"Listo/Cancelar"

"Nuevo miembro"

Impresión de credencial<<ventana>>

"Imprimir"

"Listo/Cancelar"

"Salir"

"Baja"<<ventana>>

"Terminar membresia"

"Listo/Cancelar"