A Practical Method for Documenting Software Architectures

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.

[1]  Rick Kazman,et al.  Evaluating Software Architectures: Methods and Case Studies , 2001 .

[2]  Frank Buschmann,et al.  A system of patterns , 1995 .

[3]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture Volume 1: A System of Patterns , 1996 .

[4]  Robert L. Nord,et al.  Applied Software Architecture , 1999, Addison Wesley object technology series.

[5]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction, Second Edition , 2000 .

[6]  Janis R. Putman,et al.  Architecting with RM-ODP , 2000 .

[7]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[8]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[9]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[10]  Philippe Kruchten,et al.  The Rational Unified Process: An Introduction , 1998 .

[11]  Mary Shaw,et al.  A field guide to boxology: preliminary classification of architectural styles for software systems , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).