El diagrama de actividad ayuda a describir el flujo de control del sistema objetivo, como explorar reglas y operaciones empresariales complejas, describir casos de uso y modelar procesos empresariales.
Introducción
Los diagramas de actividad son una parte fundamental del Lenguaje Unificado de Modelado (UML) utilizado para modelar los aspectos dinámicos de un sistema. Se enfocan en la secuencia y condiciones para coordinar comportamientos de nivel inferior, más que en qué clasificadores poseen esos comportamientos. Estos comúnmente se denominan flujo de control y modelos de flujo de objetos.
Los comportamientos coordinados por estos modelos pueden iniciarse porque:
-
Otros comportamientos finalizan su ejecución
-
Los objetos y datos se vuelven disponibles
-
Ocurren eventos externos al flujo

Herramienta de diagramas de actividad de visual Paradigm
Propósito y aplicaciones
Los diagramas de actividad cumplen múltiples propósitos de modelado:
🔹 Computación procedural: Las actividades funcionan como métodos correspondientes a operaciones en clases de modelos orientados a objetos.
🔹 Ingeniería de procesos empresariales: Aplicado al modelado organizacional para el diseño de flujos de trabajo, donde los eventos pueden originarse dentro del sistema (completación de tareas) o fuera (interacciones con clientes).
🔹 Modelado de sistemas de información: Utilizado para especificar procesos a nivel de sistema y coordinar reglas empresariales complejas.
🔹 Elaboración de casos de uso: Ayudan a describir el flujo interno de operaciones dentro de un escenario de caso de uso.
Diagrama de actividad de ejemplo

Ejemplo de un diagrama de actividad típico que muestra el flujo de control, puntos de decisión y procesamiento paralelo.
Referencia completa de notación
A continuación se presenta una referencia completa de todas las notaciones del diagrama de actividad, incluyendo íconos visuales, definiciones y propiedades clave.
Elementos principales
Actividad

Definición: Una actividad especifica la coordinación de las ejecuciones de comportamientos secundarios, utilizando un modelo de flujo de control y datos. El flujo de ejecución se modela como nodos de actividad conectados por aristas de actividad.
Propiedades clave:
| Propiedad | Descripción |
|---|---|
| Nombre | El nombre de la actividad |
| Lenguaje | Lenguaje de modelado utilizado |
| Precondición | Restricciones que deben cumplirse al invocarse |
| Postcondición | Restricciones cumplidas después de que finaliza la ejecución |
| Ejecución única | Si es verdadero, todas las invocaciones son manejadas por la misma ejecución |
| Solo lectura | Si es verdadero, la actividad no puede realizar cambios no locales |
| Reentrante | Si el comportamiento puede invocarse mientras aún se está ejecutando |
| Parámetros | Orden y tipo de argumentos para la invocación |
Nodo de parámetro de actividad

Definición: Nodos de objeto al principio y al final de los flujos que proporcionan un medio para aceptar entradas en una actividad y proporcionar salidas de la actividad, a través de los parámetros de actividad.
Propiedades clave:
| Propiedad | Descripción |
|---|---|
| Parámetro | El parámetro para el que el nodo acepta/provee valores |
| Límite superior | Número máximo de tokens permitidos en el nodo |
| Tipo de ordenación | Cómo se ordenan los tokens para su selección |
| Dirección | Indica si el parámetro es de entrada o salida (predeterminado: entrada) |
| Tipo | El tipo del nodo de parámetro de actividad |
| Debe aislarse | Si es verdadero, las acciones se ejecutan en aislamiento (predeterminado: falso) |
Acción

Definición: Representa un paso único dentro de una actividad que no se descompone más. Una acción no comenzará su ejecución hasta que se cumplan todas las condiciones de entrada.
Propiedades clave:
| Propiedad | Descripción |
|---|---|
| Nombre | El nombre de la acción |
| Visibilidad | Accesibilidad dentro de espacios de nombres |
| Tipo | Acción de llamada de comportamiento o acción de llamada de operación |
| Efecto | El efecto de completar la acción |
| Debe aislarse | Aisla los efectos de las acciones fuera del grupo |
Acciones de manejo de eventos
Acción de aceptar evento

