DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede...

15
DIAGRAMAS DE INTERACCIÓN ¿Qué es una Interacción? Es un esquema de intercambios de mensajes que se realizan para lograr un propósito específico es lo que se denomina una interacción. Un mensaje es una comunicación unidireccional entre dos objetos, un flujo de objeto con la información de un remitente a un receptor. Un mensaje puede tener parámetros que transporten valores entre objetos. Un mensaje puede ser una señal o una llamada. DIAGRAMAS DE INTERACCIÓN Conjunto de objetos y sus relaciones, incluyendo los mensajes que se pueden enviar entre ellos. Estos objetos interactúan para realizar colectivamente los servicios ofrecidos por las aplicaciones. En sí, los diagramas de interacción muestran cómo se comunican los objetos. La vista de interacción describe secuencias de intercambios de mensajes entre los roles que implementan el comportamiento de un sistema. Un rol clasificador, o simplemente "un rol", es la descripción de un objeto, que desempeña un determinado papel dentro de una interacción, distinto de los otros objetos de la misma clase. Esta visión proporciona una vista integral del comportamiento del sistema, es decir, muestra el flujo de control a través de muchos objetos. La vista de interacción se exhibe en dos diagramas centrados en distintos aspectos pero complementarios: centrados en los objetos individuales y centrados en objetos cooperantes. Los diagramas de interacción se utilizan para modelar los aspectos dinámicos de un sistema, lo que conlleva modelar instancias concretas o prototípicas de clases interfaces, componentes y nodos, junto con los mensajes enviados entre ellos, todo en el contexto de un escenario que ilustra un comportamiento. En el contexto de las clases describen la forma en que grupos de objetos colaboran para proveer un comportamiento. Mientras que un diagrama de casos de uso presenta una visión externa del sistema, la funcionalidad de dichos casos de uso se recoge como un flujo de eventos utilizando para ello interacciones entre sociedades de objetos. El flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados mediante diagramas de interacción (interaction diagrams), donde cada diagrama será una visión gráfica de un escenario. ASPECTOS COMUNES EN UNA INTERACCIÓN Objetos Participantes en la interacción. Roles Son las acciones de los objetos. Enlaces Conexión entre objetos.

Transcript of DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede...

Page 1: DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados

DIAGRAMAS DE INTERACCIÓN

¿Qué es una Interacción?

Es un esquema de intercambios de mensajes que se realizan para lograr un propósito específico es lo que se denomina una interacción. Un mensaje es una comunicación unidireccional entre dos objetos, un flujo de objeto con la información de un remitente a un receptor. Un mensaje puede tener parámetros que transporten valores entre objetos. Un mensaje puede ser una señal o una llamada.

DIAGRAMAS DE INTERACCIÓN

Conjunto de objetos y sus relaciones, incluyendo los mensajes que se pueden enviar entre ellos. Estos objetos interactúan para realizar colectivamente los servicios ofrecidos por las aplicaciones. En sí, los diagramas de interacción muestran cómo se comunican los objetos.

La vista de interacción describe secuencias de intercambios de mensajes entre los roles que implementan el comportamiento de un sistema. Un rol clasificador, o simplemente "un rol", es la descripción de un objeto, que desempeña un determinado papel dentro de una interacción, distinto de los otros objetos de la misma clase. Esta visión proporciona una vista integral del comportamiento del sistema, es decir, muestra el flujo de control a través de muchos objetos. La vista de interacción se exhibe en dos diagramas centrados en distintos aspectos pero complementarios: centrados en los objetos individuales y centrados en objetos cooperantes.

Los diagramas de interacción se utilizan para modelar los aspectos dinámicos de un sistema, lo que conlleva modelar instancias concretas o prototípicas de clases interfaces, componentes y nodos, junto con los mensajes enviados entre ellos, todo en el contexto de un escenario que ilustra un comportamiento. En el contexto de las clases describen la forma en que grupos de objetos colaboran para proveer un comportamiento. Mientras que un diagrama de casos de uso presenta una visión externa del sistema, la funcionalidad de dichos casos de uso se recoge como un flujo de eventos utilizando para ello interacciones entre sociedades de objetos.

El flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados mediante diagramas de interacción (interaction diagrams), donde cada diagrama será una visión gráfica de un escenario.

ASPECTOS COMUNES EN UNA INTERACCIÓN Objetos

Participantes en la interacción. Roles

Son las acciones de los objetos. Enlaces

Conexión entre objetos. Mensajes

Comunicación entre objetos. Secuenciación

Orden de los mensajes.

CARACTERISTICAS Son técnicas gráficas para modelar el comportamiento dinámico del sistema. Son modelos que describen grupo de objetos que colaboran para conseguir algún

fin. Estos diagramas muestran objetos, así como los mensajes que se pasan entre

ellos.

OBJETIVO Describir el comportamiento dinámico del sistema. Para la representación precisa de las interacciones entre objetos. Verificar la coherencia del sistema.

Pero, en esencia, su misión es localizar el comportamiento de los objetos.

Page 2: DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados

UTILIDAD Son muy útiles porque cada diagrama (casos de usos), será una visión grafica de

un escenario. Los diagramas de interacción se utilizan para modelar los aspectos dinámicos de

un sistema, lo que conlleva modelar instancias concretas o prototípicas de clases interfaces.

VENTAJAS Son dinámicos. Se sabe el tiempo de vida de un determinado objeto. Representan Objetos y mensajes de objetos. Son Isomorficos.

CLASIFICACIÓN

Diagrama de Colaboración Diagrama de Secuencia

DIAGRAMAS DE SECUENCIA

Muestra el intercambio de mensajes entre objetos (es decir la forma en que se invocan) en un momento dado. Los diagramas de secuencia ponen especial énfasis en el orden y el momento en que se envían los mensajes a los objetos.

En si el diagrama de secuencia sirve para modelar flujos de control por orden de tiempo.

OBJETIVO

Describir los mensajes que intercambian los distintos objetos para cumplir con las responsabilidades definidas en un escenario concreto de un Caso de Uso.

CARACTERISTICAS

Se muestra el flujo de control de los mensajes. Cada objeto viene mostrado por una barra vertical que es la que da idea de

tiempo.

La línea vertical representa el paso del tiempo (de arriba hacia abajo).

Se muestran los objetos que interactúan.

Se muestra el tiempo de vida de un objeto.

objetoA:A objetoB:B objetoC:C

<<create>>

mensaje1( )

mensaje2( )

mensaje3( )

mensaje4( )

objetos

tiempo

Page 3: DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados

Los diagramas de secuencia tienen dos características principales que los distinguen de los diagramas de colaboración:

1. La Línea de Vida:

Que representa la existencia de un objeto a lo largo de un período de tiempo (pueden además crearse y destruirse objetos durante la interacción)

2. El Foco de Control:

Que representa el período de tiempo durante el cual un objeto ejecuta una acción.

VENTAJAS

Enfatiza el tiempo que indica el orden de los mensajes. Es útil para describir escenarios donde existe interacción con el usuario.

DESVENTAJAS

El tiempo que se le da a cada mensaje no es el mismo al tiempo real de ejecución. No muestra las relaciones que hay entre los objetos.

EVENTOS Y OPERACIONES

Un evento de un sistema es un hecho externo de entrada que un actor produce en un sistema.

Una operación de un sistema es una acción que éste ejecuta en respuesta a un evento del sistema.

En un diagrama de secuencia existen en consecuencias los siguientes elementos:

Objetos. Línea de vida.

Focos de control.

Mensajes.

ELEMENTOS Y REGLAS DE GRAFICACIÓN

Objetos

Son las instancias de las clases, nos ayudan a saber como interactúa el sistema.

Page 4: DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados

Focos de Control o Activación

Muestra el periodo de tiempo en el cual el objeto se encuentra desarrollando alguna operación

Periodo de tiempo durante el cual un objeto está procesando un mensaje. Sólo cómo regla nemotécnica podríamos decir que es “el tiempo durante el que se

ejecuta un método”.

Mensajes:

El orden en que ocurren es de arriba - abajo. Existen dos formas de que expresen control

