Guideline: Architecture View
Architecture can be represented from a variety of viewpoints, all of which can be combined to create a holistic view of the system.
Relationships
Related Elements
Main Description

As an architect you may want to consider the following views (not all views are relevant to all systems or all the stakeholders).

4+1 Views of Software Architecture

  • Use Case View - describes functionality of the system, it's external interfaces and it's principal users. The Use Case View contains the Use-Case Model. This view is mandatory when using the 4+1 Views, as all elements of the architecture should be derived from requirements.
  • Logical View - describes how the system is structured in terms of units of implementation. Elements are packages, classes and interfaces. Relation between elements shows dependencies, interface realizations, part-whole relations, etc. This view is mandatory when using the 4+1 Views of Software Architecture.
  • Implementation View – describes how development artifacts are organized in the file system Elements are files, directories (any configuration items). This includes development artifacts and deployment artifacts. This view is optional when using the 4+1 Views.
  • Process View – describes how the run-time system is structured as a set of elements that have run-time behavior and interactions. Run-time structure often bears little resemblance to the code structure. It consists of rapidly changing networks of communications objects. Elements are components that have run-time presence (processes, threads, EJBs, servlets, DLLs, etc.), data stores and complex connectors  such as queues. Interaction between elements varies based on technology. This kind of view is useful for reasoning about run-time system quality attributes such as performance and reliability. This view is optional when using the 4+1 Views.
  • Deployment Views – Describe how is the system mapped to the hardware. This view is optional when using the 4+1 Views.

This set of views is known as the 4+1 Views of Software Architecture [KRU95]

In addition, you may wish to represent the following,

  • Data View - a specialisation of the Logical View. Use this view if persistence is a significant aspect of the system. and the translation from the Design Model to the Data Model is not done automatically by the persistence mechanism.

More Information
Concepts
Guidelines