Definición: Una acción que espera la ocurrencia de un evento que cumpla condiciones especificadas.
Acción de aceptar evento de tiempo

Definición: Si la ocurrencia es un evento de tiempo, el valor de resultado contiene la hora en que tuvo lugar la ocurrencia. Comúnmente llamado una “acción de espera de tiempo”.
Acción de enviar señal

Definición: Crea una instancia de señal a partir de las entradas y la transmite al objeto objetivo, lo que podría provocar una transición de máquina de estados o la ejecución de una actividad. El solicitante continúa inmediatamente; se ignoran las respuestas.
Nodos de control
Nodo inicial

Definición: Un nodo de control en el que comienza el flujo cuando se invoca la actividad. Una actividad puede tener más de un nodo inicial.
Nodo final de actividad

Definición: Una actividad puede tener más de un nodo final de actividad. El primero alcanzado detienetodos los flujos en la actividad.
Nodo final de flujo

Definición: Un nodo final de flujo destruye todos los tokens que llegan a él. No tieneefecto sobre otros flujos en la actividad.
Nodo de decisión

Definición: Acepta tokens en una arista entrante y los presenta a múltiples aristas salientes. El camino que se recorre depende de la evaluación de las condiciones en las aristas salientes.
Nodo de combinación

Definición: Reúne múltiples flujos alternativos. No se utiliza para sincronizar flujos concurrentes, sino para aceptaruno entre variosflujos alternativos.
Nodo de bifurcación

Definición: Un nodo de control que divide un flujo enmúltiples flujos concurrentes. Tiene una arista de entrada y múltiples aristas de salida.
Nodo de unión

Definición: Un nodo de control quesincroniza múltiples flujos. Tiene múltiples aristas de entrada y una arista de salida.
Nodos y flujos de objetos
Nodo de objeto

Definición: Indica una instancia de un clasificador particular, posiblemente en un estado particular, que podría estar disponible en un punto particular de la actividad.
Clavija de entrada

Definición: Nodos de objeto que reciben valores de otras acciones a través de flujos de objetos.
Clavija de salida

Definición: Nodos de objeto que entregan valores a otras acciones a través de flujos de objetos.
Clavija de valor

Definición: Una clavija de entrada que proporciona un valor a una acción que nonoproviene de una arista de flujo de objeto entrante.
Nodo de buffer central

Definición: Acepta tokens de nodos de objetos aguas arriba y los pasa a nodos de objetos aguas abajo. Actúa como un buffer para múltiples flujos de entrada/salida. No se conecta directamente a acciones.
Nodo de almacenamiento de datos

Definición: Representa una ubicación de almacenamiento permanente para objetos dentro del flujo de actividad.
Flujo de control

Definición: Una arista que inicia un nodo de actividad después de que el anterior haya finalizado.
Propiedades clave:
| Propiedad | Descripción |
|---|---|
| Origen/Objetivo | Nodos conectados por el flujo |
| Peso | Mínimo de tokens que deben atravesar simultáneamente |
| Guardia | Especificación en tiempo de ejecución para determinar la transitabilidad |
Flujo de objetos

Definición: Una arista de actividad que puede tener objetos o datos pasando a lo largo de ella.
Propiedades clave:
| Propiedad | Descripción |
|---|---|
| Selección | Selecciona tokens de un nodo de objeto de origen |
| Transformación | Cambia o reemplaza los tokens de datos que fluyen a lo largo de la arista |
| Multidifusión/Multirecepción | Controla el método de paso de objetos |
Nodos de actividad estructurados
Especificación del nodo condicional

