In the paper Architectural Blueprints—The “4+1” View Model of Software Architecture by Phillipe Kruchten, he examines how developers can use multiple views to capture the software architecture and how these views are more desirable than a single viewport that tries to capture everything. Each view, should ideally, address one specific set of concerns. For Kruchten, software architecture is the deliberate assembling of various architectural elements to fulfill the requirements of the system. The intent was to come up with a mechanism to separate the different aspects of a software system into different views of the system. This is because different stakeholders always have different interest in a software system. Some features of a system…show more content… • The logical view, which is the object model of the design (when an object-oriented design technique is used),
• The process view, which captures the concurrency and synchronization aspects of the design,
• The development view, which describes the static organization of the software in its development environment
• The physical view, which describes the mapping of the software onto the hardware and reflects its distributed aspect.
Each of the views in the 4 + 1 View Model views are meant to handle a particular set issues:
The logical view
This contains information about the various elements of the system. The Logical view is modelled in UML using Class, Object, State machine and Interaction diagrams (e.g Sequence diagrams). It 's connection is absolutely to developers.
The process view
This describes the concurrent processes within the system. It incorporates some non-functional aspects such as performance and availability. To model process view in UML, Activity diagrams are used to represent concurrent behavior.
The development view
The development view describes software modules and subsystems. In UML, Package and Component diagrams are used to represent the development view.
The physical view
The physical view describes the physical deployment of the system. For example, it describes how many nodes