Design Documentation Template
Design Documentation Template
Design Documentation Template
<Project>
Version <n>
Prepared by <author>
<organization>
<date created>
Table of Contents
1. Introduction
1.1 Purpose of this document
This software design document describes the architecture and system design of
XX.
Provide a description and scope of the software and explain the goals, objectives
and benefits of your project. This will provide the basis for the brief description of
your product.
Description of the organization of the document
1.2 Definitions and Acronyms
Provide definitions of all terms, acronyms, and abbreviations that might exist to
properly interpret the SDD. These definitions should be items used in the SDD
that are most likely not known to the audience.
2. System Architecture
The architectural design is the design of the entire software system; it gives a
high-level overview of the software system, such that the reader can more easily
follow the more detailed descriptions in the later sections. It provides information
on the decomposition of the system into modules (classes), dependencies between
modules, hierarchy and partitioning of the software modules.
Develop a block diagram and explain the relationships between the modules to
achieve the complete functionality of the system. Identify each high level
subsystem and the roles or responsibilities assigned to it. Describe how these
subsystems collaborate with each other in order to achieve the desired
functionality. Dont go into too much detail about the individual subsystems. The
main purpose is to gain a general understanding of how and why the system was
decomposed, and how the individual parts work together. Provide a diagram
showing the major subsystems and data repositories and their interconnections.
Describe the diagram if required.
3. Database Design
The database design specifies how the date of the software is going to be stored.
Tables schemas
The complete (compilable) set of CREATE TABLE statements (and other SQL
statements) that declare the database schema, including integrity constraints, domain
specifications, assertions, and access privileges -- documented in a template with the
intended use of each table and column.
Attribute
Id
Description
Id of a student
Type
Integer
Name
Primary Key
Foreign Keys
SQL Code
Name of a student
String
Examples of values
Between 1 and
999999999
John
Tables data:
The tables have to be populated by you and your client. Each table must contain an
appropriate number of data. The contents of the tables has to be provided (in an organized
way.)
SQL queries:
Provide all SQL queries that you will need.
Transactions implementation:
Explain how you will implement the ACID (atomicity, consistency, isolation and
durability) properties of transactions (programs that access databases.)
4. Graphical User Interface
Provide, in an organized way, the pictures of all the forms in the graphical user
interface with a reference to the functional requirement it implements. You may
use html to present the graphical user interfaces.
For each form in the graphical user interface, provide:
o The names of the controls and fields on that form,
o The names of the events, methods, or procedures that cause that form to be
displayed, and
o The names of the events, methods, or procedures triggered by each
control.
5. Class Diagram and Classes
Provide a class diagram and an inheritance tree/diagram.