![]() |
|||||
Thinkydink Template for Creating A Software Detailed Design Document (SWDD) - Adapted from Xuyen Nguyen
Any software developer worth his or her salt should produce a Software Design Document, or SWDD (pronounced "swid"), for any new application before writing a single line of code. This is where you lay out all the details of your intended design and address common customer concerns. The SWDD will not only provide a valuable reference for your customer when the application is complete, it will serve as your blueprint during the coding phase of your project.
![]()
A SWDD differs from a requirements document in that where a requirements document lays out the WHAT - the required functionality of the application -, a SWDD lays out the HOW - the specs of the design intended to meet the stated requirements. In general, the SWDD should contain the following major headings:
![]()
1. Identification – give a brief definition of the SWDD document - what application is it for?
2. Purpose – describe the purpose of the document
3. Scope – delineate the scope of the application this document is intended to define
II. System Design Overview – define the system architecture (standalone, client-server, web application) and explain the relationships between all of the application components/modules
1. Give a brief description of each component/module
2. State system requirements
a) Software requirements – (Win 3.11, Win 95, etc…)
b) Hardware requirements – (processor speed, RAM, hard disk space, etc…)
1. Overview – briefly describe the function of the application, its inputs and outputs
2. Components - Overview
a) Component 1
b) Component 2
c) Component 3...etc.
3. Datafiles - Overview
a) Table / Data Source Detail (table specs, data types, data lengths, table-level validation rules, etc.)
i. Table 1
ii. Table 2
iii. Table 3...etc.
b) Output Detail (file format and specs, location, requirements)
i. Output 1
ii. Output 2
iii. Output 3...etc.
c) Initialization File(s) Detail (file format and specs, location, requirements)
i. File 1
ii. File 2
iii. File 3...etc.
4. Dataflow – provide one or multiple data flow diagrams representing the data flow between application and the data source
5. Relationships – provide one or multiple table / data source relationship diagrams
1. Data storage
2. Audit trails maintained
3. Backup/recovery plan
4. Installation
1. Overview
2. Initialization method
a) Set and establish data connection
b) Set the control properties
3. Data Form methods
a) Load data to control
b) Save data from control
c) Clear control
d) Delete record
e) Edit Record
f) Move Record
4. Data Validation Detail (validation performed at the application level)
a) Creating a new record
b) Editing an existing record
c) Deleting a record
d) Other validated processes
1. User level 1
2. User level 2
3. User level 3...etc.
4. Admin level
VII. Administrator Activities - Overview of Administrator role and responsibilities
1. Daily maintenance tasks
2. Weekly maintenance tasks
3. Monthly maintenance tasks
4. As-needed maintenance tasks (add/delete users, etc.)
6. Archiving strategy
![]()
|
Send
comments and questions about this site to the Webmaster@Thinkydink.com
All Thinkydink site content copyright April Hamilton, 2000-2002, All
Rights Reserved.
|