SDD Template

advertisement
Software Design Description
Version <number>
<date>
<Project Title>
<Authors>
Submitted in partial fulfillment
Of the requirements of
<class number and name>
Table of Contents
Table of Contents ................................................................................................................................. i
List of Figures ....................................................................................................................................... ii
1.0. Introduction................................................................................................................................... 1
1.1. Purpose ................................................................................................................................................ 1
1.2. Scope ................................................................................................................................................... 1
1.3. Glossary ............................................................................................................................................... 1
1.4. References ........................................................................................................................................... 1
1.5. Overview of Document ....................................................................................................................... 2
2.0. Deployment Diagram .............................................................................................................. 3
3.0. Architectural Design................................................................................................................ 4
3.1
First major design entity ................................................................................................................. 4
3.1.1
First sub-entity of first major design entity (if any) ................................................................ 4
3.2
Second major design entity ............................................................................................................. 4
4.0. Data Structure Design ............................................................................................................. 5
4.1.
Table Name 1 ................................................................................................................................. 5
5.0. User Interface Design ............................................................................................................. 6
6.0. Real-Time Design ..................................................................................................................... 7
7.0. Help System Design ................................................................................................................ 8
8.0. Use Case Realizations ............................................................................................................ 9
Index ..........................................................................................................................................................10
i
List of Figures
< generate here >
ii
1.0. Introduction
1.1. Purpose
< Clearly state the purpose of this document and its intended audience. Note that
this subsection does not describe the project. >
1.2. Scope
< Overview the dominant design paradigm and the architecture of the product
briefly. Describe the external systems with which this system must interface. >
1.3. Glossary
< Define the terms, acronyms and abbreviations used in this document. Do not
assume the experience or expertise of the reader. In particular, developers do not
necessarily understand the problem domain. Use a table and alphabetize. >
Term
Definition
1.4. References
< List here any references to other documents cited anywhere in this document
including references to related project documents, in particular to the Software
Requirements Specification. Add references here when other project documents are
created. Give complete identifications, as this is usually the only Bibliography in the
document. >
SDD
1
date
1.5. Overview of Document
< Describe the contents and organization of the rest of this document. Since there
is already a Table of Contents, this overview will be less formal but more informative.
Direct the reader to the sections that are of interest to him or her. >
SDD
2
date
2.0. Deployment Diagram
< The deployment diagram gives the physical layout of the system. At one time, a system
was often contained on one processor but with the ubiquity of distributed processing, this
is often not the case today. While the decision of where to put the design entities of a
system may be deferred until late in the design process, it must be documented early in
this document. Each smaller design entity must be on a single node of the system, not
split over two nodes. When a larger entity spans two nodes, it must be internally designed
as two cooperating entities, one on each node.
This chapter is organized as a diagram with an accompanying explanation. Each node and
connection is labeled in the diagram. The explanation gives the purpose of each node and
connection. See the accompanying document on Design Diagrams for sample diagrams.
>
SDD
3
date
3.0. Architectural Design
< In this space goes the top-level architectural diagram giving the main design
entities and their relationships. Add an explanation of this diagram. See the
accompanying document on Design Diagrams for examples. Each entity here will be
expanded in a subsection of this chapter. Replace the meaningless names below by the
actual entity names. >
3.1
First major design entity
< List the interface first in the format shown in the Design Entity Format
document. Note that the principle data structure of the system should be described in the
following chapter.
If the entity has a partitioning into sub-entities, add a design diagram (similar to
the architectural diagram) for its internal structure and then detail each of its parts in
subsections. This chapter must be detailed enough for an implementer to generate the
needed code without needing additional information. >
3.1.1 First sub-entity of first major design entity (if any)
3.2
Second major design entity
< Similarly expand each of the other design entities contained in the architectural
diagram. >
SDD
4
date
4.0. Data Structure Design
< The principle data structure is a lower level design entity and is a continuation
of the previous chapter. We recommend that it be separated into this chapter so that it can
be found easily as its construction will be a major part of the implementation.
If this data structure is a database, each table should be presented in tabular form
as outlined below. Replace the “Table Name 1” by the actual table name. (Use the word
“Table” in the heading, such as “Author Table” or “Table: Author”.) >
4.1.
Field
SDD
Table Name 1
Type
Description
5
date
5.0. User Interface Design
< Supplement the information contained in the SRS. Since prototyping is a
common paradigm in software development, the user interface may have been blocked
out very early and used to enhance the explanation of the functionality of the system.
Refer to what you have said in the SRS, if you need to. The SDD must complete the user
interface design process. What is recorded here will be the actual interface that the user
will see. Screen shots are very appropriate for this section.
Included in the User Interface Design is a complete disruption of all instructions
that will appear to the user including the text of error messages and tips for recovery. >
SDD
6
date
6.0. Real-Time Design
< If there are significant real-time considerations between the various design
entities in your system, they must be documented. There are appropriate diagrammatic
methods to do this and one should be adopted and used.
If there are no significant real-time considerations, leave this section in and put
the statement “No significant real-time considerations are needed.” Performance is not
normally a real-time consideration. Real-time considerations include timing constraints
that can prevent the proper working of the system if ignored. >
SDD
7
date
7.0. Help System Design
< If your system has an on-line Help System, describe it here so that it will be
built correctly. Possibilities include no help system, a help system that gives access to an
on-line users’ manual, a help system that has an index and/or a keyword search, or a
context-sensitive help system. Do not promise more than the system will need. A good
explanation facility that accompanies the user interface, including clear error messages
and recovery tips, may remove the need for a help system. >
SDD
8
date
8.0. Use Case Realizations
< In this section, list each of the use cases from section 3.2 of the SRS and show
how it can be accomplished using the design detailed here. Use either collaboration or
sequence diagrams to do this. Organize this chapter in sections following the subsection
breakdown of SRS 3.2. Each realization here must be explicitly cross-referenced to the
use case in SRS 3.2. Reopen the SRS and add explicit forward references from each use
case in SRS 3.2 to the appropriate use case in this chapter. >
SDD
9
date
Index
< generate here >
SDD
10
date
Download