Sei sulla pagina 1di 10

UML Tutorial: How to Model any Process or Structure in Your Business

Universal Modeling Language (UML) is a way of visualizing a software program using a collection
of diagrams. That is perhaps the simplest way to define it.

If you’re looking for a full-winded definition, here it is:

“The Unified Modeling Language (UML) was created to forge a common, semantically and
syntactically rich visual modeling language for the architecture, design, and implementation of
complex software systems both structurally and behaviorally.” – Lucidchart, What is Unified
Modeling Language

UML has many advantages including flexibility, an abundance of tools, and the capacity to model
systems from both a structural and behavioral perspective.

Nevertheless, it can sometimes be overwhelming.

A focus on simplicity is, therefore, essential to not only creating actionable diagrams, but also to
avoid pulling your hair out in the process!

Finding simplicity in complexity is the way to go

Before we dive into this tutorial we must acknowledge that UML is a huge topic. Since it
was created in 1994 by Grady Booch, Jim Rumbauch, and Ivar Jacobson, a tremendous amount
of information has been created to explain the vast capability of its application in software
development.

It is also widely accepted that UML is incredibly complex. Just read a small portion of the
introduction from this academic research paper:

“UML specification is a huge book (732 pages), the UML metamodel is large and quite complex,
and the definition and the understanding of its static and dynamic semantics is a truly difficult
task, with also the consequence to make difficult to teach it both at the school/university level or
in the industry (Grossman et al., 2005).” – What Are the Used Activity Diagram Constructs?

Despite its complexity, UML does not need to be leveraged in a complicated fashion for it to be
useful. In fact, one of the men who created the language believes it should be used rather
casually.

“Seriously, you need about 20% of the UML to do 80% of the kind of design you might want to
do in a project – agile or not – but use the UML with a very light touch: use the notation to
reason about a system, to communicate your intent to others…and then throw away most of your
diagrams.” – Grady Booch

So, the key takeaway from that, at least as I see it, is to keep things as simple as possible when
planning and creating UML diagrams. I find this to be particularly important when it comes to
modeling business processes, which is going to be the focus of this post.

The use of UML in business process modeling

Business process modeling is the act of documenting the series of steps and actions taken within
a business process. This involves:
• Identifying the actors involved and the roles they play in the process
• Showing how the actors interact with each other through the progression of various
activities
• Providing a clear picture of the journey it takes through the organization
So, why is keeping things simple important when using UML to model business processes?

The short answer is so that people reviewing and implementing the processes are not
unnecessarily confused and prone to misunderstanding information. This may seem obvious, or
trivial, but the tendency for diagrams to get overwhelming and confusing is repeatedly cited as
being a significant drawback of using UML.

Thankfully, the application of UML in process modeling is significantly limited in how complicated
it can be in comparison to its application in software engineering or development.

This is because UML was not originally created to model business pro cesses, it was purely a
software development tool until it became apparent that a small set of diagrams, one in
particular, can also be used to effectively model business processes. Using UML to align the work
of software developers and business analysts has proven beneficial for product development.

By having the business analyst and system developers using the same modeling concepts, the
risk of costly errors related to different understanding of methodology concepts is significantly
mitigated. – Business Modeling with UML: A Business Process Centred Architecture

In this post, I’m going to provide a brief overview of the 2 main types of UML diagrams, explain
why the activity diagram works best for process modeling, and walk you through a step -by-step
guide to modeling processes with activity diagrams.

We’ll then take a look at a few other examples and finish by discussing how you can use your
diagrams to drive productivity in your organization.

A quick look at the 2 main types of UML diagrams


Structural diagrams

Structural diagrams represent the static aspect of the software system. As the nam e suggests,
they are focused on the system’s underlying structure. The 4 main types of structural diagrams
are:

1. Class Diagram
2. Object Diagram
3. Component Diagram
4. Deployment Diagram
By far the most commonly used, as you may well already know, is the class diagram. From a
software development perspective, it is one of the most useful UML diagram types because it
clearly maps out the structure of a system by modeling its classes, attributes, operations, and
relationships between objects.

In other words, it holds the ability to provide both detailed insight and a quick, big-picture
overview of a system’s structure, making it the foundation for creating systems.

Behavioral diagrams

Behavioral diagrams, on the other hand, visualize, specify, construct, and document the dynamic
aspects of a system.

The most commonly used behavioral diagrams are:

1. Use Case Diagram


2. Sequence Diagram
3. Activity Diagram
A use case diagram is designed to demonstrate how users might interact with a system. Users
(also known as actors) include people, organizations, or external systems. Use case diagrams are
not intended to be complicated, but rather to give a clear picture of how users are interacting
with a particular system and whether or not those interactions are happening as intended.

Sequence diagrams are used to show how objects communicate and in what sequential order.
They are perhaps the most commonly used interaction diagram.

Activity diagrams are also very popular, and are just what we need for modeling business
processes because they are the only type of UML diagram that accounts for the flow of actions.