Definición: Un nodo de actividad estructurado que representa un elección exclusiva entre alternativas.
Propiedades clave:
| Propiedad | Descripción |
|---|---|
| Asegurado | Si es verdadero, al menos una prueba tendrá éxito (predeterminado: falso) |
| Determinado | Si es verdadero, como máximo una prueba tendrá éxito (predeterminado: falso) |
| Cláusulas | Cláusulas que componen el condicional |
| Resultado | Pines de salida que constituyen salidas de flujo de datos |
Nodo de bucle

Definición: Representa un bucle con secciones de configuración, prueba y cuerpo. La sección de prueba puede preceder o seguir la sección de cuerpo.
Propiedades clave:
| Propiedad | Descripción |
|---|---|
| Decisor | Pin de salida cuyo valor determina la continuación del bucle |
| Probado primero | Si es verdadero, la prueba se realiza antes de la primera ejecución del cuerpo |
| Partes de configuración/prueba/cuerpo | Subregiones para componentes de bucle |
| Variables de bucle | Valores mantenidos a través de las iteraciones |
Región de expansión

Definición: Una región estrictamente anidada con entradas/salidas explícitas (modelada como ExpansionNodes). Se ejecuta una vez por cada elemento en la colección de entrada.
Modos de ejecución:
-
paralelo: Todas las interacciones son independientes
-
iterativo: Las interacciones ocurren en el orden de los elementos
-
flujo: Un flujo de valores fluye hacia una única ejecución
Nodo de expansión

Definición: Un nodo de objeto utilizado para indicar el flujo a través del límite de una región de expansión. Las colecciones de entrada se dividen en elementos individuales dentro de ella; las salidas combinan los elementos nuevamente en colecciones.
Nodo de secuencia

Definición: Un nodo de actividad estructurado que ejecuta sus accionesen orden.
Nodo de actividad estructurado

Definición: Un nodo contenedor que agrupa otros nodos de actividad con semántica de ejecución definida.
Construcciones avanzadas
Región de actividad interrumpible

Definición: Un grupo de actividad que admite la terminación de tokens que fluyen en partes de una actividad. Cuando un token sale mediante aristas interrumpidoras, todos los tokens y comportamientos en la región se terminan.
Manejador de excepciones

Definición: Especifica un cuerpo que se ejecutará si ocurre una excepción especificada durante la ejecución del nodo protegido.
Propiedades clave:
| Propiedad | Descripción |
|---|---|
| Nodo protegido | Nodo protegido por el manejador |
| Cuerpo del manejador | Nodo ejecutado si el manejador atrapa la excepción |
| Entrada de excepción | Nodo objeto que recibe el token de excepción |
| Tipos de excepción | Clasificadores de excepciones que atrapa el manejador |
Elementos de soporte
Carril

Definición: Utilizado para particionar hijos en un diagrama de actividad, típicamente para mostrar la responsabilidad por actor, departamento o componente del sistema.
Propiedades:
-
Particiones horizontales
-
Particiones verticales
Nota

Definición: Un comentario que permite adjuntar observaciones a elementos. No tiene fuerza semántica, pero puede contener información útil de modelado.
Restricción

