Software DesignSpecification (SDS) Document
<Enter your project name here>
Version 1.0
Last Update: 14 September 2018
Team members ordered either alphabetically or to reflect contributions from top to bottom
Revision History
Document #<doc_num> <file_name>-<version_num>
The following table details changes made through versions of this document
Version / Date / Description/Notes / Modifiers1.0 / ?? / Initial Release / List names of who modified this SDS
Any subsequent release should list major changes/additions only – that simplifies further referencing when comparing various doc’s releases.
1.Introduction
This section provides an overview of the entire design document. This document describes all data, architectural, interface and class-level design for the software.
1.1.Software architecture
The software is placed in a business context. The intent is for the reader to understand the 'big picture'.
You can use context diagram, or block diagram that shows external systems interacting with your system to show the system context.
2.Data design
2.1.Data structures
Data structured that are available to major portions of the architecture are described. You should provide the rational for using data structures.
Files created for interim use are described. You should provide the rational for using these data structures.
3.Program Structure (class diagram)
A drawing of the class diagram is presented here
3.1.<object class name if any> or a Description for Class 1
A detailed description of each class contained within the architecture is presented. You should list both the state and the behavior of each object class. You should explain each attribute and each method. Section 3.1should be repeated for each object class.
3.1.1.<object-name, if any> or Object Class 1: The State
A detail description for all attributes and/or member fields.
3.1.2.<object-name, if any> or Object Class 1: The Behaviour:
A detailed description for each method within the object class, either as named above or as numbered above, is presented.
3.2.<object class name if any> or a Description for Class 2
Repeat the same as for class 1
3.2.1.The State
3.2.2.The Behaviour
.
.
.
4.Graphical User Interface Design
You should build user interfaces using any well-known modeling language, e.g. UML, Promela descriptions, SPIN-generated, Lamda calculi-based modeling languages, Java PathFinder, etc., or any preferred editor, e.g. MS WinWord, and list all the interfaces under this section.
You should describe each interface briefly.
Software Design Document for <project> / 14 September 2018 8:24 PM / Page 1 of 4