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

下載本文檔

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

文檔簡介

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

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

我們需要了解軟件架構(gòu)設(shè)計的原因,因為很多事情都依賴于架構(gòu),并且我們能夠?qū)軜?gòu)進行評估。

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論