Appendix A. Excerpts from a Software Architecture Documentation Package
These excerpts from a sample architecture documentation package are for a system called ECS, a system in use at the U.S. National Aeronautics and Space Administration (NASA). ECS ingests, stores, processes, and makes available a high volume of sensor data from a constellation of Earth-observing satellites.
Note these important caveats about this package:
- The documentation is not complete, emphasizing breadth over depth. Each part of the documentation package is illustrated with what could best be called a snippet.
- Where form or continued content should be clear, the use of [omitted] or [etc.] indicates information left out of the example but that would not be left out of an actual documentation package. This appendix is intended to be illustrative, not exhaustive.
- The documentation in this package is based on that for ECS but may not accurately document ECS software. Simplifications and fictions were introduced for pedagogical reasons.
- Comments about the documentation in the context of this book are given in footnotes.
- Finally, this example uses ten views, many more than most projects would find practical. The large number results from ECS's serving as the example for many of the views in this book.
Chapter 10 noted that either the documentation could all go in a single document, or each part could be assigned its own document. The ECS package takes a middle approach, creating a two-volume set. The boilerplate on the title page of each volume is for compliance with ANSI IEEE-1471-2000, the ANSI IEEE recommended practice for architectural description for software-intensive systems (see Section 11.6).
ECS Software Architecture Documentation