如何評估架構(gòu)_第1頁
如何評估架構(gòu)_第2頁
如何評估架構(gòu)_第3頁
如何評估架構(gòu)_第4頁
如何評估架構(gòu)_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、關(guān)注軟件架構(gòu)的系列主題 -如何評估架構(gòu) Overview 2021.6.28 一、引言一、引言 二二、ATAMATAM 三、三、CBAMCBAM 提綱 四四、架構(gòu)編檔與評估、架構(gòu)編檔與評估 時(shí)間 參與 者 收益 技巧 前置 條件 結(jié)果 為什么要評估軟件架構(gòu)? 我們需要了解軟件架構(gòu)設(shè) 計(jì)的原因,因?yàn)楹芏嗍虑槎?依賴于架構(gòu),并且我們能夠 對架構(gòu)進(jìn)行評估。 在每個(gè)基于架構(gòu)的開發(fā)方 法中都應(yīng)該進(jìn)行架構(gòu)評估。 時(shí)間 參與 者 收益 技巧 前置 條件 結(jié)果 時(shí)間 在軟件的生命期內(nèi)近可能早的評 估軟件架構(gòu)幾乎總是經(jīng)濟(jì)高效的。 可以在系統(tǒng)生命周期的許多個(gè)點(diǎn) 上進(jìn)行架構(gòu)評估。 參與者 項(xiàng)目負(fù)責(zé)人、架構(gòu)師 有經(jīng)驗(yàn)

2、的評估團(tuán)隊(duì) 其他涉眾 時(shí)間 參與 者 收益 技巧 前置 條件 結(jié)果 經(jīng)濟(jì)性 在8年的時(shí)間內(nèi)對架構(gòu) 進(jìn)行評估的經(jīng)驗(yàn)表明,進(jìn) 行全面的架構(gòu)評估平均可 以節(jié)約10%的成本 促進(jìn)編檔 向被評審人員說明架 構(gòu)評估的重點(diǎn)并要求他們 在評估前表述構(gòu)架,意味 著被評審人員必須對架構(gòu) 進(jìn)行編檔 了解原理 架構(gòu)評估通常側(cè)重于 需要回答的一些具體問題 的某幾個(gè)特定的方面,回 答這些問題通常需要解釋 設(shè)計(jì)選擇及其基本原理 驗(yàn)證需求 討論和檢查架構(gòu)滿足其需 求的情況可以展開對需求 的討論,結(jié)果是能更清楚 的理解需求,通常還能夠 知道需求的優(yōu)先級 架構(gòu)改進(jìn) 架構(gòu)評估不僅在評估后得 到了更好的架構(gòu),隨著時(shí) 間的推移,組織就

3、培養(yǎng)了 一種提倡優(yōu)秀的架構(gòu)設(shè)計(jì) 的文化 時(shí)間 參與 者 收益 技巧 前置 條件 結(jié)果 提問技巧 ATAM和CBAM方法就是“提問 技巧”的示例,在假定的架構(gòu)上就 可以很好的應(yīng)用它,并且可以在生 命期的早期應(yīng)用。 度量技巧 提問技巧的補(bǔ)充是度量技巧,它 依賴于對某些類似的定量度量,使 用度量技巧時(shí),必須有已經(jīng)存在的 、可以被度量的工作產(chǎn)品。 時(shí)間 參與 者 收益 技巧 前置 條件 結(jié)果 前置條件 表述清晰的架構(gòu)目標(biāo)與需求,只有需求 明確,才能評估一個(gè)架構(gòu)是好還是壞; 可控制的范圍,列出幾個(gè)明確的目標(biāo), 數(shù)量最少應(yīng)該有3-5個(gè); 經(jīng)濟(jì)高效,ATAM與CBAM方法適用于 大中型項(xiàng)目,對于小項(xiàng)目可能就

