BPMN vs UML: The Unified Modeling Language (UML) is focused on modeling software systems, whereas BPMN is focused on modeling entire business processes. What does this mean and are there any other differences? In this article you will find out.
The word ‘process’ has several markings in the software world. In process modeling, a process refers to a set of activities or activities performed over a period of time in order to achieve a goal. In this article, we’re going to take the concept of a business process and compare two commonly used process modeling notations – Unified Modeling Language (UML) and Business Process Model and Notation (BPMN). What are they, and what are their differences?
The Unified Modeling Language (UML) is a universal visual modeling language in the field of software engineering. It consists of a set of integrated diagrams and aims to specify, visualize, construct and record the components of a software system. It is a standard notation for system modeling, but not a method of designing a system. To use UML, you need to apply a method to it. Since UML is not bound by any specific modeling method, it can be applied by any design method required. It is popular because it has been gestated for a long time and has been publicly reviewed for many years. The UML specification is designed to support most existing object-oriented development processes. It is thus an object oriented modeling language.
In this simple UML use case diagram, a customer (that is represented by a matchstick figure) is purchasing a ticket at a ticket vending machine. We can not see what the process is, but we can see the interactions between the objects.
BPMN stands for Business Process Modeling Notation. It’s a graphical notation style, or a visual language that enables the description and optimization of business processes. BPMN is a standard that is created and maintained by The Open Management Group: OMG. Since BPMN is a standard, it’is vendor-neutral and the precise meaning of the graphical elements and relationships are defined in a specification.
BPMN is a method for mapping out the approach to a business process, it enables to create a visual representation of a complex business practice or process. This helps to understand a process from start to end, and thereby helps to identify the strengths but also the weaknesses of an existing -or to be designed- process. BPMN is a process oriented modeling language. Diagrams in BPMN show all the activities that are part of a process.
In this simple BPMN diagram, we can see how the process of buying a ticket looks like. However, in this diagram we can not see which objects are involved in the process.
Object Oriented versus Process Oriented
UML is an object-oriented modeling language, which uses an object-oriented method to model applications. This means that UML focuses on standard languages rather than standard processes. The UML notation aims to develop a universal and easy-to-implement meta-model that can unify semantics and build a universal notation from it. On the other hand, BPMN adopts a process-oriented method to model the system. It focuses on business processes, but does not cover other aspects of the organization, and only covers the description of notation elements.
Different Application Areas
UML is primarily aimed at people who model and build software systems like web applications and cloud environments. UML enables to document a design that can be implemented in a variety of programming languages. BPMN is focused on designing ‘as-is’ and ‘to-be’ process models, and is used by business analysts, IT developers and business people alike. It is not only used for designing and improving new systems, it also allows to improve manual processes. On top of that, BPMN is a valuable technique to use in Kaizen Event or Lean Six Sigma quality improvement initiatives.