Interaccion en java

21
Luis A. Guerrero UML - Diagramas de UML - Diagramas de interacción interacción

Transcript of Interaccion en java

Page 1: Interaccion en java

Luis A. Guerrero

UML - Diagramas de interacciónUML - Diagramas de interacción

Page 2: Interaccion en java

IntroducciónIntroducción

Los diagramas UML de secuencia y de colaboración (llamadosdiagramas de interacción) se utilizan para modelar los aspectosdinámicos de un sistema.

Un diagrama de interacción consiste en un conjunto de objetosy sus relaciones, incluyendo los mensajes que se pueden enviarentre ellos.

Los diagramas de secuencia destacan el orden temporal de losmensajes. Los diagramas de colaboración destacan la organiza-ción estructural de los objetos que envían y reciben mensajes.

Page 3: Interaccion en java

objetoA:A objetoB:B objetoC:C

<<create>>

mensaje1( )

mensaje2( )

mensaje3( )

mensaje4( )

EjemplosEjemplos

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 estructuralentre los objetos que interactúan

objetos

tiempo

<<destroy>>

Page 4: Interaccion en java

ConceptosConceptos

Ambos diagramas (secuencia y colaboración) son semántica-mente equivalentes. Se puede pasar de uno a otro sin pérdidade información.

En los diagramas de secuencia, la linea de vida de un objetoes la línea discontinua vertical, que representa la existenciade un objeto a lo largo de un periodo de tiempo. El foco decontrol es un rectángulo delgado que representa el periodo detiempo durante el cual un objeto ejecuta una acción.

Page 5: Interaccion en java

EjemploEjemplo

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 descolgarel auricular. La central da el tono de llamada, y el interlocutor marcael número al que desea llamar. El tiempo de marcado debe sermenor que 30 segundos.

Page 6: Interaccion en java

EjemploEjemplo

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 puedenintercambiar información despuésde conectarse.

Page 7: Interaccion en java

NotaciónNotación

Los diagramas de colaboración explican gráficamentelas interacciones entre las instancias del modelo (objetos).Por ejemplo:

Page 8: Interaccion en java

NotaciónNotación

msg1() { for i := 1 to 10 { miB.mens2(); miC.mens3(); } }

Un objeto se puede enviarun mensaje a sí mismo:

Es posible representar iteraciones:

Page 9: Interaccion en java

NotaciónNotación

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

Page 10: Interaccion en java

NotaciónNotación

Es posible definir mensajes condicionales:

Page 11: Interaccion en java

NotaciónNotación

Es posible definir trayectorias mutuamente excluyentes:

Page 12: Interaccion en java

NotaciónNotación

Un multiobjeto, por ejemplo un arreglo en Java, se representacomo una pila de objetos:

Se pueden enviar mensajes a multiobjetos:

Page 13: Interaccion en java

NotaciónNotación

Ejemplo de crear un objeto y agregarlo a un multiobjeto:

Page 14: Interaccion en java

EjemploEjemplo

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 comienzacuando el encargado de matrícula crea un objeto estudiante,lo añade a la universidad, y le pide al objeto estudiante quese matricule. El objeto estudiante obtiene (de sí mismo) suplan de estudio, e identifica los cursos que quiere matricular.

Page 15: Interaccion en java

EjemploEjemplo

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}

Page 16: Interaccion en java

Uso de diagramasUso de diagramas

La creación de los diagramas de secuencia depende de la formulaciónde 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 quemuestra, en determinado escenario de un caso de uso, los eventosgenerados por actores externos, su orden y los eventos internos delsistema.

Page 17: Interaccion en java

Uso de diagramasUso de diagramas

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

Caso de uso: Comprar productosActores: Cliente, cajeroTipo: PrimarioDescripció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.

Page 18: Interaccion en java

Uso de diagramasUso de diagramas

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

Page 19: Interaccion en java

Uso de diagramasUso 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 produceen 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:

Page 20: Interaccion en java

Uso de diagramasUso 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 undiagrama de colaboración. Ejemplo:

Page 21: Interaccion en java