4+1 Architectural view model in Software

Pasan Devin Jayawardene
Javarevisited
Published in
4 min readSep 17, 2021
Image source: https://medium.com/the-mighty-programmer/kruchtens-views-of-software-design-e9088398c592

Hello Readers,

Today, I’m going to talk about one of the most significant models in software architecture. It is nonother than The 4+1 view model which comes really handy when understanding the views and perspectives of different stakeholders.

How the 4+1 Model Originated

Philippe Kruchten: Inventor of the 4+1 Architectural View Model (Image Source: https://twitter.com/pbpk)

Philippe Kruchten worked for Rational Software Corp, the preeminent seller of software development tools at the time, in 1995.

Years of experience creating large-scale complex software systems in telecommunications, aircraft, transportation, and defence had taught him that software architecture diagrams frequently failed to convey the actual system design. The meanings of the boxes, lines, and arrows were frequently unclear, and stakeholders struggled to find the information they required.

In a paper released that year, Architectural Blueprints — The “4+1” View Model of Software Architecture, he offered a technique for organizing the description of a software architecture using a set of concurrent “views,” each addressing unique concerns for distinct stakeholders. That is how the 4+1 Architectural Model Originated.

Usage

The 4+1 view model is used to describe the architecture (design) of software-intensive systems using several, concurrent views. End-users, developers, system engineers, and project managers all have unique views on the system, hence the viewpoints are used to describe it from their perspectives.

The reason behind the name: 4+1

The five views in the 4+1 model (Image source: https://medium.com/the-mighty-programmer/kruchtens-views-of-software-design-e9088398c592)

Like I explained above, in the 4+1 model the system is described using different viewpoints. The model has four views: logical, development, process, and physical. In addition, selected use cases or scenarios are utilized as the ‘plus one’ view to show the design. As a result, the model has 4+1 views. Hence the model is called The 4+1 Architectural View. Now let’s take a look at them individually.

Model Description

  1. Logical View: The logical view is concerned with the system’s functionality as it pertains to end-users. Class diagrams and state diagrams are examples of UML diagrams that are used to depict the logical view.
Example for a Logical View (Image Source: http://cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-kruchten-4_1.pdf)

2. process View: The process view focuses on the system’s run-time behavior and deals with the system’s dynamic elements. It explains the system processes and how they communicate. Concurrency, distribution, integrator, performance, and scalability are all addressed in the process view. The sequence diagram, communication diagram, and activity diagram are all UML diagrams that can be used to describe a process view.

Example of a Process View (Image Source: http://cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-kruchten-4_1.pdf)

3. Development View: The development view depicts a system from the standpoint of a programmer and is concerned with software administration. The implementation view is another name for this view. It describes system components using the UML Component diagram. The Package diagram is one of the UML diagrams used to depict the development view.

4. Physical View: The physical view portrays the system from the perspective of a system engineer. The physical layer, it is concerned with the topology of software components as well as the physical connections between these components. The deployment view is another name for this view. The deployment diagram is one of the UML diagrams used to depict the physical perspective.

Example of a Physical View (Image Source: http://cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-kruchten-4_1.pdf)

5. Scenarios: A small number of use cases, or scenarios, that become the fifth view, are used to illustrate the description of architecture. Sequences of interactions between objects and processes are described in the scenarios. They are used to identify architectural aspects as well as to demonstrate and assess the design of the architecture. They can also be used as a starting point for architecture prototype testing. The use case view is another name for this view.

Example of a Scenario (Image Source: http://cic.javerianacali.edu.co/wiki/lib/exe/fetch.php?media=materias:mazeiar-kruchten-4_1.pdf)

That brings me to the end of today’s article. Thank you very much for taking the time to read this, and I’d love to hear your thoughts if you have any. Goodbye and stay safe and I’ll see you again with another article.

Pasan Devin Jayawardene

References:

  1. Orginal Paper of th 4+1 architectural view model by Philippe Kruchten
  2. Wikipedia: 4+1 architectural view model
  3. 4+1 View Model of Software Architecture by Mazeiar Salehie
  4. History of the 4+1 architectural view model by Chris Simon
  5. Kruchten’s 4 + 1 views of Software Design by Puneet Sapra

--

--

Pasan Devin Jayawardene
Javarevisited

Intern Software Engineer at WSO2 / Software Engineering Undergraduate at University of Kelaniya, Sri Lanka