軟件體系結(jié)構(gòu)體系結(jié)構(gòu)評(píng)審ArhitecturalReviews
《軟件體系結(jié)構(gòu)體系結(jié)構(gòu)評(píng)審ArhitecturalReviews》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《軟件體系結(jié)構(gòu)體系結(jié)構(gòu)評(píng)審ArhitecturalReviews(49頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)體系結(jié)構(gòu)評(píng)審體系結(jié)構(gòu)評(píng)審Architectural ReviewsArchitectural Reviews孫志崗 2 22021-12-19Architectural ReviewsnArchitectural reviews are a key step in architecture-based development. They include a method (such as SAAM or ATAM), but the full practice includes more than that.體系結(jié)構(gòu)評(píng)審是開(kāi)發(fā)過(guò)程中的一個(gè)重要環(huán)節(jié)。有專(zhuān)門(mén)的評(píng)體系結(jié)構(gòu)評(píng)審
2、是開(kāi)發(fā)過(guò)程中的一個(gè)重要環(huán)節(jié)。有專(zhuān)門(mén)的評(píng)審方法審方法(SAAM、ATAM),但在實(shí)踐中并不僅僅是這些,但在實(shí)踐中并不僅僅是這些nWe will discusscost/benefits of architectural reviewsdifferent architectural review techniquespreconditions for an architectural reviewarchitectural review activitiesoutputs from an architectural review 3 32021-12-19Costs of Architectura
3、l ReviewsnThere are three different types of costs of holding regular architectural reviews.direct staff costs直接員工開(kāi)銷(xiāo)直接員工開(kāi)銷(xiāo)organizational overhead組織管理開(kāi)銷(xiāo)組織管理開(kāi)銷(xiāo)indirect staff costs間接員工開(kāi)銷(xiāo)間接員工開(kāi)銷(xiāo) 4 42021-12-19Examples of Direct Staff CostsnAT&T300 full-scale reviews done on projects of 700 staff-days or l
4、onger全面評(píng)審了全面評(píng)審了300個(gè)項(xiàng)目,每個(gè)項(xiàng)目的開(kāi)發(fā)時(shí)間都是個(gè)項(xiàng)目,每個(gè)項(xiàng)目的開(kāi)發(fā)時(shí)間都是700人日以上人日以上average cost per review: 70 staff days每次評(píng)審的平均開(kāi)銷(xiāo):每次評(píng)審的平均開(kāi)銷(xiāo):70人日人日nRational Software30 reviews done on projects with at least 500 KSLOC each評(píng)審了評(píng)審了30個(gè)項(xiàng)目,每個(gè)項(xiàng)目最少個(gè)項(xiàng)目,每個(gè)項(xiàng)目最少500 KSLOCaverage cost per review: $50,000評(píng)審平均花費(fèi):評(píng)審平均花費(fèi):$50,000 5 52021-12-1
5、9Examples of Direct Staff CostsnSAAM evaluations12 reviews done on projects ranging from 100 KSLOC to 1,000 KSLOC12次評(píng)審,項(xiàng)目規(guī)模從次評(píng)審,項(xiàng)目規(guī)模從100 KSLOC到到1,000 KSLOCaverage cost per review: 14 to 20 staff-days平均花費(fèi):平均花費(fèi):14到到20人日人日nATAM evaluations12 reviews done on projects ranging from 250 KSLOC to 2,500 KSLO
6、C12次評(píng)審,項(xiàng)目規(guī)模從次評(píng)審,項(xiàng)目規(guī)模從250 KSLOC到到2,500 KSLOCaverage cost per review: 40 to 70 staff days平均花費(fèi):平均花費(fèi):40到到70人日人日 6 62021-12-19Example of Organizational OverheadnCosts of establishing a corporate review unit建立評(píng)審組的開(kāi)銷(xiāo)建立評(píng)審組的開(kāi)銷(xiāo)management overheadcommunication expensesstaffing the unit給評(píng)審組配備人手給評(píng)審組配備人手relocatin
7、g personnel to a central locationtraining 7 72021-12-19Example of Indirect Staff CostsnUsing senior designers for evaluations instead of designing讓高級(jí)設(shè)計(jì)人員參與評(píng)審而不是設(shè)計(jì)讓高級(jí)設(shè)計(jì)人員參與評(píng)審而不是設(shè)計(jì)loss of productivity (due to reassignment of superior designers)生產(chǎn)力的下降生產(chǎn)力的下降(高級(jí)設(shè)計(jì)師被委派新任務(wù)高級(jí)設(shè)計(jì)師被委派新任務(wù))time spent training st
8、aff in review techniques培訓(xùn)員工評(píng)審技術(shù)的時(shí)間消耗培訓(xùn)員工評(píng)審技術(shù)的時(shí)間消耗 8 82021-12-19Benefits of Architectural ReviewsnFive different types of benefits result from holding architectural reviews.financialforces preparation for review為評(píng)審做準(zhǔn)備也是一種推動(dòng)力為評(píng)審做準(zhǔn)備也是一種推動(dòng)力early detection of problems盡早地發(fā)現(xiàn)問(wèn)題盡早地發(fā)現(xiàn)問(wèn)題validation of requirem
9、ents確認(rèn)需求確認(rèn)需求improved architectures提高體系結(jié)構(gòu)質(zhì)量提高體系結(jié)構(gòu)質(zhì)量 9 92021-12-19Financial Benefits of ReviewsnAT&T estimated that each reviewed project saves 10% of total cost as a result of the review. Thus, a 70-staff-day review of projects of 700 staff-days pays for itself.AT&T估算,每個(gè)被評(píng)審的項(xiàng)目節(jié)省估算,每個(gè)被評(píng)審的項(xiàng)目節(jié)省10%的成本的成本
10、nConsultants who perform architecture evaluations report 80% repeat business.參與評(píng)審的顧問(wèn)報(bào)告了參與評(píng)審的顧問(wèn)報(bào)告了80%的重復(fù)項(xiàng)目的重復(fù)項(xiàng)目 10102021-12-19Forces Preparation for ReviewnDocumentation/specifications must be provided, hence they must exist or be created.文檔和說(shuō)明書(shū)必須存在文檔和說(shuō)明書(shū)必須存在nSome reviews use standard questions, and
11、the architect can prepare ahead to ensure that the architecture scores well.評(píng)審有一些標(biāo)準(zhǔn)問(wèn)題。體系結(jié)構(gòu)師可以事先準(zhǔn)備,確保這評(píng)審有一些標(biāo)準(zhǔn)問(wèn)題。體系結(jié)構(gòu)師可以事先準(zhǔn)備,確保這個(gè)體系結(jié)構(gòu)可能得高分個(gè)體系結(jié)構(gòu)可能得高分nReviews make the criteria for evaluation explicit by prioritizing requirements or quality goals.通過(guò)排定需求和質(zhì)量目標(biāo)的順序,評(píng)審使評(píng)估的標(biāo)準(zhǔn)變得通過(guò)排定需求和質(zhì)量目標(biāo)的順序,評(píng)審使評(píng)估的標(biāo)準(zhǔn)變得清晰清晰 11
12、112021-12-19Early Detection of ProblemsnThe problems that can be found by an architectural level inspection include在體系結(jié)構(gòu)層進(jìn)行檢查可以發(fā)現(xiàn)的問(wèn)題在體系結(jié)構(gòu)層進(jìn)行檢查可以發(fā)現(xiàn)的問(wèn)題unreasonable requirementsperformance problemsproblems associated with potential future modifications與未來(lái)的修改有關(guān)的問(wèn)題與未來(lái)的修改有關(guān)的問(wèn)題nThe earlier in the life cycl
13、e that problems are found, the easier it is to fix them. 12122021-12-19Validation of RequirementsnReviews put stakeholders in the same room with each other, often for the first time.評(píng)審使各種角色坐在同一個(gè)房間內(nèi)。通常,這是第一次評(píng)審使各種角色坐在同一個(gè)房間內(nèi)。通常,這是第一次uncovers conflicts and tradeoffs解開(kāi)沖突和尋找折中解開(kāi)沖突和尋找折中provides a forum for
14、 negotiated resolution of problems提供了一個(gè)論壇,來(lái)磋商問(wèn)題的解決辦法提供了一個(gè)論壇,來(lái)磋商問(wèn)題的解決辦法nIt often results in the generation of new requirements or the clarification of existing requirements.結(jié)果通常會(huì)是產(chǎn)生新的需求和凈化已有的需求結(jié)果通常會(huì)是產(chǎn)生新的需求和凈化已有的需求 13132021-12-19Improved ArchitecturesnDevelopment organizations anticipate types of ques
15、tions raised at reviews and開(kāi)發(fā)者預(yù)期在評(píng)審時(shí)會(huì)被發(fā)現(xiàn)的問(wèn)題,然后開(kāi)發(fā)者預(yù)期在評(píng)審時(shí)會(huì)被發(fā)現(xiàn)的問(wèn)題,然后design architectures with questions in mind在設(shè)計(jì)時(shí),問(wèn)題會(huì)時(shí)刻圍繞腦海在設(shè)計(jì)時(shí),問(wèn)題會(huì)時(shí)刻圍繞腦海prepare documentation of the type needed at review準(zhǔn)備評(píng)審時(shí)需要的文檔準(zhǔn)備評(píng)審時(shí)需要的文檔give explicit consideration to qualities to be reviewed對(duì)將被評(píng)審的質(zhì)量因素進(jìn)行更深入的考慮對(duì)將被評(píng)審的質(zhì)量因素進(jìn)行更深入的考慮 14
16、142021-12-19Review TechniquesnThere are a variety of techniques for performing architectural reviews; each has a different cost and provides different information.有很多種評(píng)審技術(shù)。每種需要不同的開(kāi)銷(xiāo),提供不同的信有很多種評(píng)審技術(shù)。每種需要不同的開(kāi)銷(xiāo),提供不同的信息息nThese techniques fall into one of two categories.questioning techniques: applied to
17、evaluate any aspect of an architecture for any given reason提問(wèn)技術(shù)提問(wèn)技術(shù):用來(lái)評(píng)價(jià)體系結(jié)構(gòu)的任何方面:用來(lái)評(píng)價(jià)體系結(jié)構(gòu)的任何方面measuring techniques: applied to answer questions about a specific quality度量技術(shù)度量技術(shù):回答關(guān)于某項(xiàng)質(zhì)量的問(wèn)題:回答關(guān)于某項(xiàng)質(zhì)量的問(wèn)題 15152021-12-19Questioning TechniquesnScenario-based techniquesdescribes a specific interaction bet
18、ween stakeholders and a system描述角色與系統(tǒng)交互的過(guò)程描述角色與系統(tǒng)交互的過(guò)程example: SAAM, ATAM (partially)nQuestionnaire-based techniques(基于問(wèn)卷的技術(shù))(基于問(wèn)卷的技術(shù))Some questions apply to all architectures (especially those in a single domain).有些問(wèn)題被用于所有的體系結(jié)構(gòu),尤其是在單一領(lǐng)域內(nèi)有些問(wèn)題被用于所有的體系結(jié)構(gòu),尤其是在單一領(lǐng)域內(nèi)Some questions ask about details of a
19、specific architecture.有些問(wèn)題詢(xún)問(wèn)一個(gè)特定結(jié)構(gòu)的細(xì)節(jié)有些問(wèn)題詢(xún)問(wèn)一個(gè)特定結(jié)構(gòu)的細(xì)節(jié)Some ask about the development process.n“Is there a single architect?”n“How do you ensure conformance?”“你們?cè)鯓颖WC一致性?你們?cè)鯓颖WC一致性?” 16162021-12-19Questioning TechniquesnQuestionnaires are reused; they reflect more maturity or experience within a domain.問(wèn)
20、卷可以重用;它們體現(xiàn)了在一個(gè)領(lǐng)域內(nèi)問(wèn)卷可以重用;它們體現(xiàn)了在一個(gè)領(lǐng)域內(nèi)的成熟度和經(jīng)驗(yàn)是否豐富的成熟度和經(jīng)驗(yàn)是否豐富nScenarios must be developed anew for each system.場(chǎng)景必須為每個(gè)系統(tǒng)重新開(kāi)發(fā)場(chǎng)景必須為每個(gè)系統(tǒng)重新開(kāi)發(fā) 17172021-12-19Measuring TechniquesnMetrics: quantitative interpretations of observable measures量度:可測(cè)質(zhì)量的定量說(shuō)明量度:可測(cè)質(zhì)量的定量說(shuō)明complexity metrics identify areas where modific
21、ations may be difficult復(fù)雜度的測(cè)量指明在哪個(gè)區(qū)域修改會(huì)很困難復(fù)雜度的測(cè)量指明在哪個(gè)區(qū)域修改會(huì)很困難performance metrics suggest areas where bottlenecks may occur性能的測(cè)量提示瓶頸會(huì)在哪里發(fā)生性能的測(cè)量提示瓶頸會(huì)在哪里發(fā)生nReviews tend to focus onresults of metrics度量的結(jié)果度量的結(jié)果assumptions underlying the interpretation of the metrics (e.g., assumed event distribution)對(duì)度量的
22、解釋中的潛在假定對(duì)度量的解釋中的潛在假定 18182021-12-19Measuring TechniquesnSimulations, prototypes, experiments: domain specific models of an architecture or performance model仿真、原型、實(shí)驗(yàn):建立體系模型或者性能模型仿真、原型、實(shí)驗(yàn):建立體系模型或者性能模型are expensive to createoften exist as part of development anywaynMay answer issues raised by questioni
23、ng technique 可以回答提問(wèn)技術(shù)提出的問(wèn)題可以回答提問(wèn)技術(shù)提出的問(wèn)題“What evidence do you have that performance is adequate?”“你憑什么說(shuō)可以達(dá)到這個(gè)性能?你憑什么說(shuō)可以達(dá)到這個(gè)性能?” 19192021-12-19Properties of Review Techniques評(píng)審技術(shù)評(píng)審技術(shù)通用性通用性細(xì)節(jié)等級(jí)細(xì)節(jié)等級(jí)階段階段被評(píng)審對(duì)象被評(píng)審對(duì)象提問(wèn)提問(wèn)技術(shù)技術(shù)問(wèn)卷問(wèn)卷通用通用粗糙粗糙早期早期設(shè)計(jì)和過(guò)程設(shè)計(jì)和過(guò)程場(chǎng)景場(chǎng)景特定系統(tǒng)特定系統(tǒng)中等中等中期中期設(shè)計(jì)設(shè)計(jì)度量度量技術(shù)技術(shù)度量度量通用或者特通用或者特定領(lǐng)域定領(lǐng)域好好中期中期
24、設(shè)計(jì)設(shè)計(jì)仿真仿真原型原型實(shí)驗(yàn)實(shí)驗(yàn)特定領(lǐng)域特定領(lǐng)域不定不定早期早期設(shè)計(jì)設(shè)計(jì) 20202021-12-19Review ProcessnAn architectural review has three major elements.preconditions: the set of necessary assets and conditions that must be in place before a review can be performed successfully前提前提:評(píng)審成功進(jìn)行之前,必要的資源和條件必須到:評(píng)審成功進(jìn)行之前,必要的資源和條件必須到位位activities o
25、f the review itself活動(dòng)活動(dòng):評(píng)審本身:評(píng)審本身outputs: the report of review results輸出輸出:評(píng)審結(jié)果報(bào)告:評(píng)審結(jié)果報(bào)告 21212021-12-19Review PreconditionsnUnderstand the context of the review理解評(píng)審的上下文理解評(píng)審的上下文nAssemble the right people集合正確的人集合正確的人nSet organizational expectations and support期望和支持期望和支持nPrepare for review為評(píng)審做準(zhǔn)備為評(píng)審做準(zhǔn)備n
26、Obtain representation of the architecture獲得體系結(jié)構(gòu)文檔獲得體系結(jié)構(gòu)文檔 22222021-12-19Preconditions: ContextnPlanned reviewpart of normal development activity正常開(kāi)發(fā)活動(dòng)的一部分正常開(kāi)發(fā)活動(dòng)的一部分non-adversarial(非敵對(duì)性的)(非敵對(duì)性的)scheduled well in advance(事先安排好日程)(事先安排好日程)built into projects schedule and budget包含在項(xiàng)目日程和預(yù)算之內(nèi)包含在項(xiàng)目日程和預(yù)算之內(nèi)n
27、Unplannedusually occurs when project is in trouble通常在項(xiàng)目出現(xiàn)問(wèn)題時(shí)采用通常在項(xiàng)目出現(xiàn)問(wèn)題時(shí)采用often devolves into finger-pointing導(dǎo)致互相責(zé)備導(dǎo)致互相責(zé)備can be painful for project already struggling對(duì)于已經(jīng)苦苦掙扎了很久的項(xiàng)目而言,有些痛苦對(duì)于已經(jīng)苦苦掙扎了很久的項(xiàng)目而言,有些痛苦 23232021-12-19Preconditions: ContextnTiming of the reviewearly “architecture discovery revi
28、ew”nis done after requirements are set, but before the architecture is firm需求分析之后,體系結(jié)構(gòu)還沒(méi)有確定之前進(jìn)行需求分析之后,體系結(jié)構(gòu)還沒(méi)有確定之前進(jìn)行nis used to understand implications of requirements on architecture用來(lái)理解需求在體系結(jié)構(gòu)方面的隱含內(nèi)容用來(lái)理解需求在體系結(jié)構(gòu)方面的隱含內(nèi)容nchecks for requirements feasibility(檢查需求的可行性)(檢查需求的可行性)nprioritizes architectural
29、 goals(為質(zhì)量目標(biāo)排序)(為質(zhì)量目標(biāo)排序)full architectural reviewnis done when architectural documentation is available體系結(jié)構(gòu)文檔可用時(shí)進(jìn)行體系結(jié)構(gòu)文檔可用時(shí)進(jìn)行nis used to evaluate qualities of proposed architecture評(píng)價(jià)被評(píng)體系結(jié)構(gòu)的質(zhì)量評(píng)價(jià)被評(píng)體系結(jié)構(gòu)的質(zhì)量 24242021-12-19Preconditions: PeoplenRepresentatives of project(項(xiàng)目代表)(項(xiàng)目代表)architectdesigners of m
30、ajor modulesstakeholders representativesnReview team members (ideally, a separate unit)評(píng)審團(tuán)成員評(píng)審團(tuán)成員(理想情況下是一個(gè)獨(dú)立組織理想情況下是一個(gè)獨(dú)立組織)at least one domain expert included至少有一個(gè)領(lǐng)域?qū)<抑辽儆幸粋€(gè)領(lǐng)域?qū)<襰omeone to handle logistics (e.g., meeting rooms, supplies)后勤人員后勤人員(會(huì)議室、茶水、食品會(huì)議室、茶水、食品)librarian to organize documentation文檔
31、管理員文檔管理員“apprentice reviewer” for growth成長(zhǎng)中的評(píng)審員學(xué)徒成長(zhǎng)中的評(píng)審員學(xué)徒 25252021-12-19Preconditions: Review TeamnThe review team must be assembled so thatmembers are perceived as impartial, objective, and respected成員要公正、客觀和被尊重成員要公正、客觀和被尊重members devote their full-time effort to the review成員全心加入評(píng)審成員全心加入評(píng)審members
32、are fluent in architecture and architectural issues成員要訓(xùn)練有素而且口才好成員要訓(xùn)練有素而且口才好it is located close to artifacts being examined有足夠的權(quán)限檢查被評(píng)審材料有足夠的權(quán)限檢查被評(píng)審材料 26262021-12-19Preconditions: Review TeamnThe team must have access toapplicable domain knowledge (perhaps via consultants to the team)適當(dāng)?shù)念I(lǐng)域知識(shí)適當(dāng)?shù)念I(lǐng)域知識(shí)des
33、ign documents設(shè)計(jì)文檔設(shè)計(jì)文檔review criteria評(píng)審標(biāo)準(zhǔn)評(píng)審標(biāo)準(zhǔn)support staff支持人員支持人員 27272021-12-19Preconditions: OrganizationalExpectationsnA contract between the review team and the sponsor of the review must be established.Who will be told what upon completion?結(jié)束后,哪些內(nèi)容可以被告訴哪些人結(jié)束后,哪些內(nèi)容可以被告訴哪些人What will (not) be the
34、review criteria?什么是什么是(不是不是)評(píng)審標(biāo)準(zhǔn)?評(píng)審標(biāo)準(zhǔn)?What/who will be made available to team?哪些人和物是評(píng)審團(tuán)可以使用的?哪些人和物是評(píng)審團(tuán)可以使用的?What follow-up is expected?希望評(píng)審的結(jié)果如何?希望評(píng)審的結(jié)果如何?How long will the review take?要評(píng)審多久?要評(píng)審多久? 28282021-12-19Preconditions: OrganizationalExpectationsnOrganizational culture and support must be con
35、sidered.Are reviews part of the standard project life cycle?評(píng)審是項(xiàng)目的基本生命周期的一部分嗎?評(píng)審是項(xiàng)目的基本生命周期的一部分嗎?Is serving on a review team considered good for ones career?為評(píng)審團(tuán)服務(wù)是份好差事嗎?為評(píng)審團(tuán)服務(wù)是份好差事嗎?Will the organization allow its superior designers time off from their projects to serve on review teams?企業(yè)允許它的高級(jí)設(shè)計(jì)師把他
36、的項(xiàng)目放在一邊來(lái)參加評(píng)審嗎?企業(yè)允許它的高級(jí)設(shè)計(jì)師把他的項(xiàng)目放在一邊來(lái)參加評(píng)審嗎?Is there a standing review organization (even though members may rotate on and off)?有常設(shè)的評(píng)審組織嗎有常設(shè)的評(píng)審組織嗎(即便成員常進(jìn)進(jìn)出出即便成員常進(jìn)進(jìn)出出)? 29292021-12-19Preconditions: Read-Ahead MaterialnFor project being reviewedquestionnairesscenarios (These are created as part of the re
37、view, but time should be allowed for project members to digest the information.)nFor review teamdescription of architecturerationale for architecturenIdeally, material will address the review questions. (Passing this test because the questions were known in advance is not cheating, but good engineer
38、ing!)理想情況,材料要能說(shuō)明評(píng)審時(shí)的問(wèn)題理想情況,材料要能說(shuō)明評(píng)審時(shí)的問(wèn)題 30302021-12-19Preconditions: Ranked Qualityand Behavioral RequirementsnPlan to examine three to five quality and behavioral requirements.計(jì)劃?rùn)z查計(jì)劃?rùn)z查3到到5個(gè)質(zhì)量和行為需求個(gè)質(zhì)量和行為需求nA particular representation medium (language) for the architecture is not necessary. As long a
39、s the information can be extracted (using project members as necessary), the form of the representation is not important.一個(gè)專(zhuān)門(mén)的體系結(jié)構(gòu)表述媒體一個(gè)專(zhuān)門(mén)的體系結(jié)構(gòu)表述媒體(語(yǔ)言語(yǔ)言)目前并不是目前并不是必須的。由項(xiàng)目成員來(lái)講解信息,表述的形式并必須的。由項(xiàng)目成員來(lái)講解信息,表述的形式并不重要不重要 31312021-12-19Review ActivitiesnEvaluate“Run” the scenarios and ask the questions, or an
40、swer the items in the checklist.按場(chǎng)景執(zhí)行,并詢(xún)問(wèn)相關(guān)問(wèn)題;或者回答問(wèn)卷里的問(wèn)按場(chǎng)景執(zhí)行,并詢(xún)問(wèn)相關(guān)問(wèn)題;或者回答問(wèn)卷里的問(wèn)題題Perform the experiments.(演示實(shí)驗(yàn))(演示實(shí)驗(yàn))Execute the prototypes or simulations.運(yùn)行原型或仿真程序運(yùn)行原型或仿真程序nRecordcritical issues highlighted in the review評(píng)審中發(fā)現(xiàn)的嚴(yán)重問(wèn)題評(píng)審中發(fā)現(xiàn)的嚴(yán)重問(wèn)題comments of project members on these issues項(xiàng)目成員對(duì)這些問(wèn)題的說(shuō)明項(xiàng)目成員對(duì)
41、這些問(wèn)題的說(shuō)明 32322021-12-19Review ActivitiesnRank the issuesproject-threatening(生死攸關(guān))(生死攸關(guān))majorminornEach issue raised should be addressed in terms ofchanging the architecturerelaxing the requirements 33332021-12-19Review ActivitiesnWarning signsarchitecture forced to match organization組織模式影響體系結(jié)構(gòu)組織模式影響體
42、系結(jié)構(gòu)top-level components number over 25頂層組件數(shù)超過(guò)頂層組件數(shù)超過(guò)25個(gè)個(gè)one requirement drives entire design一項(xiàng)需求決定整個(gè)設(shè)計(jì)一項(xiàng)需求決定整個(gè)設(shè)計(jì)architecture depends on alternatives in the operating system體系受操作系統(tǒng)選擇的影響體系受操作系統(tǒng)選擇的影響 34342021-12-19Review ActivitiesnWarning signschoice of software components is dictated by hardware pers
43、onnel由硬件人員選擇軟件組件由硬件人員選擇軟件組件redundancy not needed for reliability面對(duì)可靠性時(shí),不考慮冗余手段面對(duì)可靠性時(shí),不考慮冗余手段design is exception driven零散的小的事件影響設(shè)計(jì)零散的小的事件影響設(shè)計(jì)no identifiable architect沒(méi)有確定的架構(gòu)師沒(méi)有確定的架構(gòu)師 35352021-12-19Output from ReviewnSet of ranked issuessupporting datacontained in formal reportfeedback to projectnEnha
44、nced system documentation增強(qiáng)的系統(tǒng)文檔增強(qiáng)的系統(tǒng)文檔nSet of scenarios for future use將來(lái)會(huì)用到的場(chǎng)景集將來(lái)會(huì)用到的場(chǎng)景集nIdentification of potentially reusable components認(rèn)定潛在的可重用組件認(rèn)定潛在的可重用組件nEstimation of costs and benefits估算成本和收益估算成本和收益 36362021-12-19SAAM: Software Architecture Analysis Method 一種簡(jiǎn)單的基于場(chǎng)景的評(píng)審技術(shù)一種簡(jiǎn)單的基于場(chǎng)景的評(píng)審技術(shù) 373720
45、21-12-19Qualities Are Too Vague for AnalysisnIs the following system modifiable?這個(gè)系統(tǒng)具有適應(yīng)性嗎?這個(gè)系統(tǒng)具有適應(yīng)性嗎?Background color of the user interface is changed merely by modifying a resource file.通過(guò)修改資源文件,可以改變界面的背景色通過(guò)修改資源文件,可以改變界面的背景色Dozens of components must be changed to accommodate a new data file format
46、.必須修改許多組件才能適應(yīng)新的文件格式必須修改許多組件才能適應(yīng)新的文件格式nA reasonable answer is一個(gè)合理的答案:一個(gè)合理的答案:yes with respect to changing background color有有,從改變背景色的角度來(lái)看,從改變背景色的角度來(lái)看no with respect to changing file format沒(méi)有沒(méi)有,從改變文件格式的角度來(lái)看,從改變文件格式的角度來(lái)看 38382021-12-19Qualities Are Too Vague for AnalysisnQualities only have meaning with
47、in a context.質(zhì)量因素只在一定的上下文里才有意義質(zhì)量因素只在一定的上下文里才有意義nSAAM specifies context through scenarios.SAAM通過(guò)場(chǎng)景指定上下文通過(guò)場(chǎng)景指定上下文 39392021-12-19ScenariosnA scenario is a brief description of a stakeholders interaction with a system.場(chǎng)景就是一個(gè)角色與系統(tǒng)交互過(guò)程的簡(jiǎn)單描述場(chǎng)景就是一個(gè)角色與系統(tǒng)交互過(guò)程的簡(jiǎn)單描述nWhen creating scenarios, it is important to c
48、onsider all stakeholders.建立場(chǎng)景的時(shí)候,一定要考慮到所有的角色建立場(chǎng)景的時(shí)候,一定要考慮到所有的角色Customer、User、Developer、Maintainer、AttackernThe scenarios that are of most interest in a SAAM evaluation are change scenarios.SAAM最關(guān)心的是最關(guān)心的是變化變化場(chǎng)景場(chǎng)景 40402021-12-19Steps of a SAAM EvaluationnIdentify and assemble stakeholders確認(rèn)和召集角色確認(rèn)和召集角
49、色nDevelop and prioritize scenarios制定場(chǎng)景,并排好優(yōu)先級(jí)制定場(chǎng)景,并排好優(yōu)先級(jí)nDescribe candidate architecture(s)描述候選的體系結(jié)構(gòu)描述候選的體系結(jié)構(gòu)nClassify scenarios as direct or indirect把場(chǎng)景分類(lèi)為把場(chǎng)景分類(lèi)為直接場(chǎng)景直接場(chǎng)景和和間接場(chǎng)景間接場(chǎng)景nPerform scenario evaluation進(jìn)行場(chǎng)景評(píng)估進(jìn)行場(chǎng)景評(píng)估nReveal scenario interactions展現(xiàn)場(chǎng)景間的相互影響展現(xiàn)場(chǎng)景間的相互影響n(yōu)Generate overall evaluation整體評(píng)
50、估整體評(píng)估 41412021-12-19Step 1: Identify and Assemble StakeholdersStakeholderInterestCustomerSchedule and budget; usefulness of system; meeting customers (or markets) expectationsEnd UserFunctionality, usabilityDeveloperClarity and completeness ofarchitecture; high cohesion andlimited coupling of parts;
51、clear interaction mechanismsMaintainerMaintainability; ability to locateplaces of change 42422021-12-19Step 1: Identify and Assemble StakeholdersStakeholderInterestSystem AdministratorEase in finding sources of operational problemsNetwork AdministratorNetwork performance, predictabilityIntergratorCl
52、arity and completeness ofarchitecture; high cohesion andlimited coupling of parts;clear interaction mechanisms 43432021-12-19Step 1: Identify and AssembleStakeholdersStakeholderInterestTesterIntegrated, consistent error handling; limited component coupling; high component cohesion; conceptual integr
53、ityApplication BuilderArchitectural clarity, completeness; interaction mechanisms; simple tailoring mechanismsRepresentative of the domainInteroperability 44442021-12-19Step 2: Stakeholders Develop andPrioritize ScenariosnScenarios should be typical of the kinds of evolution that the system must sup
54、port:場(chǎng)景應(yīng)該是系統(tǒng)必須支持的各種演化的典型:場(chǎng)景應(yīng)該是系統(tǒng)必須支持的各種演化的典型:functionalitydevelopment activitieschange activitiesnScenarios should represent tasks relevant to all stakeholders.所有角色都應(yīng)該能在場(chǎng)景中體現(xiàn)出來(lái)所有角色都應(yīng)該能在場(chǎng)景中體現(xiàn)出來(lái)nRule of thumb: 10-15 prioritized scenarios應(yīng)該有應(yīng)該有10-15個(gè)優(yōu)先的場(chǎng)景個(gè)優(yōu)先的場(chǎng)景 45452021-12-19Step 3: Describe CandidateA
55、rchitecturesnIt is frequently necessary to elicit appropriate architectural descriptions.通常,對(duì)體系結(jié)構(gòu)進(jìn)行適當(dāng)?shù)拿枋鍪欠浅Mǔ#瑢?duì)體系結(jié)構(gòu)進(jìn)行適當(dāng)?shù)拿枋鍪欠浅V匾闹匾膎Structures chosen to describe the architecture will depend on the type of qualities to be evaluated.以我們需要的質(zhì)量為依據(jù),選擇用來(lái)描述以我們需要的質(zhì)量為依據(jù),選擇用來(lái)描述體系結(jié)構(gòu)的結(jié)構(gòu)體系結(jié)構(gòu)的結(jié)構(gòu) 46462021-12-19Ste
56、p 4: Classify ScenariosnThere are two classes of scenarios.Direct scenarios are those that can be executed by the system without modification.直接場(chǎng)景是那些不需要修改系統(tǒng)就能執(zhí)行的場(chǎng)景直接場(chǎng)景是那些不需要修改系統(tǒng)就能執(zhí)行的場(chǎng)景Indirect scenarios are those that require modifications to the system.間接場(chǎng)景是那些需要修改系統(tǒng)的場(chǎng)景間接場(chǎng)景是那些需要修改系統(tǒng)的場(chǎng)景nThe classific
57、ation depends upon both the scenario and the architecture.場(chǎng)景的類(lèi)型因系統(tǒng)而異場(chǎng)景的類(lèi)型因系統(tǒng)而異nFor indirect scenarios we gauge the order of difficulty of each change: e.g. a person-day, person-week, person-month, person-year.對(duì)間接場(chǎng)景,我們要度量適應(yīng)每個(gè)變化的難度(工作量)對(duì)間接場(chǎng)景,我們要度量適應(yīng)每個(gè)變化的難度(工作量) 47472021-12-19Step 5: Perform Scenario E
58、valuationnFor each indirect scenarioidentify the components, data connections, control connections, and interfaces that must be added, deleted, or modified明確其組件、數(shù)據(jù)連結(jié)件、控制連結(jié)件和要被增加、刪除或修改明確其組件、數(shù)據(jù)連結(jié)件、控制連結(jié)件和要被增加、刪除或修改的接口的接口estimate the difficulty of modification估算修改的難度估算修改的難度nDifficulty of modification is
59、 elicited from the architect and is based on the number of components to be modified and the effect of the modifications.修改的難度體現(xiàn)在被修改的組件個(gè)數(shù)和修改的效果修改的難度體現(xiàn)在被修改的組件個(gè)數(shù)和修改的效果nA monolithic system will score well on this step, but not on next step.只有一個(gè)模塊的系統(tǒng)在此項(xiàng)評(píng)估可以得到高分,但是只有一個(gè)模塊的系統(tǒng)在此項(xiàng)評(píng)估可以得到高分,但是 48482021-12-19St
60、ep 6: Reveal Scenario InteractionsnWhen multiple indirect scenarios affect the same components, this could indicate a problem.當(dāng)多個(gè)間接場(chǎng)景影響同一個(gè)組件時(shí),可能引發(fā)問(wèn)題當(dāng)多個(gè)間接場(chǎng)景影響同一個(gè)組件時(shí),可能引發(fā)問(wèn)題could be good, if scenarios are variants of each other可能是好事,當(dāng)場(chǎng)景是彼此的變體可能是好事,當(dāng)場(chǎng)景是彼此的變體nchange background color to greennchange backg
61、round color to redcould be bad, indicating a potentially poor separation of concerns可能是壞事,說(shuō)明模塊劃分有問(wèn)題可能是壞事,說(shuō)明模塊劃分有問(wèn)題nchange background color to rednport system to a different platform 49492021-12-19Step 7: Generate Overall EvaluationnNot all scenarios are equal.場(chǎng)景生來(lái)不平等場(chǎng)景生來(lái)不平等nThe organization must determine which scenarios are most important.必須明確哪些場(chǎng)景是最重要的必須明確哪些場(chǎng)景是最重要的nThen the organization must decide as to whether the design is acceptable “as is” or if it must be modified.評(píng)審團(tuán)得出結(jié)論,當(dāng)前的體系結(jié)構(gòu)設(shè)計(jì)可行,還評(píng)審團(tuán)得出結(jié)論,當(dāng)前的體系結(jié)構(gòu)設(shè)計(jì)可行,還是必須要修改是必須要修改
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷(xiāo)售技巧培訓(xùn)課件:接近客戶(hù)的套路總結(jié)
- 20種成交的銷(xiāo)售話(huà)術(shù)和技巧
- 銷(xiāo)售技巧:接近客戶(hù)的8種套路
- 銷(xiāo)售套路總結(jié)
- 房產(chǎn)銷(xiāo)售中的常見(jiàn)問(wèn)題及解決方法
- 銷(xiāo)售技巧:值得默念的成交話(huà)術(shù)
- 銷(xiāo)售資料:讓人舒服的35種說(shuō)話(huà)方式
- 汽車(chē)銷(xiāo)售績(jī)效管理規(guī)范
- 銷(xiāo)售技巧培訓(xùn)課件:絕對(duì)成交的銷(xiāo)售話(huà)術(shù)
- 頂尖銷(xiāo)售技巧總結(jié)
- 銷(xiāo)售技巧:電話(huà)營(yíng)銷(xiāo)十大定律
- 銷(xiāo)售逼單最好的二十三種技巧
- 銷(xiāo)售最常遇到的10大麻煩
- 銷(xiāo)售資料:銷(xiāo)售10大黃金觀念
- 銷(xiāo)售資料:導(dǎo)購(gòu)常用的搭訕?lè)椒?/a>