SDD-IEEE Template
SDD-IEEE Template
SDD-IEEE Template
Description
for
[Project]
Version [1.0]
<Note: Must follow the latest number in Revision History table.>
Prepared by
[Team]
[List of Name (Student Id)]
[Date Created]
<Note: Must follow the latest date in Revision History table.>
Copyright © 1999 by TMA Training Center. Permission is granted to use, modify, and distribute this document.
Software Design Description for [Project] Page ii
Table of Contents
Table of Contents...........................................................................................................................ii
Revision History............................................................................................................................iii
1. Introduction..............................................................................................................................1
1.1 Purpose.........................................................................................................................................1
1.2 Definitions, Acronyms and Abbreviations...................................................................................1
1.3 Intended Audience and Reading Suggestions..............................................................................1
1.4 Product Scope...............................................................................................................................1
1.5 References....................................................................................................................................1
2. High Level Design....................................................................................................................2
2.1 Design Considerations..................................................................................................................2
2.2 System Level Desired Behavior...................................................................................................2
2.3 Logical Representation of the Architecture..................................................................................2
2.4 Architectural Component Overview.............................................................................................2
2.5 Process Architecture.....................................................................................................................3
2.6 Deployment Architecture.............................................................................................................3
3. Detailed Design.........................................................................................................................4
3.1 Class Diagram...............................................................................................................................4
3.2 Class Summary.............................................................................................................................4
4. GUI Mockups...........................................................................................................................5
5. Open Issues...............................................................................................................................6
Appendix A: Approval..................................................................................................................7
Appendix B: Glossary....................................................................................................................8
Appendix C: Sequence Diagram...................................................................................................9
Appendix D: To Be Determined List..........................................................................................10
Software Design Description for [Project] Page iii
Revision History
Name Date Reason For Changes Version
Software Design Description for [Project] Page 1
1. Introduction
1.1 Purpose
<Note: Identify the product whose software designs are specified in this document, including the
revision or release number. Describe the scope of the product that is covered by this SDD,
particularly if this SDD describes only part of the system or a single subsystem.>
1.5 References
<Note: The following references are cited in this document:
[SRS] Please refer to the latest approved version of the document <Put SRS title here>.
<Please provide the hyperlink to the library containing this SRS for the SRS title>
[Traceability Matrix TM)] Please refer to the latest approved version of the document. TM
can be used to trace all requirements related to the component.<Put TM title here>.
<Please provide the hyperlink to the library containing this TM for the TM title>
(Optional) – Note any references or related materials here.(Some other technical documents like:
IETF, RFC… that you mentioned above.)>
Software Design Description for [Project] Page 2
<Note: At a high-level, describe the design direction and rationale. Also, describe alternative
approaches considered and rationale for them not being chosen.>
2.1.2 Assumptions
<Note: Document the assumptions, open issues, concerns that guide the design or have the
possibility of affecting the design.
Open issues should be addressed before the design is completed. If assumptions are invalidated
or change, the design must be revisited to ensure design changes are made as necessar.>
2.1.3 Constraints
<Note: Indicate the constraints that affect the design, i.e. restrictions imposed on the design that
force the design decisions a certain way. Once again, this is driven by non-functional
requirements, such as real-time, memory, reliability, scalability etc.>
You can use the Use Case Diagram and describe briefly the function and purpose of every use
cases.>
At the very highest level, describe a logical representation of the architectural design that will be
used to satisfy the functional requirements. This representation is not constrained by existing
software architectures, product requirements or target hardware platforms upon which the
functional requirements will be satisfied.
Identify and describe the software components that make up the architecture and their
relationships. Identify new, changed, and if applicable, deleted software components required to
satisfy the functional requirements.
<Note: At a high-level, describe software upon which this design depends. If applicable, reference
other features which are being done in parallel to support a larger project or other features which
may have impact due to interactions or known changes in the same software being changed by
this feature.>
<Note: If your design includes the use of third party software, document build versus buy analysis
and rationale for the decision around adoption of this approach and describe how it will be
integrated into the rest of the design.
Please note that we should be strongly encouraging use of existing software in order to avoid
licensing costs incurred as a result of using 3rd party S/W.>
At a high-level, describe the process architecture required to satisfy the functional requirements.
Identify new tasks or processes needed and/or changes to existing tasks to support the necessary
execution flows.
If the design is within a single task or process and/or is completely task unaware, simply state
this.>
3. Detailed Design
<Note: This section and its subsections specify internal details of components/modules. They also
design algorithms, data types, and data structures for components and interfaces.
3.1.1 Scenarios
<Note: This subsection includes the high-level scenarios relevant to the system. For detail
scenarios, please refer to Appendix C>
<Note: You need to repeat this subsection to cover all classes in your class diagram.>
4. GUI Mockups
<Note: Include any screen layouts or user interface mockups for this component.>
Software Design Description for [Project] Page 6
5. Open Issues
<Note: List out any open issues herein.>
Software Design Description for [Project] Page 7
Appendix A: Approval
The undersigned acknowledge they have reviewed the [Project Name] Software Design Description and
agree with the approach it presents. Changes to this Software Design Description will be coordinated with
and approved by the undersigned or their designated representatives.
<Note: List the individuals whose signatures are desired. Examples of such individuals are Quality
Manager or Tester. Add additional lines for signature as necessary. Although signatures are
desired, they are not always required to move forward with the practices outlined within this
documentation.>
Appendix B: Glossary
<Note: Define all the terms necessary to properly interpret the SDD, including acronyms and
abbreviations. You may wish to build a separate glossary that spans multiple projects or the entire
organization, and just include terms specific to a single project in each SDD.>
Software Design Description for [Project] Page 9