Definición: Una condición o restricción expresada en lenguaje natural o lenguaje legible por máquina para declarar el significado de un elemento.
Propiedades:
| Propiedad | Descripción |
|---|---|
| Nombre | Nombre opcional de la restricción |
| Expresión | Condición que debe ser verdadera para su satisfacción |
Diagramas UML relacionados
Los diagramas de actividad funcionan mejor cuando se utilizan junto con otros tipos de diagramas UML:
| Tipo de diagrama | Propósito | Enlace |
|---|---|---|
| Diagrama de casos de uso | Capturar requisitos funcionales e interacciones de los actores | Ver |
| Diagrama de clases | Modelar la estructura estática y las relaciones | Ver |
| Diagrama de secuencias | Mostrar las interacciones entre objetos a lo largo del tiempo | Ver |
| Diagrama de comunicación | Enfatizar las relaciones entre objetos en las interacciones | Ver |
| Diagrama de máquinas de estado | Modelar los estados y transiciones de los objetos | Ver |
| Diagrama de Componentes | Mostrar componentes físicos y dependencias | Vista |
| Diagrama de Despliegue | Modelar la topología de hardware y el despliegue de artefactos | Vista |
| Diagrama de Paquetes | Organizar elementos del modelo en espacios de nombres | Vista |
| Diagrama de Objetos | Mostrar instancias y enlaces en un momento dado | Vista |
| Diagrama de Estructura Compuesta | Mostrar la estructura interna de clasificadores | Vista |
| Diagrama de Tiempo | Enfocarse en las restricciones de tiempo y los cambios de estado | Vista |
| Diagrama de Visión General de Interacción | Combinar diagramas de actividad e interacción | Vista |
Referencias
- Diagrama de Actividad – Galería UML de Visual Paradigm: Referencia completa para las notaciones, definiciones y propiedades del diagrama de actividad UML de la documentación oficial de Visual Paradigm.
- Diagrama de Casos de Uso – Galería UML de Visual Paradigm: Guía para modelar requisitos funcionales e interacciones entre actores y sistemas utilizando diagramas de casos de uso.
- Diagrama de Clases – Galería UML de Visual Paradigm: Referencia para modelar la estructura estática, clases, atributos, operaciones y relaciones.
- Diagrama de Secuencia – Galería UML de Visual Paradigm: Documentación para modelar interacciones ordenadas en el tiempo entre objetos y líneas de vida.
- Diagrama de comunicación – Galería UML de Visual Paradigm: Guía para diagramas de colaboración/comunicación que enfatizan los enlaces entre objetos y el flujo de mensajes.
- Diagrama de máquina de estados – Galería UML de Visual Paradigm: Referencia para modelar estados, transiciones, eventos y acciones de objetos individuales.
- Diagrama de componentes – Galería UML de Visual Paradigm: Documentación para modelar componentes físicos, interfaces y dependencias en un sistema.
- Diagrama de despliegue – Galería UML de Visual Paradigm: Guía para modelar nodos de hardware, artefactos y configuraciones de despliegue.
- Diagrama de paquetes – Galería UML de Visual Paradigm: Referencia para organizar elementos de modelo en paquetes y gestionar espacios de nombres.
- Diagrama de objetos – Galería UML de Visual Paradigm: Guía para modelar instancias de clases y sus enlaces en un momento específico.
- Diagrama de estructura compuesta – Galería UML de Visual Paradigm: Documentación para mostrar la estructura interna, partes, puertos y conectores de clasificadores.
- Diagrama de temporización – Galería UML de Visual Paradigm: Referencia para modelar restricciones basadas en tiempo y cambios de estado a lo largo de las líneas de vida.
- Diagrama de vista general de interacción – Galería UML de Visual Paradigm: Guía para combinar el control de flujo del diagrama de actividades con fragmentos del diagrama de interacción.
- Grupo de Gestión de Objetos – Especificación UML: Fuente oficial para las normas y especificaciones del Lenguaje Unificado de Modelado.
- Lenguaje Unificado de Modelado (OMG UML) Superestructura v2.2: Especificación fundamental que define la semántica de la notación UML, citada para las definiciones de notación en esta guía.
ℹ️ La definición de notaciones se cita de Grupo de Gestión de Objetos Lenguaje Unificado de Modelado (OMG UML) Versión de la superestructura 2.2 y versiones anteriores (para notaciones que ya no existen en la especificación más reciente).
Esta guía está dirigida a arquitectos de software, analistas de negocios y diseñadores de sistemas que buscan modelar flujos de trabajo y procesos empresariales complejos utilizando diagramas de actividades UML. Todos los activos visuales y definiciones provienen de la galería oficial UML de Visual Paradigm.