4、不是經(jīng) 濟(jì)高效的了; 關(guān)鍵人員參與,務(wù)必確保能夠系統(tǒng)、清 晰表述架構(gòu)的人能參與; 稱職的評估團(tuán)隊(duì),在理想狀態(tài)下,評估 團(tuán)隊(duì)?wèi)?yīng)該是公司內(nèi)的一個(gè)獨(dú)立實(shí)體,它 們必須公正、客觀并受人尊重。 時(shí)間 參與 者 收益 技巧 前置 條件 結(jié)果 結(jié)果(應(yīng)該包含,但不限于) 一個(gè)簡潔清晰的架構(gòu)表述 一個(gè)簡潔清晰的業(yè)務(wù)目標(biāo)表述 代表質(zhì)量需求的場景集合 架構(gòu)決策到質(zhì)量需求的映射 確定的敏感點(diǎn)和權(quán)衡點(diǎn)集合 有風(fēng)險(xiǎn)決策和無風(fēng)險(xiǎn)決策 風(fēng)險(xiǎn)主題的集合 根據(jù)ROI(投資回報(bào)率)對架構(gòu)策略 的排序(僅限于CBAM) 一、引言一、引言 二二、ATAMATAM 三、三、CBAMCBAM 提綱 四四、架構(gòu)編檔與評估、架構(gòu)編檔與評估

5、ATAM,架構(gòu)權(quán)衡分析法,是評估軟件架構(gòu)的一種綜合全面的方法,它不僅可以 揭示出架構(gòu)滿足特定質(zhì)量目標(biāo)的情況,而且可以使我們更清楚的認(rèn)識到質(zhì)量目標(biāo) 之間的聯(lián)系-即如何權(quán)衡諸多質(zhì)量目標(biāo)。 第0階段 通常是評估 小組的負(fù)責(zé) 人與項(xiàng)目決 策者進(jìn)行溝 通,做好評 估前的準(zhǔn)備 工作 第1階段 通常是評估 小組與項(xiàng)目 決策者聯(lián)合 工作,收集 有價(jià)值的資 料并對其進(jìn) 行整理分析 第2階段 通常是評估 小組、項(xiàng)目 決策者以及 架構(gòu)涉眾聯(lián) 合工作,繼 續(xù)第一階段 的分析,并 最終給出評 估結(jié)果 第3階段 通常是評估 小組和評估 的客戶,是 對前兩個(gè)階 段工作的總 結(jié)以及進(jìn)行 自我反省與 改進(jìn) 評估小組,由3-5個(gè)

6、有經(jīng) 驗(yàn)的架構(gòu)師組成 項(xiàng)目決策者,項(xiàng)目經(jīng)理、 開發(fā)經(jīng)理等對項(xiàng)目決策負(fù) 責(zé)的人 架構(gòu)涉眾,高級主管,開 發(fā)人員、測試人員、運(yùn)維 人員等 分析階段 第1階段與第2階段合起來又稱為ATAM的分析階段,一共有9步組成,其中第16 步在第1階段執(zhí)行,第79步在第2階段執(zhí)行。 由評估負(fù)責(zé)人向參加會(huì)議的項(xiàng)目負(fù)責(zé)人介紹ATAM,要將整個(gè)流程 做一個(gè)全面的介紹并回答問題第一步 由項(xiàng)目負(fù)責(zé)人從商業(yè)的角度向評估小組介紹系統(tǒng)的概況,包括:系 統(tǒng)最重要的功能,任何相關(guān)的技術(shù)、管理、經(jīng)濟(jì)和政治限制,與該 項(xiàng)目相關(guān)的商業(yè)目標(biāo)和上下文,主要的涉眾,構(gòu)架的驅(qū)動(dòng)因素(即 促使形成該架構(gòu)的主要質(zhì)量屬性目標(biāo)) 第二步 由項(xiàng)目架構(gòu)師向

7、評估小組介紹整個(gè)架構(gòu),這里有一些具體的方法 第三步 描述驅(qū)動(dòng)架構(gòu)形成的需求,以及現(xiàn)在已采用的標(biāo)準(zhǔn)/模型/方法(23張幻燈片) 重要的架構(gòu)信息(48張幻燈片) 上下文圖:系統(tǒng)將存在的上下文,該系統(tǒng)將與之交互的人或其他系統(tǒng); 模塊或分層視圖:描述系統(tǒng)功能分解的模塊(可以是子系統(tǒng)或?qū)樱约白鳛槠渚唧w 內(nèi)容; 組件-連接器視圖:進(jìn)程、線程及其同步關(guān)系、數(shù)據(jù)流及將其連接起來的事件; 部署視圖:CPU、存儲器、外設(shè)/傳感器以及連接它們的網(wǎng)絡(luò)和通信設(shè)備;還顯示了在 各個(gè)處理器上執(zhí)行的進(jìn)程。 架構(gòu)方法、模式或所采用的戰(zhàn)術(shù),包括它們實(shí)現(xiàn)了什么質(zhì)量屬性以及這些方法如何實(shí)現(xiàn) 這些屬性的描述(68張幻燈片) 商業(yè)產(chǎn)

