A Software Design Specification Template.docx

上传人:b****1 文档编号:119150 上传时间:2023-04-28 格式:DOCX 页数:13 大小:21.79KB
下载 相关 举报
A Software Design Specification Template.docx_第1页
第1页 / 共13页
A Software Design Specification Template.docx_第2页
第2页 / 共13页
A Software Design Specification Template.docx_第3页
第3页 / 共13页
A Software Design Specification Template.docx_第4页
第4页 / 共13页
A Software Design Specification Template.docx_第5页
第5页 / 共13页
A Software Design Specification Template.docx_第6页
第6页 / 共13页
A Software Design Specification Template.docx_第7页
第7页 / 共13页
A Software Design Specification Template.docx_第8页
第8页 / 共13页
A Software Design Specification Template.docx_第9页
第9页 / 共13页
A Software Design Specification Template.docx_第10页
第10页 / 共13页
A Software Design Specification Template.docx_第11页
第11页 / 共13页
A Software Design Specification Template.docx_第12页
第12页 / 共13页
A Software Design Specification Template.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

A Software Design Specification Template.docx

《A Software Design Specification Template.docx》由会员分享,可在线阅读,更多相关《A Software Design Specification Template.docx(13页珍藏版)》请在冰点文库上搜索。

A Software Design Specification Template.docx

ASoftwareDesignSpecificationTemplate

ASoftwareDesignSpecificationTemplate

byBradAppleton

Copyright©1994-1997byBradfordD.Appleton

Permissionisherebygrantedtomakeanddistributeverbatimcopiesofthisdocument

providedthecopyrightnoticeandthispermissionnoticearepreservedonallcopies.

TableofContents

∙Introduction

∙DocumentOutline

∙DocumentDescription

oIntroduction

oSystemOverview

oDesignConsiderations

▪AssumptionsandDependencies

▪GeneralConstraints

▪GoalsandGuidelines

▪DevelopmentMethods

oArchitecturalStrategies

oSystemArchitecture

▪SubsystemArchitecture

oPoliciesandTactics

oDetailedSystemDesign

▪DetailedSubsystemDesign

oGlossary

oBibliography

Introduction

Thefollowingisanattempttoputtogetheracomplete,yetreasonablyflexibletemplateforthespecificationofsoftwaredesigns.Whereverpossible,Ihavetriedtoprovideguidelines(insteadofprescribingrequirements)forthecontentsofvarioussectionsandsubsectionsofthedocument.Somemayprefertorequiremoredetailedsubsectionsofaparticularsection,choosingoneormoreofthesubsectiontopicsfromthelistofguidelinesprovided.Inthissense,thisdocumentisreallyatemplateforatemplate.

Indevisingthistemplate,Ihavegleanedinformationfrommanysources,includingvarioustextsonSoftwareEngineering(Pressman,Sommerville,andVanVliet),Object-OrientedDevelopment(Booch,Rumbaugh,Berard,andWirfs-Brock),variousSEIreports,DoD-StdandMil-Stddocumentationrequirements(2167/2167A),andIEEEdocumentationstandards(particularlyIEEE-1016forsoftwaredesigns,andIEEE-830forsoftwarerequirements).Ihavemadeeveryeffortnottoassumeorimposeaparticularsoftwaredevelopmentmethodologyorparadigm,andtoplacemoreemphasisoncontentthanonformat.

Itismydesirethatacompletedsoftwaredesignspecificationmeetthefollowingcriteria:

∙Itshouldbeabletoadequatelyserveastrainingmaterialfornewprojectmembers,impartingtothemenoughinformationandunderstandingabouttheprojectimplementation,sothattheyareabletounderstandwhatisbeingsaidindesignmeetings,andwon'tfeelasiftheyaredrowningwhentheyarefirstaskedtocreateormodifysourcecode.

∙Itshouldserveas"objectiveevidence"thatthedesignersand/orimplementorsarefollowingthroughontheircommitmenttoimplementthefunctionalitydescribedintherequirementsspecification.

∙Itneedstobeasdetailedaspossible,whileatthesametimenotimposingtoomuchofaburdenonthedesignersand/orimplementorsthatitbecomesoverlydifficulttocreateormaintain.

Pleasenotethattherearenosectionsinthisdocumentfordescribingadministrativeorbusinessduties,orforproposingplansorschedulesfortestingordevelopment.Thesectionsinthisdocumentareconcernedsolelywiththedesignofthesoftware.Whilethereareplacesinthisdocumentwhereitisappropriatetodiscusstheeffectsofsuchplansonthesoftwaredesign,itisthisauthor'sopinionthatmostofthedetailsconcerningsuchplansbelonginoneormoreseparatedocuments.

DocumentOutline

Hereistheoutlineoftheproposedtemplateforsoftwaredesignspecifications.Pleasenotethatmanypartsofthedocumentmaybeextractedautomaticallyfromothersourcesand/ormaybecontainedinother,smallerdocuments.Whatfollowsisjustonesuggestedoutlineformattousewhenattemptingtopresentthearchitectureanddesignoftheentiresystemasonesingledocument.Thisbynomeansimpliesthatitliterallyisasingledocument(thatwouldnotbemypersonalpreference):

∙Introduction

∙SystemOverview

∙DesignConsiderations

oAssumptionsandDependencies

oGeneralConstraints

oGoalsandGuidelines

oDevelopmentMethods

∙ArchitecturalStrategies

ostrategy-1nameordescription

ostrategy-2nameordescription

o...

∙SystemArchitecture

ocomponent-1nameordescription

ocomponent-2nameordescription

o...

∙PoliciesandTactics

opolicy/tactic-1nameordescription

opolicy/tactic-2nameordescription

o...

∙DetailedSystemDesign

omodule-1nameordescription

