What is the 4+1 view model of software architecture?
It’s a way to show key viewpoints of an architecture. In A Practical Guide to Enterprise Architecture (Coad Series), James McGovern, Scott W. Ambler, Michael E. Stevens, James Linn, Vikas Sharan, and Elias K. Jo write about the 4+1 view model of software architecture.
Key Takeaways
Here are my key take aways:
- The four views are: logical, process, development, and physical.
- The +1 is the scenarios. The scenarios are at the center of the model.
- The logical view is a view of the important classes and relationships.
- The process view is the runtime and execution view.
- The development view shows the layers and how classes are organized, as well as dependencies.
- The physical view shows the deployment scenario and associated hardware.
Logical View
The logical view is a view of the important classes and relationships.
McGovern, Ambler, Stevens, Linn, Sharan, and Jo write:
“The logical view, or logical architecture, is the object model for the design.
It describes the structures of the software that solve the functional requirements for the system.
It is a subset of all the classes of the system.
The logical view is strictly a structural view of the software, including the important classes and class relationships in the architecture.”
Process View
The process view is the runtime and execution view.
McGovern, Ambler, Stevens, Linn, Sharan, and Jo write:
“The process view, or process architecture, describes the view of the architecture that includes running processes and instantiated objects that exist in the system.
It describes important concurrency and synchronization issues.”
Development View
The development view shows the layers and how classes are organized, as well as dependencies.
McGovern, Ambler, Stevens, Linn, Sharan, and Jo write:
“The development architecture view focuses on the module organization of the software. It shows how classes are organized into packages, and it outlines the dependencies between packages of software.
This 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.”
Physical View
The physical view shows the deployment scenario and associated hardware.
McGovern, Ambler, Stevens, Linn, Sharan, and Jo write:
“The physical view describes the machines that run the software and how components, objects, and processes are deployed onto those machines and their configurations at run-time.”
+1
The +1 is the scenarios.
McGovern, Ambler, Stevens, Linn, Sharan, and Jo write:
“The +1 in 4 + 1 view model describes the scenarios that the architecture is meant to satisfy.
The scenarios represent the important requirements that the system must satisfy.
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.
The other four views are centered on the set of scenarios that are chosen for the creation of the architecture.”
You Might Also Like
5 Ways to Manage Complexity in Software Architecture
Agile Architecture Method
Architecture Styles
Data Architecture Practices
What is Application Architecture?
What is Systems Architecture?
You Can’t Evaluate Architecture in a Vacuum
Thanks for the review. For many years an HP document has been floating around the internet that provides a good reference (with examples) for 4+1 architecture. I’ve found it quite useful from time to time. I can no longer find a link to it from any HP site, but it still exists here:
http://www.cs.helsinki.fi/group/os3/HP_arch_template_vers13_withexamples.pdf
There’s also some material referenced from this IBM/Rational/RUP tutorial here: http://www.ibm.com/developerworks/rational/library/05/0816_Louis/ But I don’t think the treatment of 4+1 is nearly as good as the HP paper.