Professional Documents
Culture Documents
SoftwareDesignSpecification Template
SoftwareDesignSpecification Template
Software Design
Specification
for
<Project>
Version <X.X>
Prepared by
Table of Contents
1. Introduction..............................................................................................................................
1.1 Purpose.............................................................................................................................
1.2 Product Scope..................................................................................................................
1.3 Definitions and Acronyms...............................................................................................
1.4 References........................................................................................................................
2. System Architecture.................................................................................................................
2.1 Architectural Design........................................................................................................
2.2 Decomposition Description.............................................................................................
2.3 Design Rationale..............................................................................................................
3. Data Design...............................................................................................................................
3.1 Data Description..............................................................................................................
3.1.1 Conceptual Data Model...............................................................................................
3.1.2 Logical Data Model.....................................................................................................
3.1.3 Physical Data Model....................................................................................................
3.2 Data Dictionary................................................................................................................
4. Detailed Design.........................................................................................................................
4.1 Function “XX” (XX: specific name)...............................................................................
4.2 Function “YY” (YY: specific name)...............................................................................
5. Requirements Matrix...............................................................................................................
6. Appendices................................................................................................................................
Software Design Specification for <Project> Page
Revision History
Name Date Reason For Changes Version
Software Design Specification for <Project> Page
1. Introduction
1.1 Purpose
< Define the goal of this document and who intends to read it. (Example: This
software design document describes the architectural design and detailed design of
XX…)>
This software design document describes the architectural design and detailed
design of an application for measuring body temperature, heart rate, and
managing weight for user health care purposes. The goal of this document is to
provide design information and technical specifications for software
developers, software architects, and other stakeholders involved in the
development of this healthcare application.
The document will include detailed descriptions of the main features of the
application, including:
<Mention the most important features of the system, inputs, data stores, and outputs.
Do not discuss implementation details. Note any major constraints.>
< Provide definitions of all terms, acronyms, and abbreviations that might exist to
properly interpret the software design document (SDD). These definitions should be
items used in the SDD that are most likely not known to the audience.
>
1.4 References
<List any document or Web address that this document refers to. Provide enough
information so that the reader could access a copy of each reference, including title,
author, version number, date, and source or location.>
2. System Architecture
2.1 Architectural Design
< Use a diagram showing the major subsystems and the data warehouses as well as the
relationships among those components. If necessary, we can explain more detail by
identifying each major subsystem and their roles; describing how subsystems work
together to achieve the desired functions; for each subsystem, don't present too
detailed. The main aim is to gain a general understanding of how and why the system
is decomposed as well as how the individual components work together >
< Discuss the rationale for selecting the architecture described in 2.1 including critical
issues and trade-offs that were considered. We may discuss other architectures that
were considered, provided that we explain why we didn't choose them. >
3. Data Design
3.1 Data Description
< Explain how the system's information domain is transformed into data structures.
Describe how the major data or entities of the system are stored, processed, and
organized. List the databases or data storages. >
3.1.1 Conceptual Data Model
< The data dictionary defines the composition of data structures and the meaning, data
type, length, format, and allowed values for the data elements that make up those
structures. Alphabetically list the tables of physical data model along with their types
and descriptions. >
4. Detailed Design
4.1 Function “XX” (XX: specific name)
<
- Purpose:
- Interface: show the user interfaces. They can be drawn by hand or an automated
drawing tool. We also number each element in the interface.
- Interface description: the description of each numbered element of interface is
written to the following table.
- Data structures: list the tables of the physical data model to be used by this
function.
5. Requirements Matrix
< Provide a cross-reference that traces components and data structures to the
requirements in our SRS document. Use a tabular format to show which system
components satisfy each of the functional requirements from the SRS. Refer to the
functional requirements by the numbers/codes that we gave them in the SRS >
6. Appendices
< This section is optional.
Appendices provide the additional detailed information to assist in understanding
software design documentation. >