版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件體系結構
體系結構評審
ArchitecturalReviews孫志崗sun@4/24/20231?sun@軟件體系結構體系結構評審專家講座第1頁ArchitecturalReviewsArchitecturalreviewsareakeystepinarchitecture-baseddevelopment.Theyincludeamethod(suchasSAAMorATAM),butthefullpracticeincludesmorethanthat.
體系結構評審是開發(fā)過程中一個主要步驟。有專門評審方法(SAAM、ATAM),但在實踐中并不但僅是這些Wewilldiscusscost/benefitsofarchitecturalreviewsdifferentarchitecturalreviewtechniquespreconditionsforanarchitecturalreviewarchitecturalreviewactivitiesoutputsfromanarchitecturalreview4/24/20232?sun@軟件體系結構體系結構評審專家講座第2頁CostsofArchitecturalReviewsTherearethreedifferenttypesofcostsofholdingregulararchitecturalreviews.directstaffcosts
直接員工開銷organizationaloverhead
組織管理開銷indirectstaffcosts
間接員工開銷4/24/20233?sun@軟件體系結構體系結構評審專家講座第3頁ExamplesofDirectStaffCostsAT&T300full-scalereviewsdoneonprojectsof700staff-daysorlonger
全方面評審了300個項目,每個項目標開發(fā)時間都是700人日以上averagecostperreview:70staffdays
每次評審平均開銷:70人日RationalSoftware30reviewsdoneonprojectswithatleast500KSLOCeach
評審了30個項目,每個項目最少500KSLOCaveragecostperreview:$50,000
評審平均花費:$50,0004/24/20234?sun@軟件體系結構體系結構評審專家講座第4頁ExamplesofDirectStaffCostsSAAMevaluations12reviewsdoneonprojectsrangingfrom100KSLOCto1,000KSLOC
12次評審,項目規(guī)模從100KSLOC到1,000KSLOCaveragecostperreview:14to20staff-days
平均花費:14到20人日ATAMevaluations12reviewsdoneonprojectsrangingfrom250KSLOCto2,500KSLOC
12次評審,項目規(guī)模從250KSLOC到2,500KSLOCaveragecostperreview:40to70staffdays
平均花費:40到70人日4/24/20235?sun@軟件體系結構體系結構評審專家講座第5頁ExampleofOrganizationalOverheadCostsofestablishingacorporatereviewunit
建立評審組開銷managementoverheadcommunicationexpensesstaffingtheunit
給評審組配置人手relocatingpersonneltoacentrallocationtraining4/24/20236?sun@軟件體系結構體系結構評審專家講座第6頁ExampleofIndirectStaffCostsUsingseniordesignersforevaluationsinsteadofdesigning
讓高級設計人員參加評審而不是設計lossofproductivity(duetoreassignmentofsuperiordesigners)
生產力下降(高級設計師被委派新任務)timespenttrainingstaffinreviewtechniques
培訓員工評審技術時間消耗4/24/20237?sun@軟件體系結構體系結構評審專家講座第7頁BenefitsofArchitecturalReviewsFivedifferenttypesofbenefitsresultfromholdingarchitecturalreviews.financialforcespreparationforreview
為評審做準備也是一個推進力earlydetectionofproblems
盡早地發(fā)覺問題validationofrequirements
確認需求improvedarchitectures
提升體系結構質量4/24/20238?sun@軟件體系結構體系結構評審專家講座第8頁FinancialBenefitsofReviewsAT&Testimatedthateachreviewedprojectsaves10%oftotalcostasaresultofthereview.Thus,a70-staff-dayreviewofprojectsof700staff-dayspaysforitself.
AT&T估算,每個被評審項目節(jié)約10%成本Consultantswhoperformarchitectureevaluationsreport80%repeatbusiness.
參加評審顧問匯報了80%重復項目4/24/20239?sun@軟件體系結構體系結構評審專家講座第9頁ForcesPreparationforReviewDocumentation/specificationsmustbeprovided,hencetheymustexistorbecreated.
文檔和說明書必須存在Somereviewsusestandardquestions,andthearchitectcanprepareaheadtoensurethatthearchitecturescoreswell.
評審有一些標準問題。體系結構師能夠事先準備,確保這個體系結構可能得高分Reviewsmakethecriteriaforevaluationexplicitbyprioritizingrequirementsorqualitygoals.
經過排定需求和質量目標次序,評審使評定標準變得清楚4/24/202310?sun@軟件體系結構體系結構評審專家講座第10頁EarlyDetectionofProblemsTheproblemsthatcanbefoundbyanarchitecturallevelinspectioninclude
在體系結構層進行檢驗能夠發(fā)覺問題unreasonablerequirementsperformanceproblemsproblemsassociatedwithpotentialfuturemodifications
與未來修改相關問題Theearlierinthelifecyclethatproblemsarefound,theeasieritistofixthem.4/24/202311?sun@軟件體系結構體系結構評審專家講座第11頁ValidationofRequirementsReviewsputstakeholdersinthesameroomwitheachother,oftenforthefirsttime.
評審使各種角色坐在同一個房間內。通常,這是第一次uncoversconflictsandtradeoffs
解開沖突和尋找折中providesaforumfornegotiatedresolutionofproblems
提供了一個論壇,來磋商問題處理方法Itoftenresultsinthegenerationofnewrequirementsortheclarificationofexistingrequirements.
結果通常會是產生新需求和凈化已經有需求4/24/202312?sun@軟件體系結構體系結構評審專家講座第12頁ImprovedArchitecturesDevelopmentorganizationsanticipatetypesofquestionsraisedatreviewsand
開發(fā)者預期在評審時會被發(fā)覺問題,然后designarchitectureswithquestionsinmind
在設計時,問題會時刻圍繞腦海preparedocumentationofthetypeneededatreview
準備評審時需要文檔giveexplicitconsiderationtoqualitiestobereviewed
對將被評審質量原因進行更深入考慮4/24/202313?sun@軟件體系結構體系結構評審專家講座第13頁ReviewTechniquesThereareavarietyoftechniquesforperformingarchitecturalreviews;eachhasadifferentcostandprovidesdifferentinformation.
有很各種評審技術。每種需要不一樣開銷,提供不一樣信息Thesetechniquesfallintooneoftwocategories.questioningtechniques:appliedtoevaluateanyaspectofanarchitectureforanygivenreason
提問技術:用來評價體系結構任何方面measuringtechniques:appliedtoanswerquestionsaboutaspecificquality
度量技術:回答關于某項質量問題4/24/202314?sun@軟件體系結構體系結構評審專家講座第14頁QuestioningTechniquesScenario-basedtechniquesdescribesaspecificinteractionbetweenstakeholdersandasystem
描述角色與系統(tǒng)交互過程example:SAAM,ATAM(partially)Questionnaire-basedtechniques(基于問卷技術)Somequestionsapplytoallarchitectures(especiallythoseinasingledomain).
有些問題被用于全部體系結構,尤其是在單一領域內Somequestionsaskaboutdetailsofaspecificarchitecture.
有些問題問詢一個特定結構細節(jié)Someaskaboutthedevelopmentprocess.“Isthereasinglearchitect?”“Howdoyouensureconformance?”
“你們怎樣確保一致性?”4/24/202315?sun@軟件體系結構體系結構評審專家講座第15頁QuestioningTechniquesQuestionnairesarereused;theyreflectmorematurityorexperiencewithinadomain.
問卷能夠重用;它們表達了在一個領域內成熟度和經驗是否豐富Scenariosmustbedevelopedanewforeachsystem.
場景必須為每個系統(tǒng)重新開發(fā)4/24/202316?sun@軟件體系結構體系結構評審專家講座第16頁MeasuringTechniquesMetrics:quantitativeinterpretationsofobservablemeasures
量度:可測質量定量說明complexitymetricsidentifyareaswheremodificationsmaybedifficult
復雜度測量指明在哪個區(qū)域修改會很困難performancemetricssuggestareaswherebottlenecksmayoccur
性能測量提醒瓶頸會在哪里發(fā)生Reviewstendtofocusonresultsofmetrics
度量結果assumptionsunderlyingtheinterpretationofthemetrics(e.g.,assumedeventdistribution)
對度量解釋中潛在假定4/24/202317?sun@軟件體系結構體系結構評審專家講座第17頁MeasuringTechniquesSimulations,prototypes,experiments:domainspecificmodelsofanarchitectureorperformancemodel
仿真、原型、試驗:建立體系模型或者性能模型areexpensivetocreateoftenexistaspartofdevelopmentanywayMayanswerissuesraisedbyquestioningtechnique
能夠回答提問技術提出問題“Whatevidencedoyouhavethatperformanceisadequate?”
“你憑什么說能夠到達這個性能?”4/24/202318?sun@軟件體系結構體系結構評審專家講座第18頁PropertiesofReviewTechniques評審技術通用性細節(jié)等級階段被評審對象提問技術問卷通用粗糙早期設計和過程場景特定系統(tǒng)中等中期設計度量技術度量通用或者特定領域好中期設計仿真原型試驗特定領域不定早期設計4/24/202319?sun@軟件體系結構體系結構評審專家講座第19頁ReviewProcessAnarchitecturalreviewhasthreemajorelements.preconditions:thesetofnecessaryassetsandconditionsthatmustbeinplacebeforeareviewcanbeperformedsuccessfully
前提:評審成功進行之前,必要資源和條件必須到位activitiesofthereviewitself
活動:評審本身outputs:thereportofreviewresults
輸出:評審結果匯報4/24/202320?sun@軟件體系結構體系結構評審專家講座第20頁ReviewPreconditionsUnderstandthecontextofthereview
了解評審上下文Assembletherightpeople
集合正確人Setorganizationalexpectationsandsupport
期望和支持Prepareforreview
為評審做準備Obtainrepresentationofthearchitecture
取得體系結構文檔4/24/202321?sun@軟件體系結構體系結構評審專家講座第21頁Preconditions:ContextPlannedreviewpartofnormaldevelopmentactivity
正常開發(fā)活動一部分non-adversarial(非敵對性)scheduledwellinadvance(事先安排好日程)builtintoproject’sscheduleandbudget
包含在項目日程和預算之內Unplannedusuallyoccurswhenprojectisintrouble
通常在項目出現問題時采取oftendevolvesintofinger-pointing
造成相互責備canbepainfulforprojectalreadystruggling
對于已經苦苦掙扎了很久項目而言,有些痛苦4/24/202322?sun@軟件體系結構體系結構評審專家講座第22頁Preconditions:ContextTimingofthereviewearly“architecturediscoveryreview”isdoneafterrequirementsareset,butbeforethearchitectureisfirm
需求分析之后,體系結構還沒有確定之前進行isusedtounderstandimplicationsofrequirementsonarchitecture
用來了解需求在體系結構方面隱含內容checksforrequirementsfeasibility(檢驗需求可行性)prioritizesarchitecturalgoals(為質量目標排序)fullarchitecturalreviewisdonewhenarchitecturaldocumentationisavailable
體系結構文檔可用時進行isusedtoevaluatequalitiesofproposedarchitecture
評價被評體系結構質量4/24/202323?sun@軟件體系結構體系結構評審專家講座第23頁Preconditions:PeopleRepresentativesofproject(項目代表)architectdesignersofmajormodulesstakeholders’representativesReviewteammembers(ideally,aseparateunit)
評審團組員(理想情況下是一個獨立組織)atleastonedomainexpertincluded
最少有一個領域教授someonetohandlelogistics(e.g.,meetingrooms,supplies)
后勤人員(會議室、茶水、食品)librariantoorganizedocumentation
文檔管理員“apprenticereviewer”forgrowth
成長中評審員學徒4/24/202324?sun@軟件體系結構體系結構評審專家講座第24頁Preconditions:ReviewTeamThereviewteammustbeassembledsothatmembersareperceivedasimpartial,objective,andrespected
組員要公正、客觀和被尊重membersdevotetheirfull-timeefforttothereview
組員全心加入評審membersarefluentinarchitectureandarchitecturalissues
組員要訓練有素而且口才好itislocatedclosetoartifactsbeingexamined
有足夠權限檢驗被評審材料4/24/202325?sun@軟件體系結構體系結構評審專家講座第25頁Preconditions:ReviewTeamTheteammusthaveaccesstoapplicabledomainknowledge(perhapsviaconsultantstotheteam)
適當領域知識designdocuments
設計文檔reviewcriteria
評審標準supportstaff
支持人員4/24/202326?sun@軟件體系結構體系結構評審專家講座第26頁Preconditions:Organizational
ExpectationsAcontractbetweenthereviewteamandthesponsorofthereviewmustbeestablished.Whowillbetoldwhatuponcompletion?
結束后,哪些內容能夠被告訴哪些人Whatwill(not)bethereviewcriteria?
什么是(不是)評審標準?What/whowillbemadeavailabletoteam?
哪些人和物是評審團能夠使用?Whatfollow-upisexpected?
希望評審結果怎樣?Howlongwillthereviewtake?
要評審多久?4/24/202327?sun@軟件體系結構體系結構評審專家講座第27頁Preconditions:Organizational
ExpectationsOrganizationalcultureandsupportmustbeconsidered.Arereviewspartofthestandardprojectlifecycle?
評審是項目標基本生命周期一部分嗎?Isservingonareviewteamconsideredgoodforone’scareer?
為評審團服務是份好差事嗎?Willtheorganizationallowitssuperiordesignerstimeofffromtheirprojectstoserveonreviewteams?
企業(yè)允許它高級設計師把他項目放在一邊來參加評審嗎?Isthereastandingrevieworganization(eventhoughmembersmayrotateonandoff)?
有常設評審組織嗎(即便組員常進進出出)?4/24/202328?sun@軟件體系結構體系結構評審專家講座第28頁Preconditions:Read-AheadMaterialForprojectbeingreviewedquestionnairesscenarios(Thesearecreatedaspartofthereview,buttimeshouldbeallowedforprojectmemberstodigesttheinformation.)ForreviewteamdescriptionofarchitecturerationaleforarchitectureIdeally,materialwilladdressthereviewquestions.(Passingthistestbecausethequestionswereknowninadvanceisnotcheating,butgoodengineering!)
理想情況,材料要能說明評審時問題4/24/202329?sun@軟件體系結構體系結構評審專家講座第29頁Preconditions:RankedQuality
andBehavioralRequirementsPlantoexaminethreetofivequalityandbehavioralrequirements.
計劃檢驗3到5個質量和行為需求Aparticularrepresentationmedium(language)forthearchitectureisnotnecessary.Aslongastheinformationcanbeextracted(usingprojectmembersasnecessary),theformoftherepresentationisnotimportant.
一個專門體系結構表述媒體(語言)當前并不是必須。由項目組員來講解信息,表述形式并不主要4/24/202330?sun@軟件體系結構體系結構評審專家講座第30頁ReviewActivitiesEvaluate“Run”thescenariosandaskthequestions,oranswertheitemsinthechecklist.
按場景執(zhí)行,并問詢相關問題;或者回答問卷里問題Performtheexperiments.(演示試驗)Executetheprototypesorsimulations.
運行原型或仿真程序Recordcriticalissueshighlightedinthereview
評審中發(fā)覺嚴重問題commentsofprojectmembersontheseissues
項目組員對這些問題說明4/24/202331?sun@軟件體系結構體系結構評審專家講座第31頁ReviewActivitiesRanktheissuesproject-threatening(生死攸關)majorminorEachissueraisedshouldbeaddressedintermsofchangingthearchitecturerelaxingtherequirements4/24/202332?sun@軟件體系結構體系結構評審專家講座第32頁ReviewActivitiesWarningsignsarchitectureforcedtomatchorganization
組織模式影響體系結構top-levelcomponentsnumberover25
頂層組件數超出25個onerequirementdrivesentiredesign
一項需求決定整個設計architecturedependsonalternativesintheoperatingsystem
體系受操作系統(tǒng)選擇影響4/24/202333?sun@軟件體系結構體系結構評審專家講座第33頁ReviewActivitiesWarningsignschoiceofsoftwarecomponentsisdictatedbyhardwarepersonnel
由硬件人員選擇軟件組件redundancynotneededforreliability
面對可靠性時,不考慮冗余伎倆designisexceptiondriven
零碎小事件影響設計noidentifiablearchitect
沒有確定架構師4/24/202334?sun@軟件體系結構體系結構評審專家講座第34頁OutputfromReviewSetofrankedissuessupportingdatacontainedinformalreportfeedbacktoprojectEnhancedsystemdocumentation
增強系統(tǒng)文檔Setofscenariosforfutureuse
未來會用到場景集Identificationofpotentiallyreusablecomponents
認定潛在可重用組件Estimationofcostsandbenefits
估算成本和收益4/24/202335?sun@軟件體系結構體系結構評審專家講座第35頁SAAM:SoftwareArchitectureAnalysisMethod
一個簡單基于場景評審技術4/24/202336?sun@軟件體系結構體系結構評審專家講座第36頁QualitiesAreTooVagueforAnalysisIsthefollowingsystemmodifiable?
這個系統(tǒng)含有適應性嗎?Backgroundcoloroftheuserinterfaceischangedmerelybymodifyingaresourcefile.
經過修改資源文件,能夠改變界面背景色Dozensofcomponentsmustbechangedtoaccommodateanewdatafileformat.
必須修改許多組件才能適應新文件格式Areasonableansweris
一個合理答案:yeswithrespecttochangingbackgroundcolor
有,從改變背景色角度來看nowithrespecttochangingfileformat
沒有,從改變文件格式角度來看4/24/202337?sun@軟件體系結構體系結構評審專家講座第37頁QualitiesAreTooVagueforAnalysisQualitiesonlyhavemeaningwithinacontext.
質量原因只在一定上下文里才有意義SAAMspecifiescontextthroughscenarios.
SAAM經過場景指定上下文4/24/202338?sun@軟件體系結構體系結構評審專家講座第38頁ScenariosAscenarioisabriefdescriptionofastakeholder’sinteractionwithasystem.
場景就是一個角色與系統(tǒng)交互過程簡單描述Whencreatingscenarios,itisimportanttoconsiderallstakeholders.
建立場景時候,一定要考慮到全部角色Customer、User、Developer、Maintainer、Attacker……ThescenariosthatareofmostinterestinaSAAMevaluationarechangescenarios.
SAAM最關心是改變場景4/24/202339?sun@軟件體系結構體系結構評審專家講座第39頁StepsofaSAAMEvaluationIdentifyandassemblestakeholders
確認和召集角色Developandprioritizescenarios
制訂場景,并排好優(yōu)先級Describecandidatearchitecture(s)
描述候選體系結構Classifyscenariosasdirectorindirect
把場景分類為直接場景和間接場景Performscenarioevaluation
進行場景評定Revealscenariointeractions
展現場景間相互影響Generateoverallevaluation
整體評定4/24/202340?sun@軟件體系結構體系結構評審專家講座第40頁Step1:IdentifyandAssembleStakeholdersStakeholderInterestCustomerScheduleandbudget;usefulnessofsystem;meetingcustomers’(ormarket’s)expectationsEndUserFunctionality,usabilityDeveloperClarityandcompletenessofarchitecture;highcohesionandlimitedcouplingofparts;clearinteractionmechanismsMaintainerMaintainability;abilitytolocateplacesofchange4/24/202341?sun@軟件體系結構體系結構評審專家講座第41頁Step1:IdentifyandAssembleStakeholdersStakeholderInterestSystemAdministratorEaseinfindingsourcesofoperationalproblemsNetworkAdministratorNetworkperformance,predictabilityIntergratorClarityandcompletenessofarchitecture;highcohesionandlimitedcouplingofparts;clearinteractionmechanisms4/24/202342?sun@軟件體系結構體系結構評審專家講座第42頁Step1:IdentifyandAssemble
StakeholdersStakeholderInterestTesterIntegrated,consistenterrorhandling;limitedcomponentcoupling;highcomponentcohesion;conceptualintegrityApplicationBuilderArchitecturalclarity,completeness;interactionmechanisms;simpletailoringmechanismsRepresentativeofthedomainInteroperability4/24/202343?sun@軟件體系結構體系結構評審專家講座第43頁Step2:StakeholdersDevelopand
PrioritizeScenariosScenariosshouldbetypicalofthekindsofevolutionthatthesystemmustsupport:
場景應該是系統(tǒng)必須支持各種演化經典:functionalitydevelopmentactivitieschangeactivitiesScenariosshouldrepresenttasksrelevanttoallstakeholders.
全部角色都應該能在場景中表達出來Ruleofthumb:10-15prioritizedscenarios
應該有10-15個優(yōu)先場景4/24/202344?sun@軟件體系結構體系結構評審專家講座第44頁Step3:DescribeCandidate
ArchitecturesItisfrequentlynecessarytoelicitappropriatearchitecturaldescriptions.
通常,對體系結構進行適當描述是非常主要Structureschosentodescribethearchitecturewilldependonthetypeofqualitiestobeevaluated.
以我們需要質量為依據,選擇用來描述體系結構結構4/24/202345?sun@軟件體系結構體系結構評審專家講座第45頁Step4:ClassifyScenariosTherearetwoclassesofscenarios.Directscenariosarethosethatcanbeexecu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 移動廚房租賃合同模板
- 船舶維修升降機租賃合同
- 橡膠原料儲存罐租賃合同
- 醫(yī)療設備購置定向捐贈協(xié)議
- 銀行彩鋼瓦安裝合同協(xié)議書
- 建筑道路施工人工費合同
- 娛樂業(yè)二手房交易合同范本
- 食品公司產品研發(fā)協(xié)議
- 折疊輪椅租用合同范例
- 重慶裝修勞務合同范例
- 臨滄網約車模擬考試軟件下載
- 實驗四 哈夫曼樹與哈夫曼編碼
- 預防早戀 早婚早育
- 拆除鋼結構安全施工方案
- 國際仲裁和調解案例分析
- GB/T 43333-2023獨立型微電網調試與驗收規(guī)范
- 心理健康教育主題班會課件(共38張)
- 五年級上冊《勞動與技術》期中期末復習測試卷(附答案)
- 了解世界各大宗教的信仰
- 《社會調查研究與方法》課程復習題-課程ID-01304試卷號-22196
- 一例縫線傷口延遲愈合患者的個案護理體會
評論
0/150
提交評論