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

下載本文檔

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

文檔簡(jiǎn)介

關(guān)注軟件架構(gòu)的系列主題

-如何評(píng)估架構(gòu)Overview202月-23一、引言二、ATAM三、CBAM提綱四、架構(gòu)編檔與評(píng)估為什么要評(píng)估軟件架構(gòu)時(shí)間參與者收益技巧前置條件結(jié)果為什么要評(píng)估軟件架構(gòu)?

我們需要了解軟件架構(gòu)設(shè)計(jì)的原因,因?yàn)楹芏嗍虑槎家蕾囉诩軜?gòu),并且我們能夠?qū)軜?gòu)進(jìn)行評(píng)估。

在每個(gè)基于架構(gòu)的開發(fā)方法中都應(yīng)該進(jìn)行架構(gòu)評(píng)估。軟件架構(gòu)評(píng)估的重要因素時(shí)間參與者收益技巧前置條件結(jié)果時(shí)間

在軟件的生命期內(nèi)近可能早的評(píng)估軟件架構(gòu)幾乎總是經(jīng)濟(jì)高效的。

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

ATAM和CBAM方法就是“提問技巧”的示例,在假定的架構(gòu)上就可以很好的應(yīng)用它,并且可以在生命期的早期應(yīng)用。度量技巧提問技巧的補(bǔ)充是度量技巧,它依賴于對(duì)某些類似的定量度量,使用度量技巧時(shí),必須有已經(jīng)存在的、可以被度量的工作產(chǎn)品。軟件架構(gòu)評(píng)估的重要因素時(shí)間參與者收益技巧前置條件結(jié)果前置條件表述清晰的架構(gòu)目標(biāo)與需求,只有需求明確,才能評(píng)估一個(gè)架構(gòu)是好還是壞;可控制的范圍,列出幾個(gè)明確的目標(biāo),數(shù)量最少應(yīng)該有3-5個(gè);經(jīng)濟(jì)高效,ATAM與CBAM方法適用于大中型項(xiàng)目,對(duì)于小項(xiàng)目可能就不是經(jīng)濟(jì)高效的了;關(guān)鍵人員參與,務(wù)必確保能夠系統(tǒng)、清晰表述架構(gòu)的人能參與;稱職的評(píng)估團(tuán)隊(duì),在理想狀態(tài)下,評(píng)估團(tuán)隊(duì)?wèi)?yīng)該是公司內(nèi)的一個(gè)獨(dú)立實(shí)體,它們必須公正、客觀并受人尊重。軟件架構(gòu)評(píng)估的重要因素時(shí)間參與者收益技巧前置條件結(jié)果結(jié)果(應(yīng)該包含,但不限于)一個(gè)簡(jiǎn)潔清晰的架構(gòu)表述一個(gè)簡(jiǎn)潔清晰的業(yè)務(wù)目標(biāo)表述代表質(zhì)量需求的場(chǎng)景集合架構(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)率)對(duì)架構(gòu)策略的排序(僅限于CBAM)一、引言二、ATAM三、CBAM提綱四、架構(gòu)編檔與評(píng)估ATAM概念A(yù)TAM,架構(gòu)權(quán)衡分析法,是評(píng)估軟件架構(gòu)的一種綜合全面的方法,它不僅可以揭示出架構(gòu)滿足特定質(zhì)量目標(biāo)的情況,而且可以使我們更清楚的認(rèn)識(shí)到質(zhì)量目標(biāo)之間的聯(lián)系-即如何權(quán)衡諸多質(zhì)量目標(biāo)。第0階段通常是評(píng)估小組的負(fù)責(zé)人與項(xiàng)目決策者進(jìn)行溝通,做好評(píng)估前的準(zhǔn)備工作第1階段通常是評(píng)估小組與項(xiàng)目決策者聯(lián)合工作,收集有價(jià)值的資料并對(duì)其進(jìn)行整理分析第2階段通常是評(píng)估小組、項(xiàng)目決策者以及架構(gòu)涉眾聯(lián)合工作,繼續(xù)第一階段的分析,并最終給出評(píng)估結(jié)果第3階段通常是評(píng)估小組和評(píng)估的客戶,是對(duì)前兩個(gè)階段工作的總結(jié)以及進(jìn)行自我反省與改進(jìn)評(píng)估小組,由3-5個(gè)有經(jīng)驗(yàn)的架構(gòu)師組成項(xiàng)目決策者,項(xiàng)目經(jīng)理、開發(fā)經(jīng)理等對(duì)項(xiàng)目決策負(fù)責(zé)的人架構(gòu)涉眾,高級(jí)主管,開發(fā)人員、測(cè)試人員、運(yùn)維人員等分析階段ATAM分析階段(1-3)第1階段與第2階段合起來又稱為ATAM的分析階段,一共有9步組成,其中第1~6步在第1階段執(zhí)行,第7~9步在第2階段執(zhí)行。第一步由評(píng)估負(fù)責(zé)人向參加會(huì)議的項(xiàng)目負(fù)責(zé)人介紹ATAM,要將整個(gè)流程做一個(gè)全面的介紹并回答問題第二步由項(xiàng)目負(fù)責(zé)人從商業(yè)的角度向評(píng)估小組介紹系統(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)師向評(píng)估小組介紹整個(gè)架構(gòu),這里有一些具體的方法第三步,架構(gòu)描述方法描述驅(qū)動(dòng)架構(gòu)形成的需求,以及現(xiàn)在已采用的標(biāo)準(zhǔn)/模型/方法(2~3張幻燈片)重要的架構(gòu)信息(4~8張幻燈片)上下文圖:系統(tǒng)將存在的上下文,該系統(tǒng)將與之交互的人或其他系統(tǒng);模塊或分層視圖:描述系統(tǒng)功能分解的模塊(可以是子系統(tǒng)或?qū)樱?,以及作為其具體內(nèi)容;組件-連接器視圖:進(jìn)程、線程及其同步關(guān)系、數(shù)據(jù)流及將其連接起來的事件;部署視圖:CPU、存儲(chǔ)器、外設(shè)/傳感器以及連接它們的網(wǎng)絡(luò)和通信設(shè)備;還顯示了在各個(gè)處理器上執(zhí)行的進(jìn)程。架構(gòu)方法、模式或所采用的戰(zhàn)術(shù),包括它們實(shí)現(xiàn)了什么質(zhì)量屬性以及這些方法如何實(shí)現(xiàn)這些屬性的描述(6~8張幻燈片)商業(yè)產(chǎn)品的使用及其選擇/集成(1~2張幻燈片);對(duì)1~3個(gè)最重要的用例場(chǎng)景的介紹。如果有可能的話,包括對(duì)每個(gè)場(chǎng)景的運(yùn)行時(shí)資源使用情況的介紹(1~3張幻燈片);對(duì)1~3個(gè)最重要的變更場(chǎng)景的介紹。如果有可能的話,根據(jù)所變更的模塊或接口來描述變更的影響,即預(yù)計(jì)的變更的規(guī)模/難度(1~3張幻燈片);與實(shí)現(xiàn)促使形成該架構(gòu)的需求相關(guān)的架構(gòu)問題/風(fēng)險(xiǎn)(2~3張幻燈片)術(shù)語表(1張幻燈片)第三步需要項(xiàng)目架構(gòu)師介紹項(xiàng)目的架構(gòu),下面這個(gè)20頁P(yáng)PT的提綱是很好的參考。ATAM分析階段(4-6)第四步評(píng)估小組對(duì)項(xiàng)目構(gòu)架中很明顯的模式和方法進(jìn)行記錄和分類,便于后續(xù)的分析第五步評(píng)估小組通過“質(zhì)量屬性效用樹”的方式對(duì)系統(tǒng)的質(zhì)量屬性進(jìn)行梳理與場(chǎng)景對(duì)應(yīng),分為三層,分別是質(zhì)量屬性、屬性求精以及場(chǎng)景描述第六步評(píng)估小組要對(duì)其中的場(chǎng)景進(jìn)行細(xì)致的分析,目的是為了找出這些架構(gòu)在支持這些場(chǎng)景的實(shí)現(xiàn)時(shí)存在哪些風(fēng)險(xiǎn),哪些敏感點(diǎn),哪些權(quán)衡點(diǎn)第五步,質(zhì)量屬性效用樹質(zhì)量屬性屬性求精場(chǎng)景性能交易響應(yīng)時(shí)間在系統(tǒng)處于峰期負(fù)載時(shí),為對(duì)地址變更通知作出響應(yīng),用戶更新病人的賬戶,交易要在0.75秒內(nèi)完成(H,M)吞吐量在峰期負(fù)載下,系統(tǒng)每秒能夠完成150次范式化的事務(wù)可配置性醫(yī)院提高某項(xiàng)服務(wù)的費(fèi)用。配置小組在一個(gè)工作日內(nèi)完成該改變,不需要改變?cè)a(H,M)易用性熟練度培訓(xùn)讓有2年及以上行業(yè)經(jīng)驗(yàn)的員工能在1周內(nèi)掌握該系統(tǒng)的核心功能(M,L)質(zhì)量屬性:不必過分追求質(zhì)量屬性的命名,按照涉眾能夠接受的名字即可,其含義主要還是取決于場(chǎng)景。場(chǎng)景:一個(gè)場(chǎng)景中不能包含過多的質(zhì)量屬性,并且每個(gè)場(chǎng)景都應(yīng)該有自己的優(yōu)先級(jí)和難易度的定義(例如H、M和L分別對(duì)應(yīng)了高、中、低)。第六步,架構(gòu)分析有敏感點(diǎn)架構(gòu)A有風(fēng)險(xiǎn)場(chǎng)景A分析記錄架構(gòu)A為有風(fēng)險(xiǎn)決策有敏感點(diǎn)架構(gòu)B有風(fēng)險(xiǎn)場(chǎng)景B分析有敏感點(diǎn)架構(gòu)A有風(fēng)險(xiǎn)場(chǎng)景C分析記錄架構(gòu)B為有風(fēng)險(xiǎn)決策記錄架構(gòu)A為權(quán)衡點(diǎn)有敏感點(diǎn)架構(gòu)D無風(fēng)險(xiǎn)場(chǎng)景D分析記錄架構(gòu)D為無風(fēng)險(xiǎn)決策分析階段1-6總結(jié)第一階段結(jié)束后,評(píng)估小組將得到一份關(guān)于架構(gòu)的記錄與分析文檔,其中包括質(zhì)量屬性效用樹、敏感點(diǎn)、有風(fēng)險(xiǎn)決策、無風(fēng)險(xiǎn)決策以及權(quán)衡點(diǎn),這些內(nèi)容將作為第二階段的輸入物。

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