Condiciones Iteraciones

Tipos de MensajesEs posible representar la forma en que se envían los mensajes.

Síncrono o llamada.- El originario del mensaje pierde el control hasta recibir la respuesta.

Page 5: DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados

Asíncrono.- El originario no espera respuesta y permanece activo pudiendo enviar mensajes.

En el caso asíncrono, el retorno, si existe, se debe representar

Retorno (Returns): No es un mensaje, sino la respuesta de un mensaje previo.

Directo (FLAT).- El originario no espera respuesta, pero se pasa el control al que recibe el mensaje, el fin del foco de control devuelve el control.

Mensaje al Mismo Objeto

Se representa por una flecha entre un objeto y otro, representa la llamada de un método (operación) de un objeto en particular.

Mensaje a Otro Objeto

Se representa por una flecha entre un objeto y otro, representa la llamada de un método (operación) de un objeto en particular.

EXISTEN 2 FORMAS QUE EXPRESEN EL CONTROL:

ITERACIONES CONDICIONES

Page 6: DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados

Pasos para hacer un diagrama de secuencia

Colocar los objetos que participan en la interacción en la parte de arriba del diagrama, a través del eje de las X.

Colocar los objetos que inician la interacción a la izquierda y los objetos más subordinados a la derecha.

Colocar los mensajes que estos objetos envían y reciben junto al eje de las Y, en orden de incremento de tiempo de arriba hacia abajo.

Existe la línea de vida del objeto, que representa la existencia de un objeto en un período de tiempo.

Existe el foco de control, que muestra el período de tiempo en el que el objeto se encuentra representando una acción.

EJEMPLO

Máquina de CaféSupongamos que se requiere desarrollar el control de una máquina de entrega de café automática.

La máquina debe permitir a una persona entregar una cantidad de dinero en monedas de 100, 200 o 500, escoger uno de los productos de acuerdo a su precio (café negro, café claro, caldo), escoger (si es pertinente) un nivel de azúcar y entregar el producto y las vueltas. El dinero que los usuarios introducen se guarda en un recipiente aparte al disponible para vueltas, el cual se encuentra ordenado por denominación.

Existen estados de error de la máquina, cuando detecta un mal funcionamiento, no existencia de vueltas o no existencia de ingredientes.

El usuario puede en cualquier momento antes de escoger el azúcar cancelar la operación, mediante un botón existente para este objetivo.

ITERACIONES: EL MENSAJE SE ENVÍA MUCHAS VECES

Page 7: DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados

EJEMPLO

Se trata de un juego de ajedrez que va a contener: El actor (persona que efectúa el evento) Los objetos:

usuario tyr aj

Page 8: DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados

EJEMPLOEste ejemplo se basa en la atención en un restaurante donde existen 4 objetos que interactúan, ellos son los siguientes:

DIAGRAMAS DE COLABORACIÓN

¿Qué es una Colaboración?

Es una descripción de una colección de objetos que interactúan para implementar un cierto comportamiento dentro de un contexto.

DIAGRAMAS DE COLABORACIÓN

El Diagrama de Colaboración ofrece una mejor visión espacial mostrando los enlaces de comunicación entre objetos, muestra las relaciones entre objetos y son mejores para comprender todos los efectos que tiene un objeto y para el diseño de procedimientos. El diagrama de Colaboración puede obtenerse automáticamente a partir del correspondiente diagrama de Secuencia (o viceversa).

OBJETIVOS

- Un diagrama de colaboración destaca la organización de los objetos que participan en una interacción.

- Dar una visualización clara del flujo de control en el contexto de la organización estructural de los objetos que colaboran.

- Enfatizar la organización estructural de los objetos que envían y reciben mensajes.

CARACTERÍSTICAS

Page 9: DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados

Dan una visión clara del flujo de control en el contexto en el que se desarrollan. Son útiles en la fase exploratoria para identificar objetos. La distribución de los objetos en el diagrama permite observar adecuadamente la

interacción de un objeto con respecto a los demás. La estructura estática viene dada por los enlaces; la dinámica por el envío de

