Multiple Views of Architecture

UML diagrams help capture both the static and dynamic structure of software architecture. Unfortunately, architecture defines a diverse range of system concerns, making it very difficult to represent even the simplest of systems with a single diagram.

Rather than trying to think of architecture as one giant picture, it is easier to break this picture into smaller chunks, or views. In his paper "The 4 + 1 View Model of Architecture" [Kruchten, 1995], Philippe Kruchten defined five concurrent interlocking views of architecture. Using this multiple view approach, each of the four views models a separate set of architectural concerns. Architects use the fifth view for the illustration and validation of the other views.

Since Philippe Kruchten's paper first came out, the view names have undergone a few changes. Here are the generally accepted 4 + 1 views of architecture:

Logical view.

The logical view defines the structure and organization of the software in terms of packages, classes, subsystems, and layers.

Implementation view.

The perspective of this view focuses on the various files and components that constitute a deliverable release of the software. Unlike the logical view, this is a physical view of the makeup of the system.

Process view.

The process view describes the concurrency concerns of the system and models the interaction of runtime aspects such as tasks, processes, and threads.

Deployment view.

The deployment view defines the different hardware nodes of the system and describes the location of software components within the runtime environment.

Use-case view.

This final view is a special view that helps shape the architecture and is taken from the perspective of the customer, analysts, and testers.

There are two wider perspectives of architecture: logical and physical. These two perspectives represent the view's type. Logical views focus on software constructs such as packages and classes. Physical views model hardware nodes and files.

Table 5-1 depicts the types of each of the four views.

Table 5-1. Architectural View Types











Architects can use the different UML diagrams to build up these concurrent views of the software architecture. The overall architectural picture is a mosaic of all the UML diagrams used to depict each of the various views.

We examine the main UML diagrams next, with respect to the 4 + 1 view model of architecture.

    Rapid J2EE Development. An Adaptive Foundation for Enterprise Applications
    Rapid J2EEв„ў Development: An Adaptive Foundation for Enterprise Applications
    ISBN: 0131472208
    EAN: 2147483647
    Year: 2005
    Pages: 159
    Authors: Alan Monnox © 2008-2017.
    If you may any questions please contact us: