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)

Back to LO2
Reference: UML Explained, Kendall Scott, Addison-Wesley, http://aw.com/cseng/, ISBN 0-201-72182-1