8、品的使用及其選擇/集成(12張幻燈片); 對13個(gè)最重要的用例場景的介紹。如果有可能的話,包括對每個(gè)場景的運(yùn)行時(shí)資源 使用情況的介紹(13張幻燈片); 對13個(gè)最重要的變更場景的介紹。如果有可能的話,根據(jù)所變更的模塊或接口來描 述變更的影響,即預(yù)計(jì)的變更的規(guī)模/難度(13張幻燈片); 與實(shí)現(xiàn)促使形成該架構(gòu)的需求相關(guān)的架構(gòu)問題/風(fēng)險(xiǎn)(23張幻燈片) 術(shù)語表(1張幻燈片) 第三步需要項(xiàng)目架構(gòu)師介紹項(xiàng)目的架構(gòu),下面這個(gè)20頁P(yáng)PT的提綱是很好的參考。 評估小組對項(xiàng)目構(gòu)架中很明顯的模式和方法進(jìn)行記錄和分類,便于 后續(xù)的分析第四步 評估小組通過“質(zhì)量屬性效用樹”的方式對系統(tǒng)的質(zhì)量屬性進(jìn)行梳 理與場景對應(yīng)

9、,分為三層,分別是質(zhì)量屬性、屬性求精以及場景描 述 第五步 評估小組要對其中的場景進(jìn)行細(xì)致的分析,目的是為了找出這些架 構(gòu)在支持這些場景的實(shí)現(xiàn)時(shí)存在哪些風(fēng)險(xiǎn),哪些敏感點(diǎn),哪些權(quán)衡 點(diǎn) 第六步 質(zhì)量屬性屬性求精場景 性能交易響應(yīng)時(shí)間在系統(tǒng)處于峰期負(fù)載時(shí),為對地址變更通知作出 響應(yīng),用戶更新病人的賬戶,交易要在0.75秒內(nèi) 完成(H,M) 吞吐量在峰期負(fù)載下,系統(tǒng)每秒能夠完成150次范式化的 事務(wù) 可配置性醫(yī)院提高某項(xiàng)服務(wù)的費(fèi)用。配置小組在一個(gè)工作 日內(nèi)完成該改變,不需要改變原代碼(H,M) 易用性熟練度培訓(xùn)讓有2年及以上行業(yè)經(jīng)驗(yàn)的員工能在1周內(nèi)掌握該 系統(tǒng)的核心功能(M,L) 質(zhì)量屬性:不必過分

10、追求質(zhì)量屬性的命名,按照涉眾能夠接受的名字即可,其含義主 要還是取決于場景。 場景:一個(gè)場景中不能包含過多的質(zhì)量屬性,并且每個(gè)場景都應(yīng)該有自己的優(yōu)先級和 難易度的定義(例如H、M和L分別對應(yīng)了高、中、低)。 有敏感 點(diǎn) 架構(gòu)A 有風(fēng)險(xiǎn) 場景A 分析 記錄架構(gòu)A為 有風(fēng)險(xiǎn)決策 有敏感 點(diǎn) 架構(gòu)B 有風(fēng)險(xiǎn) 場景B 分析 有敏感 點(diǎn) 架構(gòu)A 有風(fēng)險(xiǎn) 場景C 分析 記錄架構(gòu)B為 有風(fēng)險(xiǎn)決策 記錄架構(gòu)A為 權(quán)衡點(diǎn) 有敏感 點(diǎn) 架構(gòu)D 無風(fēng)險(xiǎn) 場景D 分析 記錄架構(gòu)D為 無風(fēng)險(xiǎn)決策 第一階段結(jié)束后,評估小組將得到一份關(guān)于架構(gòu)的記錄 與分析文檔,其中包括質(zhì)量屬性效用樹、敏感點(diǎn)、有風(fēng)險(xiǎn)決 策、無風(fēng)險(xiǎn)決策以及權(quán)

11、衡點(diǎn),這些內(nèi)容將作為第二階段的輸 入物。 在第二階段啟動(dòng)之前,評估小組應(yīng)該拿出1-2周的時(shí)間來 與項(xiàng)目組成員進(jìn)行一些非常正式的溝通,使得了解能夠更加 的徹底,當(dāng)涉眾被召集到一起后,第二階段就開始了,在其 正式步驟開始之前,評估小組還需要向涉眾介紹一遍ATAM 的評估方法。 涉眾集中討論已經(jīng)給出的質(zhì)量屬性效能樹中的場景,可以為其進(jìn)行 優(yōu)先級排序,并可以補(bǔ)充新的場景。第七步 按照第六步的方法對涉眾評選出來的部分最優(yōu)先的場景再進(jìn)行一次 架構(gòu)分析。第八步 形成最后的ATAM文檔(在引言中已經(jīng)描述) 第九步 讓他們通過投票表決來確定哪些場景是最重要的。在分配 選票時(shí),每個(gè)涉眾都會(huì)拿到相當(dāng)于總場景數(shù)的30

