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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

關注軟件架構的系列主題

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

我們需要了解軟件架構設計的原因,因為很多事情都依賴于架構,并且我們能夠對架構進行評估。

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

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

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

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

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

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

確定效用-響應曲線

規(guī)劃效用-響應曲線通??梢圆捎靡韵滤牟絹韺崿F(xiàn)。1000效用質量屬性響應ab第一步對從ATAM中繼承過來的場景進行整理,可以選擇讓涉眾重新投票來確定優(yōu)先級(經(jīng)濟性評估可能會導致優(yōu)先級變化),取1/3的場景進行后續(xù)評估。第二步對場景的響應目標進行求精,定義出每個場景最壞、最好、當前以及期望的響應目標第三步再次確定優(yōu)先級,這次的不同是在確定了響應目標的前提下,當然我們可以采用投票的方式,取1/2的場景進行后續(xù)評估。第四步根據(jù)每個場景的四個響應值,來確定其相對應的效用,這里只是給出一個效用得分。需要注意的時,最壞的響應目標也未必對應著0分,當然最好的也未必就是100分,要根據(jù)實際情況給出。結果示例響應目標場景描述票數(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ù)最壞、當前、期望、最好四個基本點,構造整個效用-響應曲線對應場景設計架構策略

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

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

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

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

溫馨提示

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

評論

0/150

提交評論