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.
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.
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
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
- 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.
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
Publicar un comentario