Author: Kruchten, Philippe
The 4 + 1 View Model describes software architecture using five concurrent views, each of which addresses a specific set of concerns: The logical view describes the design's object model, the process view describes the design's concurrency and synchronization aspects; the physical view describes the mapping of the software onto the hardware and shows the system's distributed aspects, and the development view describes the software's static organization in the development environment. Software designers can organize the description of their architectural decisions around these four views and then illustrate them with a few selected use cases, or scenarios, which constitute a fifth view. The architecture is partially evolved from these scenarios.The 4+1 View Model allows various stakeholders to find what they need in the software architecture. System engineers can approach it first from the physical view, then the process view; end users, customers, and data specialists can approach it from the logical view; and project managers and software-configuration staff members can approach it from the development view.
Source: https://www.researchgate.net/publication/220018231_The_41_View_Model_of_Architecture
![[Pasted image 20220208151425.png]]
**A view is more than a set of diagrams. It needs graphical representations and textual explanations.**
- **User view**
- The Use Case View explains all possible scenarios users expect from the system
- **Functional aspects**
- The Logical View shows how the functionality defined in the use cases is modeled, while the Development View shows how the functionality is implemented (e.g., using source code, libraries, executables, documents)
- **Non-functional aspects**
- The Process View illustrates how artifacts will be executed in terms of concurrency, scalability, synchronization
- The Deployment View maps these software architects to concrete hardware entities and shows the distribution of functionality
- Each view can be modeled using diagrams (e.g., Unified Modeling Language (UML)), but it is more important what is in the view (semantics) than how to express it syntactically
- Likewise, it is important that the stakeholders targeted have the knowledge of what the views mean