Software Requirements Specification

advertisement
<Enter team name here>
<Enter project name here>
Software Design Document
Version <1.0>
2/9/2016
 2003 <Enter team name here>
<Drive:\Directory\Filename.ext>
Software Design Document
Document Control
Approval
The Guidance Team and the customer shall approve this document.
Document Change Control
Initial Release:
Current Release:
Indicator of Last Page in Document:
Date of Last Review:
Date of Next Review:
Target Date for Next Update:
Distribution List
This following list of people shall receive a copy of this document every time a new version of this document
becomes available:
Guidance Team Members:
Customer:
<name of customer>
Software Team Members: <List of team member names>
Change Summary
The following table details changes made between versions of this document
Version
Software Design Document
Date
Modifier
<Enter team name here>
Description
Date
Page
2/9/2016 5:43 PM
ii
Software Design Document
Table of Contents
DOCUMENT CONTROL ...........................................................................................................................II
APPROVAL....................................................................................................................................................II
DOCUMENT CHANGE CONTROL ...................................................................................................................II
DISTRIBUTION LIST ......................................................................................................................................II
CHANGE SUMMARY .....................................................................................................................................II
INTRODUCTION ......................................................................................................................................... 1
1.1
PURPOSE AND INTENDED AUDIENCE ................................................................................................ 1
1.2
SCOPE OF PRODUCT .......................................................................................................................... 1
1.3
REFERENCES .................................................................................................................................... 1
1.4
DEFINITIONS, ACRONYMS, AND ABBREVIATIONS ............................................................................. 1
1.1.1
Definitions ............................................................................................................................... 1
1.4.1
Acronyms and Abbreviations ................................................................................................... 1
1.5
OVERVIEW ....................................................................................................................................... 1
2
DECOMPOSITION DESCRIPTION .................................................................................................. 2
2.1
2.2
3
SYSTEM COLLABORATION DIAGRAM ............................................................................................... 2
SUBSYSTEM DESCRIPTIONS .............................................................................................................. 2
DETAILED DESCRIPTION OF SUBSYSTEM <NAME> .............................................................. 3
3.1
SUBSYSTEM DESCRIPTION (SUBSYSTEM CARDS) .............................................................................. 3
3.2
CLASS DESCRIPTION (CRC CARDS) <CLASS 1 NAME> ...................................................................... 3
3.2.1
Contract <contract 1 name> ................................................................................................... 3
3.2.2
Contract <contract 2 name> ................................................................................................... 3
3.3
CLASS DESCRIPTION <CLASS 2 NAME> ............................................................................................ 3
3.3.1
Contract <contract 1 name> ................................................................................................... 3
APPENDIX .................................................................................................................................................... 4
Software Design Document
<Enter team name here>
Date
Page
2/9/2016 5:43 PM
iii
Software Design Document
Introduction
1.1 Purpose and Intended Audience
<< State the purpose, intentions, and primary intended audience of the SDD. >>
1.2 Scope of Product
<< Identify the software products to be produced, what they will do, and describe the uses for the software,
including benefits, objectives and goals. This paragraph shall briefly state the purpose of the system and the
software to which this document applies. It can describe the general nature of the system and software and
summarize the history of the system development. If the system is part of a larger system, describe the larger
system and explain how this part fits into the larger system.
Include the following:
a)
Identify the system or specific subsystem to be produced by name.
b) Refer to and state the result of the earlier finalized needs analysis, in the form of a brief but formal
expression of the customer’s problem(s). Explain what the system will and will not do to satisfy those
needs.
c)
Describe the application of the system being specified. As a portion of this, it should describe all
relevant top-level benefits, objectives, and goals as precisely as possible. >>
1.3 References
<< Give a list of documents that are referenced within the text of this document. >>
1.4 Definitions, Acronyms, and Abbreviations
1.1.1 Definitions
<< Provide a list of terms and definitions that may be required, or be helpful to the intended audience. >>
1.4.1 Acronyms and Abbreviations
<< Provide a list of used acronyms and abbreviations and their associated definitions. >>
1.5 Overview
<< Briefly describe the outline and each section of the SDD. >>
Software Design Document
<Enter team name here>
Date
2/9/2016 5:43 PM
Page
1
Software Design Document
2 Decomposition Description
<< Provide a description of how your component descriptions can be used by designers and maintainers identify
major design entities, for purposes such as determining which entity is responsible for specific functions and
tracing requirements to design entities. >>
2.1 System Collaboration Diagram
<< Show the major subsystems in this system and indicate collaborations between subsystems. >>
<< Provide a description of the way the system has been structured and the major divisions between the design
entities. Subsystems and classes are referred as design entities >>
2.2 Subsystem Descriptions
<< Provide a description of subsystems in the diagrams in section 2.1. For each subsystem to be described in
this document, give the name, describe the purpose, and list the contracts supported by this component (e.g., the
subsystem contracts). Indicate where in the following detailed sections of this document each component is
discussed. >>
Software Design Document
<Enter team name here>
Date
2/9/2016 5:43 PM
Page
2
Software Design Document
3 Detailed Description of Subsystem <name>
<< For each subsystem listed in section 2.2, add a section with a detailed design description of the component.
>>
3.1 Subsystem Description (subsystem cards)
<< The description will contain: The subsystem name, the purpose of the subsystem, and a list of classes
contained in the component (subsystem cards). If there are several classes, it may be useful to include a detailed
component diagram or a UML class diagram. >>
3.2 Class Description (CRC cards) <class 1 name>
<< For each class in this component, create a new Heading 2 subsection. In each subsection, describe the
internal details of each design entity. Each class should have a class name, a description, super classes, and
private responsibilities (CRC cards). >>
3.2.1 Contract <contract 1 name>
<< For each contract supported by this class, create a new Heading 3 subsection. Give the detailed contract
descriptions here. A contract description must have a contract identifier (used in the diagrams and in cross
references), a contract name, a description, and a set of protocols. A protocol includes a list of responsibilities,
method signatures to support those responsibilities, pre- and post-conditions, algorithm descriptions and
collaborations. A collaboration must specify the contract supported by the service provider. >>
3.2.2 Contract <contract 2 name>
3.3 Class Description <class 2 name>
3.3.1 Contract <contract 1 name>
CRC card example:
Class name
Superclasses
Collaboration diagram reference
Class description
Contracts:
Contract name
Contract description
Protocols:
Responsibilities and collaborations
Description
Method signature
Pre- and post-conditions
Software Design Document
<Enter team name here>
Date
2/9/2016 5:43 PM
Page
3
Software Design Document
Appendix
<< Class diagram(s) and collaboration diagrams (high-level and subsystem collaboration graphs) >>
Software Design Document
<Enter team name here>
Date
2/9/2016 5:43 PM
Page
4
Download