Beyond Structure

In this chapter, we focus on the value of, and techniques for, documenting behavioral aspects of the interactions among system elements. Documenting behavior is a way to add more semantic information to elements and their interactions that have time-related characteristics.

Documentation of a view's behavioral aspects requires that a time line be provided along with structural information. Structural relationships provide a system view that reflects all potential interactions, few of which will be active at any given instant during system execution. It is the system behavior that describes how element interactions may affect one another at any point in time or when in a given system state. Every view can have an associated description that documents the behavior of the view's elements.

Some system characteristics can be analyzed entirely by using a system's structural description. For example, the existence of anomalies, such as required inputs for which no source is available, can be detected in a manner similar to the definition-use analysis performed by compilers. However, reasoning about such characteristics as a system's potential to deadlock or a system's ability to complete a task in the re-quired amount of time requires that the architectural description contain information about both the behavior of the elements and constraints on the interactions among them. Behavioral documentation adds information that reveals

  • The ordering of interactions among the elements
  • Opportunities for concurrency
  • Time dependencies of interactions, such as at a specific time or after a period of time

Interaction diagrams or statecharts as defined by UML are examples of behavioral documentation.

In this chapter, we provide guidance as to what aspects of behavior to document and how this documentation is used during the earliest phases of system development. In addition, we provide overviews and pointers to languages, methods, and tools that are available to help practitioners document system behavior.

Software Architectures and Documentation

Part I. Software Architecture Viewtypes and Styles

The Module Viewtype

Styles of the Module Viewtype

The Component-and-Connector Viewtype

Styles of the Component-and-Connector Viewtype

The Allocation Viewtype and Styles

Part II. Software Architecture Documentation in Practice

Advanced Concepts

Documenting Software Interfaces

Documenting Behavior

Choosing the Views

Building the Documentation Package

Other Views and Beyond

Rationale, Background, and Design Constraints

References



Documenting Software Architectures(c) Views and Beyond
Documenting Software Architectures: Views and Beyond
ISBN: 0201703726
EAN: 2147483647
Year: 2005
Pages: 152

Flylib.com © 2008-2020.
If you may any questions please contact us: flylib@qtcs.net