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:
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.
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.