If you’re working with business processes, system flows, or use case logic in Sparx Enterprise Architect, UML Activity Diagrams can help you map it all out – visually, clearly, and fast.
UML Activity diagrams model the flow of activities and actions within a system, showing how work moves from one activity to another. They’re particularly useful for modeling business processes, workflows, and algorithmic logic.
Every activity diagram starts with an initial node and typically ends with a final node (circle with a filled circle inside). These mark the beginning and end of the workflow.
The initial node (filled black circle) marks the start of a user activity, and the final node (circle with a filled circle inside) marks the end of the activity.
Represented by rounded rectangles, these are the work units being performed. Activities are higher-level operations that can contain sub-activities, while actions are atomic units of work that cannot be further decomposed.
In the example shown below, there are multiple activities (represented by rectangles), that have a linear progression through connectors and flows.
Decision nodes (diamonds) represent branching points where the flow splits based on conditions.
Merge nodes Each outgoing edge from a decision node should have a guard condition in square brackets like [condition].
(also diamonds) bring multiple flows back together.
Fork nodes (thick horizontal or vertical bars) split a single flow into multiple concurrent flows, enabling parallel execution. Join nodes (identical bars) to synchronize multiple concurrent flows back into a single stream.
Rectangles that represent data or objects flowing through the system - They show what information is consumed or produced by activities.
The following example incorporates the control flows and object flows in an activity.
It shows the flow of an object (Order) between activities.
This shows how data is being manipulated as it moves between structured and main activities.
Beyond basic flow control, UML 2.0 introduces specialized regions that handle complex real-world scenarios:
These allow you to group related activities into higher-level operations, as shown in the StaffContactClient example below.
These regions allow you to model processes that can be interrupted by external events, such as order cancellations or emergency stops. Activities within an InterruptibleActivityRegion can be halted at any point when an interruption signal is received, immediately transferring control to exception handling activities.
InterruptibleActivityRegions are represented by dashed rounded rectangles that encompass a group of activities that can all be interrupted together.
Real-world processes often need to handle unexpected events or cancellations. Activity diagrams provide several mechanisms for this:
Consider an enhanced order processing system where customers can cancel orders at any point during fulfillment. The main processing activities (Fill Order, Ship Order, Close Order) are enclosed in an InterruptibleActivityRegion. When an “Order Cancel Request” signal arrives, all activities in the region terminate immediately, and the flow jumps to the cancellation handling process.
Key characteristics of InterruptibleActivityRegions:
Let’s delve into how Activities work in sequence.
This diagram effectively demonstrates how Activity diagrams can model complex business processes with hierarchical decomposition, parallel processing, advanced decision logic, and robust exception handling capabilities.
Download Your Free 30-Day trial version of Enterprise Architect 17.1.
Submit Your Request and We’ll Promptly Send a Payment link or Invoice.