Software Design Document (SDD) Template (summarized from IEEE
STD 1016)
Software design is a process by which the software requirements are translated into
a representation of software components, interfaces, and data necessary for the
implementation phase.
The SDD shows how the software system will be structured to satisfy the
requirements.
It is the primary reference for code development and, therefore, it must contain all the
information required by a programmer to write code.
The SDD is performed in two stages. The first is a preliminary design in which the
overall system architecture and data architecture is defined. In the second stage, i.e.
the detailed design stage, more detailed data structures are defined and algorithms
are developed for the defined architecture.
This template is an annotated outline for a software design document adapted from
the IEEE Recommended Practice for Software Design Descriptions.
You can refer to IEEE Std 1016 2009 (first version 1998) ) for the full IEEE
Recommended Practice for Software Design Descriptions.