21
UML - Diagramas de interacción de Objetos

UML - Diagramas de interacción de Objetos · PDF fileUn diagrama de interacción consiste en un conjunto de objetos ... Los diagramas de secuencia destacan el orden temporal de los

Embed Size (px)

Citation preview

UML - Diagramas de interacción de

Objetos

Introducción

Los diagramas UML de secuencia y de colaboración (llamados

diagramas de interacción) se utilizan para modelar los aspectos

dinámicos de un sistema.

Un diagrama de interacción consiste en un conjunto de objetos

y sus relaciones, incluyendo los mensajes que se pueden enviar

entre ellos.

Los diagramas de secuencia destacan el orden temporal de los

mensajes. Los diagramas de colaboración destacan la organiza-

ción estructural de los objetos que envían y reciben mensajes.

objetoA:A objetoB:B objetoC:C

<<create>>

mensaje1( )

mensaje2( )

mensaje3( )

mensaje4( )

Ejemplos

Diagrama de secuencia:

destaca el orden temporal

de los mensajes.

objetoA:A

objetoB:B objetoC:C

1: <<create>>

2: mensaje1( )3: <<destroy>>2:

2.1: mensaje2( )

2.2: mensaje3( )

Diagrama de colaboración:

destaca la relación estructural

entre los objetos que interactúan

objetos

tiempo

<<destroy>>

Conceptos

Ambos diagramas (secuencia y colaboración) son semántica-

mente equivalentes. Se puede pasar de uno a otro sin pérdida

de información.

En los diagramas de secuencia, la linea de vida de un objeto

es la línea discontinua vertical, que representa la existencia

de un objeto a lo largo de un periodo de tiempo. El foco de

control es un rectángulo delgado que representa el periodo de

tiempo durante el cual un objeto ejecuta una acción.

Ejemplo

Ejemplo 1: Se quiere modelar una llamada a través de una

central telefónica.

Para esto se tienen cuatro objetos involucrados: dos interlocutores

(s y r), una central y una conversación. La secuencia empieza

cuando un interlocutor envía un mensaje a la central al descolgar

el auricular. La central da el tono de llamada, y el interlocutor marca

el número al que desea llamar. El tiempo de marcado debe ser

menor que 30 segundos.

Ejemplo

s:Interlocutor :Central r:Interlocutor

c:Conversación

descolgarAuricular( )

darTonoDeLlamada( )

*marcarDigito( )

marcando

{marcando.tiempoEjecucion < 30 segs}

enrutarLlamadas(s,n)

<<create>>

llamar( )

descolgarAuricular( ) conectar(r,s)

conectar(r) conectar(s)

Los interlocutopres r y s pueden

intercambiar información después

de conectarse.

Notación

Los diagramas de colaboración explican gráficamente

las interacciones entre las instancias del modelo (objetos).

Por ejemplo:

Notación

msg1() {

for i := 1 to 10 {

miB.mens2();

miC.mens3();

}

}

Un objeto se puede enviar

un mensaje a sí mismo:

Es posible representar iteraciones:

Notación

Secuencia de los mensajes en un diagrama de colaboración:

Notación

Es posible definir mensajes condicionales:

Notación

Es posible definir trayectorias mutuamente excluyentes:

Notación

Un multiobjeto, por ejemplo un arreglo en Java, se representa

como una pila de objetos:

Se pueden enviar mensajes a multiobjetos:

Notación

Ejemplo de crear un objeto y agregarlo a un multiobjeto:

Ejemplo

Ejemplo 2: Matricular un nuevo estudiante en la universidad.

Hay cuatro objetos involucrados: un encargado de matrícula,

un estudiante, un curso y la universidad. La acción comienza

cuando el encargado de matrícula crea un objeto estudiante,

lo añade a la universidad, y le pide al objeto estudiante que

se matricule. El objeto estudiante obtiene (de sí mismo) su

plan de estudio, e identifica los cursos que quiere matricular.

Ejemplo

s:Estudiante

matriculado = False

s:Estudiante

matriculado = True

r:EncargadoMatricula :Universidad

3.4: <<become>>

c1:Curso c2:Curso

1: <<create>>

3: matricular( )

3.3: agregar(s) 3.2: agregar(s)

3.1: obtenerPlanEstudios( )

2: agregarEstudiante(s)

{asociación} {asociación}

Uso de diagramas

La creación de los diagramas de secuencia depende de la formulación

de los casos de uso. Los casos de uso indican cómo los actores interac-

túan con el sistema. Durante la operación del sistema, los actores gene-

ran eventos, solicitando alguna operación a cambio.

Uso de diagramas de secuencia para modelar los casos de uso:

El diagrama de secuencia de un sistema es una representación que

muestra, en determinado escenario de un caso de uso, los eventos

generados por actores externos, su orden y los eventos internos del

sistema.

Uso de diagramas

Ejemplo: caso de uso para compra de productos en un supermercado.

Caso de uso: Comprar productos

Actores: Cliente, cajero

Tipo: Primario

Descripción: Un Cliente llega a la caja registradora con los artículos que

va a comprar. El Cajero registra los artículos y cobra el importe.

Al terminar la operación, el Cliente se marcha con los productos.

Uso de diagramas

Ejemplo: caso de uso para compra de productos en un supermercado.

Uso de diagramas

Ejemplo: caso de uso para compra de productos en un supermercado.

Def.: Un evento es una acción externa de entrada, que un actor produce

en el sistema. En el ejemplo anterior, se tienen tres eventos: pasarProducto,

terminarVenta y efectuarPago. Una vez que se identifican los eventos, se

registran en la entidad que corresponda. Por ejemplo:

Uso de diagramas

Ejemplo: caso de uso para compra de productos en un supermercado.

Para cada evento que se produce en el sistema, se debe hacer un

diagrama de colaboración. Ejemplo:

Referencia: Escuela superior Politécnica del Litoral.(s.f.). Modelado de objetos.