23. Diagramas de tiempo y de vista global de interacción: cuándo conviene usarlos

23.1 Introducción

Además de los diagramas de secuencia y comunicación, UML incluye otros diagramas de interacción menos frecuentes: el diagrama de tiempo y el diagrama de vista global de interacción. No suelen ser los primeros diagramas que se usan en un proyecto, pero pueden ser valiosos cuando el problema exige representar tiempo, cambios de estado o coordinación entre varias interacciones.

El diagrama de tiempo se concentra en cómo cambian estados o valores a lo largo de una línea temporal. El diagrama de vista global de interacción combina una visión de flujo con referencias a interacciones más detalladas, como si organizara varias secuencias dentro de un proceso mayor.

23.2 Por qué son diagramas especializados

Estos diagramas son especializados porque responden preguntas más puntuales que otros diagramas UML. No se usan para mostrar cualquier estructura ni cualquier comportamiento general. Se usan cuando el tiempo, la coordinación de interacciones o la evolución de estados durante un intervalo son aspectos importantes.

En muchos sistemas, un diagrama de secuencia o de actividades será suficiente. Pero cuando se necesita analizar tiempos máximos, sincronización, ventanas temporales, protocolos, ciclos de comunicación o varias interacciones encadenadas, estos diagramas pueden aportar claridad.

Los diagramas de tiempo y de vista global de interacción se usan cuando una interacción necesita explicarse con mayor precisión temporal o coordinación entre escenarios.

23.3 Dos vistas especializadas de interacción

El diagrama de tiempo permite observar cambios de estado o valores durante una línea temporal. El diagrama de vista global de interacción permite organizar varias interacciones dentro de un flujo mayor. Ambos pertenecen a la familia de diagramas de interacción, pero se aplican a necesidades más específicas que una secuencia simple.

Diagramas UML de tiempo y de vista global de interacción como vistas especializadas de interacción

23.4 Diagrama de tiempo

El diagrama de tiempo muestra cómo cambia el estado o el valor de uno o más participantes a lo largo del tiempo. Se usa cuando importa la duración, el orden temporal exacto o la relación entre cambios de distintos elementos.

Por ejemplo, puede representar cómo cambia el estado de una conexión, un sensor, una sesión, una alarma, una solicitud o un proceso de autorización durante ciertos segundos o minutos.

23.5 Línea temporal

La línea temporal es el eje principal del diagrama de tiempo. A diferencia del diagrama de secuencia, donde el tiempo avanza de arriba hacia abajo, en el diagrama de tiempo suele avanzar horizontalmente. Los cambios se muestran sobre esa línea.

Este formato facilita analizar duraciones, demoras, sincronización y cambios que deben ocurrir dentro de ciertos límites temporales.

23.6 Estados y valores en el tiempo

Un diagrama de tiempo puede mostrar estados, como Disponible, Ocupado, En espera o Error. También puede mostrar valores, como temperatura, nivel, señal, conexión activa o cantidad disponible.

La elección depende del problema. Si se analiza el comportamiento de un pedido, pueden mostrarse estados. Si se analiza un sensor, pueden mostrarse valores o rangos.

23.7 Restricciones temporales

Una de las principales razones para usar un diagrama de tiempo es expresar restricciones temporales. Por ejemplo, una respuesta debe llegar antes de 5 segundos, una sesión expira después de 15 minutos de inactividad o una alarma debe activarse si un valor supera cierto límite durante más de 10 segundos.

Estas restricciones pueden ser difíciles de explicar con un diagrama de clases o actividades. El diagrama de tiempo las hace visibles.

23.8 Ejemplo: sesión de usuario

Una sesión puede comenzar como Activa, pasar a Inactiva después de cierto tiempo sin actividad y expirar si la inactividad supera un límite. Un diagrama de tiempo puede mostrar esos cambios sobre una escala temporal.

Este tipo de vista ayuda a discutir reglas de expiración, tiempos máximos y eventos que reactivan la sesión.

23.9 Ejemplo: monitoreo de sensor

Un sensor puede informar valores continuamente. El sistema puede pasar de Normal a Alerta si el valor supera un umbral durante un intervalo determinado. Si el valor vuelve al rango aceptado, puede regresar a Normal.

El diagrama de tiempo permite representar visualmente la relación entre valores, duración y cambios de estado.

23.10 Cuándo usar un diagrama de tiempo

Conviene usar un diagrama de tiempo cuando el comportamiento depende de duraciones, ventanas temporales, sincronización o cambios de estado en una línea de tiempo. Es útil en sistemas de control, comunicaciones, dispositivos, monitoreo, sesiones, alarmas y protocolos.

