Welcome to second article in our ArchiMate vs Other Notations series. In last article '#1 - Why you might need ArchiMate?'  we set a common ground between notations and explored what is the purpose of ArchiMate. Today we start with head-to-head comparison between notations.
First in line is UML - Unified Modelling Language - a modelling technique for broad range of use cases. Published in 1997 and maintained by Open Management Group. It is a graphical notations standard with single meta-model aimed for system modelling. It covers many types of diagrams, each designed to cover specific subset of use cases. As UML is so wide in scope we need to look at certain aspects of it. This article would cover one of them, which is software modelling. We will explore similarities and differences in that area between UML and ArchiMate.
First, let us describe the context. In The Open University course on software development  we find a decent definition of a model. Models are forms of description often adopted in software development. They are abstractions we use to represent and communicate what is important. Limited to necessary details they help developers deal with the complexity. By software modelling we mean modelling technical solutions and systems. We create those to get some kind of business value. You could think of following examples of systems or solutions:
• Application or particular functionalities of it
• Software interfaces
• Systems built using many applications
• Software services for business users
Now, as we have set the common ground, we explore foundations of both notations.
As mentioned before we have plenty of diagram types in UML. There are 14 unique types divided into two categories: behavioral and structural. Not all used as often as others. In fact, according to [All You Need to Know About UML Diagrams]  article, in 80% of cases developers use only three. Most used were: Use Case Diagram, Class Diagram and Sequence Diagram. Use Case diagram show us what kind of use cases we have and how users are involved in them. Class diagram helps us define objects and their attributes. Sequence diagram shows information flow aligned to time. It helps to show the logic behind use cases.
Software Modelling in ArchiMate - application layer
In ArchiMate we do not have diagram types - we have layers and viewpoints. We place all elements and relationships connected to software modelling on Application Layer. Please mind the fact, that we talk about software that supports business. System software such as OS or DBMS are part of technology layer, often called infrastructure layer.
Table below shows what elements of language are defined on that layer:
|Application component||An encapsulation of application functionality aligned to implementation structure, which is modular and replaceable. It encapsulates its behavior and data, exposes services, and makes them available through interfaces.|
|Application collaboration||An aggregate of two or more application components that work together to perform collective application behavior.|
|Application interface||A point of access where application services are made available to a user, another application component, or a node.|
|Application function||Automated behavior that can be performed by an application component.|
|Application interaction||A unit of collective application behavior performed by (a collaboration of) two or more application components.|
|Application process||A sequence of application behaviors that achieves a specific outcome.|
|Application event||An application behavior element that denotes a state change.|
|Application service||An explicitly defined exposed application behavior.|
|Data object||Data structured for automated processing.|
Now we will focus on comparison between those two notations in context of software modelling. When compared, UML and ArchiMate share a lot of similarities, especially in software modelling. Many concepts present in ArchiMate were derived directly from UML. The main element that is a common one is the main active structure element called Application Component. It is the same as UML concept of Application Component. Thanks to that we have a direct relationship between Enterprise Architecture model and implementation models in UML. Example below shows how you could combine ArchiMate and UML based on Application Component element.
You could model UML Component Diagram as a single Application Component in ArchiMate. Due to that you can present the application in some broader context. When building architecture repository, you could add a reference to Online Shop element that points to external document with detailed UML model that could be used for implementation purposes.
There are some minor similarities regarding Use Case diagrams as well. Application Services could be easily mapped to Use Cases from UML. Thanks to that you could depict use cases in broader context. In the example below, you will see UML Use Case Diagram and corresponding ArchiMate model.
UML Use Case diagram example
In this simple example you could notice three actors: Client, Hotel and a system called Booking System. In this diagram we described the use case when client wants to book a hotel room. If Guest is contacting hotel then he can book a room or check its availability. When using Booking System directly he could also get a list of suggested places. Now, look on corresponding ArchiMate example of the same situation
On ArchiMate view you could clearly see more elements. We used two layers - both Business and Application - to depict two ways the Client could get what he wants. He could contact Hotel over the phone to use services Book and Check Availability. He could also directly use Booking System and its Web FrontEnd Interface to get access to same services and additional Suggested Places service. Mind the fact that Book service on business layer is being realized by corresponding service on application layer - they have the same function, but the context is different - one service is serving Client using business interface while another trough an application interface.
Another similarity could be found in Application Function element and Sequence or Activity Diagram. For instance, Activity Diagram could be modelled as single Application Function
Class Diagrams in UML are very detailed from ArchiMate point of view. In ArchiMate we could use Data Object elements to create class hierarchy, but to create an implementation model those objects needs to reference to appropriate Class Diagrams as shown on example below.
In ArchiMate you rather model the overview of data structure. In UML you could model the rest – solution and implementation details needed for creating the system.
To sum up, let’s take a look on main takeaways from this article:
• When modelling software in most cases we use UML. In 80% of cases users choose one of three diagrams: Use Case Diagram, Class Diagram and Sequence Diagram
• ArchiMate has a dedicated layer for software modelling called Application Layer
• Many ArchiMate elements were derived from UML, like Application Component or Interface
• Application Component in ArchiMate could represent whole Component Diagram done in UML. Thanks to that we could have a direct linkage between Enterprise Architecture and implementation models.
• Use Case diagram could be modelled using Services and Actors in ArchiMate
• Sequence or Activity Diagram could be modelled as Application Function in ArchiMate
• Classes in UML could be depicted using Data Objects in ArchiMate.
This article is one of articles from ArchiMate vs Other Notations series. Check others:
ArchiMate vs Other Notations - Why you might need ArchiMate? - Part 1
ArchiMate vs Other Notations - #3 - UML - business processes
ArchiMate vs Other Notations - #4 - UML - infrastructure modelling
Businesses must continuously learn and develop to succeed and stay ahead in today's fast-changing business world. As markets evolve and industries transform, the need for upskilling and reskilling has never been more pressing.
NewsSeptember 19, 2023
In-person learning is becoming popular again, and Advised Skills is at the forefront of this trend.
NewsSeptember 13, 2023
The evolving business and technology environment influences the role of the Business Analyst (BA). This role must adapt to new trends and demands. The Business Analyst's role has changed a lot because of the growing use of Agile methods by many organizations.
NewsSeptember 07, 2023
In the modern, swiftly evolving tech landscape, businesses are constantly seeking methodologies that ensure both efficiency and excellence in software delivery. Step in Agile Release Management (ARM) - an approach tailored to facilitate smooth software rollouts without compromising on product quality. With the ever-changing nature of businesses, ARM's significance in the realm of continuous delivery is increasingly underscored.
NewsSeptember 06, 2023
Stepping into the role of a project manager is both an exciting and challenging experience, especially when it comes to managing your first project. Overseeing your inaugural project as a project manager may feel like a daunting task, but it's an essential step in shaping your career.
NewsAugust 21, 2023
We are looking for Instructor who will be responsible for delivering classroom and online live courses. Positive and efficient working environments are key to our trainers' success.
Through our global network of offices, Advised Skills provides organizations around the world with innovative and state-of-the-art education solutions.
Our team is composed of highly experienced consultants and trainers.
Advised Skills is Silver Partner of Scaled Agile, Inc., The Open Group® Gold member, PMI Authorized Training Partner, DevOps Institute Registered Partner, APMG International Accredited Training Organisation and PeopleCert Accredited Training Organisation.
2023 Advised Skills. All Rights Reserved.