|
|
Software Architecture Documentation in the Real World
Documentation is a relatively unpopular aspect of software development and its importance is much debated. However, if you want to develop software architectures that should last for a long time - e.g. for platforms or product lines - documenting these architectures is essential. And done right, it can even be rewarding and fun!
In this tutorial we will introduce best practices for documenting software architectures in real projects. These best practices include
(-) Using the pattern form as a vehicle to write compelling explanations and capturing rationales
(-) Using pattern languages to describe complex, multi-aspect architectures
(-) Using tutorials and walk-throughs to describe the programming model to application developers
(-) Using Structured Glossaries as a way of defining the meaning of terms and the relationships between terms
(-) Using architectural diagrams (Visio/Powerpoint, UML Class Diagrams, Sequence Diagrams) to illustrate architectures
(-) Using architecture meta models for formally describe software architectures
We will also talk a little bit about which channel (e.g. paper, online, video) is best suited for the various kinds of documentation, as well as about some best practices for typesetting and document layout.
The toolbox provided by this session makes architecture documentation much more productive.
|