SDD Template
SDD Template
SDD Template
http://www.cs.concordia.ca/~ormandj/comp354/2003/Project/ieeeSDD.pdf
(TeamName)
(ProjectTitle)
SoftwareDesignDocument
Name(s):
LabSection:
Workstation:
Date:(mm/dd/yyyy)
SoftwareDesignDocument
TABLEOFCONTENTS
1.
INTRODUCTION
1.1 Purpose
1.2 Scope
1.3 Overview
1.4 ReferenceMaterial
1.5 DefinitionsandAcronyms
2.
SYSTEM OVERVIEW
3.
SYSTEM ARCHITECTURE
3.1 ArchitecturalDesign
3.2 DecompositionDescription
3.3 DesignRationale
4.
DATADESIGN
4.1 DataDescription
4.2 DataDictionary
5.
COMPONENTDESIGN
6.
HUMANINTERFACEDESIGN
6.1 OverviewofUserInterface
6.2 ScreenImages
6.3 ScreenObjectsandActions
7.
REQUIREMENTS MATRIX
8.
APPENDICES
SoftwareDesignDocument
1.INTRODUCTION
1.1 Purpose
Identify the purpose of this SDD and its intended audience. (e.g. This software design
documentdescribesthearchitectureandsystemdesignofXX..).
1.2 Scope
Provideadescriptionandscopeofthesoftwareandexplainthegoals,objectivesandbenefits
ofyourproject.Thiswillprovidethebasisforthebriefdescriptionofyourproduct.
1.3 Overview
Provideanoverviewofthisdocumentanditsorganization.
1.4 ReferenceMaterial
Thissectionisoptional.
Listanydocuments,ifany,whichwereusedassourcesofinformationforthetestplan.
1.5 DefinitionsandAcronyms
Thissectionisoptional.
Provide definitions of all terms, acronyms, and abbreviations that might exist to properly
interprettheSDD.ThesedefinitionsshouldbeitemsusedintheSDDthataremostlikelynot
knowntotheaudience.
2. SYSTEMOVERVIEW
Giveageneraldescriptionofthefunctionality,contextanddesignofyourproject.Provideany
backgroundinformationifnecessary.
3.SYSTEMARCHITECTURE
3.1 ArchitecturalDesign
Developa modularprogramstructureandexplaintherelationships betweenthe modulesto
achieve the complete functionality of the system. This is a high level overview of how
2
SoftwareDesignDocument
responsibilitiesofthesystemwerepartitionedandthenassignedtosubsystems.Identifyeach
high level subsystem and the roles or responsibilities assigned to it. Describe how these
subsystemscollaboratewitheachotherinordertoachievethedesiredfunctionality.Dontgo
intotoomuchdetailabouttheindividualsubsystems.Themainpurposeistogainageneral
understanding of how and why the system was decomposed, and how the individual parts
worktogether.Provideadiagram showingthemajorsubsystemsanddatarepositoriesand
theirinterconnections.Describethediagramifrequired.
3.2 DecompositionDescription
Provideadecompositionofthesubsystemsinthearchitecturaldesign.Supplementwithtext
asneeded.Youmaychoosetogiveafunctionaldescriptionoranobjectorienteddescription.
For a functional description, put toplevel data flow diagram (DFD) and structural
decomposition diagrams. For an OO description, put subsystem model, object diagrams,
generalization hierarchy diagram(s) (if any), aggregation hierarchy diagram(s) (if any),
interfacespecifications,andsequencediagramshere.
3.3 DesignRationale
Discusstherationaleforselectingthearchitecturedescribedin3.1includingcritical issues
and trade/offs that were considered. You may discuss other architectures that were
considered,providedthatyouexplainwhyyoudidntchoosethem.
4.DATADESIGN
4.1 DataDescription
Explainhowtheinformationdomainofyoursystemistransformedintodatastructures.
Describehowthemajordataorsystementitiesarestored,processedandorganized.Listany
databasesordatastorageitems.
4.2 DataDictionary
Alphabeticallylistthesystementitiesormajordataalongwiththeirtypesanddescriptions.If
you provided a functional description in Section 3.2, list all the functions and function
parameters.IfyouprovidedanOOdescription,listtheobjectsanditsattributes,methodsand
methodparameters.
5.COMPONENTDESIGN
Inthissection,wetakeacloserlookatwhateachcomponentdoesinamoresystematicway.If
3
SoftwareDesignDocument
yougaveafunctionaldescriptioninsection3.2,provideasummaryofyouralgorithmforeach
function listed in 3.2 in procedural description language (PDL) or pseudocode.If you gave an
OOdescription,summarizeeachobjectmemberfunctionforalltheobjectslistedin3.2inPDL
orpseudocode.Describeanylocaldatawhennecessary.
6.HUMANINTERFACEDESIGN
6.1 OverviewofUserInterface
Describe the functionality of the system from the users perspective. Explain how the user
will be able to use your system to complete all the expected features and the feedback
informationthatwillbedisplayedfortheuser.
6.2 ScreenImages
Display screenshots showing the interface from the users perspective. These can be hand
drawnor youcanuseanautomateddrawingtool.Just makethemas accurateaspossible.
(Graphpaperworkswell.)
6.3 ScreenObjectsandActions
Adiscussionofscreenobjectsandactionsassociatedwiththoseobjects.
7.REQUIREMENTSM ATRIX
Provideacrossreferencethattracescomponentsanddatastructurestotherequirementsinyour
SRSdocument.
Use a tabular format to show which system components satisfy each of the functional
requirementsfromtheSRS.Refertothefunctionalrequirementsbythenumbers/codesthatyou
gavethemintheSRS.
8.APPENDICES
Thissectionisoptional.
4
SoftwareDesignDocument
Appendicesmaybeincluded,eitherdirectlyorbyreference,toprovidesupportingdetailsthatcould
aidintheunderstandingoftheSoftwareDesignDocument.