1. Introduction
This section (1 – 2 pages) provides an overview of this entire document.
1.1. Project Overview
Describe the client, the problem to be solved, and the intended users. Explain the context in which your software will be used, i.e. the big picture. (1 – 3 paragraphs).
1.2. Project Scope
Mention the most important features of the system, inputs, data stores, and outputs. Do not discuss implementation details. Note any major constraints. (1 – 5 paragraphs)
1.3. Document Preview
Describe the purpose, scope of this document, and intended audience of this document. Mention the major sections that follow. Provide references to companion documents. (1 - 2 paragraphs)
2. Architectural Design
This section (2 – 4 pages) provides an overview and rationale for the program's data and architectural design decisions.
2.1. Section Overview
Provide a summary of the contents of this section. (1 – 2 paragraphs)
2.2. General Constraints
Describe global limitations or constraints that have a significant impact on your system design. Examples include hardware and software environments, interface requirements, external data representations, performance requirements, network requirements, etc. (1 – 3 paragraphs)
2.3. Data Design
Describe the structure of any databases, external files, and internal data structures. You may wish to include references to appendices containing ER diagrams, data, or file formats. (1 – 3 paragraphs)
2.4. Program Structure
Describe the architectural model chosen and the major components. Include a pictorial representation (or reference to an appendix block or class diagram) of the major components. (1 – 4 paragraphs)
2.5. Alternatives Considered
Discuss the alternative architectural models considered and justify your choice for your architectural design. (1 – 4 paragraphs)
3. Detailed Design
This section represents the meat of your document. Be as