As seen from the graphic below, the activity diagram is the second most commonly used
diagram, closely following the class diagram.
Source
Let’s dig into what this diagram is, why it works, and how to put one together.

The diagram most suitable for process modeling

The activity diagram, also known as a swim-lane diagram or cross-functional flowchart, describes
how a set of activities are coordinated to provide a service.

It is the most suitable diagram for business process modeling as it neatly illustrates the flow of a
process from activity to activity. It is essentially an advanced version of a flow chart, making it
an ideal tool to represent business workflows.

Source

3 main benefits of activity diagrams

1. Activity diagrams are generally far less complicated than other UML diagrams, making
them easier for both analysts and stakeholders to fully comprehend.
2. They allow an analyst to display multiple conditions and actors within a workflow through
the use of swimlanes.
3. They have the ability to clearly describe the steps performed in a UML use case

Overview of the basic components

• Start node: Symbolizes the beginning of the activity, represented by a black circle.
• Action: A step in the activity wherein the users or software perform a given task,
represented by a rectangle usually with rounded edges
• Decision node: A conditional branch in the flow that is represented by a diamond shape.
It includes a single input and two or more outputs
• Control flows: The connectors that show the flow between steps. These include connector
arrows, the join symbol, and the fork symbol
• End node: Symbolizes the end state of an activity and represents the completion of the
process.

A high-level overview of the diagram creation process

According to the UML tool provider, Visual Paradigm, the following 5 steps need to be followed to
create effective activity diagrams.

1. Identify candidate use cases, through the examination of business workflows


2. Identify pre- and post-conditions (the context) for use cases
3. Model workflows between/within use cases
4. Model complex workflows in operations on objects
5. Model in detail complex activities in a high-level activity diagram

Overview of the symbols


A 10-step guide to modeling processes with UML activity diagrams

The completed activity diagram of the example I am about to go through is presented at the end
of the step-by-step guide.

Feel free to review it before reading through the steps, although I would recommend reading
through the steps first. This will help you visualize how some of your processes would be
modeled before seeing the finished product.

Preparation

Step 1: Determine the process

Firstly, we need to choose a specific process. Let’s say we want to map out the process for hiring
a car.

Step 2: Identify the actors (swimlanes)

In this case, there are 3 actors – the customer, the sales desk, and the hiring office. Each of
these 3 actors will represent a swimlane.

Don’t worry if you feel unsure about exactly which actors are involved in the process. It’s ok to
identify actors as you map out the various activities.

Step 3: List all activities/tasks that need to be completed

Make a list of all the activities/tasks that need to be completed in order for the process to reach
the desired outcome when it ends. This can also be done as you work through the model, but
ideally list everything beforehand as you may identify opportunities to streamline the process.

Step 4: Name the start node and place it in the top left corner of the diagram

The start node, symbolized by a black circle, needs to be named and placed in the top left corner
of the model, in the first swimlane. The swimlane at the top of the diagram belongs to the actor
who begins the process, which in this case is the customer. The node is named “Customer
request to hire car”.

Step 5: Insert the first activity

Once the first actor has begun the process, what is the first activity or task that needs to be
completed? In the case of our example, the task is “Check availability” and is to be completed by
the sales desk (second swimlane).

Step 6: Begin connecting activities with connector arrows, placing fork and join nodes
where necessary

This is when the model will start to take shape. Place a connector arrow between each activity.
For activities that need to be split into different paths, insert a fork node. Where two or more
paths converge back into the same path, insert a join node.
Step 7: Integrate decision and merge symbols where appropriate

Following an activity such as “Check availability”, a decision needs to be made as there is a


possibility that a car is available or unavailable. Depending on the result, the process will change.

Step 8: Integrate outgoing/incoming symbols where appropriate

These symbols are also referred to as send and receive symbols. Insert an outgoing symbol
where a certain activity creates an event for which the outcome is outside the scope of the
diagram. In the case of our example, an outgoing symbol titled “Notify stock manager” is created
if a car is unavailable as this is an activity that needs to take place but how the stock manager
deals with the situation is irrelevant to the car hire process.

An incoming symbol should be inserted where the process receives an event from another
process our source that is outside the scope of the diagram

Step 9: Add annotations where appropriate

Annotations should be used conservatively. It can be tempting to insert a bunch of annotations in


an attempt to clarify activities but this can cause confusion and create a messy diagram. Only
add them where critical information needs to be represented.

You will notice that our example contains only one annotation, referring to a ccepted methods of
payment which is obviously an important piece of information.

Step 10: Verify that the final activity completes the process and connect it to the end
node

Do a final check to make sure that the final activity completes the process, and add a connector
arrow to the end node. All done! Now it’s time to review the diagram and ensure that no steps
have been missed.
A couple of other examples

Document management process

Source

Order processing
Source

Tools for drawing UML diagrams

There are a vast amount of software tools out there for drawing UML diagrams. Which one is the
best is, of course, a topic of debate.

Here is a short list of a few that have received great feedback from its users:

• Draw.io
• Lucidchart
• Smartdraw
• Gliffy
Check out this list for more options.

Potrebbero piacerti anche