12、%的選票, 并且此數(shù)值只入不舍。在投票時(shí),涉眾可以隨意使用這些選 票:可以把這6張選票都投給1個(gè)場景,也可以給1個(gè)場景投 1張選票,或者是介于以上兩者之間的其他方式。 最終,我們可以選擇“在某得票數(shù)之上”的場景,例如, 評估小組可能只考慮得票數(shù)最多的前5個(gè)場景。 質(zhì)量屬性需求的 優(yōu)先級劃分 所有架構(gòu)方法的 編目 針對方法或質(zhì)量 屬性的分析問題 架構(gòu)方法與質(zhì)量 屬性的對應(yīng) 有風(fēng)險(xiǎn)決策和無 風(fēng)險(xiǎn)決策 敏感點(diǎn)和權(quán)衡點(diǎn) (1)ATAM方 法表述 (2)商業(yè)動(dòng)機(jī) 的表述 * (3)架構(gòu)的表 述 * (4)確定架構(gòu) 方法 * (5)生成質(zhì)量 屬性效用樹 * (6)分析架構(gòu) 方法 * (7)集體討論 并確定

13、場景優(yōu)先 級 * (8)分析架構(gòu) 方法 * (9)結(jié)果的表 述 *表示該步驟是該結(jié)果的次要提供者 *表示該步驟是該結(jié)果的主要提供者 結(jié)果 步驟 它只會(huì)告訴你在當(dāng)前給定的條件下,總體需 求是否得到了滿足,并且是足夠好的滿足 ATAM不是需求評 估 因?yàn)樗陂_發(fā)之前就可以啟動(dòng) ATAM不是代碼評 估 因?yàn)樗陂_發(fā)之前就可以啟動(dòng) ATAM不是系統(tǒng)測 試 ATAM所發(fā)現(xiàn)的敏感點(diǎn)、權(quán)衡點(diǎn),有風(fēng)險(xiǎn)決 策、無風(fēng)險(xiǎn)決策都是由參與者的能力決定的 ATAM不是精確方 法 總體來說,ATAM是一個(gè)重量級的架構(gòu)健壯性評估方法,它通過對場景的分析 ,挖掘出架構(gòu)設(shè)計(jì)中的問題及風(fēng)險(xiǎn)點(diǎn),以便項(xiàng)目組進(jìn)行改進(jìn)。 一、引言一、引言

14、 二二、ATAMATAM 三、三、CBAMCBAM 提綱 四四、架構(gòu)編檔與評估、架構(gòu)編檔與評估 ATAM遺漏了一個(gè)重要的考慮事項(xiàng):在大型復(fù)雜系統(tǒng)中最大的權(quán)衡通常必須考 慮經(jīng)濟(jì)性。我們需要一個(gè)考慮成本、收益、風(fēng)險(xiǎn)和進(jìn)度的軟件的“經(jīng)濟(jì)”模型。 CBAM,成本收益分析方法,它構(gòu)建在ATAM之上,提供了對技術(shù)的經(jīng)濟(jì)問題 以及構(gòu)架決策的評估。 效用-響 應(yīng)曲線分 析場景 對應(yīng)場景 設(shè)計(jì)架構(gòu) 策略 計(jì)算每個(gè) 策略產(chǎn)生 的收益 根據(jù)策略 成本計(jì)算 ROI 100 0 效用 質(zhì)量屬性響應(yīng) ab Bi = (bi,j Wj) j Ri = Bi / Ci 規(guī)劃效用-響應(yīng)曲線通??梢圆捎靡韵滤牟絹韺?shí)現(xiàn)。 100

