版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、關注軟件架構的系列主題 -如何評估架構 Overview,2024.3.20,一、引言,二、ATAM,三、CBAM,提綱,四、架構編檔與評估,為什么要評估軟件架構,為什么要評估軟件架構? 我們需要了解軟件架構設計的原因,因為很多事情都依賴于架構,并且我們能夠對架構進行評估。 在每個基于架構的開發(fā)方法中都應該進行架構評估。,軟件架構評估的重要因素,時間 在軟
2、件的生命期內近可能早的評估軟件架構幾乎總是經(jīng)濟高效的。 可以在系統(tǒng)生命周期的許多個點上進行架構評估。,參與者項目負責人、架構師有經(jīng)驗的評估團隊其他涉眾,軟件架構評估的重要因素,經(jīng)濟性 在8年的時間內對架構進行評估的經(jīng)驗表明,進行全面的架構評估平均可以節(jié)約10%的成本,促進編檔 向被評審人員說明架構評估的重點并要求他們在評估前表述構架,意味著被評審人員必須對架構進行編檔,了解原理 架構評估通常側重于需
3、要回答的一些具體問題的某幾個特定的方面,回答這些問題通常需要解釋設計選擇及其基本原理,驗證需求討論和檢查架構滿足其需求的情況可以展開對需求的討論,結果是能更清楚的理解需求,通常還能夠知道需求的優(yōu)先級,架構改進架構評估不僅在評估后得到了更好的架構,隨著時間的推移,組織就培養(yǎng)了一種提倡優(yōu)秀的架構設計的文化,軟件架構評估的重要因素,提問技巧 ATAM和CBAM方法就是“提問技巧”的示例,在假定的架構上就可以很好的應用它,并且可以在
4、生命期的早期應用。,度量技巧 提問技巧的補充是度量技巧,它依賴于對某些類似的定量度量,使用度量技巧時,必須有已經(jīng)存在的、可以被度量的工作產(chǎn)品。,軟件架構評估的重要因素,前置條件表述清晰的架構目標與需求,只有需求明確,才能評估一個架構是好還是壞;可控制的范圍,列出幾個明確的目標,數(shù)量最少應該有3-5個;經(jīng)濟高效,ATAM與CBAM方法適用于大中型項目,對于小項目可能就不是經(jīng)濟高效的了;關鍵人員參與,務必確保能夠系統(tǒng)、清晰表
5、述架構的人能參與;稱職的評估團隊,在理想狀態(tài)下,評估團隊應該是公司內的一個獨立實體,它們必須公正、客觀并受人尊重。,軟件架構評估的重要因素,結果(應該包含,但不限于)一個簡潔清晰的架構表述一個簡潔清晰的業(yè)務目標表述代表質量需求的場景集合架構決策到質量需求的映射確定的敏感點和權衡點集合有風險決策和無風險決策風險主題的集合根據(jù)ROI(投資回報率)對架構策略的排序(僅限于CBAM),一、引言,二、ATAM,三、CBAM,提綱
6、,四、架構編檔與評估,ATAM概念,ATAM,架構權衡分析法,是評估軟件架構的一種綜合全面的方法,它不僅可以揭示出架構滿足特定質量目標的情況,而且可以使我們更清楚的認識到質量目標之間的聯(lián)系-即如何權衡諸多質量目標。,評估小組,由3-5個有經(jīng)驗的架構師組成,項目決策者,項目經(jīng)理、開發(fā)經(jīng)理等對項目決策負責的人,架構涉眾,高級主管,開發(fā)人員、測試人員、運維人員等,,分析階段,ATAM分析階段(1-3),第1階段與第2階段合起來又稱為ATAM的
7、分析階段,一共有9步組成,其中第1~6步在第1階段執(zhí)行,第7~9步在第2階段執(zhí)行。,第三步,架構描述方法,描述驅動架構形成的需求,以及現(xiàn)在已采用的標準/模型/方法(2~3張幻燈片)重要的架構信息(4~8張幻燈片)上下文圖:系統(tǒng)將存在的上下文,該系統(tǒng)將與之交互的人或其他系統(tǒng);模塊或分層視圖:描述系統(tǒng)功能分解的模塊(可以是子系統(tǒng)或層),以及作為其具體內容;組件-連接器視圖:進程、線程及其同步關系、數(shù)據(jù)流及將其連接起來的事件;部署視
8、圖:CPU、存儲器、外設/傳感器以及連接它們的網(wǎng)絡和通信設備;還顯示了在各個處理器上執(zhí)行的進程。架構方法、模式或所采用的戰(zhàn)術,包括它們實現(xiàn)了什么質量屬性以及這些方法如何實現(xiàn)這些屬性的描述(6~8張幻燈片)商業(yè)產(chǎn)品的使用及其選擇/集成(1~2張幻燈片);對1~3個最重要的用例場景的介紹。如果有可能的話,包括對每個場景的運行時資源使用情況的介紹(1~3張幻燈片);對1~3個最重要的變更場景的介紹。如果有可能的話,根據(jù)所變更的模塊或接
9、口來描述變更的影響,即預計的變更的規(guī)模/難度(1~3張幻燈片);與實現(xiàn)促使形成該架構的需求相關的架構問題/風險(2~3張幻燈片)術語表(1張幻燈片),第三步需要項目架構師介紹項目的架構,下面這個20頁PPT的提綱是很好的參考。,ATAM分析階段(4-6),第五步,質量屬性效用樹,第六步,架構分析,有敏感點,架構A有風險,場景A分析,記錄架構A為有風險決策,有敏感點,架構B有風險,場景B分析,有敏感點,架構A有風險,場景C分析,
10、記錄架構B為有風險決策,記錄架構A為權衡點,有敏感點,架構D無風險,場景D分析,記錄架構D為無風險決策,,,,分析階段1-6總結,第一階段結束后,評估小組將得到一份關于架構的記錄與分析文檔,其中包括質量屬性效用樹、敏感點、有風險決策、無風險決策以及權衡點,這些內容將作為第二階段的輸入物。 在第二階段啟動之前,評估小組應該拿出1-2周的時間來與項目組成員進行一些非常正式的溝通,使得了解能夠更加的徹底,當涉眾被召集到一起后,第二階
11、段就開始了,在其正式步驟開始之前,評估小組還需要向涉眾介紹一遍ATAM的評估方法。,ATAM分析階段(7-9),第七步,如何讓涉眾確定場景優(yōu)先級,讓他們通過投票表決來確定哪些場景是最重要的。在分配選票時,每個涉眾都會拿到相當于總場景數(shù)的30%的選票,并且此數(shù)值只入不舍。在投票時,涉眾可以隨意使用這些選票:可以把這6張選票都投給1個場景,也可以給1個場景投1張選票,或者是介于以上兩者之間的其他方式。 最終,我們可以選擇“在某得票數(shù)
12、之上”的場景,例如,評估小組可能只考慮得票數(shù)最多的前5個場景。,ATAM主要步驟及對結果提供的信息,結果,步驟,第七步,如何讓涉眾確定場景優(yōu)先級,總體來說,ATAM是一個重量級的架構健壯性評估方法,它通過對場景的分析,挖掘出架構設計中的問題及風險點,以便項目組進行改進。,一、引言,二、ATAM,三、CBAM,提綱,四、架構編檔與評估,CBAM概念,ATAM遺漏了一個重要的考慮事項:在大型復雜系統(tǒng)中最大的權衡通常必須考慮經(jīng)濟性。我們需要一
13、個考慮成本、收益、風險和進度的軟件的“經(jīng)濟”模型。 CBAM,成本收益分析方法,它構建在ATAM之上,提供了對技術的經(jīng)濟問題以及構架決策的評估。,Ri = Bi / Ci,確定效用-響應曲線,規(guī)劃效用-響應曲線通常可以采用以下四步來實現(xiàn)。,結果示例,根據(jù)最壞、當前、期望、最好四個基本點,構造整個效用-響應曲線,對應場景設計架構策略,每一個架構策略都有可能對應一到多個場景,每一個場景也有可能對應一道多個架構策略。為了能夠計算架構策
14、略的收益,因此必須給出每個場景在采用了架構之后能夠達到的新響應情況,如下表所示。,計算每個策略產(chǎn)生的收益,根據(jù)效用-響應曲線,代入架構達到的響應,計算出架構達到的響應效用。 根據(jù)每個場景架構達到的效用與其當前的效用的差值,我們可以得出效用提升的大小,再乘以票數(shù)(暨權重)就可以得到這個場景的收益。 一個架構策略對應的所有場景的收益和就是這個架構策略的總收益。,架構策略1總收益:300+450=750架構策略5總收益:10
15、0架構策略7總收益:50,根據(jù)策略成本計算ROI,估算成本的方式通常以人·天為單位,因此如果我們要估算一個架構策略的成本就應該考察實現(xiàn)它所需要的人·天數(shù),一般來說這由提出它的架構師給出,如果最終這個架構策略被采納,那么項目組就應該將其視為一個任務,并按照其估算監(jiān)督它的執(zhí)行。,由于每個場景在計算其收益時已經(jīng)考慮該場景的重要性(暨權重),因此每個架構策略也就具有了橫向可比性,通過最終的ROI可以得出架構策略應該被執(zhí)行的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論