A Practical Method for Documenting Software Architectures

Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Robert Nord, and Judith Stafford

September, 2002. Draft.

Online links: PDF

A practical approach for documenting software architectures is presented. The approach is based on the well-known architectural concept of views, and holds that documentation consists of documenting the relevant views and then documenting the information that applies to more than one view. Views can be usefully grouped into viewtypes, corresponding to the three broad ways an architect must think about a system: as a set of implementation units, as a set of runtime elements interacting to carry out the system's work, and as a set of elements existing in and relating to external structures in its environment. A simple three-step procedure for choosing the relevant views to document is given, and applied to the problem of documentation for a large, complex NASA system.

For further information, please visit the home pages of the ABLE research project and Carnegie Mellon University's Composable Systems Group.

Last modified: 10/22/2003. For comments and problems, contact able-help@cs.cmu.edu.