您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Chapter 4 软件架构实践第三版PPT
Chapter4:UnderstandingQualityAttributes©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseChapterOutline•ArchitectureandRequirements•Functionality•QualityAttributeConsiderations•SpecifyingQualityAttributeRequirements•AchievingQualityAttributesthroughTactics•GuidingQualityDesignDecisions•Summary©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseArchitectureandRequirements•Systemrequirementscanbecategorizedas:–Functionalrequirements.Theserequirementsstatewhatthesystemmustdo,howitmustbehaveorreacttorun-timestimuli.–Qualityattributerequirements.Theserequirementsannotate(qualify)functionalrequirements.Qualificationmightbehowfastthefunctionmustbeperformed,howresilientitmustbetoerroneousinput,howeasythefunctionistolearn,etc.–Constraints.Aconstraintisadesigndecisionwithzerodegreesoffreedom.Thatis,it’sadesigndecisionthathasalreadybeenmadeforyou.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseFunctionality•Functionalityistheabilityofthesystemtodotheworkforwhichitwasintended.•Functionalityhasastrangerelationshiptoarchitecture:–functionalitydoesnotdeterminearchitecture;givenasetofrequiredfunctionality,thereisnoendtothearchitecturesyoucouldcreatetosatisfythatfunctionality–functionalityandqualityattributesareorthogonal©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseQualityAttributeConsiderations•IfafunctionalrequirementiswhentheuserpressesthegreenbuttontheOptionsdialogappears”:–aperformanceQAannotationmightdescribehowquicklythedialogwillappear;–anavailabilityQAannotationmightdescribehowoftenthisfunctionwillfail,andhowquicklyitwillberepaired;–ausabilityQAannotationmightdescribehoweasyitistolearnthisfunction.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseQualityAttributeConsiderations•Therearethreeproblemswithpreviousdiscussionsofqualityattributes:1.Thedefinitionsprovidedforanattributearenottestable.Itismeaninglesstosaythatasystemwillbe“modifiable”.2.Endlesstimeiswastedonarguingoverwhichqualityaconcernbelongsto.Isasystemfailureduetoadenialofserviceattackanaspectofavailability,performance,security,orusability?3.Eachattributecommunityhasdevelopeditsownvocabulary.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseQualityAttributeConsiderations•Asolutiontothefirsttwooftheseproblems(untestabledefinitionsandoverlappingconcerns)istousequalityattributescenariosasameansofcharacterizingqualityattributes.•Asolutiontothethirdproblemistoprovideadiscussionofeachattribute—concentratingonitsunderlyingconcerns—toillustratetheconceptsthatarefundamentaltothatattributecommunity.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseSpecifyingQualityAttributeRequirements•Weuseacommonformtospecifyallqualityattributerequirementsasscenarios.•Ourrepresentationofqualityattributescenarioshastheseparts:1.Stimulus2.Stimulussource3.Response4.Responsemeasure5.Environment6.Artifact©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseSpecifyingQualityAttributeRequirements1.Sourceofstimulus.Thisissomeentity(ahuman,acomputersystem,oranyotheractuator)thatgeneratedthestimulus.2.Stimulus.Thestimulusisaconditionthatrequiresaresponsewhenitarrivesatasystem.3.Environment.Thestimulusoccursundercertainconditions.Thesystemmaybeinanoverloadconditionorinnormaloperation,orsomeotherrelevantstate.Formanysystems,“normal”operationcanrefertooneofanumberofmodes.4.Artifact.Someartifactisstimulated.Thismaybeacollectionofsystems,thewholesystem,orsomepieceorpiecesofit.5.Response.Theresponseistheactivityundertakenastheresultofthearrivalofthestimulus.6.Responsemeasure.Whentheresponseoccurs,itshouldbemeasurableinsomefashionsothattherequirementcanbetested.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseSpecifyingQualityAttributeRequirements•Wedistinguishgeneralqualityattributescenarios(“generalscenarios”)—thosethataresystemindependentandcan,potentially,pertaintoanysystem—fromconcretequalityattributescenarios(concretescenarios)—thosethatarespecifictotheparticularsystemunderconsideration.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseSpecifyingQualityAttributeRequirements•Examplegeneralscenarioforavailability:©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseAchievingQualityAttributesThroughTactics•Thereareacollectionofprimitivedesigntechniquesthatanarchitectcanusetoachieveaqualityattributeresponse.•Wecallthesearchitecturaldesignprimitivestactics.•Tactics,likedesignpatterns,aretechniquesthatarchitectshavebeenusingforyears.Wedonotinventtactics,wesimplycapturewhatarchitectsdoinpractice.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseAchievingQualityAttributesThroughTactics•Whydowedothis?Therearethreereasons:1.Designpatternsarecomplex;theyareabundleofdesigndecisions.Butpatternsareoftendifficulttoapplyasis;arc
本文标题:Chapter 4 软件架构实践第三版PPT
链接地址:https://www.777doc.com/doc-3255424 .html