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

ArchiMate vs Other Notations - UML Software modelling  - Part 2

Welcome to second article in our ArchiMate vs Other Notations series. In last article '#1 - Why you might need ArchiMate?' [1] 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.

Keyword(s): archimate, uml, software modelling

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

Understanding the context

First, let us describe the context. In The Open University course on software development [2] 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. 

Software Modelling in UML

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] [3] 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:

Element  Definition   Notation 
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.  

 

 Source: [4] https://pubs.opengroup.org/architecture/archimate3-doc/chap09.html

UML vs Archimate – Component Diagrams

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.

Source: [5] https://www.uml-diagrams.org/examples/component-example-retail-website.png

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.

ArchiMate vs UML – Use Case Diagrams

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.

Other examples

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.

Takeaways

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

External resources:

[1] https://www.advisedskills.com/about/news/267-archimate-vs-other-notations-why-you-might-need-archimate-part-1

[2] https://www.open.edu/openlearn/science-maths-technology/introduction-software-development/content-section-6 

[3] https://tallyfy.com/uml-diagram/

[4] https://pubs.opengroup.org/architecture/archimate3-doc/chap09.html

[5] https://www.uml-diagrams.org/examples/component-example-retail-website.png

[6] https://bizzdesign.com/blog/combining-archimate-3-0-with-other-standards-uml-sysml-erd/


Advised Skills Research Team - Blog Author 
The Advised Skills Research Team is a professional group dedicated to investigating and publishing information on the latest trends in technology and training.
This team delves into emerging advancements to provide valuable insights, empowering individuals and organizations to stay ahead.
Their work significantly contributes to the ever-evolving landscape of technological education and workforce development.

Frequently Asked Questions (FAQs)

  1. UML: what is it, and why is it so crucial in the world of software engineering?
    UML, which stands for "Unified Modeling Language," is a visual modelling language that is widely used in the software industry for purposes such as requirements analysis, design, and documentation. It's crucial to software development because it standardises the language and notation used to describe and discuss software designs among engineers, business analysts, and other interested parties.
  2. When and why would you utilise a sequence diagram vs. a class diagram in UML?
    Class diagrams, use case diagrams, sequence diagrams, activity diagrams, state machine diagrams, component diagrams, and deployment diagrams are all different kinds of UML diagrams. Different kinds of diagrams are used to depict various features of a software system, such as its structure, behaviour, or deployment surroundings.
  3. What is the procedure for making UML diagrams?
    Dedicated UML modelling software, such Visual Paradigm, Enterprise Architect, or Lucidchart, are just a few examples of the many programmes that may be used to draw UML diagrams. These programmes help you generate code automatically and reverse engineer your programmes with a visual editor that lets you drag and drop components to make UML diagrams.
  4. What benefits do UML diagrams bring to software testing?
    Testing software is made easier with the use of UML diagrams, which depict the software system's interactions and behaviour in a clear and plain manner. To ensure the software system is functioning as expected, test cases, and requirements can be validated and tested using UML diagrams.
  5. How should I apply UML in software development, and what are some best practises?
    Using UML diagrams as a communication tool, keeping diagrams simple and focused on the key aspects of the system, using consistent notation and modelling conventions, and updating diagrams frequently to reflect changes in the system design are all examples of best practises for using UML in software development. Developers, business analysts, and end-users should all be included in the UML modelling process to guarantee that the final product satisfies the requirements of all parties involved.

Upcoming courses:

Advised Skills - Tech Trends News

Sharing knowledge is essential
for our team

Become a Channel Partner with Advised Skills

Advised Skills Extends Global Invitation to Potential Training Partners to Join its Growing Network

Advised Skills is excited to extend a global invitation to training providers, educational institutions, and corporate trainers to join its growing network of Channel Partners. This learning platform offers professional training courses in sought-after fields to professionals worldwide. This initiative equips professionals with the skills needed to thrive in today’s dynamic job market.

AdvisedSkills

NewsApril 12, 2024

How to Pass the PMI CAPM Exam

How to Pass the PMI CAPM Exam: The Ultimate Guide to Success

Are you considering taking the PMI CAPM exam? As a highly renowned and globally recognized certification in project management, passing this exam can open doors to numerous career opportunities. However, with a pass rate of only 60%, it can seem daunting and overwhelming. But fear not, as this ultimate guide is here to help you achieve success. Through years of experience and research, we have compiled the most effective strategies and tips to help you pass the PMI CAPM exam with flying colors.

AdvisedSkills

NewsApril 10, 2024

Power of Agile Transformation

Unlock Efficiency: The Power of Agile Transformation in Your Organization

Are you tired of seeing projects and processes in your organization take weeks or even months to complete? Do you want to increase productivity and adapt to rapidly changing market demands? Look no further than the power of Agile transformation. This innovative approach to project management has revolutionized the way organizations operate, allowing them to unlock efficiency and thrive in the modern business landscape.

AdvisedSkills

NewsApril 09, 2024

Transform Your Skills

The Importance of Live Instructors: Enhancing Learning Through Practical Training Courses

Welcome to the world of practical training courses, where live instructors play a crucial role in enhancing the learning experience. In today's fast-paced digital age, with an abundance of online resources and self-paced courses, the presence of live instructors may seem less significant.

AdvisedSkills

NewsApril 04, 2024

Advanced Strategies for Scrum Product Owners

Optimizing Value Delivery: Advanced Strategies for Scrum Product Owners

Unlocking the full potential of a Scrum team and successfully driving product development is no easy feat. As a Product Owner, it is your responsibility to not only create a vision for the product but also ensure its efficient delivery to customers. However, with constantly evolving markets and changing consumer needs, traditional practices may not be enough to maximize value delivery.

AdvisedSkills

NewsApril 02, 2024

Become a trainer

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.

Get started now!