Diagramas de interacción, colaboración y secuencia con ejemplos

¿Qué es el diagrama de interacción?

Diagrama de interacción se utilizan en UML para establecer comunicación entre objetos. No manipula los datos asociados con la ruta de comunicación particular. Los diagramas de interacción se centran principalmente en el paso de mensajes y en cómo estos mensajes constituyen una funcionalidad de un sistema. Los diagramas de interacción están diseñados para mostrar cómo los objetos cumplirán los requisitos particulares de un sistema. El componente crítico en un diagrama de interacción es la línea de vida y los mensajes.

Varios elementos UML suelen poseer diagramas de interacción. El details La interacción se puede mostrar utilizando varias notaciones, como diagrama de secuencia, diagrama de tiempo, diagrama de comunicación/colaboración. Los diagramas de interacción capturan el comportamiento dinámico de cualquier sistema.

Diagrama de interacción
Notación de un diagrama de interacción

Following Son los diferentes tipos de diagramas de interacción definidos en UML:

  • Diagrama de secuencia
  • Diagrama de colaboración
  • Diagrama de tiempo

El propósito de un diagrama de secuencia en Diagrama UML es visualizar la secuencia de un flujo de mensajes en el sistema. El diagrama de secuencia en ingeniería de software muestra la interacción entre dos líneas de vida como una secuencia de eventos ordenada en el tiempo.

El diagrama de colaboración en UML también se denomina diagrama de comunicación. El propósito de un diagrama de colaboración es enfatizar los aspectos estructurales de un sistema, es decir, cómo se conectan varias líneas de vida en el sistema.

Los diagramas de tiempo se centran en el momento en el que se envía un mensaje de un objeto a otro.

Propósito de un diagrama de interacción

Los diagramas de interacción le ayudan a visualizar el comportamiento interactivo de un sistema. Los diagramas de interacción se utilizan para representar cómo uno o más objetos del sistema se conectan y comunican entre sí.

Los diagramas de interacción se centran en el comportamiento dinámico de un sistema. Un diagrama de interacción nos proporciona el contexto de una interacción entre una o más líneas de vida en el sistema.

In UML, los diagramas de interacción se utilizan para lo siguientewing propósitos:

  • Los diagramas de interacción se utilizan para observar el comportamiento dinámico de un sistema.
  • El diagrama de interacción visualiza la comunicación y la secuencia de transmisión de mensajes en el sistema.
  • El diagrama de modelado de interacción representa los aspectos estructurales de varios objetos del sistema.
  • El diagrama de interacción representa la secuencia ordenada de interacciones dentro de un sistema.
  • El diagrama de interacción proporciona los medios para visualizar los datos en tiempo real a través de UML.
  • Los diagramas de interacción UML se pueden utilizar para explicar architectura de un sistema orientado a objetos o distribuido.

Terminología importante

Un diagrama de interacción contiene líneas de vida, mensajes, operadores, invariantes de estado y restricciones.

Lifeline

Una línea de vida representa a un único participante en una interacción. Describe cómo participa una instancia de un clasificador específico en la interacción.

Una línea de vida representa un papel que una instancia del clasificador puede desempeñar en la interacción. seguirwing son varios atributos de una línea de vida,

  1. Nombre
    1. Se utiliza para referirse a la línea de vida dentro de una interacción específica.
    2. El nombre de una línea de vida es opcional.
  2. Tipo de Propiedad
    1. Es el nombre de un clasificador del cual la línea de vida representa una instancia.
  3. Selector
    1. Es una condición booleana que se utiliza para seleccionar una instancia particular que satisfaga el requisito.
    2. El atributo selector también es opcional.

La notación de línea de vida se explica en la sección de notación.

Mensajes

Un mensaje es un tipo específico de comunicación entre dos líneas de vida en una interacción. Un mensaje implica seguirwing actividades,

  1. Un mensaje de llamada que se utiliza para llamar a una operación.
  2. Un mensaje para crear una instancia.
  3. Un mensaje para destruir una instancia.
  4. Para enviar una señal.

