Con Lucidchart, un espacio de trabajo visual colaborativo, puedes personalizar diagramas de interacción UML fáciles de comprender que captan el comportamiento dinámico de todo tu sistema.
Sigue leyendo para conocer los aspectos esenciales de los diagramas de interacción, por ejemplo, cómo se usan, cómo te pueden beneficiar y cómo crearlos.
9 minutos de lectura
¿Deseas crear un diagrama UML por tu cuenta? Prueba Lucidchart. Es rápido, sencillo y totalmente gratis.
¿Qué es un diagrama de interacción?
Tal como su nombre lo sugiere, un diagrama de interacción es un tipo de diagrama UML que se emplea para captar el comportamiento interactivo de un sistema. Los diagramas de interacción se centran en describir el flujo de mensajes dentro de un sistema y ofrecen contexto para una o más líneas de vida dentro de un sistema. Además, los diagramas de interacción pueden emplearse para representar las secuencias ordenadas dentro de un sistema, y actúan como medio para visualizar los datos en tiempo real vía UML.
Beneficios de usar un diagrama de interacción
Es posible implementar los diagramas de interacción en distintos casos para brindar un conjunto único de información. Pueden emplearse con los siguientes fines:
- Modelar un sistema como una secuencia de eventos ordenados por tiempo.
- Hacer ingeniería inversa o directa de un sistema o un proceso.
- Organizar la estructura de diversos eventos interactivos.
- Transmitir de manera simple el comportamiento de los mensajes y de las líneas de vida dentro de un sistema.
- Identificar las posibles conexiones entre los elementos de la línea de vida.
Tipos de diagramas de interacción en UML
Los diagramas de interacción se clasifican en cuatro tipos principales de diagramas:
- Diagrama de colaboración
- Diagrama de secuencia
- Diagrama de tiempos
- Diagrama global de interacciones
Cada tipo de diagrama se centra en un aspecto diferente del comportamiento o la estructura de un sistema. Encuentra a continuación más información sobre los aspectos básicos de cada diagrama y cómo puedes beneficiarte con ellos.
Diagrama de colaboración (o diagrama de comunicación)
En UML, los diagramas de colaboración representan las relaciones e interacciones entre distintos objetos de software. Enfatizan los aspectos estructurales de un diagrama de interacción y se centran en la arquitectura de los objetos más que en el flujo de los mensajes.
Un diagrama de comunicación brinda los siguientes beneficios:
- Destacan cómo se conectan las líneas de vida.
- Se centran en los elementos dentro de un sistema más que en el flujo de mensajes.
- Proporcionan más énfasis en la organización que en la cronología.
Los diagramas de comunicación también pueden tener las siguientes desventajas:
- Pueden resultar demasiado complejos.
- Dificultan explorar objetos específicos dentro de un sistema.
- Crearlos puede demandar demasiado tiempo.
Diagrama de secuencia
Otra opción para representar las interacciones es usar un diagrama de secuencia. Un diagrama de secuencia gira en torno a cinco eventos principales:
- Colocación del pedido
- Pago
- Confirmación del pedido
- Preparación del pedido
- Entrega del pedido
Si cambia la secuencia de los eventos, pueden producirse demoras o puede caer el sistema. Es importante seleccionar la notación que corresponda a la secuencia particular dentro de tu diagrama.
Un diagrama de secuencia brinda los siguientes beneficios:
- Son fáciles de mantener y de generar.
- Son fáciles de actualizar según los cambios en el sistema.
- Permiten realizar ingeniería inversa y directa.
Los diagramas de secuencia pueden tener las siguientes desventajas:
- Pueden resultar complejos, con demasiadas líneas de vida y notaciones variadas.
- Es fácil hacerlos incorrectatmente y dependen de que ingreses la secuencia de manera correcta.
Diagrama de tiempos
Otra opción de diagramas es un diagrama de tiempos. Estos gráficos, también conocido como diagrama de temporización se emplean para representar el estado de una línea de vida en cualquier instancia de tiempo y denotan los cambios de un objeto de una forma a otra. En un diagrama de tiempos se emplean ondas para visualizar el flujo dentro del programa de software en distintas instancias de tiempo.
Un diagrama de tiempos ofrece los siguientes beneficios:
- Permite realizar ingeniería inversa y directa.
- Puede representar el estado de un objeto en una instancia exacta de tiempo.
- Puede llevar un control de todos los cambios dentro de un sistema.
También debes tener en cuenta estas posibles desventajas de usar un diagrama de tiempos:
- Pueden ser difíciles de comprender.
- Pueden ser complicados de mantener con el tiempo.
Diagrama global de interacciones
El diagrama global de interacciones ofrece una vista de alto nivel de un modelo de interacción. El diagrama actúa como una vista global del flujo de control entre las distintas interacciones, además del flujo de actividad entre los distintos diagramas.
Un diagrama de global de interacciones ofrece los siguientes beneficios:
- Ofrece una vista sin complicaciones de la actividad dentro de un modelo.
- Ofrecen un alto grado de navegabilidad entre los distintos diagramas.
- Permiten el uso de la mayoría de las anotaciones dentro de un diagrama de actividad, junto con elementos adicionales para una mayor claridad.
A pesar de que los diagramas de interacción son relativamente intuitivos, requieren ramificaciones e interacciones para seguir ciertos comportamientos, lo que puede resultar restrictivo.
¿Deseas crear un diagrama UML por tu cuenta? Prueba Lucidchart. Es rápido, sencillo y totalmente gratis.
Crea un diagrama UMLSímbolos y terminología del diagrama de interacción
Estos son algunos términos y símbolos comunes que encontrarás en un diagrama de interacción:
Línea de vida: Una línea de vida representa a un único participante en una interacción determinada, y describe cómo una instancia de un clasificador específico participa en la interacción.
Estos son los atributos de una línea de vida:
- Nombre: Se emplea para referirse a la línea de vida en una interacción específica. Los nombres de las líneas de vida son opcionales.
- Tipo: Nombres del clasificador del cual la línea de vida representa una instancia.
- Selector: Utilizado como una condición booleana para seleccionar una instancia particular que cumple el requisito.
Mensaje: Un mensaje es un tipo específico de comunicación entre dos líneas de vida dentro de una interacción. Puede usarse para denominar una operación, crear o destruir una instancia o enviar una señal. Como las líneas de vida reciben e interactúan con los mensajes, crean un foco de control que se traslada entre las distintas líneas de vida. Esto se conoce como flujo de control.
Los mensajes que se emplean dentro de un diagrama de interacción son los siguientes:
- Mensaje sincrónico: El remitente del mensaje se queda esperando que el receptor devuelva el control desde la ejecución del mensaje.
- Mensaje asincrónico: El remitente del mensaje continúa la ejecución del siguiente mensaje sin esperar una devolución del receptor del mensaje.
- Mensaje de respuesta: El receptor de un mensaje previo devuelve el foco de control al remitente.
- Creación de objeto: El remitente del mensaje crea una instancia de un clasificador.
- Destrucción de objeto: El remitente del mensaje destruye la instancia creada.
- Mensaje encontrado: El remitente del mensaje está fuera del alcance de la interacción.
- Mensaje perdido: El mensaje se pierde en la interacción y nunca llega a destino.
Operador: Un operador especifica cómo los operandos se ejecutarán dentro de una operación. En UML, un operador soporta las operaciones con los datos en forma de ramificaciones e iteraciones.
Los distintos operadores dentro de un diagrama de interacción son los siguientes:
- Opt (opción): Se ejecuta el operando si la condición es verdadera.
- Alt (alternativa): Se ejecuta un operando cuya condición es verdadera.
- Loop (ciclo): Este operador hace un bucle de una instrucción durante un período específico de tiempo.
- Break (corte): Si la condición es verdadera o falsa, se rompe el bucle y se ejecuta la siguiente instrucción.
- Ref (referencia): Este operador se refiere a otra interacción.
- Par (paralelo): Todos los operandos se ejecutan en paralelo entre sí.
Ramificación: Estos son algunos de los términos más cruciales dentro de un diagrama de interacción. Para representar la ramificación dentro de un diagrama de interacción, se añaden condiciones de guarda en cada mensaje. Estas condiciones de guarda se utilizan para verificar si se puede enviar un mensaje o no. Un mensaje puede enviarse solo si se cumplen las condiciones de guarda del mismo. Un mensaje puede tener varias condiciones de guarda, y varios mensajes pueden tener las mismas condiciones de guarda.
Iteración: Una expresión de interacción consiste en un especificador de interacción y de una cláusula de iteración. También se puede usar una expresión de iteración para mostrar la expresión de iteración en un diagrama de interacción. No implica una sintaxis específica.
Se emplean especificadores de iteración paralela para mostrar que los mensajes se envían en paralelo. Esto se denota como *//. En UML, la iteración se logra utilizando un operador de bucle.
Invariantes y limitaciones del estado: En un diagrama de interacción, un estado es una situación o una condición durante el ciclo de vida de un objeto. Satisface una limitación, desempeña varias operaciones y espera un evento. Un estado puede cambiar cuando una instancia o una línea de vida recibe un mensaje, aunque no todos los mensajes causan un cambio de estado.
Cómo dibujar un diagrama de interacción
Sigue estos pasos para asegurarte de tener la información necesaria para empezar a crear tu diagrama de interacción:
- Determina el escenario que representará tu diagrama de interacción.
- Identifica las líneas de vida que participarán en tu interacción.
- Explora cada línea de vida para identificar las posibles conexiones y relaciones, y luego categoriza tus líneas de vida.
- Identifica la secuencia de flujos de mensajes dentro de tu interacción.
- Identifica los distintos tipos de mensajes dentro de tu interacción, además de una secuencia ordenada de eventos y limitaciones de tiempo de cada objeto.
- Dentro de tu software de diagramas UML, selecciona las figuras, los nodos y las líneas adecuadas para crear el flujo de actividad dentro de tu diagrama. O bien, selecciona una plantilla y personaliza tu diagrama a partir de allí.
- Rotula cada figura, nodo y línea para representar cada evento, interacción y mensaje dentro de tu sistema.
Ten presente que el diseño de tu diagrama variará si creas un diagrama de secuencia, temporización o comunicación, ya que cada diagrama se centra en un aspecto distinto del comportamiento de un sistema.
Ejemplo de diagrama de interacción
Este es un ejemplo simple de una plantilla de diagrama de interacción que puede emplearse para modelar las interacciones entre los distintos elementos de una app web básica. Puedes modificar esta plantilla para visualizar el flujo de control de un sistema y describir las interacciones entre los objetos dentro de él.