diagramas de interaccion de objetos

Post on 21-Jun-2015

26.746 Views

Category:

Education

11 Downloads

Preview:

Click to see full reader

DESCRIPTION

Conceptos acerca de los diagrams de interaccion de objetos (DIO). Concepto, notación y ejemplos

TRANSCRIPT

UML - Diagramas de interacción de UML - Diagramas de interacción de ObjetosObjetos

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.

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>>

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.

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.

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.

NotaciónNotación

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

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:

NotaciónNotación

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

NotaciónNotación

Es posible definir mensajes condicionales:

NotaciónNotación

Es posible definir trayectorias mutuamente excluyentes:

NotaciónNotación

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

Se pueden enviar mensajes a multiobjetos:

NotaciónNotación

Ejemplo de crear un objeto y agregarlo a un multiobjeto:

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.

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}

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.

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.

Uso de diagramasUso de diagramas

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

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:

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:

top related