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.