Los diagramas de actividades son representaciones gráficas de flujos de trabajo de actividades y acciones paso a paso [1] con soporte para elección, iteración y concurrencia. En el Lenguaje Unificado de Modelado , los diagramas de actividades están destinados a modelar procesos computacionales y organizacionales (es decir, flujos de trabajo), así como los flujos de datos que se cruzan con las actividades relacionadas. [2] [3] Aunque los diagramas de actividades muestran principalmente el flujo general de control, también pueden incluir elementos que muestran el flujo de datos entre actividades a través de uno o más almacenes de datos. [ cita necesaria ]
Los diagramas de actividades se construyen a partir de un número limitado de formas, conectadas con flechas. [4] Los tipos de formas más importantes:
Las flechas van desde el principio hacia el final y representan el orden en que suceden las actividades.
Los diagramas de actividades 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 diagramas de flujo carecen de elementos para expresar la concurrencia. [5] Sin embargo, los símbolos de unión y división en los diagramas de actividad solo resuelven esto en casos simples; el significado del modelo no está claro cuando se combinan arbitrariamente con decisiones o bucles. [ cita necesaria ]
Mientras que en UML 1.x, los diagramas de actividad eran una forma especializada de diagramas de estado, [6] en UML 2.x, los diagramas de actividad se reformalizaron para basarse en la semántica similar a la red de Petri , aumentando el alcance de 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 necesaria ]
Los diagramas de actividad UML en la versión 2.x se pueden utilizar en varios dominios, por ejemplo en el diseño de sistemas integrados. Es posible verificar dicha especificación utilizando la técnica de verificación de modelos. [8]