¿Qué es un diagrama de actividad?
Un diagrama de actividad es un diagrama comportamental diagrama UML que funciona como un diagrama de flujo potente y formalizado para aplicaciones de software. Como un componente esencial de la especificación del Lenguaje Unificado de Modelado (UML), representa paso a paso el flujo de trabajo operativo de un componente del sistema, un proceso empresarial o un bucle de ejecución algorítmica. Al rastrear el flujo secuencial del control desde un punto de inicio inicial hasta una conclusión final, este tipo específico detipo de diagrama UML ayuda a los ingenieros de software, gerentes de productos y analistas de negocios trazar lógica de sistemas complejos, identificar casos límite y aislar visualmente caminos de ejecución paralelos antes de escribir una sola línea de lógica de backend.
Con VPasCode, no necesitas organizar manualmente los cuadros de flujo, calcular intersecciones de flechas ni equilibrar el espaciado del diseño. El motor utiliza una norma de formato modernizada y similar a un script para generar instantáneamente vectores de diseño limpios y altamente legibles mientras escribes el código.
Guía de sintaxis principal: Elementos y construcciones
Para diseñar un diagrama de actividad UML elegante y conforme a las normas en PlantUML, debes dominar los puntos de control de ejecución, los estados de actividad, las ramificaciones condicionales, las divisiones paralelas y las carriles verticales.
1. Puntos de control de ejecución y actividades básicas
A diferencia de las notaciones UML heredadas, los scripts de actividad modernos utilizan etiquetas de comandos limpias y explícitas para marcar los límites de tu flujo de trabajo. Un nodo de actividad se define simplemente colocando texto dentro de dos puntos y un punto y coma al final:
start
:Inicializar contexto de la aplicación;
:Cargar caché de configuración local;
stop 
2. Ramificaciones de lógica condicional (si / sino / switch)
Para ramificar tu lógica de control según parámetros operativos, utiliza bucles de sintaxis de programación estándar. Puedes agregar etiquetas dentro de paréntesis para indicar los criterios específicos de evaluación necesarios para que una flecha pase a través de una rama:
- Ramificaciones binarias (si / sino si / sino): Ideal para comprobaciones simples de verdadero/falso:
Plantuml Edit Plantuml in VPasCode
si (¿Es el token válido?) entonces (sí) :Conceder acceso a la API; sino (no) :Redirigir al inicio de sesión; fin si
- Conmutadores de múltiples caminos (switch): Perfecto para evaluar rangos numéricos, niveles de rol o patrones de coincidencia de cadenas sin anidar declaraciones if infinitas:
Plantuml Edit Plantuml in VPasCode
switch (Tipo de Rol de Usuario) case (Administrador) :Renderizar Consola Completa; case (Moderador) :Renderizar Panel de Control; case (Invitado) :Renderizar Feed de Solo Lectura; endswitch
3. Ejecuciones Paralelas (fork / join)
Al modelar entornos de nube contemporáneos o bucles de código multi-hilo, a menudo necesitas representar tareas que ocurren de forma concurrente. Usa el constructo fork para dividir tu cadena de ejecución en carriles independientes y paralelos, y finaliza con un token de join para fusionarlos nuevamente en un único hilo:
fork
:Generar Factura por Correo;
fork de nuevo
:Deducir Inventario de Almacén;
fin fork 
4. Organizar la Responsabilidad con Cintas de Nado
Para definir claramente qué actor, equipo de servicio o límite de infraestructura de microservicio posee una acción específica, utiliza particiones verticales conocidas como cintas de nado. Declaras una cinta de nado envolviendo una cadena de título entre caracteres de tubería (|Título de Cinta|):
|Aplicación Cliente|
iniciar
:Pulsar Botón de Compra;
|#LightBlue Gateway de Pago|
:Autorizar Tarjeta de Crédito; 
Mejores Prácticas para Flujos de Actividades Limpios
- Usa Etiquetas con Verbos Activos:Mantén tus bloques de texto de actividad compactos y claros comenzando con verbos orientados a la acción (por ejemplo,
:Analizar Carga Útil;en lugar de:Los datos de la carga útil son analizados por la aplicación trabajadora;). - Codificar por Colores los Nodos de Alto Riesgo:Agregue colores hex personalizados directamente en los nodos de fondo sensibles (por ejemplo,
:#Crimson:Eliminar registros de la base de datos;) para que los pasos críticos destaquen visualmente en mapas empresariales grandes. - Evite líneas cruzadas:Si su diagrama de múltiples ramas comienza a verse desordenado, divida los bloques de texto insertando un nodo conectador circular limpio usando la notación de desconexión (
desconectar) o anclajes terminales.
Ejemplos reales de diagramas de actividad de PlantUML
Ejemplo 1: Incorporación de usuarios y validación de identidad (ramificaciones y conmutadores)
Esta plantilla modela un flujo de trabajo estándar de incorporación de usuarios que contiene lógica condicional binaria profunda y una verificación de identidad dentro de un diseño limpio de diagrama UML.
@startuml
inicio
:El usuario envía el formulario de registro;
si (¿El correo ya existe?) entonces (sí)
:Mostrar advertencia de conflicto de cuenta;
detener
sino (no)
:Crear registro de usuario pendiente;
fin si
:Enviar código OTP de verificación;
repetir
:Esperar entrada del OTP del usuario;
atrás:Registrar alerta de intento fallido;
repetir mientras (¿El OTP es correcto?) es (no) no (sí)
conmutar (Nivel de selección de cuenta)
caso (Premium pagado)
:Provisionar clústeres de base de datos;
:Activar bucle de suscripción de Stripe;
caso (Nivel gratuito)
:Aplicar límites básicos de tasa de API;
fin conmutar
:Marcar el perfil de usuario como verificado;
detener
@enduml 
Desglose de sintaxis:Esta plantilla muestra un bucle de validación estándar repetir / atrás / repetir mientras que captura continuamente las entradas del usuario hasta que se pasa la clave de seguridad correcta. El conmutador de múltiples rutas conmutar separa limpiamente la lógica de configuración de cuentas según los valores de estado de nivel.
Ejemplo 2: Motor de cumplimiento de pedidos distribuidos (carriles y bifurcaciones paralelas)
Este mapa de arquitectura empresarial complejo aprovecha carriles verticales estructurales para rastrear exactamente cómo un flujo de caja automático procesa tareas de forma simultánea a través de un cliente de navegador, una puerta de enlace de API y un centro físico de cumplimiento.
@startuml
|#Blanco|Aplicación del cliente|
inicio
:Enviar carrito de compras;
:Seleccionar dirección de envío;
|#CianClaro|Motor de API de caja|
:Validar inventario de productos;
si (¿Productos en stock?) entonces (no)
:Devolver error de fuera de stock;
detener
sino (sí)
:Bloquear asignaciones de inventario;
fin si
bifurcar
:Procesar pago mediante Stripe;
:Generar recibo digital PDF;
bifurcar de nuevo
|#Lavanda|Sistema de gestión de almacén|
:Imprimir etiqueta física de empaque;
:Asignar robot de selección de almacén;
fin bifurcar
|#CianClaro|Motor de API de caja|
:Enviar gancho de confirmación de pedido;
detener
@enduml 
Desglose de sintaxis:El uso de carriles con colores (como |#Lavanda Sistema de gestión de almacén|) obliga al motor de diseño automático a crear columnas nítidas y separadas. La bifurcación paralela divisiónla declaración muestra claramente que el procesamiento de pagos en el motor de la API y la generación de la hoja de empaque en el almacén físico ocurren de forma simultánea, fusionándose de forma limpia antes del terminaldetener bloque.