uml - diagramas de interacción de objetos · pdf fileun diagrama de interacción...
Post on 05-Feb-2018
244 Views
Preview:
TRANSCRIPT
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
Un multiobjeto, por ejemplo un arreglo en Java, se representa
como una pila de objetos:
Se pueden enviar mensajes a multiobjetos:
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.
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:
top related