Blog

ArchiMate vs Other Notations - #3 - UML: Business Modelling

ArchiMate vs Other Notations - #3 - UML: Business Modelling

Welcome to third article in our ArchiMate vs Other Notations series. Last article, “#2 – UML: Software Modelling” [1] we explored the differences between UML and ArchiMate on modelling software solutions. In this article we would switch our focus to business world. Article will cover business process modelling comparison between ArchiMate and UML.

What is a business process?

To model business domain, we need to understand basic terms. The fundamental one is business process. According to BusinessDictionary.com [2] it is “series of logically related activities or tasks (such as planning, production, or sales) performed together to produce a defined set of results.”. In real life we would consider many business processes that happen in parallel. In most cases they are set to achieve many goals. The bigger organization is the more complex relationships between processes and outcomes become. That creates a sense of urgency to have clear models that explain the complex processes in a graphical way.

Business Process Modelling in UML

As mentioned in previous articles in UML we have various types of diagrams. To model business processes and business domain in general we use some of them. There are two main categories of diagrams. We use structural diagrams to analyze structure of given system and behavioral diagrams, where one could analyze behaviors in the system, actors and events. Out of behavioral diagrams one could use Activity Diagram to model business processes. They describe what is happening, when and by whom.

Below you could see the classical example of Activity Diagram. This use case shows the document management process, where 4 actors are taking part in a document lifecycle.

Classical example of Activity Diagram

Source: https://www.uml-diagrams.org/examples [3]

Business process modelling in ArchiMate – Business layer

In last article we explored the Application Layer from ArchiMate, that is used to model software. To model business domain we use Business Layer. By using elements from this layer, we could model business processes, organizations, actors, products and other business-related aspects of systems. Below you could check some of elements of language defined on that layer. Those elements are used to model business processes and other behaviors:

Element  Description  Notation 
Business actor  A business entity that is capable of performing behavior.  Business processes and other behaviors - Business actor 
Business role  The responsibility for performing specific behavior, to which an actor can be assigned, or the part an actor plays in a particular action or event.  Business processes and other behaviors - Business role 
Business collaboration  An aggregate of two or more business internal active structure elements that work together to perform collective behavior.  Business processes and other behaviors - Business collaboration 
Business interface  A point of access where a business service is made available to the environment.  Business processes and other behaviors - Business interface 
Business process  A sequence of business behaviors that achieves a specific outcome such as a defined set of products or business services.  Business processes and other behaviors - Business process 
Business function  A collection of business behavior based on a chosen set of criteria (typically required business resources and/or competencies), closely aligned to an organization, but not necessarily explicitly governed by the organization.  Business processes and other behaviors - Business function 
Business interaction  A unit of collective business behavior performed by (a collaboration of) two or more business roles.  Business processes and other behaviors - Business interaction 
Business event  A business behavior element that denotes an organizational state change. It may originate from and be resolved inside or outside the organization.  Business processes and other behaviors - Business event 
Business service  An explicitly defined exposed business behavior.  Business processes and other behaviors - Business service 
Business object  A concept used within a particular business domain.  Business processes and other behaviors - Business object 

Source: http://pubs.opengroup.org/architecture/archimate3-doc/chap08.html [4]

UML vs ArchiMate – Activity Diagrams

To compare approach for business process modelling we’d look on the same use case modelled in two techniques: by using UML’s Activity Diagram. Let’s consider following scenario:

LetsInsure is a leading company selling insurances. Consider a process of insurance ordering initiated by a customer. In the process of order settling LetsInsure must assess the credibility of customer and decide whether it is willing to insure the customer. If the decision is positive Customer must pay for the insurance. Regardless of the decision company must inform customer about final decision and next steps.

At first let’s consider following proposal of UML Activity Diagram:

Proposal of UML Activity Diagram

In following diagram, we could see two partitions for each actor and the process flow, clearly indicating what are the next steps.

Now, the exact scenario modelled in ArchiMate:

Scenario modelled in ArchiMate

As you may see both views are relatively similar – the only deciding factor could be personal aesthetics: both UML and ArchiMate require similar number of elements to represent the use case. So why even bother introducing ArchiMate?

So how exactly ArchiMate adds value?

The main advantage of ArchiMate is that it facilitates business-IT alignment. Let’s assume you were asked to model the business process but also include information what kind of IT support is needed in a given scenario. In ArchiMate it could be easily done by combining two layers together. Let’s look on an extended ArchiMate view in which we used both Business and Application layer:

Extended ArchiMate view in which we used both Business and Application layer

By combining layers, we have a clear picture of required application services for this business process. Internal CRM System application component realizes two services: Automated Customer Assessment and Customer Communication. Both are used when customer is ordering the insurance. The external Bank system is realizing a payment service used by customer. Thanks to ArchiMate we could combine multiple domains on one view. UML could be still used to provide details of processes (though BPMN might be better choice for that), while ArchiMate models could be created for high-level overview of processes in an organization.

Takeaways

To sum up, let’s look on main takeaways from this article:

  • In UML, in most cases, we use Activity Diagrams to model business processes
  • ArchiMate has a dedicated layer for business domain called Business Layer
  • For pure process modelling both notations are fine. UML could provide a bit more detailed model though.
  • ArchiMate is capable of aligning Business with other domains, to show high-level overview and application/infrastructure requirements
  • Both notations could be maintained in parallel – UML for low-level process modelling, ArchiMate for aligning those processes with other domains

This article is one of articles from ArchiMate vs Other Notations series. Check others:

ArchiMate vs Other Notations - #1 - Why you might need ArchiMate?

ArchiMate vs Other Notations - #2 - UML: Software modelling

ArchiMate vs Other Notations - #4 - UML: IT Infrastructure Modelling

ArchiMate vs Other Notations - #5 - BPMN - overview

ArchiMate vs Other Notations - #6 - UML/ERD - database modelling

[1] https://architecture-center.com/blog/110-archimate-vs-other-notations-2-uml-software-modelling.html

[2] http://www.businessdictionary.com/definition/business-process.html

[3] https://www.uml-diagrams.org/examples/activity-example-document-management.png

[4] http://pubs.opengroup.org/architecture/archimate3-doc/chap08.html


Piotr Szpilkowski - trainer at Architecture Center LtdAuthor: Piotr Szpilkowski - Change Leader / Agile Coach, Trainer at Architecture Center Ltd

https://www.linkedin.com/in/szpilkowski/

Quality-oriented leader equipped with both technical and soft skills. Eager to create teams, organize things and make them happen. Experienced in managing various IT projects scattered all around the world. ArchiMate and SAFe trainer.

Architecture Center

Architecture Center Ltd biedt consultancy en opleidingsdiensten aan betreffende enterprise-architectuur, bedrijfsprocesbeheer en IT-systeemintegratie.