Sei sulla pagina 1di 20

UML - Diagramas de interaccin

Introduccin
Los diagramas UML de secuencia y de colaboracin (llamados
diagramas de interaccin) se utilizan para modelar los aspectos
dinmicos de un sistema.

Un diagrama de interaccin 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 colaboracin destacan la organiza-
cin estructural de los objetos que envan y reciben mensajes.
Diagrama de secuencia: objetoA:A objetoB:B objetoC:C

destaca el orden temporal


de los mensajes. <<creat e>>

mensaje1( )
objetos
mensaje2( )

tiempo mensaje3( )

mensaje4( )

objet oA:A
<<destroy>>

1: <<creat e>>
2: mensaje1( )
2:
3: <<dest roy >>

objet oB:B objet oC :C Diagrama de colaboracin:


destaca la relacin estructural
2.1: m ensaje2( )
2.2: m ensaje3( ) entre los objetos que interactan
Conceptos
Ambos diagramas (secuencia y colaboracin) son semntica-
mente equivalentes. Se puede pasar de uno a otro sin prdida
de informacin.

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


es la lnea discontinua vertical, que representa la existencia
de un objeto a lo largo de un periodo de tiempo. El foco de
control es un rectngulo delgado que representa el periodo de
tiempo durante el cual un objeto ejecuta una accin.
Ejemplo

Ejemplo 1: Se quiere modelar una llamada a travs de una


central telefnica.

Para esto se tienen cuatro objetos involucrados: dos interlocutores


(s y r), una central y una conversacin. La secuencia empieza
cuando un interlocutor enva un mensaje a la central al descolgar
el auricular. La central da el tono de llamada, y el interlocutor marca
el nmero al que desea llamar. El tiempo de marcado debe ser
menor que 30 segundos.
Ejemplo
s:Interlocutor :Central r:Interlocutor

descolgarAuricular( )
{marcando.tiempoEjecucion < 30 segs}
darTonoDeLlamada( )

*marcarDigito( )
enrutarLlamadas(s,n)
marcando
<<create>>
c:Conversacin

llamar( )
descolgarAuricular( )
conectar(r,s)

conectar(r) conectar(s)

Los interlocutopres r y s pueden


intercambiar informacin despus
de conectarse.
Notacin
Los diagramas de colaboracin explican grficamente
las interacciones entre las instancias del modelo (objetos).
Por ejemplo:
Notacin
Un objeto se puede enviar
un mensaje a s mismo:

Es posible representar iteraciones:

msg1() {
for i := 1 to 10 {
miB.mens2();
miC.mens3();
}
}
Notacin
Secuencia de los mensajes en un diagrama de colaboracin:
Notacin
Es posible definir mensajes condicionales:
Notacin
Es posible definir trayectorias mutuamente excluyentes:
Notacin
Un multiobjeto, por ejemplo un arreglo en Java, se representa
como una pila de objetos:

Se pueden enviar mensajes a multiobjetos:


Notacin
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 matrcula,


un estudiante, un curso y la universidad. La accin comienza
cuando el encargado de matrcula crea un objeto estudiante,
lo aade 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 r:EncargadoMatricula
2: agregarEstudiante(s)

:Universidad

1: <<create>> 3.1: obtenerPlanEstudios( )


3: matricular( )

s:Estudiante s:Estudiante

matriculado = False matriculado = True


3.4: <<become>>

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

c1:Curso c2:Curso

{asociacin} {asociacin}
Uso de diagramas
La creacin de los diagramas de secuencia depende de la formulacin
de los casos de uso. Los casos de uso indican cmo los actores interac -
tan con el sistema. Durante la operacin del sistema, los actores gene-
ran eventos, solicitando alguna operacin a cambio.

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


El diagrama de secuencia de un sistema es una representacin 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
Descripcin: Un Cliente llega a la caja registradora con los artculos que
va a comprar. El Cajero registra los artculos y cobra el importe.
Al terminar la operacin, 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 accin 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:
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 colaboracin. Ejemplo:

Potrebbero piacerti anche