Chapter3软件架构实践第三版

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Chapter3:TheManyContextsofSoftwareArchitecture©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseChapterOutline•ArchitectureinaTechnicalContext•ArchitectureinaProjectLife-CycleContext•ArchitectureinaBusinessContext•ArchitectureinaProfessionalContext•Stakeholders•HowIsArchitectureInfluenced?•WhatDoArchitecturesInfluence?•Summary©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseContextsofSoftwareArchitecture•Sometimesweconsidersoftwarearchitecturethecenteroftheuniverse!•Here,though,weputitinitsplacerelativetofourcontexts:–Technical.Whattechnicalroledoesthesoftwarearchitectureplayinthesystemorsystemsofwhichit’sapart?–Projectlifecycle.Howdoesasoftwarearchitecturerelatetotheotherphasesofasoftwaredevelopmentlifecycle?–Business.Howdoesthepresenceofasoftwarearchitectureaffectanorganization’sbusinessenvironment?–Professional.Whatistheroleofasoftwarearchitectinanorganizationoradevelopmentproject?©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseTechnicalContext•Themostimportanttechnicalcontextfactoristhesetofqualityattributesthatthearchitecturecanhelptoachieve.•Thearchitecture’scurrenttechnicalenvironmentisalsoanimportantfactor.–Standardindustrypractices–Softwareengineeringtechniquesprevalentinthearchitect’sprofessionalcommunity.•Today’sinformationsystemsareweb-based,object-oriented,service-oriented,mobility-aware,cloud-based,social-networking-friendly.–Itwasn’talwaysso.–Itwon’tbesotenyearsfromnow.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseProjectLife-cycleContext•Softwaredevelopmentprocessesarestandardapproachesfordevelopingsoftwaresystems.•Theyimposeadisciplineonsoftwareengineersand,moreimportant,teamsofsoftwareengineers.•Theytellthemembersoftheteamwhattodonext.•Therearefourdominantsoftwaredevelopmentprocesses:–Waterfall–Iterative–Agile–Model-drivendevelopment©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseArchitectureActivities•Alloftheseprocessesincludedesignamongtheirobligations.•Architectureisaspecialkindofdesign,soarchitecturefindsahomeineachone.•Nomatterthesoftwaredevelopmentprocess,thereareactivitiesinvolvedincreatingasoftwarearchitecture,usingthatarchitecturetorealizeacompletedesign,andthenimplementingormanagingtheevolutionofatargetsystemorapplication:–1.Makingabusinesscaseforthesystem–2.Understandingthearchitecturallysignificantrequirements–3.Creatingorselectingthearchitecture–4.Documentingandcommunicatingthearchitecture–5.Analyzingorevaluatingthearchitecture–6.Implementingandtestingthesystembasedonthearchitecture–7.Ensuringthattheimplementationconformstothearchitecture©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseBusinessContext•Architecturesandsystemsarenotconstructedfrivolously.•Theyservesomebusinesspurposes.•Thesepurposesmaychangeovertime.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseArchitectureandBusinessGoals•Systemsarecreatedtosatisfythebusinessgoalsofoneormoreorganizations.–Developmentorganizationswanttomakeaprofit,orcapturemarket,orstayinbusiness,orhelptheircustomersdotheirjobsbetter,orkeeptheirstaffgainfullyemployed,ormaketheirstockholdershappy,oralittlebitofeach.–Customershavetheirowngoalsforacquiringasystem,usuallyinvolvingsomeaspectofmakingtheirliveseasierormoreproductive.Otherorganizationsinvolvedinaproject’slifecycle,suchassubcontractorsorgovernmentregulatoryagencies,havetheirowngoalsdealingwiththesystem.•Architectsneedtounderstandwhothevestedorganizationsareandwhattheirgoalsare.Manyofthesegoalswillhaveaprofoundinfluenceonthearchitecture.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseArchitectureandBusinessGoals•Everyqualityattribute—suchasauser-visibleresponsetimeorplatformflexibilityorironcladsecurityoranyofadozenotherneeds—shouldoriginatefromsomehigherpurposethatcanbedescribedintermsofaddedvalue.–“Whydoyouwantthissystemtohaveareallyfastresponsetime?”–Thisdifferentiatetheproductfromitscompetitionandletthedevelopingorganizationcapturemarketshare.•Somebusinessgoalswillnotshowupintheformofrequirements.•Stillotherbusinessgoalshavenoeffectonthearchitecturewhatsoever.–Abusinessgoaltolowercostsmightberealizedbyaskingemployeestoworkfromhome,orturntheofficethermostatsdowninthewinter,orusinglesspaperintheprinters.©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseArchitectureandbusinessgoals©LenBass,PaulClements,RickKazman,distributedunderCreativeCommonsAttributionLicenseProfessionalContext•Youwillperformmanydutiesbeyonddirectlyproducinganarchitecture.–Youwillneedtobeinvolvedinsupportingmanagementanddealingwithcustomers.•Architectsneedmorethanjusttechnicalskills.–Architectsneedtoexplaintoonestakeholderoranotherthechosenprioritiesofdifferentproperties,andwhyparticularstakeholdersarenothavingalloftheirexpectationsfulfilled.–Architectsneeddiplomatic,negotiation,andcommunicationskills.–Architectsneedth

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功