DIAGRAMAS DE INTERACCION
26 de marzo de 1999

Contenido

Definiciones

Diagramas de interacción
Muestran una interacción, que consiste de un conjunto de objetos y sus relaciones, incluyendo los mensajes que puedan ser realizados entre ellos. Son importantes para modelar los aspectos dinámicos de un sistema y para construir sistemas ejecutables a través de ingeniería hacia adelante e ingeniería inversa.

Comúnmente contienen:

Pueden servir para visualizar, especificar, construir y documentar los aspectos dinámicos de una sociedad particular de objetos, o pueden ser usados para modelar un flujo particular de control de un caso de uso.

Los diagramas de interacción están conformados por los diagramas de secuencia y los diagramas de colaboración.
 


 

Diagramas de secuencia
Enfatiza el orden de tiempo de los mensajes. Gráficamente, este diagrama es una tabla que muestra objetos ordenados junto al eje de las X y los mensajes, son ordenados en incremento de tiempo junto al eje de las Y.

Diagrama de colaboración
Enfatiza la organización estructural de los objetos que envían y reciben mensajes. Gráficamente, es una colección de vértices y arcos.

Para hacer un diagrama de secuencia


Para hacer un diagrama de colaboración


Diferencias entre los diagramas se secuencia y colaboración
Diagrama de secuencia:

Diagrama de colaboración:


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

Cuando modelamos los aspectos dinámicos de un sistema, usamos diagramas de interacción de dos maneras:

1. Para modelar flujos de control por orden de tiempo
Se usan diagramas de secuencia. Se hace énfasis en el paso de mensajes, en cómo se desenvuelven sobre el tiempo, lo cual es una manera útil para visualizar el comportamiento dinámico en el contexto de un escenario de un caso de uso.

2. Para modelar flujos de control por organización
Se usan diagramas de colaboración. Se hace énfasis en las relaciones estructurales entre las instancias dentro de la interacción y junto con los mensajes que pueden ser pasados.

Los diagramas de colaboración hacen un mejor trabajo para visualizar iteraciones y bifurcaciones complejas y para visualizar flujos de concurrencia múltiple de control.
 

Modelando flujos de control por orden de tiempo

Modelando flujos de control por organización

        - 1. Colocar primero las ligas de asociación; éstas son las más importantes
                porque representan las conexiones estructurales.
        - 2. Colocar después las otras ligas y adornarlas con rutas de estereotipos
                adecuados (tales como global y local) para especificar explícitamente cómo
                estos objetos están relacionados unos con otros. Ingeniería hacia adelante e inversa Esto es posible para ambos diagramas de interacción, especialmente si el contexto del diagrama es una operación.

Ejemplo:

Usando el diagrama de colaboración anterior, una herramienta de ingeniería hacia adelante podría generar el siguiente código en Java para la operación register, unida a la clase Student.

    public void register() {
        CourseCollection c = getSchedule();
        for (int i = 0; i < c.size(); i ++)
            c.item(i).add(this);
        this.registered = true;
    }

Es posible también para ambos diagramas de interacción, especialmente si el contexto del código es el cuerpo de una operación.

Nota: La ingeniería hacia adelante es directa, mientras que la ingeniería inversa es más difícil. Es fácil obtener demasiada información desde una ingeniería inversa y la parte más difícil está en qué detalles conservar.
 

Sugerencias y Tips

Un diagrama de interacción bien estructurado:

Cuando dibujamos un diagrama de interacción, debemos: