Los diagramas de actividades [1] son representaciones gráficas de flujos de trabajo de actividades y acciones escalonadas [2] con soporte para elección, iteración y concurrencia. En el Lenguaje de Modelado Unificado , los diagramas de actividades están destinados a modelar tanto procesos computacionales como organizacionales (es decir, flujos de trabajo), así como los flujos de datos que se cruzan con las actividades relacionadas. [1] [3] "Los nodos de objeto contienen datos que se ingresan y se emiten desde nodos ejecutables, y se mueven a través de los bordes del flujo de objetos. Los nodos de control especifican la secuencia de nodos ejecutables a través de los bordes del flujo de control". [1] En otras palabras, aunque los diagramas de actividades muestran principalmente el flujo de control general, también pueden incluir elementos que muestran el flujo de datos entre actividades a través de uno o más almacenes de datos. [1]
Los diagramas de actividad se construyen a partir de un número limitado de formas, conectadas con flechas. [4] Los tipos de formas más importantes son los siguientes:
Las flechas van desde el principio hacia el final y representan el orden en que ocurren las actividades.
Los diagramas de actividad pueden considerarse como una forma de diagrama de flujo estructurado combinado con un diagrama de flujo de datos tradicional. Las técnicas típicas de diagrama de flujo carecen de estructuras para expresar concurrencia. [5] Sin embargo, los símbolos de unión y división en los diagramas de actividad solo resuelven esto para casos simples. El significado del modelo no está claro cuando estos símbolos se combinan arbitrariamente con decisiones o bucles. [ cita requerida ]
Mientras que en UML 1.x los diagramas de actividad eran una forma especializada de diagrama de estados, [6] en UML 2.x los diagramas de actividad se reformularon para basarse en una semántica similar a la de las redes de Petri , aumentando el alcance de las situaciones que se pueden modelar utilizando diagramas de actividad. [7] Estos cambios hacen que muchos diagramas de actividad de UML 1.x se interpreten de manera diferente en UML 2.x. [ cita requerida ]
Los diagramas de actividad UML de la versión 2.x se pueden utilizar en diversos ámbitos, por ejemplo, en el diseño de sistemas integrados. Es posible verificar dicha especificación utilizando técnicas de comprobación de modelos. [8]