Worked Example: How do I analyse and document an existing business process using the Unified Modeling Language (UML)?

 

In this exercise we are going to look at an existing business process and model it using UML. If you complete this exercise satisfactorily, you will find that it helps you with the first part of your assignment.

 

The process that we shall be documenting can be found at:

 http://www.shu.ac.uk/schools/cms/teaching/rh1/elearning/uml/business_process/uml_process_improvement/sales_order_proc.htm

 

To model the process we shall be using activity diagrams. If you need to brush-up on the procedure we are about to use, take a look at what we did before.

 

The first step is to write down an interpretation of all of the steps of the process. Fortunately this has already been done for us, though we might find a few gaps if the process wasn't recorded accurately.

 

Next, if we are using activity diagrams, then we need to determine what each of the 'swimlanes' will represent.

 

Let's start with Procedure '1.1 Sales Enquiries and Quotations'. Swimlanes are typically used to represent departments within companies. If this is the case then we can see the following departments:

 

Sales

Estimation

Contracts

 

However, swimlanes can be used to partition functionality in different ways, and we might choose to split the model up by job function rather than departmental function. This would give us:

 

Area Sales Manager

Customer Service Manager

Estimator

Contracts Staff

Financial Director

Sales Administrator

 

Which approach do you think would give us the best answer?

 

If we are examining a business process then we are interested in the interactions that take place between each of the steps. If we use a departmental breakdown, then we have three areas to scrutinise. If we break the process down by job function, then we are able to examine the interactions much more closely.

 

Therefore, for this particular example, we will partition the model by job function. The diagram below illustrates an example of what we might produce.

 

There are a few points to note:

 

  1. It is assumed that four job functions can accept order enquiries from customers - Area Sales Manager, Customer Service Manager, Sales Administrators and Estimators.
  2. There are two basic routes for sales enquiries: One route caters for 'Contract' type orders which are bespoke and made to customer's requirements. Such orders will vary in terms of price, type and quantity. The other route is for 'Catalogue' orders which are standard products, described in a sales catalogue. Therefore these can only vary in quantity and the price is fixed at source.
  3. The bulk of the activities are performed by the Customer Service Manager.

 

You may have noticed that the activity diagram does not include a timeline. How might the inclusion of a timeline help your analysis?

 

Would a use case diagram help the modelling process?

 

Your Turn: Look at the business process for the assignment and discuss in your groups how you might model it. Sketch out some ideas and think about how you will use the swimlanes to partition the model.