How do I analyse and document an existing business process
using the Unified Modeling Language (UML)? - Part
5
UML can be used to model dynamic systems, as well as static
ones. To do this we must consider 'activities' and 'actions'.
An Activity is something
that an object performs on an ongoing basis, so it could be interrupted. An
activity could also be quite complex, and contain a number of much smaller
activities.
An Action is something
that changes an object or its attributes and produces a result. It can't be
interrupted, and therefore could be likened to an activity that can't be broken
down any further.
In essence an activity lasts for a certain duration, whereas
an action is instantaneous, or lasts an insignificant amount of time. The
UML notation for an activity and an action are identical:
A branch is a decision
point at which there are two or more possible paths of flow of control. A
merge is a point at which two or
more branched paths come together.
So the branch and
merge notation are also identical.
They are represented by an empty diamond.
Quick Question: Where have you seen the diamond notation before?
Each possible path out of a branch has a guard condition. This is a simple 'true'
or 'false' expression that must equate to 'true' if the branch is to be taken
(otherwise known as a Boolean expression).
A fork is a splitting
of a flow of control into two or more flows of control, each of which operates
independent of, and concurrent with, the others. A join is a synchronisation of two or more
flows of control into one flow.
Forks and joins are especially
useful in modelling processes.
The symbol that represents both forks and joins is a long,
thin black rectangle called a synchronisation
bar.
The fork allows more than one set of actions or activities
to be carried out in parallel. For instance, if you were making a cup of tea,
you might go and get the cups, saucers and milk from the cupboard whilst the
kettle is boiling the water.
Quick Exercise: Can you think of a business
process that requires parallel processing? Sketch out your ideas using the
notation described so far.
(5 mins)
Activity Diagrams show the flow amongst activities associated
with a given scenario, including branches, merges, forks and joins. They are
usually used to model either workflows
or algorithms when programming.
Obviously we're interested in the workflow modelling.
Swimlanes allow us to group activities and actions together. We can use this to
partition our processes into departments of an organisation for example.
Distribution Marketing Accounts
Group Exercise: Form groups of between
three and five people. Take a business process that requires input from different
departments. Model the activities with a swimlane
diagram. Discuss the diagram and make suggestions that might improve the process.
(20 mins)