Cuando una línea de vida recibe un mensaje de llamada, actúa como una solicitud para invocar una operación que tiene una firma similar a la especificada en el mensaje. Cuando una línea de vida está ejecutando un mensaje, tiene un foco de control. A medida que la interacción avanza con el tiempo, el foco de control se mueve entre varias líneas de vida. Este movimiento se llama flujo de control.

Following Son los mensajes utilizados en un Diagrama de Interacción del Sistema:

Nombre del mensaje Sentido
Syncmensaje ronoso El remitente de un mensaje sigue esperando que el receptor devuelva el control de la ejecución del mensaje.
Asyncmensaje ronoso El remitente no espera una respuesta del receptor; en cambio, continúa la ejecución del siguiente mensaje.
mensaje de vuelta El receptor de un mensaje anterior devuelve el foco de control al remitente.
Creación de objetos El remitente crea una instancia de un clasificador.
Destrucción de objetos El remitente destruye la instancia creada.
Mensaje encontrado El remitente del mensaje está fuera del ámbito de interacción.
mensaje perdido El mensaje nunca llega al destino y se pierde en la interacción.

Invariantes de estado y restricciones.

Cuando una instancia o una línea de vida recibe un mensaje, puede hacer que cambie de estado. Un estado es una condición o situación durante la vida de un objeto en la que satisface alguna restricción, realiza algunas operaciones y espera algún evento.

En el diagrama de interacción, no todos los mensajes provocan un cambio en el estado de una instancia. Algunos mensajes no tienen los valores de algunos atributos. No tiene efectos secundarios sobre el estado de un objeto.

Operador

Un operador especifica una operación sobre cómo se ejecutarán los operandos. Los operadores en UML admiten operaciones con datos en forma de ramificación e iteración. Se pueden utilizar varios operadores para garantizar el uso de iteración y bifurcación en el modelo UML. Los operadores opt y alt se utilizan para operaciones de ramificación. El operador de bucle se utiliza para garantizar las operaciones de iteración en las que una condición se ejecuta repetidamente hasta que se produce el resultado satisfactorio. El operador de interrupción se utiliza dentro del bucle o en operaciones de iteración. Garantiza que el bucle finalice cada vez que se encuentre un operador de interrupción. Si no se especifica una condición de interrupción, el bucle se ejecuta un número infinito de veces, lo que provoca que el programa se bloquee.

Following Son los operadores utilizados en un diagrama de interacción:

Operador Nombre Sentido
Opte Optión Se ejecuta un operando si la condición es verdadera.
por ejemplo, si no
otro Alternative Se ejecuta el operando cuya condición es verdadera.
por ejemplo, cambiar
Red ISTE Loop Red ISTE Loop Se utiliza para repetir una instrucción durante un período específico.
Descanso Descanso Rompe el ciclo si una condición es verdadera o falsa y se ejecuta la siguiente instrucción.
Ref. Referencia Se utiliza para referirse a otra interacción.
por Paralelo Todos los operandos se ejecutan en paralelo.

Iteración

En un diagrama de interacción, también podemos mostrar la iteración usando una expresión de iteración. Una expresión de iteración consta de un especificador de iteración y una cláusula de iteración opcional. No existe una sintaxis preespecificada para la iteración de UML.

En la iteración para mostrar que los mensajes se envían en paralelo, se utiliza el especificador de iteración paralela. Un especificador de iteración paralela se indica con *//. La iteración en UML se logra utilizando el operador de bucle.

Derivación

En un diagrama de interacción, podemos representar la ramificación agregando condiciones de protección a los mensajes. Las condiciones de guardia se utilizan para comprobar si un mensaje se puede reenviar o no. Un mensaje se envía hacia adelante sólo cuando su condición de guardia es verdadera. Un mensaje puede tener varias condiciones de protección o varios mensajes pueden tener la misma condición de protección. La ramificación en UML se logra con la ayuda de los operadores alt y opt.

Estos son algunos de los más importante Terminologías utilizadas en el diagrama de interacción UML.

Tipos de diagramas de interacción y notaciones