15、0 效用 質(zhì)量屬性響應(yīng) ab 對從ATAM中繼承過來的場景進(jìn)行整理,可以選擇讓涉眾重新投 票來確定優(yōu)先級(經(jīng)濟(jì)性評估可能會(huì)導(dǎo)致優(yōu)先級變化),取取1/3 的場景進(jìn)行后續(xù)評估的場景進(jìn)行后續(xù)評估。 第一步 對場景的響應(yīng)目標(biāo)進(jìn)行求精,定義出每個(gè)場景最壞、最好、當(dāng)前最壞、最好、當(dāng)前 以及期望以及期望的響應(yīng)目標(biāo) 第二步 再次確定優(yōu)先級,這次的不同是在確定了響應(yīng)目標(biāo)的前提下,當(dāng) 然我們可以采用投票的方式,取取1/2的場景進(jìn)行后續(xù)評估的場景進(jìn)行后續(xù)評估。 第三步 根據(jù)每個(gè)場景的四個(gè)響應(yīng)值,來確定其相對應(yīng)的效用,這里只是 給出一個(gè)效用得分。需要注意的時(shí),最壞的響應(yīng)目標(biāo)也未必對應(yīng) 著0分,當(dāng)然最好的也未必就是10

16、0分,要根據(jù)實(shí)際情況給出。 第四步 響應(yīng)目標(biāo) 場景描述票數(shù)最壞當(dāng)前期望最好 1減少手工干預(yù)導(dǎo)致的分配請 求掛起的數(shù)據(jù)分配故障 1010%掛起5%掛起1%掛起0%掛起 3減少在訂單提交過程中失敗 的訂單數(shù)量 1510%失敗5%失敗1%失敗0%失敗 5減少會(huì)導(dǎo)致丟失訂單的訂單 故障 1510%丟失1%以下丟 失 0%丟失0%丟失 效用得分 場景描述票數(shù)最壞當(dāng)前期望最好 1減少手工干預(yù)導(dǎo)致的分配請 求掛起的數(shù)據(jù)分配故障 10108095100 3減少在訂單提交過程中失敗 的訂單數(shù)量5減少會(huì)導(dǎo)致丟失訂單的訂單 故障根據(jù)最壞、當(dāng)前、期望、最好四個(gè)基本點(diǎn)

17、,構(gòu)造整個(gè)效用-響應(yīng)曲線 每一個(gè)架構(gòu)策略都有可能對應(yīng)一到多個(gè)場景,每一個(gè)場景也有可能對應(yīng)一道多 個(gè)架構(gòu)策略。為了能夠計(jì)算架構(gòu)策略的收益,因此必須給出每個(gè)場景在采用了架構(gòu) 之后能夠達(dá)到的新響應(yīng)情況,如下表所示。 策略名稱描述影響的場景當(dāng)前的響應(yīng)架構(gòu)達(dá)到的響應(yīng) 1訂單提交的 持續(xù)性 訂單一到達(dá)系統(tǒng)就存儲 該訂單 35%失敗2%失敗 51%以下丟失0%丟失 5訂單的重新 分配 允許操作人員重新分配 訂單 15%掛起2%掛起 7被迫的完成 訂單 允許操作人員跳過由于 數(shù)據(jù)質(zhì)量限制導(dǎo)致的系 統(tǒng)不可用 15%掛起3%掛起 根據(jù)效用-響應(yīng)曲線,代入架構(gòu)達(dá)到的響應(yīng),計(jì)算出架構(gòu)達(dá)到的響應(yīng)效用。 根據(jù)每個(gè)場景架構(gòu)

18、達(dá)到的效用與其當(dāng)前的效用的差值,我們可以得出效用提升 的大小,再乘以票數(shù)(暨權(quán)重)就可以得到這個(gè)場景的收益。 一個(gè)架構(gòu)策略對應(yīng)的所有場景的收益和就是這個(gè)架構(gòu)策略的總收益。 策略名稱影響的場景票數(shù)當(dāng)前的效用架構(gòu)達(dá)到的效用收益 1訂單提交的 持續(xù)性 315709015*20=300 5157010015*30=450 5訂單的重新 分配 110809010*10=100 7被迫的完成 訂單 110808510*5=50 架構(gòu)策略1總收益:300+450=750 架構(gòu)策略5總收益:100 架構(gòu)策略7總收益:50 估算成本的方式通常以人天為單位,因此如果我們要估算一個(gè)架構(gòu)策略的成本 就應(yīng)該考察實(shí)現(xiàn)它所需要的人天數(shù),一般來說這由提出它的架構(gòu)師給出,如果最 終這個(gè)架構(gòu)策略被采納,那么項(xiàng)目組就應(yīng)該將其視為一個(gè)任務(wù),并按照其估算監(jiān) 督

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論