Warning: include(api.php) [function.include]: failed to open stream: No such file or directory in /home/shapings/public_html/wp-content/themes/arthemia/functions.php on line 2

Warning: include() [function.include]: Failed opening 'api.php' for inclusion (include_path='.:/usr/local/php52/pear') in /home/shapings/public_html/wp-content/themes/arthemia/functions.php on line 2
Shaping Software » Blog Archive » 4 + 1 View Model of Software Architecture
Home » Architecture

4 + 1 View Model of Software Architecture

5 October 2008 2 Comments

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 Take Aways
Here’s 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.

2 Comments »