軟件體系結(jié)構(gòu)體系結(jié)構(gòu)評(píng)審ArchitecturalRev
《軟件體系結(jié)構(gòu)體系結(jié)構(gòu)評(píng)審ArchitecturalRev》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件體系結(jié)構(gòu)體系結(jié)構(gòu)評(píng)審ArchitecturalRev(49頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、軟件體系結(jié)構(gòu) 體系結(jié)構(gòu)評(píng)審 Architectural Reviews 孫志崗 2 2021/4/6 Architectural Reviews Architectural 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)審是開發(fā)過程中的一個(gè)重要環(huán)節(jié)。有專門的評(píng) 審方法 (SAAM、 ATAM),但在實(shí)踐中并不僅僅是這些 We
2、will discuss cost/benefits of architectural reviews different architectural review techniques preconditions for an architectural review architectural review activities outputs from an architectural review 3 2021/4/6 Costs of Architectural Reviews There are three different types of costs of holding
3、regular architectural reviews. direct staff costs 直接員工開銷 organizational overhead 組織管理開銷 indirect staff costs 間接員工開銷 4 2021/4/6 Examples of Direct Staff Costs AT each has a different cost and provides different information. 有很多種評(píng)審技術(shù)。每種需要不同的開銷,提供不同的信 息 These techniques fall into one of two categories
4、. questioning techniques: applied to evaluate any aspect of an architecture for any given reason 提問技術(shù) :用來(lái)評(píng)價(jià)體系結(jié)構(gòu)的任何方面 measuring techniques: applied to answer questions about a specific quality 度量技術(shù) :回答關(guān)于某項(xiàng)質(zhì)量的問題 15 2021/4/6 Questioning Techniques Scenario-based techniques describes a specific interac
5、tion between stakeholders and a system 描述角色與系統(tǒng)交互的過程 example: SAAM, ATAM (partially) Questionnaire-based techniques(基于問卷的技術(shù)) Some questions apply to all architectures (especially those in a single domain). 有些問題被用于所有的體系結(jié)構(gòu),尤其是在單一領(lǐng)域內(nèi) Some questions ask about details of a specific architecture. 有些問題詢問一個(gè)特
6、定結(jié)構(gòu)的細(xì)節(jié) Some ask about the development process. “Is there a single architect?” “How do you ensure conformance?” “你們?cè)鯓颖WC一致性?” 16 2021/4/6 Questioning Techniques Questionnaires are reused; they reflect more maturity or experience within a domain. 問卷可以重用;它們體現(xiàn)了在一個(gè)領(lǐng)域內(nèi) 的成熟度和經(jīng)驗(yàn)是否豐富 Scenarios must be develo
7、ped anew for each system. 場(chǎng)景必須為每個(gè)系統(tǒng)重新開發(fā) 17 2021/4/6 Measuring Techniques Metrics: quantitative interpretations of observable measures 量度:可測(cè)質(zhì)量的定量說(shuō)明 complexity metrics identify areas where modifications may be difficult 復(fù)雜度的測(cè)量指明在哪個(gè)區(qū)域修改會(huì)很困難 performance metrics suggest areas where bottlenecks may occur
8、 性能的測(cè)量提示瓶頸會(huì)在哪里發(fā)生 Reviews tend to focus on results of metrics 度量的結(jié)果 assumptions underlying the interpretation of the metrics (e.g., assumed event distribution) 對(duì)度量的解釋中的潛在假定 18 2021/4/6 Measuring Techniques Simulations, prototypes, experiments: domain specific models of an architecture or performance
9、 model 仿真、原型、實(shí)驗(yàn):建立體系模型或者性能模型 are expensive to create often exist as part of development anyway May answer issues raised by questioning technique 可以回答提問技術(shù)提出的問題 “ What evidence do you have that performance is adequate?” “你憑什么說(shuō)可以達(dá)到這個(gè)性能?” 19 2021/4/6 Properties of Review Techniques 評(píng)審技術(shù) 通用性 細(xì)節(jié)等級(jí) 階段 被評(píng)審
10、對(duì)象 提問 技術(shù) 問卷 通用 粗糙 早期 設(shè)計(jì)和過程 場(chǎng)景 特定系統(tǒng) 中等 中期 設(shè)計(jì) 度量 技術(shù) 度量 通用或者特定領(lǐng)域 好 中期 設(shè)計(jì) 仿真 原型 實(shí)驗(yàn) 特定領(lǐng)域 不定 早期 設(shè)計(jì) 20 2021/4/6 Review Process An 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 前提
11、:評(píng)審成功進(jìn)行之前,必要的資源和條件必須到 位 activities of the review itself 活動(dòng) :評(píng)審本身 outputs: the report of review results 輸出 :評(píng)審結(jié)果報(bào)告 21 2021/4/6 Review Preconditions Understand the context of the review 理解評(píng)審的上下文 Assemble the right people 集合正確的人 Set organizational expectations and support 期望和支持 Prepare for review 為評(píng)審做
12、準(zhǔn)備 Obtain representation of the architecture 獲得體系結(jié)構(gòu)文檔 22 2021/4/6 Preconditions: Context Planned review part of normal development activity 正常開發(fā)活動(dòng)的一部分 non-adversarial(非敵對(duì)性的) scheduled well in advance(事先安排好日程) built into projects schedule and budget 包含在項(xiàng)目日程和預(yù)算之內(nèi) Unplanned usually occurs when project
13、 is in trouble 通常在項(xiàng)目出現(xiàn)問題時(shí)采用 often devolves into finger-pointing 導(dǎo)致互相責(zé)備 can be painful for project already struggling 對(duì)于已經(jīng)苦苦掙扎了很久的項(xiàng)目而言,有些痛苦 23 2021/4/6 Preconditions: Context Timing of the review early “architecture discovery review” is done after requirements are set, but before the architecture is
14、 firm 需求分析之后,體系結(jié)構(gòu)還沒有確定之前進(jìn)行 is used to understand implications of requirements on architecture 用來(lái)理解需求在體系結(jié)構(gòu)方面的隱含內(nèi)容 checks for requirements feasibility(檢查需求的可行性) prioritizes architectural goals(為質(zhì)量目標(biāo)排序) full architectural review is done when architectural documentation is available 體系結(jié)構(gòu)文檔可用時(shí)進(jìn)行 is used
15、to evaluate qualities of proposed architecture 評(píng)價(jià)被評(píng)體系結(jié)構(gòu)的質(zhì)量 24 2021/4/6 Preconditions: People Representatives of project(項(xiàng)目代表) architect designers of major modules stakeholders representatives Review team members (ideally, a separate unit) 評(píng)審團(tuán)成員 (理想情況下是一個(gè)獨(dú)立組織 ) at least one domain expert included 至少
16、有一個(gè)領(lǐng)域?qū)<?someone to handle logistics (e.g., meeting rooms, supplies) 后勤人員 (會(huì)議室、茶水、食品 ) librarian to organize documentation 文檔管理員 “ apprentice reviewer” for growth 成長(zhǎng)中的評(píng)審員學(xué)徒 25 2021/4/6 Preconditions: Review Team The review team must be assembled so that members are perceived as impartial, objective,
17、 and respected 成員要公正、客觀和被尊重 members devote their full-time effort to the review 成員全心加入評(píng)審 members are fluent in architecture and architectural issues 成員要訓(xùn)練有素而且口才好 it is located close to artifacts being examined 有足夠的權(quán)限檢查被評(píng)審材料 26 2021/4/6 Preconditions: Review Team The team must have access to applica
18、ble domain knowledge (perhaps via consultants to the team) 適當(dāng)?shù)念I(lǐng)域知識(shí) design documents 設(shè)計(jì)文檔 review criteria 評(píng)審標(biāo)準(zhǔn) support staff 支持人員 27 2021/4/6 Preconditions: Organizational Expectations A contract between the review team and the sponsor of the review must be established. Who will be told what upon co
19、mpletion? 結(jié)束后,哪些內(nèi)容可以被告訴哪些人 What will (not) be the review criteria? 什么是 (不是 )評(píng)審標(biāo)準(zhǔn)? What/who will be made available to team? 哪些人和物是評(píng)審團(tuán)可以使用的? What follow-up is expected? 希望評(píng)審的結(jié)果如何? How long will the review take? 要評(píng)審多久? 28 2021/4/6 Preconditions: Organizational Expectations Organizational culture and s
20、upport must be considered. Are reviews part of the standard project life cycle? 評(píng)審是項(xiàng)目的基本生命周期的一部分嗎? Is serving on a review team considered good for ones career? 為評(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ì)師把他的項(xiàng)目放在一邊
21、來(lái)參加評(píng)審嗎? Is there a standing review organization (even though members may rotate on and off)? 有常設(shè)的評(píng)審組織嗎 (即便成員常進(jìn)進(jìn)出出 )? 29 2021/4/6 Preconditions: Read-Ahead Material For project being reviewed questionnaires scenarios (These are created as part of the review, but time should be allowed for project me
22、mbers to digest the information.) For review team description of architecture rationale for architecture Ideally, material will address the review questions. (Passing this test because the questions were known in advance is not cheating, but good engineering!) 理想情況,材料要能說(shuō)明評(píng)審時(shí)的問題 30 2021/4/6 Precondi
23、tions: Ranked Quality and Behavioral Requirements Plan to examine three to five quality and behavioral requirements. 計(jì)劃?rùn)z查 3到 5個(gè)質(zhì)量和行為需求 A particular representation medium (language) for the architecture is not necessary. As long as the information can be extracted (using project members as necessary)
24、, the form of the representation is not important. 一個(gè)專門的體系結(jié)構(gòu)表述媒體 (語(yǔ)言 )目前并不是 必須的。由項(xiàng)目成員來(lái)講解信息,表述的形式并 不重要 31 2021/4/6 Review Activities Evaluate “Run” the scenarios and ask the questions, or answer the items in the checklist. 按場(chǎng)景執(zhí)行,并詢問相關(guān)問題;或者回答問卷里的問 題 Perform the experiments.(演示實(shí)驗(yàn)) Execute the prototyp
25、es or simulations. 運(yùn)行原型或仿真程序 Record critical issues highlighted in the review 評(píng)審中發(fā)現(xiàn)的嚴(yán)重問題 comments of project members on these issues 項(xiàng)目成員對(duì)這些問題的說(shuō)明 32 2021/4/6 Review Activities Rank the issues project-threatening(生死攸關(guān)) major minor Each issue raised should be addressed in terms of changing the archit
26、ecture relaxing the requirements 33 2021/4/6 Review Activities Warning signs architecture forced to match organization 組織模式影響體系結(jié)構(gòu) top-level components number over 25 頂層組件數(shù)超過 25個(gè) one requirement drives entire design 一項(xiàng)需求決定整個(gè)設(shè)計(jì) architecture depends on alternatives in the operating system 體系受操作系統(tǒng)選擇的影響
27、 34 2021/4/6 Review Activities Warning signs choice of software components is dictated by hardware personnel 由硬件人員選擇軟件組件 redundancy not needed for reliability 面對(duì)可靠性時(shí),不考慮冗余手段 design is exception driven 零散的小的事件影響設(shè)計(jì) no identifiable architect 沒有確定的架構(gòu)師 35 2021/4/6 Output from Review Set of ranked issue
28、s supporting data contained in formal report feedback to project Enhanced system documentation 增強(qiáng)的系統(tǒng)文檔 Set of scenarios for future use 將來(lái)會(huì)用到的場(chǎng)景集 Identification of potentially reusable components 認(rèn)定潛在的可重用組件 Estimation of costs and benefits 估算成本和收益 36 2021/4/6 SAAM: Software Architecture Analysis Met
29、hod 一種簡(jiǎn)單的基于場(chǎng)景的評(píng)審技術(shù) 37 2021/4/6 Qualities Are Too Vague for Analysis Is the following system modifiable? 這個(gè)系統(tǒng)具有適應(yīng)性嗎? Background color of the user interface is changed merely by modifying a resource file. 通過修改資源文件,可以改變界面的背景色 Dozens of components must be changed to accommodate a new data file format.
30、必須修改許多組件才能適應(yīng)新的文件格式 A reasonable answer is 一個(gè)合理的答案: yes with respect to changing background color 有 ,從改變背景色的角度來(lái)看 no with respect to changing file format 沒有 ,從改變文件格式的角度來(lái)看 38 2021/4/6 Qualities Are Too Vague for Analysis Qualities only have meaning within a context. 質(zhì)量因素只在一定的上下文里才有意義 SAAM specifies co
31、ntext through scenarios. SAAM通過場(chǎng)景指定上下文 39 2021/4/6 Scenarios A scenario is a brief description of a stakeholders interaction with a system. 場(chǎng)景就是一個(gè)角色與系統(tǒng)交互過程的簡(jiǎn)單描述 When creating scenarios, it is important to consider all stakeholders. 建立場(chǎng)景的時(shí)候,一定要考慮到所有的角色 Customer、 User、 Developer、 Maintainer、 Attacker
32、 The scenarios that are of most interest in a SAAM evaluation are change scenarios. SAAM最關(guān)心的是 變化 場(chǎng)景 40 2021/4/6 Steps of a SAAM Evaluation Identify and assemble stakeholders 確認(rèn)和召集角色 Develop and prioritize scenarios 制定場(chǎng)景,并排好優(yōu)先級(jí) Describe candidate architecture(s) 描述候選的體系結(jié)構(gòu) Classify scenarios as direc
33、t or indirect 把場(chǎng)景分類為 直接場(chǎng)景 和 間接場(chǎng)景 Perform scenario evaluation 進(jìn)行場(chǎng)景評(píng)估 Reveal scenario interactions 展現(xiàn)場(chǎng)景間的相互影響 Generate overall evaluation 整體評(píng)估 41 2021/4/6 Step 1: Identify and Assemble Stakeholders Stakeholder Interest Customer Schedule and budget; usefulness of system; meeting customers (or markets)
34、 expectations End User Functionality, usability Developer Clarity and completeness of architecture; high cohesion and limited coupling of parts; clear interaction mechanisms Maintainer Maintainability; ability to locate places of change 42 2021/4/6 Step 1: Identify and Assemble Stakeholders Stakeho
35、lder Interest System Administrator Ease in finding sources of operational problems Network Administrator Network performance, predictability Intergrator Clarity and completeness of architecture; high cohesion and limited coupling of parts; clear interaction mechanisms 43 2021/4/6 Step 1: Identify a
36、nd Assemble Stakeholders Stakeholder Interest Tester Integrated, consistent error handling; limited component coupling; high component cohesion; conceptual integrity Application Builder Architectural clarity, completeness; interaction mechanisms; simple tailoring mechanisms Representative of the dom
37、ain Interoperability 44 2021/4/6 Step 2: Stakeholders Develop and Prioritize Scenarios Scenarios should be typical of the kinds of evolution that the system must support: 場(chǎng)景應(yīng)該是系統(tǒng)必須支持的各種演化的典型: functionality development activities change activities Scenarios should represent tasks relevant to all sta
38、keholders. 所有角色都應(yīng)該能在場(chǎng)景中體現(xiàn)出來(lái) Rule of thumb: 10-15 prioritized scenarios 應(yīng)該有 10-15個(gè)優(yōu)先的場(chǎng)景 45 2021/4/6 Step 3: Describe Candidate Architectures It is frequently necessary to elicit appropriate architectural descriptions. 通常,對(duì)體系結(jié)構(gòu)進(jìn)行適當(dāng)?shù)拿枋鍪欠浅?重要的 Structures chosen to describe the architecture will depend
39、on the type of qualities to be evaluated. 以我們需要的質(zhì)量為依據(jù),選擇用來(lái)描述 體系結(jié)構(gòu)的結(jié)構(gòu) 46 2021/4/6 Step 4: Classify Scenarios There 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)景 Indirect scenarios are those that require modific
40、ations to the system. 間接場(chǎng)景是那些需要修改系統(tǒng)的場(chǎng)景 The classification depends upon both the scenario and the architecture. 場(chǎng)景的類型因系統(tǒng)而異 For 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è)變化的難度(工作量) 47 2021/4/6 Step 5:
41、 Perform Scenario Evaluation For each indirect scenario identify the components, data connections, control connections, and interfaces that must be added, deleted, or modified 明確其組件、數(shù)據(jù)連結(jié)件、控制連結(jié)件和要被增加、刪除或修改 的接口 estimate the difficulty of modification 估算修改的難度 Difficulty of modification is elicited from
42、 the architect and is based on the number of components to be modified and the effect of the modifications. 修改的難度體現(xiàn)在被修改的組件個(gè)數(shù)和修改的效果 A monolithic system will score well on this step, but not on next step. 只有一個(gè)模塊的系統(tǒng)在此項(xiàng)評(píng)估可以得到高分,但是 48 2021/4/6 Step 6: Reveal Scenario Interactions When multiple indirect
43、scenarios affect the same components, this could indicate a problem. 當(dāng)多個(gè)間接場(chǎng)景影響同一個(gè)組件時(shí),可能引發(fā)問題 could be good, if scenarios are variants of each other 可能是好事,當(dāng)場(chǎng)景是彼此的變體 change background color to green change background color to red could be bad, indicating a potentially poor separation of concerns 可能是壞事,
44、說(shuō)明模塊劃分有問題 change background color to red port system to a different platform 49 2021/4/6 Step 7: Generate Overall Evaluation Not all scenarios are equal. 場(chǎng)景生來(lái)不平等 The organization must determine which scenarios are most important. 必須明確哪些場(chǎng)景是最重要的 Then 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ì)可行,還 是必須要修改
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 110中國(guó)人民警察節(jié)(筑牢忠誠(chéng)警魂感受別樣警彩)
- 2025正字當(dāng)頭廉字入心爭(zhēng)當(dāng)公安隊(duì)伍鐵軍
- XX國(guó)企干部警示教育片觀后感筑牢信仰之基堅(jiān)守廉潔底線
- 2025做擔(dān)當(dāng)時(shí)代大任的中國(guó)青年P(guān)PT青年思想教育微黨課
- 2025新年工作部署會(huì)圍繞六個(gè)干字提要求
- XX地區(qū)中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 支部書記上黨課筑牢清廉信念為高質(zhì)量發(fā)展?fàn)I造風(fēng)清氣正的環(huán)境
- 冬季消防安全知識(shí)培訓(xùn)冬季用電防火安全
- 2025加強(qiáng)政治引領(lǐng)(政治引領(lǐng)是現(xiàn)代政黨的重要功能)
- 主播直播培訓(xùn)直播技巧與方法
- 2025六廉六進(jìn)持續(xù)涵養(yǎng)良好政治生態(tài)
- 員工職業(yè)生涯規(guī)劃方案制定個(gè)人職業(yè)生涯規(guī)劃
- 2024年XX地區(qū)黨建引領(lǐng)鄉(xiāng)村振興工作總結(jié)
- XX中小學(xué)期末考試經(jīng)驗(yàn)總結(jié)(認(rèn)真復(fù)習(xí)輕松應(yīng)考)
- 幼兒園期末家長(zhǎng)會(huì)長(zhǎng)長(zhǎng)的路慢慢地走