omodule-2nameordescription

o...

∙Glossary

∙Bibliography

Theaboveoutlineisbynomeansexclusive.Aparticularnumberingschemeisnotnecessarilyrequiredandyouaremorethanwelcometoaddyourownsectionsorsubsectionswhereyoufeeltheyareappropriate.Inparticularyoumaywishtomovethebibliographyandglossarytothebeginningofthedocumentinsteadofplacingthemattheend.

Thesametemplateisintendedtobeusedforbothhigh-leveldesignandlow-leveldesign.Thedesigndocumentusedforhigh-leveldesignisa"livingdocument"inthatitgraduallyevolvestoincludelow-leveldesigndetails(althoughperhapsthe"DetailedDesign"sectionmaynotyetbeappropriateatthehigh-leveldesignphase).

Theorderingofthesectionsinthisdocumentattemptstocorrespondtotheorderinwhichissuesareaddressedandinwhichdecisionsaremadeduringtheactualdesignprocess.Ofcourseitisunderstoodthatsoftwaredesignsfrequently(andoftenfortunately)don'talwaysproceedinthisorder(orinanylinear,orevenpredictableorder).However,itisusefulforthepurposeofcomprehendingthedesignofthesystemtopresentthemasiftheydid.Frequently,oneofthebestwaystodocumentaproject'sdesignistokeepadetailedprojectjournal,log,ordiaryofissuesastheyaremulledoverandbandiedaboutandtorecordthedecisionsmade(andthereasonswhy)inthejournal.Unfortunately,thejournalformatisnotusuallyorganizedthewaymostpeoplewouldlikeitforaformalreview.Insuchcases,forthepurposeofreview,thejournalcanbecondensedand/orportionsofitextractedandreorganizedaccordingtothisoutline.However,ifthisisdonethenyouneedtochoosewhethertoupdateandmaintainthedesigndocumentinthejournalformat,ortheformalreviewformat.Itisnotadvisabletotryandmaintainthedesigndocumentinbothformats.(Ifyouhaveanautomatedmethodofconvertingthejournalintoaformaldocument,thenthisproblemissolved.)

DocumentDescription

Hereisthedescriptionofthecontents(bysectionandsubsection)oftheproposedtemplateforsoftwaredesignspecifications:

Introduction

Provideanoverviewoftheentiredocument:

∙Describethepurposeofthisdocument

∙Describethescopeofthisdocument

∙Describethisdocument'sintendedaudience

∙Identifythesystem/productusinganyapplicablenamesand/orversionnumbers.

∙Providereferencesforanyotherpertinentdocumentssuchas:

oRelatedand/orcompaniondocuments

oPrerequisitedocuments

oDocumentswhichprovidebackgroundand/orcontextforthisdocument

oDocumentsthatresultfromthisdocument(e.g.atestplanoradevelopmentplan)

∙Defineanyimportantterms,acronyms,orabbreviations

∙Summarize(orgiveanabstractfor)thecontentsofthisdocument.

Note:

Fortheremainingsectionsofthisdocument,itisconceivable(andperhapsevendesirable)thatoneormoreofthesectiontopicsarediscussedinaseparatedesigndocumentwithintheproject.Foreachsectionwheresuchadocumentexists,areferencetotheappropriatedesigndocumentisallthatisnecessary.Allsuchexternal(orfragmented)designdocumentsshouldprobablybeprovidedwiththisdocumentatanydesignreviews.

SystemOverview

Provideageneraldescriptionofthesoftwaresystemincludingitsfunctionalityandmattersrelatedtotheoverallsystemanditsdesign(perhapsincludingadiscussionofthebasicdesignapproachororganization).Feelfreetosplitthisdiscussionupintosubsections(andsubsubsections,etc...).

DesignConsiderations

Thissectiondescribesmanyoftheissueswhichneedtobeaddressedorresolvedbeforeattemptingtodeviseacompletedesignsolution.

AssumptionsandDependencies

Describeanyassumptionsordependenciesregardingthesoftwareanditsuse.Thesemayconcernsuchissuesas:

∙Relatedsoftwareorhardware

∙Operatingsystems

∙End-usercharacteristics

∙Possibleand/orprobablechangesinfunctionality

GeneralConstraints

Describeanygloballimitationsorconstraintsthathaveasignificantimpactonthedesignofthesystem'ssoftware(anddescribetheassociatedimpact).Suchconstraintsmaybeimposedbyanyofthefollowing(thelistisnotexhaustive):

∙Hardwareorsoftwareenvironment

∙End-userenvironment

∙Availabilityorvolatilityofresources

∙Standardscompliance

∙Interoperabilityrequirements

∙Interface/protocolrequirements

∙Datarepositoryanddistributionrequirements

∙Securityrequirements(orothersuchregulations)

∙Memoryandothercapacitylimitations

∙Performancerequirements

∙Networkcommunications

∙Verificationandvalidationrequirements(testing)

∙Othermeansofaddressingqualitygoals

∙Otherrequirementsdescribedintherequirementsspecification

GoalsandGuidelines

Describeanygoals,guidelines,principles,orprioritieswhichdominateorembodythedesignofthesystem'ssoftware.Suchgoalsmightbe:

∙TheKISSprinciple("Keepitsimplestupid!

")

∙Emphasisonspeedversusmemoryuse

∙working,looking,or"feeling"likeanexistingproduct

Foreachsuchgoalorguideline,unlessitisimplicitlyobvious,describethereasonforitsdesirability.Feelfreetostateanddescribeeachgoalinitsownsubsubsectionifyouwish.

DevelopmentMethods

Brieflydescribethemethodorapproachusedforthissoftwaredesign.Ifoneormoreformal/publishedmethodswereadoptedoradapted,thenincludeareferencetoamoredetaileddescr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2