Following Son los diferentes tipos de diagramas de interacción definidos en UML:

  • Diagrama de secuencia
  • Diagrama de colaboración
  • Diagrama de tiempo

La notación básica de interacción es un rectángulo con un pentágono en la esquina superior izquierda de un rectángulo. box.

¿Qué es un diagrama de secuencia?

A Diagrama de secuencia simplemente representa la interacción entre objetos en un orden secuencial. El propósito de un diagrama de secuencia en UML es visualizar la secuencia de un flujo de mensajes en el sistema. El diagrama de secuencia muestra la interacción entre dos líneas de vida como una secuencia de eventos ordenada en el tiempo.

  • Un diagrama de secuencia muestra una implementación de un escenario en el sistema. Las líneas de vida del sistema intervienen durante la ejecución de un sistema.
  • En un diagrama de secuencia, una línea de vida está representada por una barra vertical.
  • Un flujo de mensajes entre dos o más objetos se representa mediante una línea de puntos vertical que se extiende a lo largo de la parte inferior de la página.
  • En un diagrama de secuencia se utilizan diferentes tipos de mensajes y operadores que se describen anteriormente.
  • En un diagrama de secuencia, también se utilizan la iteración y la bifurcación.
Diagrama de secuencia
Notaciones en el diagrama de secuencia

El diagrama de secuencia anterior contiene notaciones de línea de vida y notaciones de varios mensajes utilizados en un diagrama de secuencia, como crear, responder, a.syncmensaje ronoso, etc.

Ejemplo de diagrama de secuencia

El following El ejemplo de diagrama de secuencia representa el sistema de pedidos de McDonald's:

Diagrama de secuencia
Diagrama de secuencia del sistema de pedidos de McDonald's.

La secuencia ordenada de eventos en un diagrama de secuencia dado es la siguiente:

  1. Haga un pedido.
  2. Pague dinero en el mostrador de caja.
  3. Confirmación del pedido.
  4. Preparación de pedidos.
  5. Servicio de pedidos.

Si se cambia el orden de las operaciones, el programa puede bloquearse. También puede generar resultados incorrectos o con errores. Cada secuencia en el diagrama de secuencia anterior se indica mediante un tipo diferente de mensaje. No se puede utilizar el mismo tipo de mensaje para indicar todas las interacciones en el diagrama porque crea complicaciones en el sistema.

Debe tener cuidado al seleccionar la notación de un mensaje para cualquier interacción en particular. La notación debe coincidir con la secuencia particular dentro del diagrama.

Beneficios de un diagrama de secuencia

  • Los diagramas de secuencia se utilizan para explorar cualquier aplicación o sistema real.
  • Los diagramas de secuencia se utilizan para representar el flujo de mensajes de un objeto a otro.
  • Los diagramas de secuencia son más fáciles de mantener.
  • Los diagramas de secuencia son más fáciles de generar.
  • Los diagramas de secuencia se pueden actualizar fácilmente según los cambios dentro de un sistema.
  • El diagrama de secuencia permite la ingeniería inversa y directa.

Inconvenientes de un diagrama de secuencia

  • Los diagramas de secuencia pueden volverse complex cuando hay demasiadas líneas de vida involucradas en el sistema.
  • Si se cambia el orden de la secuencia de mensajes, se producen resultados incorrectos.
  • Cada secuencia debe representarse utilizando una notación de mensaje diferente, que puede resultar un poco complicada.plex.
  • El tipo de mensaje decide el tipo de secuencia dentro del diagrama.

¿Qué es el Diagrama de Colaboración?

Diagrama de colaboración Representa las relaciones e interacciones entre objetos de software. Se utilizan para comprender el objeto. architectura dentro de un sistema en lugar del flujo de un mensaje como en un diagrama de secuencia. También se les conoce como “Diagramas de comunicación”.

