4+1 Architectural View Model
Software architecture is a key factor in the process of turning requirements into a system. It is the process of designing, building, and delivering software that meets all software requirements in a defensible and reusable manner. The architectural view model is a key component in understanding the architecture perspective of a system. A model is used to represent an architectural perspective or view on a wide variety of architectural topics. This paper provides an overview of the 4+1 architectural view model’s history, evolution, modeling description, and current usage, etc.
History of the 4+1 architectural view model
In 1995 Philippe Kruchten was working at Rational Software Corp as a Software Engineer. With years of experience designing large-scale complex software systems, Kruchten had observed that the software architecture diagrams are failed to provide clarity as to the actual system. It was frequently confusing, and stakeholders struggled to discover the information they needed.
As the solution, he published the “Architectural Blueprints-The 4+1 View Model of Software Architecture” paper that year. It organizes the description of a software architecture using a set of concurrent called views. Each view addresses specific concerns, for specific stakeholders.
View models
The 4+1 View Model provides four essential views
• The logical view describes the object model of the design. The logical view describes the structures of the software that solve the functional requirements. It is a subset of all the classes of the system. It is strictly a structural view of the software, including the important classes and class relationships in the architecture.
• The process view describes the activities of the system, captures the synchronization aspects and concurrency of the design. The process view, or process architecture, describes the view of the architecture that includes running processes and instantiated objects that exist in the system.
• The physical view describes the machines run the software and how components and objects are deploy to the machines and their configurations.
• The development view describes the static organization or structure of the software in its development of environment. It focuses on the module organization of the software. This view shows how classes are organized into packages, and it outlines the dependencies between packages of software. Development view is the view of the design that shows the layered structures of the software and what the responsibilities of each layer in the system are.
This model extends by adding one more view called the use case(scenario) view. The requirement that the system must satisfy represents by scenarios. The scenarios that are chosen are those that are the most important to solve because they are either the most frequently executed or they pose some technical risk or unknown that must be proven out by the architecture baseline. This view has a special significance as it details the high-level requirement of a system. All other four views would not be possible without it. Because of that specialty, this method is called the 4+1 view model.
Evolution 4+1 architectural view model
The 4+1 view model has been widely imported from the software engineering community. The original paper “The 4+1 View Model of Software Architecture” was hosted on NASA’s Web site, and later in 1998, it was superseded by a paper published by NASA. In that year NASA re-hosted its 1998 paper on their website. A copy of this paper is included with this report for reference purposes only.
The following decade marked the beginning of the 4+1 architectural view method. First of all, the 4+1 architectural view model was extended by Chuck McMullan in 2001 (Logical View). Then in 2004, Bob Bishop published an article about using this model to analyze designs for twenty or so years. The paper was titled “Software Architecture on the Road to Abstraction”. The 4+1 View Model is used in Software Architecture Document (SAD) and has been further extended into a 5+1 view model, which also includes a deployment view. Although these are some important extensions, they are not yet considered as “the” 4+1 architectural view model.
Current usage of 4+1 architectural view model
This model is used throughout the industry for describing system architectures. As a result of its use, the 4+1 view is gaining more and more popularity as a method for describing software architecture. This paper also shows the 4+1 view model is a powerful and flexible model. It provides great value to both experts and novices while modeling an architecture. It can be used to record both static and dynamic aspects of the design.
The 4+1 view model is used because it delivers clarity and reduces confusion in understanding the requirements and the design. The use of this model allows an agile team to understand better and fit into a development environment that satisfies their desired practices and goals. However, there can be many variations on the 4+1 architectural view model. The usage of this model in most industrial organizations with practices like RUP, TOGAF, Zachman Framework, etc.
Limitations
The style used to present the model has not been given a good solution by its creators and instead it is still in need. The current version of this method has not been reviewed and so it suffers from the same problems as other architectural models.
conclusion of this is that the 4+1 model is a good starting point for logical and process-oriented analysis of an organization and it is a good starting point. The model has been used in various organizations and is currently in use in some groups that have been more successful than others.
Thanks for reading!.
References
1. P. Kruchten Architectural Blueprints — The “4+1” View Model of Software Architecture.