Tipo de Diagrama - Diagramas de Interacción

Muestra interacciones cuando el propósito principal del diagrama es razonar sobre el tiempo centrándose en las condiciones que cambian dentro y entre las líneas de vida a lo largo de un eje de tiempo lineal.Un diagrama de interacción es un tipo de diagrama 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

Diagrama de Secuencia

Muestra la secuencia de mensajes intercambiados entre los objetos necesarios para llevar a cabo la funcionalidad del escenario.


Notación:

  • Objeto: Un rectángulo en la parte superior que representa una entidad en el sistema.
  • Línea de vida: Una línea vertical que muestra la duración de la existencia del objeto durante la interacción.
  • Mensajes: Flechas horizontales que indican la comunicación entre los objetos.

Ejemplo:

 Creación de un nuevo itinerario de viaje.

  • Objetos:
  • Usuario: Representa al usuario final que interactúa con el sistema.
  • Gestor itinerario: Probablemente un módulo o componente del sistema encargado de gestionar la información relacionada con los itinerarios.
  • Gestor usuario: Similar al anterior, pero enfocado en la gestión de información de los usuarios.
  • BCCO: Podría ser una base de datos o un sistema externo donde se almacena la información de los itinerarios y usuarios.
Mensajes:
1: alta_itinerario(): El usuario inicia el proceso de creación de un nuevo itinerario.
2 - 3: usuario_getUsuario(): El sistema consulta información del usuario.
4: itinerario_getItinerario(): El sistema consulta información relacionada con el itinerario.
5: alta_itinerario(): Confirmación de que el itinerario ha sido creado exitosamente.

Diagrama de Comunicación

Muestra interacciones entre objetos y/o partes (representadas como líneas de vida) utilizando mensajes secuenciados en una disposición de forma libre.

Notación:

  • Objeto: Representado por rectángulos con el nombre del objeto.
  • Asociaciones: Líneas que conectan los objetos.
  • Mensajes: Numerados y etiquetados en las líneas para indicar el flujo de comunicación.

Ejemplo:

Creación y Notificación de Eventos

Objetos Identificados:

  • Event Request Window: Representa la interfaz gráfica donde el usuario solicita un evento.
  • Event Request: Parece ser una entidad que encapsula la solicitud del evento, posiblemente una clase o estructura de datos.
  • Event: Representa el evento creado a partir de la solicitud.
  • Calendar: Probablemente un componente del sistema que gestiona la agenda o calendario.
  • Email Alert: Representa un sistema o componente encargado de enviar alertas por correo electrónico.

Mensajes y Flujo:

  • renderForm(): El objeto Event Request Window inicia el proceso enviando un mensaje a Event Request para renderizar un formulario (posiblemente para que el usuario ingrese los detalles del evento).
  • 2a. Add: Una vez que el usuario completa el formulario, se envía un mensaje a Calendar para agregar el nuevo evento.
  • 2a.1 isAvailable: Antes de agregar el evento, el Calendar verifica si la fecha y hora solicitadas están disponibles.
  • 2b. newEvent: Si la fecha y hora están disponibles, se crea un nuevo objeto Event y se le asignan los detalles del evento.
  • 2.1a sendEmail: Se envía un mensaje al objeto Email Alert para enviar una notificación por correo electrónico confirmando la creación del evento.


Diagrama de Tiempo

    Muestra interacciones cuando el propósito principal del diagrama es razonar sobre el tiempo centrándose en las condiciones que cambian dentro y entre las líneas de vida a lo largo de un eje de tiempo lineal.

Notación:

  • Objeto: Representado por una línea de vida.
  • Tiempo: Indicado en el eje horizontal.
  • Eventos: Flechas que muestran cuándo ocurren los eventos a lo largo del tiempo.

Ejemplo:

Objetos y Estados:

  • MonitorFuego: Este objeto tiene dos estados posibles: "Activo" e "Inactivo". Inicialmente está inactivo y se activa cuando se detecta un fuego (en este caso, en el segundo 10).
  • Sirena: También tiene dos estados: "Sonando" e "Inactiva". Se activa poco después de que se detecta el fuego y permanece sonando hasta el final del período mostrado en el diagrama.
  • Aspersor: Similar a los otros dos, tiene estados "Activo" e "Inactivo". Se activa casi al mismo tiempo que la sirena para combatir el incendio.

Eventos:

  • fuego detectado {2}: Este es el evento principal que desencadena todas las demás acciones. Ocurre en el segundo 10 y causa que el MonitorFuego se active.
  • sonarAlarma: Este evento ocurre inmediatamente después de que se detecta el fuego y hace que la sirena comience a sonar.
  • combatirIncendio: Este evento indica que el aspersor se ha activado para combatir el fuego.

Diagrama global de interacciones

Se trata de una variante del Diagrama de actividades  donde los nodos son las interacciones o apariciones de interacción. Este diagrama se enfoca en la visión general del flujo de control de las interacciones, que también puede mostrar el flujo de actividad entre los diagramas. Dicho de otra manera, se utiliza para vincular los diagramas y lograr un alto grado de navegabilidad entre los diagramas.


Notación:

  • ·        Interacción: Representada por un conjunto de secuencias dentro de un contenedor.
  • ·        Mensajes: Flechas que conectan los contenedores de secuencias.

Ejemplo:

El siguiente ejemplo es sobre la Creación de nuevo núcleo familiar

Componentes del Diagrama

  • Actor: Usuario: Representa la persona que interactúa con el sistema.
  • Objeto: :FamiliaC: Representa una clase o objeto principal con el que el usuario interactúa.
  • Mensajes: Son las acciones o llamadas que se realizan entre el usuario y el objeto, o entre diferentes partes del objeto.
  • Contenedores de secuencia: Aunque no están explícitamente delimitados en el diagrama que proporcionas, podemos inferir que cada conjunto de mensajes secuenciales que se suceden en un objeto podría considerarse un contenedor de secuencia.

Interpretación de los Mensajes

  • CrearFamilia: El usuario inicia una interacción enviando un mensaje al objeto :FamiliaC para crear una nueva familia.
  • SetCaracteristicas(): Se invoca un método dentro del objeto :FamiliaC para establecer las características de la familia recién creada.
  • Self.setRestriccion(tipo, flia): Este mensaje indica una llamada recursiva dentro del objeto :FamiliaC para establecer una restricción. Se crea un nuevo objeto de tipo 'RestriccionF' y se configuran sus propiedades.
  • SetEstructura: Este mensaje sugiere que se está estableciendo la estructura de la familia.
  • [es composición?] estructuraDe= New EstructuraC: Se verifica una condición (si es una composición) y si se cumple, se crea un nuevo objeto de tipo 'EstructuraC' y se asigna a la variable 'estructuraDe'.
  • [esDescomposición?] estructuraDe= New EstructuraD: Similar al mensaje anterior, pero se verifica una condición diferente y se crea un objeto de tipo 'EstructuraD' si se cumple.



Comentarios

Entradas populares