Está en la página 1de 21

Universidad de Chile Departamento de Ciencias de la Computacin CC61J - Taller de UML

UML - Diagramas de interaccin

Luis A. Guerrero

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 organizacin estructural de los objetos que envan y reciben mensajes.

Ejemplos
Diagrama de secuencia: destaca el orden temporal de los mensajes.
objetos tiempo
mensaje4( ) objetoA:A objetoB:B objetoC:C

<<create>> mensaje1( ) mensaje2( ) mensaje3( )

objetoA:A
<<destroy>>

1: <<create>> 2: mensaje1( ) 3: <<destroy>> objetoB:B 2.1: mensaje2( ) 2.2: mensaje3( ) objetoC:C

Diagrama de colaboracin: destaca la relacin estructural entre los objetos que interactan

Conceptos

Ambos diagramas (secuencia y colaboracin) son semnticamente 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 descolgarAuricular( ) {marcando.tiempoEjecucion < 30 segs} darTonoDeLlamada( ) *marcarDigito( ) marcando enrutarLlamadas(s,n) <<create>> c:Conversacin llamar( ) descolgarAuricular( ) conectar(r,s) conectar(r) conectar(s) :Central r:Interlocutor

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
2: agregarEstudiante(s) r:EncargadoMatricula 1: <<create>> 3: matricular( ) 3.1: obtenerPlanEstudios( ) :Universidad

s:Estudiante matriculado = False 3.2: agregar(s) 3.4: <<become>> 3.3: agregar(s)

s:Estudiante matriculado = True

c1:Curso {asociacin}

c2:Curso {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 interactan con el sistema. Durante la operacin del sistema, los actores generan 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:

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 colaboracin. Ejemplo:

También podría gustarte