Read this post in: de_DEen_USfr_FRhi_INid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

Guía completa sobre los diagramas de actividad UML

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

    visual Paradigm Activity Diagram Tool
    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

Activity Diagram Sample

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

Activity

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

Activity Parameter Node

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

Action

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

Accept Event Action

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


Acción de aceptar evento de tiempo

Accept Time Event Action

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

Send Signal Action

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

Initial Node

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

Activity Final Node

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

Flow Final Node

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

Decision Node

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

Merge Node

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

Fork Node

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

Join Node

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

Object Node

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

Input Pin

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


Clavija de salida

Output Pin

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


Clavija de valor

Value Pin

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

Central Buffer Node

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

Data Store Node

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


Flujo de control

Control Flow

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

Object Flow

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

Conditional Node Specification

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

Loop Node

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

Expansion Region

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

Expansion Node

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

Sequence Node

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


Nodo de actividad estructurado

Structured Activity Node

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

Interruptible Activity Region

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

Exception Handler

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

Swimlane

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

Note

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

Constraint

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


ℹ️ 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.