Según la programación orientada a objetos (OOP), una entidad de objeto tiene varios atributos asociados. Por lo general, hay varios objetos presentes dentro de un sistema orientado a objetos donde cada objeto puede asociarse con cualquier otro objeto dentro del sistema. Los diagramas de colaboración se utilizan para explorar architectura de objetos dentro del sistema. El flujo de mensajes entre los objetos se puede representar mediante un diagrama de colaboración.

Beneficios del diagrama de colaboración

  • También se le llama diagrama de comunicación.
  • Enfatiza los aspectos estructurales de un diagrama de interacción: cómo se conecta la línea de vida.
  • Su sintaxis es similar a la del diagrama de secuencia excepto que la línea de vida no tiene tails.
  • Los mensajes pasados ​​por secuenciación se indican numerando cada mensaje aquí.archicalladamente
  • En comparación con el diagrama de secuencia, el diagrama de comunicación es semánticamente débil.
  • Los diagramas de objetos son un caso especial de diagrama de comunicación.
  • Le permite centrarse en los elementos en lugar de centrarse en el flujo de mensajes como se describe en el diagrama de secuencia.
  • Los diagramas de secuencia se pueden convertir fácilmente en diagramas de colaboración, ya que los diagramas de colaboración no son muy expresivos.
  • Al modelar diagramas de colaboración con diagramas de secuencia, es posible que se pierda parte de la información.

Notaciones del diagrama de colaboración
Notaciones del diagrama de colaboración

La notación del diagrama de colaboración anterior contiene líneas de vida junto con conectores, bucles automáticos y mensajes de avance y retroceso utilizados en un diagrama de colaboración.

Inconvenientes de un diagrama de colaboración

  • Los diagramas de colaboración pueden volverse complex cuando hay demasiados objetos presentes dentro del sistema.
  • Es difícil explorar cada objeto dentro del sistema.
  • Los diagramas de colaboración consumen mucho tiempo.
  • El objeto se destruye tras la finalización de un programa.
  • El estado de un objeto cambia momentáneamente, lo que dificulta realizar un seguimiento de cada cambio que ocurre dentro de un objeto de un sistema.

Ejemplo de diagrama de colaboración

Following El diagrama representa la secuenciación del sistema de gestión de estudiantes:

Diagrama de colaboración

Diagrama de colaboración para el sistema de gestión de estudiantes.

El diagrama de colaboración anterior representa un sistema de gestión de información estudiantil. El flujo de comunicación en el diagrama anterior viene dado por,

  1. Un estudiante solicita iniciar sesión a través del sistema de inicio de sesión.
  2. Un mecanismo de autenticación de software verifica la solicitud.
  3. Si existe una entrada de estudiante en la base de datos, entonces se permite el acceso; otrowise, se devuelve un error.

¿Qué es el diagrama de tiempos?

Diagrama de tiempo es una forma de onda o un gráfico que se utiliza para describir el estado de una línea de vida en cualquier momento. Se utiliza para denotar la transformación de un objeto de una forma a otra. El diagrama de tiempo no contiene anotaciones como se requiere en el diagrama de secuencia y colaboración. El flujo entre el programa de software en varios instantes de tiempo se representa mediante una forma de onda.

  • Es una representación adecuada de las interacciones que se centra en los tiempos específicos de los mensajes enviados entre varios objetos.
  • Los diagramas de tiempo se utilizan para explicar el procesamiento de tiempo detallado de un objeto en particular.
  • Los diagramas de tiempo se utilizan para explicar cómo cambia un objeto durante su vida.
  • Los diagramas de tiempo se utilizan principalmente con sistemas distribuidos e integrados.
  • En UML, los diagramas de tiempo se leen de izquierda a derecha según el nombre de una línea de vida especificada en el borde izquierdo.
  • Los diagramas de tiempo se utilizan para representar varios cambios que ocurren dentro de una línea de vida de vez en cuando.
  • Los diagramas de tiempo se utilizan para mostrar una representación gráfica de varios estados de una línea de vida por unidad de tiempo.
  • UML proporciona varias notaciones para simplificar el estado de transición entre dos líneas de vida por unidad de tiempo.

Ejemplo de diagrama de tiempos

