Overview
A design document needs to be a stable reference and outline all parts of the software and how they will work. The document should give a fairly complete description while maintaining a high-level view of the software. The Software Design Document (SDD) is a comprehensive software design model consisting of four distinct but interrelated activities:
There are two kinds of design documents:
A comprehensive example that combunes the two can be found at http://db.daffodilsw.com/PDF/design-document.pdf.
Question: Who uses these documents? Answer: Just about everyone on the development team to some degree! |
|
Figure 1. Development team roles |
For the purposes of this course, you will be learning how to use a HLDD (High Level Design Document) both as an internal planning tool and as a communication/documentation tool. Don't worry! I don't expect you to write a full book on your design and implementation. However, i do expect you to describe your implementation and design using the following categories:
Figure 2. The top level diagram lays out the modules. | |
Figure 3. Details are specified in the class diagram with short descriptions. Circles represent the conceptual actors or elements in the system. |
Figure 4. A standard flowchart |
Figure 5. Behaviour descriptions - what actually happens in what conditions. |
It should be clear by now that this document is not just something you whip up at the end of a project for archival or communication purposes. It is actually a fundamental design tool as you are working out how to build your system and how to explore alternatives. The most useful ones are those that reflect the thorough "thinking out" process that every system architect undergoes.