No conviene usarlo si el tiempo exacto no es relevante. En ese caso, un diagrama de secuencia, actividades o estados puede ser más claro.

23.11 Vista global de interacción

El diagrama de vista global de interacción combina elementos de diagramas de actividades con referencias a interacciones. Permite mostrar un flujo general donde cada paso puede ser una interacción más detallada, como un diagrama de secuencia separado.

Se usa cuando un proceso completo está formado por varias interacciones importantes y se necesita mostrar el orden general sin repetir todos los mensajes internos.

23.12 Interacciones referenciadas

Una interacción referenciada representa una interacción definida en otro lugar. Por ejemplo, Validar usuario, Procesar pago, Registrar pedido o Enviar confirmación pueden ser interacciones separadas que se enlazan dentro de una vista global.

Esto permite mantener diagramas más limpios. La vista global muestra el recorrido general, y cada interacción puede tener su propio detalle en un diagrama de secuencia.

23.13 Decisiones en vista global de interacción

Al igual que en un diagrama de actividades, pueden aparecer decisiones que determinan qué interacción ocurre después. Por ejemplo, después de Procesar pago, el flujo puede ir a Confirmar pedido si el pago fue aprobado, o a Informar rechazo si fue rechazado.

Esta combinación permite representar procesos de alto nivel compuestos por interacciones complejas.

23.14 Ejemplo: compra completa

Una vista global de interacción para una compra puede incluir las interacciones Seleccionar productos, Validar carrito, Procesar pago, Registrar pedido, Descontar stock y Enviar confirmación. Cada una puede estar detallada en un diagrama de secuencia distinto.

La vista global evita mezclar todos los mensajes de todas las interacciones en un único diagrama gigante.

23.15 Ejemplo: reserva de turno

Para una reserva de turno, la vista global puede incluir Buscar disponibilidad, Seleccionar horario, Registrar reserva y Notificar confirmación. Si no hay disponibilidad, el flujo puede volver a Buscar disponibilidad con otros criterios.

Este diagrama ayuda a entender la coordinación entre interacciones sin detallar cada mensaje interno.

23.16 Cuándo usar vista global de interacción

Conviene usar este diagrama cuando un proceso incluye varias interacciones importantes y se necesita una vista de coordinación. Es útil para procesos largos, escenarios complejos o documentación donde se desea navegar desde una visión general hacia detalles separados.

No conviene usarlo para procesos simples. Si todo puede explicarse claramente con un único diagrama de secuencia o actividades, la vista global puede ser innecesaria.

23.17 Comparación entre ambos diagramas

Diagrama Foco principal Uso típico
Tiempo Cambios de estado o valores a lo largo del tiempo. Sesiones, sensores, protocolos, restricciones temporales.
Vista global de interacción Coordinación de varias interacciones. Procesos largos formados por varias secuencias.

23.18 Criterios de revisión

  • ¿El tiempo o la coordinación de interacciones son realmente importantes?
  • ¿El diagrama elegido responde mejor que una secuencia o actividad simple?
  • ¿Las restricciones temporales son claras?
  • ¿Los estados o valores representados son significativos?
  • ¿Las interacciones referenciadas tienen nombres comprensibles?
  • ¿La vista general evita repetir detalles innecesarios?
  • ¿El diagrama no agrega complejidad sin aportar claridad?

23.19 Errores frecuentes

  • Usar un diagrama de tiempo cuando el tiempo exacto no importa.
  • Confundir diagrama de tiempo con diagrama de estados.
  • Intentar mostrar todos los mensajes de una interacción en una vista global.
  • Referenciar interacciones con nombres vagos.
  • Crear una vista global para un proceso demasiado simple.
  • No indicar restricciones temporales cuando son la razón principal del diagrama.
  • Usar diagramas especializados solo por formalidad.

23.20 Qué debes recordar de este tema

  • El diagrama de tiempo muestra cambios de estados o valores a lo largo de una línea temporal.
  • Es útil cuando importan duración, sincronización o restricciones temporales.
  • La vista global de interacción organiza varias interacciones dentro de un flujo mayor.
  • Es útil para procesos largos formados por varias secuencias.
  • Ambos diagramas son especializados y no son necesarios en todos los proyectos.
  • Conviene usarlos solo cuando aportan más claridad que diagramas más simples.

23.21 Conclusión

Los diagramas de tiempo y de vista global de interacción amplían las posibilidades de modelado de interacciones en UML. El primero permite analizar cambios temporales; el segundo permite coordinar varias interacciones dentro de un proceso mayor. Son herramientas útiles cuando el problema realmente necesita ese nivel de representación.

En el próximo tema veremos cómo elegir el diagrama adecuado según el problema que se desea comunicar.