UML (Unified Modeling Language) activity diagrams are graphical representations used to model workflows, processes, and behaviours within a system. They provide a visual overview of the steps involved in accomplishing a task or achieving a specific outcome. Generally most UML diagrams are appropriate for software design, however a few can be leveraged to understand systems from both a human as well as technology perspective. In the previous example on simple flow charts we created a high level model of a checkout experience, for this example we'll focus on the cash register process.
Symbols
Activity diagrams unlike simple flow charts, have a more stringent set of symbols, this is because UML is much more standardised, whereas flow charts are much more pragmatic. Generally activity diagrams are not appropriate for all audiences, they are a great way for business analysts and software engineers to collaborate and ensure that they have a shared understanding.
Symbol | Description |
---|---|
A solid dot represents the start of the process | |
A solid dot with a circle around it represents the end of the process | |
A circle with an X in the middle represents the end of a branch or activity | |
A diamond indicates that a branch is created, or that two branches merge into one | |
A rectangle with rounded corners represents an activity, something that is done | |
A bar with a flow going into it and a number of flows exiting depicts parrallel processes | |
A bar with multiple flows entering and only one exiting depicts a pause point, where all parallel process must converge | |
The note symbol allows the diagram creator the opportunity to annotate their diagram with some contextual information for the reader | |
The send signal notation, indicates that the process is outputting a message to another process | |
The receive signal notation, indicates that the process is waiting for input from another process | |
Timer notation, how long a process is suppose to wait before Continuing | |
Frequency notation, indicates a timer job, how long before triggering an action | |
Interrupt notation, indicates that something has occurred which needs to branch to a different flow | |
Call other process, indicates that the activity is actually a sub process |