Architecture Documentation, Views and Beyond Approach

Because architectures are intellectual constructs of enduring and long-lived importance, communicating an architecture to its stakeholders becomes as important a job as creating it in the first place. If the architecture cannot be understood so that others can build systems from it, analyze it, maintain it, and learn from it, then the effort put into crafting it will by and large have been wasted.

Researchers at the SEI and the Carnegie Mellon School of Computer Science set out to answer the question: "How should you document an architecture so that others can successfully use it, maintain it, and build a system from it?" The result of that work is an approach we call "Views and Beyond" or "V&B".

Template for a ViewA view is a representation of a set of system elements and the relations associated with them. Views are representations of the many system structures that are present simultaneously in software systems. The basic principle of V&B is that documenting a software architecture involves documenting the relevant views, and then documenting the information that applies to more than one view. V&B includes a method for choosing the relevant views based on the structures that are inherent in the software architecture and on the needs and concerns of the architecture documentation's stakeholders. It shows how to document views, and how to document the information that applies across views. It also covers practical information such as how to judiciously combine views to avoid documentation overload, and how to document well-known architectural constructs using UML.

Template

The template that's used for a software architecture document that's based on the Views and Beyond approach is available. 

Download the template.

Additional Information

For technical details about V&B, contact us using the link in the For more information box at the bottom of this page.

Software Architecture Training and Publications

Training

Publications

Further Reading

Comparing the SEI's Views and Beyond Approach for Documenting Software Architectures with ANSI-IEEE 1471-2000
Paul Clements

Creating and Using Software Architecture Documentation Using Web-Based Tool Support
Judith A. Stafford

Documenting Software Architectures in an Agile World
Paul Clements, James Ivers, Reed Little, Robert Nord, & Judith Stafford

Documenting Software Architectures: Views and Beyond
Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Robert Nord, & Judith Stafford

Documenting Software Architectures (podcast)
Paul Clements

How to Represent the Architecture of Your Enterprise Application Using UML 2.0 and More, (tutorial)
Paulo Merson, JavaOne Online Technical Sessions

For more information

Contact Us

info@sei.cmu.edu

412-268-5800