Está en la página 1de 4

SDDTemplateECX4267SoftwareEngineeringConcepts 2010

SystemDesignDocumentTemplate
Thistemplateforthissystemdesigndocument(SDD)isadoptedfromtheIEEESoftware EngineeringStandardsCollection,IEEEPressandotherSDDtemplates. TitlePage Nameofdocument(refertoproduct,e.g.,SystemDesignDocumentforthe) Date Name RegistrationNumber TableofContents Givepagenumbersforeachsection IntroductionProvideanoverviewoftheSDDandadescriptionofthescopeofthesoftware. 1.1 PurposedefinethepurposeofthisSDDandspecifyintendedreadership. 1.2 Scope identify the software products to be produced by name; explain what is the proposed software will do (and not do, if necessary); describe the relevant benefits, objectivesandgoalsaspreciselyaspossible;andbeconsistentwithrelatedhigherlevel specifications. 1.3 Referencesprovideacompletelistofalltheapplicableandreferenceddocuments. Minimally, a reference to the SRS goes here. If you used any other types of documents to arrive at this design (the Somerville text, documents provided by the client),listthemhere. 1.4 Overview describe what the rest of the SDD contains and explain how the SDD is organized. 1.5 ConstraintsBrieflydescribeanyrestrictions,limitationsorconstraintsthatimpactthe designorimplementation SystemOverviewBrieflyintroducethesystemcontextanddesign,anddiscussthebackground totheproject. PutUseCasediagramfromSRSheretosupplementthetext.

1|Page

SDDTemplateECX4267SoftwareEngineeringConcepts 2010
SystemArchitecture 3.1 ArchitecturalDescriptionAblockdiagramshowingmajorsubsystemsandthe interconnectionsamongthem.(UMLDeploymentDiagram) 3.2 ComponentDecompositionDescriptionAdecompositionofthesubsystemsthat summarizesthesoftwarecomponents.(UMLPackageDiagram) OODPutobjectdiagrams,sequencediagrams,hierarchydiagramandaggregationchart here(UMLClassDiagram).EachusergoalusecaseintheSRSshouldhavea correspondingsequencediagramormore.Includeobjectstatediagrams(UMLState Diagram)asappropriate. 3.3 ArchitecturalAlternativesDiscussotherarchitecturesthatwereconsidered. 3.4 DesignRationaleDiscusstherationaleforselectingthearchitecturedescribedin3.1,including thecriticalissuesandtrade/offsthatwereconsidered. 4 HumanInterfaceDesign(Screens) 4.1 OverviewoftheUserInterfaceDescribethegeneralfunctionalityofthesystemfrom theusersperspective. 4.2 ScreenImagesScreenshotsshowingtheinterfacefromtheusersperspective. Thesecanbehanddrawnoryoucanuseanautomateddrawingtool.Justmakethemas accurateaspossible.(Graphpaperworkswell.) 4.3 ScreenObjectsandActionsAdiscussionofscreenobjectsandactionsassociatedwith thoseobjects. 4.4 ReportFormatsadescriptionofmajorreportsprovidedbythesystem. Thesecanbehanddrawnoryoucanuseanautomateddrawingtool.Justmakethemas accurateaspossible.(Graphpaperworkswell.) 5 ResourceEstimatesAsummaryofcomputerresourceestimatesrequiredforoperatingthe software. 6 Definitions,Acronyms,andAbbreviationsprovidedefinitionsofallterms,acronymsand abbreviationsneededfortheSDD. 3

2|Page

SDDTemplateECX4267SoftwareEngineeringConcepts 2010

NotesandExplanationsontheSDD

Thesystemarchitecturedescribesthestructureofthesolutiontotheproblemgiveninthe requirementsspecification.Thesolutionisdescribedintermsofthealgorithmsusedtosolve theproblem,notintermsofhowthosealgorithmsareimplemented(soyoustillcan'tmention C/C++/etc.).Ifthecustomerhasimplementationspecificrequirements,theyshouldbereflected inthesystemdesignconstraints(Section1.5). Acoupleofchecklistsasbelow

Architecture

Istheoverallprogramorganizationclear,includingagoodarchitecturaloverviewand justification? Aremoduleswelldefinedincludingtheirfunctionalityandinterfacestoothermodules? Areallthefunctionsthatarelistedintherequirementscoveredsensibly,neitherbytoomany nortoofewmodules? Areallmajordatastructuresdescribedandjustified? Aremajordatastructureshiddenwithaccessfunctions? Isthedatabaseorganizationandcontentspecified? Areallkeyalgorithmsdescribedandjustified? Areallmajorobjectsdescribedandjustified? Istheuserinterfacemodularizedsothatchangesinitwon'taffecttherestoftheprogram? Isastrategyforhandlinguserinputdescribed? Arekeyaspectsoftheuserinterfacedefined? Arememoryuseestimatesandastrategyformemorymanagementdescribedandjustified? IsastrategyforhandlingI/Odescribedandjustified? Isacoherenterrorhandlingstrategyincluded? Areerrormessagesmanagedasasettopresentacleanuserinterface? Isalevelofrobustnessspecified? Arenecessarybuyvs.builddecisionsincluded? Isthearchitecturedesignedtoaccommodatelikelychanges? Isanypartoverorunderarchitected? Arethemajorsystemgoalsclearlystated? Doesthecompletearchitecturehangtogetherconceptually? Isthetopleveldesignindependentofthemachineandlanguagethatwillbeusedtoimplement it? Aremotivationsgivenforallmajordecisions? Areyou,asaprogrammerwhowillimplementthesystem,comfortablewiththearchitecture?


3|Page

SDDTemplateECX4267SoftwareEngineeringConcepts 2010

HighLevelDesign

Haveyouusedroundtripdesign,selectingthebestofseveralattemptsratherthanthefirst attempt? Isthedesignofthecurrentsubprogramconsistentwiththedesignofrelatedsubprograms? Doesthedesignadequatelyaddressissuesthatwereidentifiedanddeferredatthearchitectural level? Areyousatisfiedwiththewaytheprogramhasbeendecomposedintomodulesorobjects? Areyousatisfiedwiththewaythatmoduleshavebeendecomposedintoroutines? Aresubprogramboundarieswelldefined? Aresubprogramsdesignedforminimalinteractionwitheachother? Doesthedesignmakesensebothfromthetopdownandthebottomup? Doesthedesigndifferentiatebetweentheproblemdomaincomponent,theuserinterface component,thetaskmanagementcomponentandthedatamanagementcomponent? Isthedesignintellectuallymanageable? Doesthedesignhavelowcomplexity? Doesthedesignkeepthedegreeofcomponentcouplingaslowaspossible? Doesthedesignkeepthedegreeofcomponentcohesionashighaspossible? Willtheprogrambeeasytomaintain? Doesthedesignholdconnectionsamongsubprogramstoaminimum? Doesthedesignaccountforfutureextensionstotheprogram? Aresubprogramsdesignedsothatyoucanusetheminothersystems? Willthedesignbeeasytoporttoanotherenvironment? Isthedesignlean?Areallofitspartsstrictlynecessary? Isthedesignstratifiedintolayers? Doesthedesignusestandardtechniquesandavoidexotic,hardtounderstandelements?

4|Page

También podría gustarte