Activity diagrams are often used to model business processes. They
simply and quite plainly show how things work, and
so function as a good aid to discussions of aspects of the workflow with
the domain experts. These are less abstract than the often used
object-oriented
state diagrams.
The following example shows an activity diagram that
depicts the rules and the process of paying an order. In the following
example, Softsale will not accept an order if you
have overdue payments open, will only allow payment by invoice if your
e-mail and home address have been verified, and a few other rules. Take
a closer look for yourself in order to become more familiar with the
notation.
Initial States and
Final States - Indicate the beginning and
end of the observed process.
Action States -
Specific activities which comprise the process. They must be
executed in a specified chronological order. Sometimes you may
want to split the sequence; therefore, you have two different
possibilities: Branches (choice) and Forks (concurrency).
Branches - These
divide the sequence into several alternatives specified by
different conditions (guards).
Forks and
Joins - Forks divide the sequence into
concurrent sub-sequences. Joins merge the sub-sequences.
Synchronization
States - Used in concurrent sub-sequences to
synchronize producer-consumer relations.
Transitions - The
ingredient that keep states active and the model elements
together. Each transition can be given guards
, triggers
, and actions
as properties
to describe its behavioral details.
Object Flow States - Objects are
inputs or outputs of activities and are accordingly connected by
transitions to them.
Dependencies - Always possible
between any model elements.