[Project Name]
Design Document

Author		
Version		
Date		
Requirements Reference		

Overview and Background
[Write a brief (e.g. 1 paragraph) overview and include any background or context that will help the reader understand the design.]

High-Level System Design
[Describe how the program, overall will be implemented.  Can include broad system diagrams, major software objects and their relationships, wire-frame mock-ups of the main screens, and/or program and data flowcharts.  Break the system down into manageable sub-systems.]

Detailed Component Design
[Completely how individual sub-systems will be completed.  Include detailed object design (data, methods, relationships), detailed process flow-charts, detailed input and output specification, GUI (graphical user interface) specifications, etc.]

Dependencies and Milestones
[Describe any resources (technology, hardware & software, people, office space, etc.) you will need to get started or at any point within the project.  Lay out a series of milestones and ordering of work to be completed.  What can the program do (if anything) at each milestone?]

Appendix
[Optional, one or more Appendix sections can carry additional detail that does not necessarily fit into the main document.]

Other Typical Sections (omitted for student work):
Table of Contents
Glossary
External References
Risks & Constraints
Software Design Process