3.software Design Specification
3.software Design Specification
<Project Name>
Prepared by <author>
<Organization>
<Date created>
Software Design Specification for <Project> Page ii
Table of Contents
Table of Contents...........................................................................................................................ii
Revision History.............................................................................................................................ii
1. Introduction..............................................................................................................................1
1.1 Purpose of this document...........................................................................................................1
1.2 Product Scope.............................................................................................................................1
1.3 References..................................................................................................................................1
1.4 Overview of document...............................................................................................................1
2. System architecture description.............................................................................................1
2.1 Architecture diagram..................................................................................................................1
2.2 Overview of modules/components.............................................................................................1
2.3 Structure and relationships.........................................................................................................1
3. Detailed description of components.......................................................................................2
3.1 Component 1..............................................................................................................................2
3.2 Component 2..............................................................................................................................3
3.3 Component 3..............................................................................................................................3
4. Data design...............................................................................................................................3
4.1 ER diagram.................................................................................................................................3
4.2 Data table design........................................................................................................................3
5. User interface design................................................................................................................3
6. Other.........................................................................................................................................3
6.1 Restrictions, limitations, and constraints....................................................................................3
6.2 Failure design.............................................................................................................................3
Revision History
Name Date Reason For Changes Version
Software Design Specification for <Project> Page 1
1. Introduction
1.3 References
<List any other documents or Web addresses related to design issues. At minimum, this
document should reference the SRS.>
3.1 Component 1
Identification The unique name for the component and the location of the
component in the system.
Type A module, a subprogram, a data file, a control procedure, a
class, etc.
Purpose Function and performance requirements implemented by the
design component, including derived requirements. Derived
requirements are not explicitly stated in the SRS, but are implied
or adjunct to formally stated SDS requirements.
Function What the component does, the transformation process, the
specific inputs that are processed, the algorithms that are used,
the outputs that are produced, where the data items are stored,
and which data items are modified.
Subordinates The internal structure of the component, the constituents of the
component, and the functional requirements satisfied by each
part.
Dependencies How the component's function and performance relate to other
components. How this component is used by other components.
The other components that use this component. Interaction
details such as timing, interaction conditions (such as order of
execution and data sharing), and responsibility for creation,
duplication, use, storage, and elimination of components.
Interfaces Detailed descriptions of all external and internal interfaces as
well as of any mechanisms for communicating through
messages, parameters, or common data areas. All error
messages and error codes should be identified. All screen
formats, interactive messages, and other user interface
components (originally defined in the SRS) should be given here.
Resources A complete description of all resources (hardware or software)
external to the component but required to carry out its functions.
Some examples are CPU execution time, memory (primary,
secondary, or archival), buffers, I/O channels, plotters, printers,
math libraries, hardware registers, interrupt structures, and
system services.
Processing The full description of the functions presented in the Function
subsection. Pseudocode can be used to document algorithms,
equations, and logic.(recommendation: process diagram)
Data For the data internal to the component, describes the
representation method, initial values, use, semantics, and format.
This information will probably be recorded in the data dictionary.
3.2 Component 2
< Use same table template as above >
Software Design Specification for <Project> Page 3
3.3 Component 3
……………….
4. Data design
<Data flow chart, ER diagrams can be useful here. And describe how to design your database
using several data tables as you need.>
4.1 ER diagram
6. Other