4+1 Architectural View Model - An Evaluation

4+1 Architectural View Model - An Evaluation

4+1 Architectural View Model as discussed by Mr. Pua, Mr. Magayon and Mr. Sitjar was full of knowledge and they also delivered the pure context of the topic. Overall, the discussion results to a satisfying learning into what is really the true context of the 4+1 Architectural View Model which will be used by some of my classmates for our capstone project chapter 2 - Methodologies.


4+1 Architectural View Model - An Exploration

by : Philippe Kruchten
Designed for : Describing the architecture of software-intensive systems, based on the use of multiple, concurrent views

Context Matters

There are many different stakeholders related to a software system, which all have different perspectives. Project/Project Managers, Developers, System Engineers, End Users all view a system in completely different ways. They view the system based on their own context.

In order to describe a system, it would be useful to define all the different viewpoints and how the overall use cases of the system.


Intent of 4+1 view model

To come up with a mechanism to separate the different aspects of a software system into different views of the system.
But why????
Different stakeholders always have different interest in a software system.DEVELOPERS – Aspects      of Systems like classes SYSTEM ADMINISTRATOR – Deployment, hardware and network configuration.
Similar points can be made for Testers, Project Managers and Customers.


4+1 Architectural View Model

We all have seen many books and articles where one diagram attempts to capture the gist of the architecture of a system. But looking carefully at the set of boxes and arrows shown on these diagrams, it becomes clear that their authors have struggled hard to represent more on one blueprint than it can actually express. Are the boxes representing running programs? Or chunks of source code? Or physical computers? Or merely logical groupings of functionality? Are the arrows representing compilation dependencies? Or control flows? Or data flows? Usually it is a bit of everything.

The paper by Philippe Kruchten, Architectural Blueprints—The “4+1” View Model of Software Architecture, defines 4 concurrent views from the point of view of the various stakeholders.

The Views

The “4 + 1 Architectural Views” were proposed in 1995 to solve increasing challenges communicating about software architectures.
The purpose of separating the architecture into multiple concurrent views was to isolate and illustrate different aspects of the design with information specifically oriented towards different stakeholders.

Each view should:
•           Define the system in terms of Components, Connectors and Containers
•           Use appropriate styles, forms and patterns for each view
•           Consider applicable constraints in each view
•           Consider the relationship between the views


My Thoughts

In this post, I hope to demonstrate that many challenges facing teams today are a consequence of blending and ignoring the distinctions between the views - trying to solve problems in one view with design patterns in a different view, or by tightly coupling the design in each view. My experience is that if you allow yourself to evolve your solution in each view independently, many of these challenges become much easier to reason about.

Reference

1. C. Simon, “4 1 Architectural View Model: Introduction,” · Dev Cycles, 27-Feb-2019. [Online]. Available: https://devcycles.io/2019/02/27/4---1-architectural-view-model-introduction/#fnref:ddd. [Accessed: 30-Nov-2019].
2. D. Comartin, “4 1 Architectural View Model,” CodeOpinion, 24-Jul-2019. [Online]. Available: https://codeopinion.com/41-architectural-view-model/. [Accessed: 30-Nov-2019].
3. E. Evans, “Domain-Driven Design: Tackling Complexity in the Heart of Software,” O'Reilly | Safari. [Online]. Available: https://www.oreilly.com/library/view/domain-driven-design-tackling/0321125215/. [Accessed: 30-Nov-2019].
4. S. Chokkalingam, “4 1 view model,” LinkedIn SlideShare, 16-Jan-2013. [Online]. Available: https://www.slideshare.net/shobanachokkalingam/41-view-model. [Accessed: 30-Nov-2019].
5. Kruchten, Philippe. (1995). The 4+1 View Model of Architecture. IEEE Software. 12. 45-50. 10.1109/52.469759.



Comments

Popular posts from this blog

Usability Testing and Heuristic Evaluation - An Evaluation

Verification and Validation, White Box and Black Box Testing - An Evaluation

Ionic - Cross-Platform Mobile App Development Insights