最終,我們可以選擇“在某得票數(shù)之上”的場(chǎng)景,例如,評(píng)估小組可能只考慮得票數(shù)最多的前5個(gè)場(chǎng)景。ATAM主要步驟及對(duì)結(jié)果提供的信息質(zhì)量屬性需求的優(yōu)先級(jí)劃分所有架構(gòu)方法的編目針對(duì)方法或質(zhì)量屬性的分析問題架構(gòu)方法與質(zhì)量屬性的對(duì)應(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)集體討論并確定場(chǎng)景優(yōu)先級(jí)**(8)分析架構(gòu)方法*********(9)結(jié)果的表述*表示該步驟是該結(jié)果的次要提供者**表示該步驟是該結(jié)果的主要提供者結(jié)果步驟第七步,如何讓涉眾確定場(chǎng)景優(yōu)先級(jí)ATAM不是需求評(píng)估它只會(huì)告訴你在當(dāng)前給定的條件下,總體需求是否得到了滿足,并且是足夠好的滿足ATAM不是代碼評(píng)估因?yàn)樗陂_發(fā)之前就可以啟動(dòng)ATAM不是系統(tǒng)測(cè)試因?yàn)樗陂_發(fā)之前就可以啟動(dòng)ATAM不是精確方法ATAM所發(fā)現(xiàn)的敏感點(diǎn)、權(quán)衡點(diǎn),有風(fēng)險(xiǎn)決策、無風(fēng)險(xiǎn)決策都是由參與者的能力決定的總體來說,ATAM是一個(gè)重量級(jí)的架構(gòu)健壯性評(píng)估方法,它通過對(duì)場(chǎng)景的分析,挖掘出架構(gòu)設(shè)計(jì)中的問題及風(fēng)險(xiǎn)點(diǎn),以便項(xiàng)目組進(jìn)行改進(jìn)。一、引言二、ATAM三、CBAM提綱四、架構(gòu)編檔與評(píng)估CBAM概念A(yù)TAM遺漏了一個(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之上,提供了對(duì)技術(shù)的經(jīng)濟(jì)問題以及構(gòu)架決策的評(píng)估。效用-響應(yīng)曲線分析場(chǎng)景對(duì)應(yīng)場(chǎng)景設(shè)計(jì)架構(gòu)策略計(jì)算每個(gè)策略產(chǎn)生的收益根據(jù)策略成本計(jì)算ROI1000效用質(zhì)量屬性響應(yīng)abBi=∑(bi,j×Wj)jRi=Bi/Ci

確定效用-響應(yīng)曲線

規(guī)劃效用-響應(yīng)曲線通??梢圆捎靡韵滤牟絹韺?shí)現(xiàn)。1000效用質(zhì)量屬性響應(yīng)ab第一步對(duì)從ATAM中繼承過來的場(chǎng)景進(jìn)行整理,可以選擇讓涉眾重新投票來確定優(yōu)先級(jí)(經(jīng)濟(jì)性評(píng)估可能會(huì)導(dǎo)致優(yōu)先級(jí)變化),取1/3的場(chǎng)景進(jìn)行后續(xù)評(píng)估。第二步對(duì)場(chǎng)景的響應(yīng)目標(biāo)進(jìn)行求精,定義出每個(gè)場(chǎng)景最壞、最好、當(dāng)前以及期望的響應(yīng)目標(biāo)第三步再次確定優(yōu)先級(jí),這次的不同是在確定了響應(yīng)目標(biāo)的前提下,當(dāng)然我們可以采用投票的方式,取1/2的場(chǎng)景進(jìn)行后續(xù)評(píng)估。第四步根據(jù)每個(gè)場(chǎng)景的四個(gè)響應(yīng)值,來確定其相對(duì)應(yīng)的效用,這里只是給出一個(gè)效用得分。需要注意的時(shí),最壞的響應(yīng)目標(biāo)也未必對(duì)應(yīng)著0分,當(dāng)然最好的也未必就是100分,要根據(jù)實(shí)際情況給出。結(jié)果示例響應(yīng)目標(biāo)場(chǎng)景描述票數(shù)最壞當(dāng)前期望最好1減少手工干預(yù)導(dǎo)致的分配請(qǐng)求掛起的數(shù)據(jù)分配故障1010%掛起5%掛起1%掛起0%掛起3減少在訂單提交過程中失敗的訂單數(shù)量1510%失敗5%失敗1%失敗0%失敗5減少會(huì)導(dǎo)致丟失訂單的訂單故障1510%丟失1%以下丟失0%丟失0%丟失效用得分場(chǎng)景描述票數(shù)最壞當(dāng)前期望最好1減少手工干預(yù)導(dǎo)致的分配請(qǐng)求掛起的數(shù)據(jù)分配故障101080951003減少在訂單提交過程中失敗的訂單數(shù)量152570951005減少會(huì)導(dǎo)致丟失訂單的訂單故據(jù)最壞、當(dāng)前、期望、最好四個(gè)基本點(diǎn),構(gòu)造整個(gè)效用-響應(yīng)曲線對(duì)應(yīng)場(chǎng)景設(shè)計(jì)架構(gòu)策略

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

根據(jù)效用-響應(yīng)曲線,代入架構(gòu)達(dá)到的響應(yīng),計(jì)算出架構(gòu)達(dá)到的響應(yīng)效用。

根據(jù)每個(gè)場(chǎng)景架構(gòu)達(dá)到的效用與其當(dāng)前的效用的差值,我們可以得出效用提升的大小,再乘以票數(shù)(暨權(quán)重)就可以得到這個(gè)場(chǎng)景的收益。

一個(gè)架構(gòu)策略對(duì)應(yīng)的所有場(chǎng)景的收益和就是這個(gè)架構(gòu)策略的總收益。策略名稱影響的場(chǎng)景票數(shù)當(dāng)前的效用架構(gòu)達(dá)到的效用收益1訂單提交的持續(xù)性315709015*20=3005157010015*30=4505訂

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論