Software Design Specification

Version x.0
date goes here

project title goes here

team name goes here

team member name goes here
team member name goes here
team member name goes here
team member name goes here


Table Of Contents:

1.0   Introduction
1.1   Scope of the Development Project
1.2   Definitions, Acronyms, and Abbreviations
1.3   References
2.0   System Architecture Description
2.1   Overview of modules/components
2.2   Structure and relationships
2.3   User interface issues

3.0   Data and Database Structures

4.0   Design decisions and tradeoffs

5.0   Credits

6.0   Appendix



1.0 Introduction

1.1 Scope of the Development Project

Project scope goes here (can obtain from Requirements specification).

1.2 Definitions, acronyms and abbreviations

Alphabetized table of terms goes here. Limit it to terms actually used in this document. This may end up being a subset of the requirements glossary.

1.3 References

This section will include technical books and documents related to design issues. At a minimum, this should reference the Requirements Analysis Specification! Give links to documents as appropriate. Be certain that the references you give are complete and in an appropriate format.

Table Of Contents


2.0 System architecture description

2.1 Overview of modules / components

A table listing and briefly describing system architecture components (e.g. classes) goes here.

Module Description
first module name goes here. First module description goes here.
second module name goes here. Second module description goes here.
Nth module name goes here Nth module description goes here.

2.2 Structure and relationships

A diagram or diagrams that clearly show interrelationships and dependencies among the various components goes here. For your project, this will be the detailed class diagram. If the diagram is particularly cluttered, you may break it out into one diagram showing only class names for each class, followed by a series of diagrams that contain details for each class but not relationships between classes.

2.3 User interface issues

This section will present the main principles of the product's user interface. This section should not touch on technical details. You do not need to include user interface prototypes here.

Table Of Contents


3.0 Data and Database Structures

For each database table used or maintained by your product, supply an ER (or similar) diagram along with other information useful for implementation and maintenance (such as database location, methods used to access it, and so forth). If you are not using a database, describe any persistent (file-based) data structures.

Table Of Contents


4.0 Design decisions and tradeoffs

Use this section to motivate any decisions that will help the reader understand the design that your team is using. Examples are decision to use Java, Visual Basic, or C#, Access, ASP, or other specific languages/tools.

Table Of Contents


5.0 Credits

For each team member, list her/his name followed by contributions to the system design and SDS document.

Table Of Contents


6.0 Appendix

Any appendix (or appendices) goes here.

Table Of Contents