Views

AKA Viewpoints

Definition

View: A representation of a whole system from the perspective of a related set of concerns. (IEEE 1471 2000)

The book Software Architecture in Practice [1], describe the concept of design views through an analogy with the human body:

Architectural structures have counterparts in nature. For example, the neurologist, the orthopedist, the hematologist, and the dermatologist all have different views of the various structures of a human body.

Different perspectives of the human body, illustrating how specialists view distinct structures based on their focus Image Source: Software Architecture in Practice, 4th Edition

They continue:

Although these views are pictured differently and have very different properties, all are inherently related and interconnected: Together they describe the architecture of the human body.

The book Documenting Software Architectures [2] define architectural views (or simply views) as:

A view is a representation of a set of system elements and the relationships associated with them.

It also describes some properties of views:

  • Different views will highlight different system elements and/or relations.

  • Different views support different goals and uses.

  • Different views also expose different quality attributes to different degrees.

  • Each view emphasizes certain aspects of the system while deemphasizing or ignoring other aspects, all in the interest of making the problem at hand tractable.

  • No single view can fully represent an architecture.

The article Understanding the Model Driven Architecture [3] define views as:

A viewpoint on a system involves a perspective focusing on specific concerns regarding the system, which suppresses details to provide a simplified model having only those elements related to the concerns of the viewpoint.

A view (or viewpoint model) of a system is a representation of the system from the perspective of a viewpoint.

View Types

A specification of the conventions for constructing and using a view. A pattern or template from which to develop individual views by establishing the purposes and audience for a view and the techniques for its creation and analysis. (IEEE 1471 2000)

An architectural viewtype is the conceptual basis for individual views in an architecture description. [4]

A viewtype is a set, or category, of views that can be easily reconciled with each other. [2]

Views in Documenting Architectures

The book Documenting Software Architectures [2] highlights the importance of views in documentation:

Perhaps the most important concept associated with software architecture documentation is that of the view. A software architecture is a complex entity that cannot be described in a simple one-dimensional fashion.

With that in mind, they bring up a fundamental principle of architecture documentation:

The most fundamental principle of architecture documentation:

Documenting an architecture is a matter of documenting the relevant views and then adding documentation that applies to more than one view.


References

Last updated