mensajes por los enlaces.

Los diagramas de colaboración tienen dos características principales que los distinguen de los diagramas de secuencia:

1. El Camino:Para indicar cómo se enlaza un objeto a otro

2. El Número de Secuencia:Para indicar la ordenación temporal de un mensaje

VENTAJAS1. Son útiles en la fase exploratoria para identificar objetos.2. La distribución de los objetos en el diagrama permite observar adecuadamente la

interacción de un objeto con respecto de los demás.3. La estructura estática viene dada por los enlaces; la dinámica por el envío de

mensajes por los enlaces.4. se puede saber el orden de los mensajes fácilmente.5. se puede saber los objetos que están relacionados.

DESVENTAJAS

No se lo usa mucho en la fase de análisis. No se deben crear en paralelo con los diagramas de clase.

En un diagrama de secuencia existen en consecuencias los siguientes elementos:

Objetos. Mensajes.

Vínculos

ELEMENTOS Y REGLAS DE GRAFICACIÓN

Objetos

Son las instancias de las clases.

Vínculo

Page 10: DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados

Es una instancia de una asociación en un diagrama de clases.

Mensajes

INTERACCIONES ENTRE OBJETOS

Page 11: DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados

Diagrama de colaboración con interacciones

PASOS PARA HACER UN DIAGRAMA DE COLABORACIÓN

1) Colocar los objetos que participan en la interacción como los vértices en una gráfica.

2) Interpretar las ligas que conectan a estos objetos como los arcos de la gráfica.3) Adornar estas ligas con los mensajes que los objetos envían y reciben.4) Establecer una ruta, para indicar como un objeto es ligado a otro. 5) Podemos unirle un estereotipo al final de una liga.6) Establecer un número de secuencia, para indicar el orden de tiempo de un

mensaje. Éste debe ser único.

EJEMPLO

Cajero Automático

Page 12: DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados

DIFERENCIAS ENTRE LOS DIAGRAMAS DE SECUENCIA Y COLABORACIÓN

Diagrama de secuencia:

Línea de vida de los objetos: representa la existencia de un objeto sobre un período de tiempo.

Foco de control: muestra el período de tiempo durante el cual un objeto está representando una acción.

Diagrama de colaboración: Ruta: indica como un objeto es ligado a otro. Número secuencial: para indicar el orden de tiempo de un mensaje.

USOS COMUNES

Usamos diagramas de interacción para modelar los aspectos dinámicos de un sistema. Estos aspectos dinámicos pueden involucrar la interacción de cualquier tipo de instancias en cualquier vista de una arquitectura del sistema, incluyendo instancias de clases (incluyendo clases activas), interfaces, componentes y nodos.

Al usar estos diagramas, lo hacemos en el contexto del sistema como un todo, un subsistema, una operación, o una clase. Podemos unir diagramas de interacción para casos de uso (para modelar un escenario) y para colaboraciones (para modelar los aspectos dinámicos de una sociedad de objetos).

SUGERENCIAS Y TIPS

Un diagrama de interacción bien estructurado:

Page 13: DIAGRAMAS DE INTERACCIÓN - WordPress.com · Web viewEl flujo de eventos de un caso de uso puede recogerse en una especificación texto acompañada de distintos escenarios especificados

Esta enfocado en comunicar el aspecto dinámico de un sistema. Contiene solamente a los elementos que son esenciales para entender ese

aspecto. Provee un detalle coherente con sus niveles de abstracción y debería revelar

solamente los adornos que son esenciales para su entendimiento. No es tan minimalista

Cuando dibujamos un diagrama de interacción, debemos: Darle un nombre que comunique su propósito. Usar un diagrama de secuencia si queremos enfatizar el orden de tiempo de los

mensajes. Usar un diagrama de colaboración si queremos enfatizar la organización de los objetos involucrados en la interacción.

Colocar sus elementos para minimizar las líneas que cruzan. Usar notas y color como indicaciones visuales para prestar atención a

características importantes de nuestro diagrama. Usar bifurcaciones limitadas; podemos representar mucho mejor bifurcaciones

complejas usando diagramas de actividad.