It’s a difficult to capture the complete behavior of a system with a single perspective. Hence we have to observe it from 4 views.
1 – Logical View
Focuses on the functionality of a system and the objects found within it. The context is the services that should be provided to the end users. From the found objects you can create a UML class diagram that illustrates the logical view.
The class diagram has several purposes such as establishing the vocabulary of the problem and resulting system by defining all of the classes, their attributes and behaviors. It becomes easy to understand the key abstraction and terminology. The Logical View is also useful when specifying database schemes.
2 – Process View
It presents the processes implemented by the objects in the logical view. Focusing on non functional requirements which specify the desired qualities for the system. It includes quality attributes such as Performance and Availability.
Also helps to show the execution order of your different objects. It would show the calls to methods by the logical view in the correct order. Behaviors that asynchronous or concurrent are also described.
A UML sequence diagram would be helpful for illustrating the methods.
A UML activity diagram can illustrate the processes or activities for a system.
3 – Development View
Development View – the implementation of the system should be considered here, where can be seen through the hierarchical structure of the software. In this view considers elements like programming languages, libraries, toolsets.
Essentially it concerned with the details of software development and what is involved to support that. Besides code, this includes management details like scheduling, budget and work assignments. Project management is essential in the Development View.
Example of hierarchy: Messaging App → Chat Conversation List → Chat Conversation → Chat Box → Chat Message.
The development view describes the hierarchical breakdown of the system into finer parts. From systems, to subsystems, to components to classes. The hierarchy is vital describe the development organization of a system.
4 – Physical View
Focuses on the deployment, because the application can have many physical components that interact. For example it can be used only 1 server to host a database and other to host web clients. So, need a plan how those different elements are interact and deploy the system correctly. The Physical View handles how elements in the Logical process and Development View must be mapped to different nodes or hardware for running the system. The UML deployment diagram can express how the pieces of a system are deployed into hardware or execution environments.
Scenarios (+1)
All these views have a purpose in common – the capabilities desired by the client. Without knowing what the system must achieve for its users, it would be difficult to detail these views. So, we need the scenarios: the use cases or task required by the end users.
For each scenario there is a Script which describes the sequence of interactions between objects and processes (how objects and processes interact).
The 4 views corresponds to the key prospectives that go into architecting a software solution, because its not enough to have a single view.