Documenting Software Architecture: Documenting Behavior

Abstract : This report represents another milestone of a work in progress: a comprehensive handbook on how to produce high-quality documentation for software architectures. The handbook, tentatively titled Documenting Software Architectures, will be published in early 2002 by Addison-Wesley as part of the Software Engineering Institute (SEI) Series on Software Engineering. The book is intended to address a lack of language-independent guidance about how to capture an architecture in a written form that can provide a unified design vision to all of the stakeholders on a development project. A central precept of the book is that documenting an architecture entails two essential steps: 1) documenting the set of relevant views of that architecture and then completing the picture by 2) documenting information that transcends any single view. The book's audience is the community of practicing architects, apprentice architects, and developers who receive architectural documentation. This technical note describes ways to document an important but often overlooked aspect of software architecture: the behavior of systems, subsystems, and components.

[1]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[2]  Mary Shaw,et al.  Software architecture: the next step for object technology (panel) , 1993, OOPSLA '93.

[3]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[4]  Walter Mann,et al.  Inferred Designs , 1999, IEEE Softw..

[5]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[6]  Ivar Jacobson,et al.  The Unified Software Development Process , 1999 .

[7]  David C. Luckham,et al.  An Event-Based Architecture Definition Language , 1995, IEEE Trans. Software Eng..

[8]  David Garlan,et al.  Architecture-Based Performance Analysis , 1998 .

[9]  Walter Mann,et al.  Correction to "Specification and Analysis of System Architecture Using Rapide" , 1995, IEEE Trans. Software Eng..

[10]  David Harel,et al.  Modeling Reactive Systems With Statecharts : The Statemate Approach , 1998 .

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

[12]  R. J. A. Buhr,et al.  Use Case Maps for Object-Oriented Systems , 1995 .

[13]  Alexander L. Wolf,et al.  Annotating Components to Support Component-Based Static Analyses of Software Systems , 1999 .

[14]  J. Michael Spivey,et al.  Understanding Z : A specification language and its formal semantics , 1985, Cambridge tracts in theoretical computer science.

[15]  Bran Selic,et al.  Real-time object-oriented modeling , 1994, Wiley professional computing.

[16]  Dieter Hogrefe,et al.  SDL : formal object-oriented language for communicating systems , 1997 .

[17]  George T. Heineman,et al.  Component-Based Software Engineering: Putting the Pieces Together , 2001 .

[18]  Doug Rosenberg,et al.  Use case driven object modeling with UML: a practical approach , 1999 .

[19]  Arcot Sowmya,et al.  Extending Statecharts with Temporal Logic , 1998, IEEE Trans. Software Eng..

[20]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[21]  Steve Vestal,et al.  Developing Evolvable, Embedded, Time-Critical Systems with MetaH , 2000, TOOLS.