28 nov. 2006 The Microcontroller Abstraction Layer is the lowest software layer of the Basic Software. It contains internal drivers which are software.
AUTOSAR EXP LayeredSoftwareArchitecture
The software architecture of a program or computing system is the structure or structures of the system which comprise software elements
SADP UNIT I
Software Updates. Instruction Manual. Maintenance Cycles … Maintenance. Usage. Instance. Production: Product. Data. Serial
a schweichhart reference architectural model industrie . rami .
a particular business model that describes the design or architecture of the Freemium business models are also deployed by a large number of software ...
jig businessmodelsbusinessstrategy
5 juil. 2019 The 5G Architecture Working Group as part of the 5G PPP Initiative is ... centralized Software-Defined Radio Access Network (cSD-RAN).
G PPP G Architecture White Paper v . PublicConsultation
3 juil. 2015 Propriétaire (business owner) d'une application ou de données . ... revue de l'architecture technique pouvant conduire au.
guide d audit des si v
26 mars 2008 As we have seen in the Architecture Business Cycle business ... relationship between quality attributes and software architecture by ...
Software Architecture in Practice nd Edition Chapter
2011 MIT Center for Digital Business and Capgemini Consulting. Contents Figure 4: Digital transformation creates a virtuous cycle of knowledge sharing ...
Digital Transformation A Road Map for Billion Dollar Organizations
The most advanced usage of public cloud is where the business functionality is provided by the cloud provider (i.e. software-as-a-service). Public cloud might
oracle wp big data refarch
Displaying powerpoint presentation software reference model
nist cloud computing reference architecture ppt
218861
[TeamLiB]
Chapter4.UnderstandingQuality
Attributes
withFelixBachmannandMarkKlein Note:FelixBachmannandMarkKleinareseniormembersofthetechnicalstaffattheSoftware
EngineeringInstitute.
"Cheshire-Puss,"[Alice]began,rathertimidly..."Wouldyoutellme,please,which wayIoughttogofromhere?""Thatdependsagooddealonwhereyouwanttogo to,"saidtheCat."Oh,Idon'tmuchcarewhere - "saidAlice.Thenitdoesn'tmatter whichwayyougo,"saidtheCat." - solongasIgetsomewhere,"saidAlice."Oh, you'resuretodothat,"saidtheCat,"ifonlyyouwalklongenough." - LewisCarroll,Alice'sAdventuresinWonderland. AswehaveseenintheArchitectureBusinessCycle,businessconsiderationsdeterminequalities thatmustbeaccommodatedinasystem'sarchitecture.Thesequalitiesareoverandabovethat offunctionality,whichisthebasicstatementofthesystem'scapabilities,services,and behavior.Althoughfunctionalityandotherqualitiesarecloselyrelated,asyouwillsee, functionalityoftentakesnotonlythefrontseatinthedevelopmentschemebuttheonlyseat. Thisisshort-sighted,however.Systemsarefrequentlyredesignednotbecausetheyare functionallydeficient - thereplacementsareoftenfunctionallyidentical - butbecausetheyare difficulttomaintain,port,orscale,oraretooslow,orhavebeencompromisedbynetwork hackers.InChapter2,wesaidthatarchitecturewasthefirststageinsoftwarecreationin whichqualityrequirementscouldbeaddressed.Itisthemappingofasystem'sfunctionality ontosoftwarestructuresthatdeterminesthearchitecture'ssupportforqualities.InChapter5 wediscusshowthequalitiesaresupportedbyarchitecturaldesigndecisions,andinChapter7 wediscusshowthearchitectcanmanagethetradeoffsinherentinanydesign. Hereourfocusisonunderstandinghowtoexpressthequalitieswewantourarchitectureto providetothesystemorsystemswearebuildingfromit.Webeginthediscussionofthe relationshipbetweenqualityattributesandsoftwarearchitecturebylookingcloselyatquality attributes.Whatdoesitmeantosaythatasystemismodifiableorreliableorsecure?This chaptercharacterizessuchattributesanddiscusseshowthischaracterizationcanbeusedto expressthequalityrequirementsforasystem. [TeamLiB] [TeamLiB]
4.1FunctionalityandArchitecture
Functionalityandqualityattributesareorthogonal.Thisstatementsoundsratherboldatfirst, butwhenyouthinkaboutityourealizethatitcannotbeotherwise.Iffunctionalityandquality attributeswerenotorthogonal,thechoiceoffunctionwoulddictatethelevelofsecurityor performanceoravailabilityorusability.Clearlythough,itispossibletoindependentlychoosea desiredlevelofeach.Now,thisisnottosaythatanylevelofanyqualityattributeisachievable withanyfunction.Manipulatingcomplexgraphicalimagesorsortinganenormousdatabase mightbeinherentlycomplex,makinglightning-fastperformanceimpossible.Butwhatis possibleisthat,foranyofthesefunctionsyourchoicesasanarchitectwilldeterminethe relativelevelofquality.Somearchitecturalchoiceswillleadtohigherperformance;somewill leadintheotherdirection.Giventhisunderstanding,thepurposeofthischapteris,aswitha
Página1de24
26/03/2008file://C:\DocumentsandSettings\Natalia\Configuraciónlocal\Temp\~hh1BC4.htm
goodarchitecture,toseparateconcerns.Wewillexamineeachimportantqualityattributein turnandlearnhowtothinkaboutitinadisciplinedway. Whatisfunctionality?Itistheabilityofthesystemtodotheworkforwhichitwasintended.A taskrequiresthatmanyormostofthesystem'selementsworkinacoordinatedmannerto completethejob,justasframers,electricians,plumbers,drywallhangers,painters,andfinish carpentersallcometogethertocooperativelybuildahouse.Therefore,iftheelementshavenot beenassignedthecorrectresponsibilitiesorhavenotbeenendowedwiththecorrectfacilities forcoordinatingwithotherelements(sothat,forinstance,theyknowwhenitistimeforthem tobegintheirportionofthetask),thesystemwillbeunabletooffertherequiredfunctionality. Functionalitymaybeachievedthroughtheuseofanyofanumberofpossiblestructures.In fact,iffunctionalityweretheonlyrequirement,thesystemcouldexistasasinglemonolithic modulewithnointernalstructureatall.Instead,itisdecomposedintomodulestomakeit understandableandtosupportavarietyofotherpurposes.Inthisway,functionalityislargely independentofstructure.Softwarearchitectureconstrainsitsallocationtostructurewhenother qualityattributesareimportant.Forexample,systemsarefrequentlydividedsothatseveral peoplecancooperativelybuildthem(whichis,amongotherthings,atime-to-marketissue, thoughseldomstatedthisway).Theinterestoffunctionalityishowitinteractswith,and constrains,thoseotherqualities. [TeamLiB] [TeamLiB]
4.2ArchitectureandQualityAttributes
Achievingqualityattributesmustbeconsideredthroughoutdesign,implementation,and deployment.Noqualityattributeisentirelydependentondesign,norisitentirelydependenton implementationordeployment.Satisfactoryresultsareamatterofgettingthebigpicture (architecture)aswellasthedetails(implementation)correct.Forexample: lUsabilityinvolvesbotharchitecturalandnonarchitecturalaspects.Thenonarchitectural aspectsincludemakingtheuserinterfaceclearandeasytouse.Shouldyouprovidea radiobuttonoracheckbox?Whatscreenlayoutismostintuitive?Whattypefaceismost clear?Althoughthesedetailsmattertremendouslytotheenduserandinfluenceusability, theyarenotarchitecturalbecausetheybelongtothedetailsofdesign.Whetherasystem providestheuserwiththeabilitytocanceloperations,toundooperations,ortore-use datapreviouslyenteredisarchitectural,however.Theserequirementsinvolvethe cooperationofmultipleelements. lModifiabilityisdeterminedbyhowfunctionalityisdivided(architectural)andbycoding techniqueswithinamodule(nonarchitectural).Thus,asystemismodifiableifchanges involvethefewestpossiblenumberofdistinctelements.ThiswasthebasisoftheA-7E moduledecompositionstructureinChapter3.Inspiteofhavingtheidealarchitecture, however,itisalwayspossibletomakeasystemdifficulttomodifybywritingobscure code. lPerformanceinvolvesbotharchitecturalandnonarchitecturaldependencies.Itdepends partiallyonhowmuchcommunicationisnecessaryamongcomponents(architectural), partiallyonwhatfunctionalityhasbeenallocatedtoeachcomponent(architectural), partiallyonhowsharedresourcesareallocated(architectural),partiallyonthechoiceof algorithmstoimplementselectedfunctionality(nonarchitectural),andpartiallyonhow thesealgorithmsarecoded(nonarchitectural).
Themessageofthissectionistwofold:
1.Architectureiscriticaltotherealizationofmanyqualitiesofinterestinasystem,and
thesequalitiesshouldbedesignedinandcanbeevaluatedatthearchitecturallevel.
Página2de24
26/03/2008file://C:\DocumentsandSettings\Natalia\Configuraciónlocal\Temp\~hh1BC4.htm
2.Architecture,byitself,isunabletoachievequalities.Itprovidesthefoundationfor
achievingquality,butthisfoundationwillbetonoavailifattentionisnotpaidtothe details.
Withincomplexsystems,qualityattributescan
neverbeachievedinisolation.Theachievement ofanyonewillhaveaneffect,sometimespositiveandsometimesnegative,ontheachievement ofothers.Forexample,securityandreliabilityoftenexistinastateofmutualtension:Themost securesystemhasthefewestpointsoffailure - typicallyasecuritykernel.Themostreliable systemhasthemostpointsoffailure - typicallyasetofredundantprocessesorprocessors wherethefailureofanyonewillnotcausethesystemtofail.Anotherexampleofthetension betweenqualityattributesisthatalmosteveryqualityattributenegativelyaffectsperformance. Takeportability.Themaintechniqueforachievingportablesoftwareistoisolatesystem dependencies,whichintroducesoverheadintothesystem'sexecution,typicallyasprocessor procedureboundaries,andthishurtsperformance. Let'sbeginourtourofqualityattributes.Wewillexaminethefollowingthreeclasses:
1.Qualitiesofthesystem.Wewillfocusonavailability,modifiability,performance,security,
testability,andusability.
2.Businessqualities(suchastimetomarket)thatareaffectedbythearchitecture.
3.Qualities,suchasconceptualintegrity,thatareaboutthearchitectureitselfalthoughthey
indirectlyaffectotherqualities,suchasmodifiability. [TeamLiB] [TeamLiB]
4.3SystemQualityAttributes
Systemqualityattributeshavebeenofinteresttothesoftwarecommunityatleastsincethe
1970s.Thereareavarietyofpublishedtaxonomiesanddefinitions,andmanyofthemhave
theirownresearchandpractitionercommunities.Fromanarchitect'sperspective,thereare threeproblemswithpreviousdiscussionsofsystemqualityattributes: lThedefinitionsprovidedforanattributearenotoperational.Itismeaninglesstosaythat asystemwillbemodifiable.Everysystemismodifiablewithrespecttoonesetofchanges andnotmodifiablewithrespecttoanother.Theotherattributesaresimilar. lAfocusofdiscussionisoftenonwhichqualityaparticularaspectbelongsto.Isasystem failureanaspectofavailability,anaspectofsecurity,oranaspectofusability?Allthree attributecommunitieswouldclaimownershipofasystemfailure. lEachattributecommunityhasdevelopeditsownvocabulary.Theperformancecommunity has"events"arrivingatasystem,thesecuritycommunityhas"attacks"arrivingata system,theavailabilitycommunityhas"failures"ofasystem,andtheusability communityhas"userinput."Allofthesemayactuallyrefertothesameoccurrence,but aredescribedusingdifferentterms. Asolutiontothefirsttwooftheseproblems(nonoperationaldefinitionsandoverlapping attributeconcerns)istousequalityattributescenariosasameansofcharacterizingquality attributes.Asolutiontothethirdproblemistoprovideabriefdiscussionofeachattribute - concentratingonitsunderlyingconcerns - toillustratetheconceptsthatarefundamentalto thatattributecommunity.
QUALITYATTRIBUTESCENARIOS
Página3de24
26/03/2008file://C:\DocumentsandSettings\Natalia\Configuraciónlocal\Temp\~hh1BC4.htm
Aqualityattributescenarioisaquality-attribute-specificrequirement.Itconsistsofsixparts. lSourceofstimulus.Thisissomeentity(ahuman,acomputersystem,oranyother actuator)thatgeneratedthestimulus. lStimulus.Thestimulusisaconditionthatneedstobeconsideredwhenitarrivesata system. lEnvironment.Thestimulusoccurswithincertainconditions.Thesystemmaybeinan overloadconditionormayberunningwhenthestimulusoccurs,orsomeothercondition maybetrue. lArtifact.Someartifactisstimulated.Thismaybethewholesystemorsomepiecesofit. lResponse.Theresponseistheactivityundertakenafterthearrivalofthestimulus. lResponsemeasure.Whentheresponseoccurs,itshouldbemeasurableinsomefashion
[TeamLiB]
Chapter4.UnderstandingQuality
Attributes
withFelixBachmannandMarkKlein Note:FelixBachmannandMarkKleinareseniormembersofthetechnicalstaffattheSoftware
EngineeringInstitute.
"Cheshire-Puss,"[Alice]began,rathertimidly..."Wouldyoutellme,please,which wayIoughttogofromhere?""Thatdependsagooddealonwhereyouwanttogo to,"saidtheCat."Oh,Idon'tmuchcarewhere - "saidAlice.Thenitdoesn'tmatter whichwayyougo,"saidtheCat." - solongasIgetsomewhere,"saidAlice."Oh, you'resuretodothat,"saidtheCat,"ifonlyyouwalklongenough." - LewisCarroll,Alice'sAdventuresinWonderland. AswehaveseenintheArchitectureBusinessCycle,businessconsiderationsdeterminequalities thatmustbeaccommodatedinasystem'sarchitecture.Thesequalitiesareoverandabovethat offunctionality,whichisthebasicstatementofthesystem'scapabilities,services,and behavior.Althoughfunctionalityandotherqualitiesarecloselyrelated,asyouwillsee, functionalityoftentakesnotonlythefrontseatinthedevelopmentschemebuttheonlyseat. Thisisshort-sighted,however.Systemsarefrequentlyredesignednotbecausetheyare functionallydeficient - thereplacementsareoftenfunctionallyidentical - butbecausetheyare difficulttomaintain,port,orscale,oraretooslow,orhavebeencompromisedbynetwork hackers.InChapter2,wesaidthatarchitecturewasthefirststageinsoftwarecreationin whichqualityrequirementscouldbeaddressed.Itisthemappingofasystem'sfunctionality ontosoftwarestructuresthatdeterminesthearchitecture'ssupportforqualities.InChapter5 wediscusshowthequalitiesaresupportedbyarchitecturaldesigndecisions,andinChapter7 wediscusshowthearchitectcanmanagethetradeoffsinherentinanydesign. Hereourfocusisonunderstandinghowtoexpressthequalitieswewantourarchitectureto providetothesystemorsystemswearebuildingfromit.Webeginthediscussionofthe relationshipbetweenqualityattributesandsoftwarearchitecturebylookingcloselyatquality attributes.Whatdoesitmeantosaythatasystemismodifiableorreliableorsecure?This chaptercharacterizessuchattributesanddiscusseshowthischaracterizationcanbeusedto expressthequalityrequirementsforasystem. [TeamLiB] [TeamLiB]
4.1FunctionalityandArchitecture
Functionalityandqualityattributesareorthogonal.Thisstatementsoundsratherboldatfirst, butwhenyouthinkaboutityourealizethatitcannotbeotherwise.Iffunctionalityandquality attributeswerenotorthogonal,thechoiceoffunctionwoulddictatethelevelofsecurityor performanceoravailabilityorusability.Clearlythough,itispossibletoindependentlychoosea desiredlevelofeach.Now,thisisnottosaythatanylevelofanyqualityattributeisachievable withanyfunction.Manipulatingcomplexgraphicalimagesorsortinganenormousdatabase mightbeinherentlycomplex,makinglightning-fastperformanceimpossible.Butwhatis possibleisthat,foranyofthesefunctionsyourchoicesasanarchitectwilldeterminethe relativelevelofquality.Somearchitecturalchoiceswillleadtohigherperformance;somewill leadintheotherdirection.Giventhisunderstanding,thepurposeofthischapteris,aswitha
Página1de24
26/03/2008file://C:\DocumentsandSettings\Natalia\Configuraciónlocal\Temp\~hh1BC4.htm
goodarchitecture,toseparateconcerns.Wewillexamineeachimportantqualityattributein turnandlearnhowtothinkaboutitinadisciplinedway. Whatisfunctionality?Itistheabilityofthesystemtodotheworkforwhichitwasintended.A taskrequiresthatmanyormostofthesystem'selementsworkinacoordinatedmannerto completethejob,justasframers,electricians,plumbers,drywallhangers,painters,andfinish carpentersallcometogethertocooperativelybuildahouse.Therefore,iftheelementshavenot beenassignedthecorrectresponsibilitiesorhavenotbeenendowedwiththecorrectfacilities forcoordinatingwithotherelements(sothat,forinstance,theyknowwhenitistimeforthem tobegintheirportionofthetask),thesystemwillbeunabletooffertherequiredfunctionality. Functionalitymaybeachievedthroughtheuseofanyofanumberofpossiblestructures.In fact,iffunctionalityweretheonlyrequirement,thesystemcouldexistasasinglemonolithic modulewithnointernalstructureatall.Instead,itisdecomposedintomodulestomakeit understandableandtosupportavarietyofotherpurposes.Inthisway,functionalityislargely independentofstructure.Softwarearchitectureconstrainsitsallocationtostructurewhenother qualityattributesareimportant.Forexample,systemsarefrequentlydividedsothatseveral peoplecancooperativelybuildthem(whichis,amongotherthings,atime-to-marketissue, thoughseldomstatedthisway).Theinterestoffunctionalityishowitinteractswith,and constrains,thoseotherqualities. [TeamLiB] [TeamLiB]
4.2ArchitectureandQualityAttributes
Achievingqualityattributesmustbeconsideredthroughoutdesign,implementation,and deployment.Noqualityattributeisentirelydependentondesign,norisitentirelydependenton implementationordeployment.Satisfactoryresultsareamatterofgettingthebigpicture (architecture)aswellasthedetails(implementation)correct.Forexample: lUsabilityinvolvesbotharchitecturalandnonarchitecturalaspects.Thenonarchitectural aspectsincludemakingtheuserinterfaceclearandeasytouse.Shouldyouprovidea radiobuttonoracheckbox?Whatscreenlayoutismostintuitive?Whattypefaceismost clear?Althoughthesedetailsmattertremendouslytotheenduserandinfluenceusability, theyarenotarchitecturalbecausetheybelongtothedetailsofdesign.Whetherasystem providestheuserwiththeabilitytocanceloperations,toundooperations,ortore-use datapreviouslyenteredisarchitectural,however.Theserequirementsinvolvethe cooperationofmultipleelements. lModifiabilityisdeterminedbyhowfunctionalityisdivided(architectural)andbycoding techniqueswithinamodule(nonarchitectural).Thus,asystemismodifiableifchanges involvethefewestpossiblenumberofdistinctelements.ThiswasthebasisoftheA-7E moduledecompositionstructureinChapter3.Inspiteofhavingtheidealarchitecture, however,itisalwayspossibletomakeasystemdifficulttomodifybywritingobscure code. lPerformanceinvolvesbotharchitecturalandnonarchitecturaldependencies.Itdepends partiallyonhowmuchcommunicationisnecessaryamongcomponents(architectural), partiallyonwhatfunctionalityhasbeenallocatedtoeachcomponent(architectural), partiallyonhowsharedresourcesareallocated(architectural),partiallyonthechoiceof algorithmstoimplementselectedfunctionality(nonarchitectural),andpartiallyonhow thesealgorithmsarecoded(nonarchitectural).
Themessageofthissectionistwofold:
1.Architectureiscriticaltotherealizationofmanyqualitiesofinterestinasystem,and
thesequalitiesshouldbedesignedinandcanbeevaluatedatthearchitecturallevel.
Página2de24
26/03/2008file://C:\DocumentsandSettings\Natalia\Configuraciónlocal\Temp\~hh1BC4.htm
2.Architecture,byitself,isunabletoachievequalities.Itprovidesthefoundationfor
achievingquality,butthisfoundationwillbetonoavailifattentionisnotpaidtothe details.
Withincomplexsystems,qualityattributescan
neverbeachievedinisolation.Theachievement ofanyonewillhaveaneffect,sometimespositiveandsometimesnegative,ontheachievement ofothers.Forexample,securityandreliabilityoftenexistinastateofmutualtension:Themost securesystemhasthefewestpointsoffailure - typicallyasecuritykernel.Themostreliable systemhasthemostpointsoffailure - typicallyasetofredundantprocessesorprocessors wherethefailureofanyonewillnotcausethesystemtofail.Anotherexampleofthetension betweenqualityattributesisthatalmosteveryqualityattributenegativelyaffectsperformance. Takeportability.Themaintechniqueforachievingportablesoftwareistoisolatesystem dependencies,whichintroducesoverheadintothesystem'sexecution,typicallyasprocessor procedureboundaries,andthishurtsperformance. Let'sbeginourtourofqualityattributes.Wewillexaminethefollowingthreeclasses:
1.Qualitiesofthesystem.Wewillfocusonavailability,modifiability,performance,security,
testability,andusability.
2.Businessqualities(suchastimetomarket)thatareaffectedbythearchitecture.
3.Qualities,suchasconceptualintegrity,thatareaboutthearchitectureitselfalthoughthey
indirectlyaffectotherqualities,suchasmodifiability. [TeamLiB] [TeamLiB]
4.3SystemQualityAttributes
Systemqualityattributeshavebeenofinteresttothesoftwarecommunityatleastsincethe
1970s.Thereareavarietyofpublishedtaxonomiesanddefinitions,andmanyofthemhave
theirownresearchandpractitionercommunities.Fromanarchitect'sperspective,thereare threeproblemswithpreviousdiscussionsofsystemqualityattributes: lThedefinitionsprovidedforanattributearenotoperational.Itismeaninglesstosaythat asystemwillbemodifiable.Everysystemismodifiablewithrespecttoonesetofchanges andnotmodifiablewithrespecttoanother.Theotherattributesaresimilar. lAfocusofdiscussionisoftenonwhichqualityaparticularaspectbelongsto.Isasystem failureanaspectofavailability,anaspectofsecurity,oranaspectofusability?Allthree attributecommunitieswouldclaimownershipofasystemfailure. lEachattributecommunityhasdevelopeditsownvocabulary.Theperformancecommunity has"events"arrivingatasystem,thesecuritycommunityhas"attacks"arrivingata system,theavailabilitycommunityhas"failures"ofasystem,andtheusability communityhas"userinput."Allofthesemayactuallyrefertothesameoccurrence,but aredescribedusingdifferentterms. Asolutiontothefirsttwooftheseproblems(nonoperationaldefinitionsandoverlapping attributeconcerns)istousequalityattributescenariosasameansofcharacterizingquality attributes.Asolutiontothethirdproblemistoprovideabriefdiscussionofeachattribute - concentratingonitsunderlyingconcerns - toillustratetheconceptsthatarefundamentalto thatattributecommunity.
QUALITYATTRIBUTESCENARIOS
Página3de24
26/03/2008file://C:\DocumentsandSettings\Natalia\Configuraciónlocal\Temp\~hh1BC4.htm
Aqualityattributescenarioisaquality-attribute-specificrequirement.Itconsistsofsixparts. lSourceofstimulus.Thisissomeentity(ahuman,acomputersystem,oranyother actuator)thatgeneratedthestimulus. lStimulus.Thestimulusisaconditionthatneedstobeconsideredwhenitarrivesata system. lEnvironment.Thestimulusoccurswithincertainconditions.Thesystemmaybeinan overloadconditionormayberunningwhenthestimulusoccurs,orsomeothercondition maybetrue. lArtifact.Someartifactisstimulated.Thismaybethewholesystemorsomepiecesofit. lResponse.Theresponseistheactivityundertakenafterthearrivalofthestimulus. lResponsemeasure.Whentheresponseoccurs,itshouldbemeasurableinsomefashion