UML Diagram: Activity
(Free Web Tutorials)
by Michael Thomas
UML Home Page
On the UML Home page, you can download
the whole UML site (all content, tutorials & examples) !!!
(Note: All of the EclipseUML projects
used in these tutorials are in .zip files located at:
uml\eclipse\viewonly . Just extract them into your workspace.)
This tutorial covers: UML 2.0
Prerequisites
- Review the UML Overview tutorial.
Objectives
- Get a broad over view of UML "Activity" diagram.
Definition & Example
- Activity Diagram - is a diagram of the dynamic nature of a system
by modeling the flow of control from activity to activity. Diagram how a
system (ie: object/class)
responds to an internal event. (note: external events are
described by an State Diagram). For business process modeling you
can use this diagram to model the logic of a use case or business rule.
- FYI - activity diagrams may not be the most popular diagrams.
- Example - (created
with EclipseUML - May of 2008) - a very ....
Goals of the Activity Diagram
- Model the logic of a use case (or just use textual info).
- Model procedural logic, algorithms, business process and work flow
concentrating on the state of the transitions.
- Model parallel logic.
- Show the activities that make up an action.
- Describe work flow and process modeling.
- A useful diagram especially if you are using UML as a programming
language.
Terms
- node - a point where an action begins. (examples: fork node, join node,
flow final node, decision node, merge node, etc....)
- action state - a rounded rectangular box with rounded edges indicates a
state change in the action.
- fork - one incoming flow forking out to 2 or more concurrent flows.
- decision (aka UML1's branch) - a node where an incoming flow may take
specific path based on an if/else statement.
- merge - is a node where the decision flows merge back to one flow path.
- join - where the flow paths join back together from the fork. All
inputs must be completed to pass through the join.
- join specification - is a boolean expression that must occur before the
join is complete.
- sub-activity - where you create another Activity diagram to further
describe a node (action). You normally place a "fork" symbol on the
parent node to indicate that there is a sub-activity diagram.
- partitions - use lines (horizontal or vertical) to divide the diagram to
show which actors do what by titling the partitions.
- time signal - use an hour glass symbol to indicate a passage of time.
You can use this to indicate that if a certain amount of time occurs without
a response then do another action.
- connector - use a connector (a circle with an alphabet letter inside) to
indicate where the line connects to if you are having troubles with routing
lines in the diagram.
- pins - use pins to indicate a parameter to the action. If the
parameter names are not identical it indicates that a transformation must be
done on the data.
- expansion region - describes the situation where one action may trigger
multiple actions that must occur once for each item in a collection (like a
for loop on an array).
- flow final - a hollow circle with an X inside indicates that the flow
ends without terminating the whole activity.
- final state - filled circle with a ring indicates the end of an action.
Future topics