0% found this document useful (0 votes)
525 views

Software Design Document

This document provides an overview of the software design for a system. It describes the purpose and scope of the document, intended audience, and related documents. It then gives a high-level description of the system functionality and design considerations. The document outlines the system's architectural strategies and how the system is partitioned into components. It provides detailed descriptions of key components, classes, and the system's database, user interface, and glossary definitions.

Uploaded by

Kweider Love
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
525 views

Software Design Document

This document provides an overview of the software design for a system. It describes the purpose and scope of the document, intended audience, and related documents. It then gives a high-level description of the system functionality and design considerations. The document outlines the system's architectural strategies and how the system is partitioned into components. It provides detailed descriptions of key components, classes, and the system's database, user interface, and glossary definitions.

Uploaded by

Kweider Love
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Software Design Document

1. Introduction
Provide an overview of the entire document:
Describe the purpose of this document
Describe the scope of this document
Describe this document's intended audience
Identify the system/product using any applicable names and/or version
numbers.
Provide references for any other pertinent documents such as:
Related and/or companion documents
Prerequisite documents
Documents which provide background and/or context for this document
Documents that result from this document (e.g. a test plan or a
development plan)
Define any important terms, acronyms, or abbreviations
Summarize (or give an abstract for) the contents of this document.
2. System Overview
Provide a general description of the software system including its functionality and
matters related to the overall system and its design (perhaps including a discussion of
the basic design approach or organization). Feel free to split this discussion up into
subsections.
3. Design Considerations
This section describes many of the issues which need to be addressed or resolved
before attempting to devise a complete design solution.
a. Assumptions and Dependencies
b. General Constraints
c. Goals and Guidelines
d. Development Methods
4. Architectural Strategies
Describe any design decisions and/or strategies that affect the overall organization of
the system and its higher-level structures. These strategies should provide insight into
the key abstractions and mechanisms used in the system architecture.
a. strategy-1 name and description
b. strategy-2 name and description
c. ...

5. System Architecture
This section should provide a high-level overview of how the functionality and
responsibilities of the system were partitioned and then assigned to subsystems or
components. Don't go into too much detail about the individual components
themselves (there is a subsequent section for detailed component descriptions). The
main purpose here is to gain a general understanding of how and why the system was
decomposed, and how the individual parts work together to provide the desired
functionality.
(describe using Package diagrams/Component diagrams and explain each
component)
a. component-1 name and description
b. component-2 name and description
c. ...
6. Detailed System Design
Most components described in the System Architecture section will require a more
detailed discussion. The kind of component, such as a subsystem, module, class,
package, function, file, etc. ....
E.g. Detailing each classes:
Class A
a. Classification
The kind of component, such as a subsystem, module, class, package, function,
file, etc. ....
b. Definition
The specific purpose and semantic meaning of the component. This may need
to refer back to the requirements specification.
c. Responsibilities
The primary responsibilities and/or behavior of this component. What does
this component accomplish? What roles does it play? What kinds of services
does it provide to its clients? For some components, this may need to refer
back to the requirements specification.
d. Constraints
Any relevant assumptions, limitations, or constraints for this component. This
should include constraints on timing, storage, or component state, and might
include rules for interacting with this component (encompassing
preconditions, postconditions, invariants, other constraints on input or output
values and local or global values, data formats and data access,
synchronization, exceptions, etc.)
Class B

7. Database Design

a. Data Model
b. Data Dictionary
8. User Interface Design
(Explain and describe using Communication diagrams and Boundary classes, include
the prototype design)

9. Glossary
An ordered list of defined terms and concepts used throughout the document.
10. Bibliography
A list of referenced and/or related publications.

You might also like