El diagrama de tiempos que se muestra a continuación representa algunas fases de un Ciclo de vida del desarrollo de programas.

Diagrama de tiempo

Ejemplo de diagrama de tiempos

En el diagrama anterior, primero, el software pasa por la fase de requisitos, luego por el diseño y later la fase de desarrollo. La salida de la fase anterior en ese momento dado se entrega a la segunda fase como entrada. Por tanto, el diagrama de tiempos se puede utilizar para describir SDLC (Ciclo de vida de desarrollo de software) en UML.

Beneficios de un diagrama de tiempos

  • Los diagramas de tiempo se utilizan para representar el estado de un objeto en un momento particular.
  • El diagrama de tiempos permite la ingeniería inversa y directa.
  • El diagrama de tiempo se puede utilizar para realizar un seguimiento de cada cambio dentro del sistema.

Inconvenientes de un diagrama de tiempos

  • Los diagramas de tiempo son difíciles de entender.
  • Los diagramas de tiempo son difíciles de mantener.

¿Cómo dibujar un diagrama de interacción?

Los diagramas de interacción se utilizan para representar el comportamiento interactivo de un sistema. Los diagramas de interacción se centran en el comportamiento dinámico de un sistema. Un diagrama de interacción nos proporciona el contexto de una interacción entre una o más líneas de vida en el sistema.

Para dibujar un diagrama de interacción, primero debe determinar el escenario para el cual debe dibujar un diagrama de interacción. Después de decidir la situación, identifique varias líneas de vida que estarán involucradas en la interacción. Clasifique todos los elementos de la línea de vida y explórelos para identificar posibles conexiones y cómo se relacionan las líneas de vida entre sí. Para dibujar un diagrama de interacción, haga lo siguientewing Se requieren cosas:

  1. El número total de líneas de vida que formarán parte de una interacción.
  2. Es una secuencia de flujo de mensajes dentro de varios objetos de un sistema.
  3. Varios operadores para facilitar la funcionalidad de un diagrama de interacción.
  4. Varios tipos de mensajes para mostrar la interacción de forma más clara y precisa.
  5. La secuencia ordenada de mensajes.
  6. Organización y estructura de un objeto.
  7. Varias construcciones temporales de un objeto.

Uso de un diagrama de interacción.

Los diagramas de interacción constan de un diagrama de secuencia, un diagrama de colaboración y un diagrama de tiempo. seguirwing es el propósito específico de un diagrama de interacción:

  • Los diagramas de secuencia se utilizan para explorar cualquier aplicación o sistema real.
  • Los diagramas de interacción se utilizan para explorar y comparar el uso de diagramas de secuencia, colaboraciones y tiempos.
  • Los diagramas de interacción se utilizan para capturar el comportamiento de un sistema. Muestra la estructura dinámica de un sistema.
  • Los diagramas de secuencia se utilizan para representar el flujo de mensajes de un objeto a otro.
  • Los diagramas de colaboración se utilizan para comprender el objeto. architectura de un sistema en lugar de flujo de mensajes.
  • Los diagramas de interacción se utilizan para modelar un sistema como una secuencia de eventos ordenada en el tiempo.
  • Los diagramas de interacción se utilizan tanto en ingeniería inversa como directa.
  • Los diagramas de interacción se utilizan para organizar la estructura de elementos interactivos.

Resumen

  • Las interacciones son simplemente unidades del comportamiento de un clasificador.
  • Los elementos críticos en un diagrama de interacción son la línea de vida y los mensajes.
  • Los diagramas de interacción se centran principalmente en el paso de mensajes.
  • Los diagramas de interacción capturan el comportamiento dinámico de cualquier sistema.
  • El diagrama de interacción contiene un diagrama de secuencia, un diagrama de tiempo y un diagrama de comunicación/colaboración.
  • El diagrama UML de secuencia sirve para visualizar la secuencia de un flujo de mensajes en el sistema.
  • El propósito de un diagrama de colaboración es enfatizar los aspectos estructurales.
  • Los diagramas de tiempo se centran en el momento en el que se envía un mensaje de un objeto a otro.