• Skip to main content
  • Skip to after header navigation
  • Skip to site footer

Shaping Software

Enduring Ideas in the Realm of Software

  • About
  • Topics
  • Best Software Books
  • Archives
  • JD Meier.com

4 + 1 View Model of Software Architecture

Oct 5, 2008 by JD

4+1

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

Category: ArchitectureTag: Architecture, Design

About JD

Previous Post:What is a Use CaseWhat is a Use Case?
Next Post:How To Represent a Software Architecture? (Conceptual Architecture, Module, Execution, and Code View)

Reader Interactions

Comments

  1. Steve Mitchell

    Aug 20, 2009 at 3:58 pm

    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.

Trackbacks

  1. Conceptual Architecture View, Module View, Execution View, and Code View | Architecture | Patterns and Practices for Software Engineering. says:
    Oct 5, 2008 at 1:03 am

    […] 4+1 View Model of Software Architecture […]

Sidebar

Recent Posts

  • What is ChatGPT?
  • Agile Performance Engineering
  • What is Cybersecurity?
  • Software Security Threats: A Comprehensive Guide
  • What is Software Security?

Popular Posts

Best Software Books of All Time
Best Practices for Project Management
Best Practices for Software Development
Customer-Connected Engineering
How To Frame Problems Better
How To Pitch Business Ideas Better
How To Structure Vision Scope Presentations
Intro to Lean Software Development
Lean Principles for Software Development
The Enterprise of the Future