版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
軟件體系結(jié)構(gòu)電子教案第7章軟件體系結(jié)構(gòu)評估蔣哲遠
2/78第7章內(nèi)容摘要7.1體系結(jié)構(gòu)評估概述
7.2軟件體系結(jié)構(gòu)評估的主要方式7.3ATAM評估方法7.4SAAM評估方法《軟件體系結(jié)構(gòu)》電子教案3/78軟件體系結(jié)構(gòu)分析與評估體系結(jié)構(gòu)分析:是指分解系統(tǒng),并分析其組成要素、要素之間的聯(lián)系及其復(fù)雜性。體系結(jié)構(gòu)評估:是指對系統(tǒng)的某些值得關(guān)心的屬性進行評價和判斷。評估的結(jié)果可用于確認潛在的風(fēng)險,并檢查設(shè)計階段所得到的系統(tǒng)的質(zhì)量需求。7.1體系結(jié)構(gòu)評估概述《軟件體系結(jié)構(gòu)》電子教案4/78評估的原因(1)質(zhì)量問題是當今軟件系統(tǒng)開發(fā)的一個主要問題1972年,Parnas使用模塊化和信息隱藏作為一種高層系統(tǒng)分解的手段來改善系統(tǒng)的靈活性和可理解性。1974年,Stevens等引入耦合和聚集的概念來評估不同程序分解。目前,學(xué)術(shù)界與工業(yè)界逐漸意識到:軟件體系結(jié)構(gòu)與軟件的質(zhì)量屬性有密切的關(guān)系。7.1體系結(jié)構(gòu)評估概述《軟件體系結(jié)構(gòu)》電子教案5/78評估的原因(2)問題發(fā)現(xiàn)地越早,解決問題的代價越小SA是設(shè)計階段的產(chǎn)物,對系統(tǒng)或項目的開發(fā)有深遠的影響SA決定著項目的結(jié)構(gòu):配置、進度與預(yù)算、性能指標、開發(fā)小組結(jié)構(gòu)、文檔組織、測試和維護等,都是圍繞著SA展開的。7.1體系結(jié)構(gòu)評估概述《軟件體系結(jié)構(gòu)》電子教案6/78評估的原因(3)軟件開發(fā)人員對SA實際上無法測試場景可以表達軟件的功能和質(zhì)量屬性,為SA“測試”帶來可能性。7.1體系結(jié)構(gòu)評估概述《軟件體系結(jié)構(gòu)》電子教案7/78評估的益處特別是在預(yù)測質(zhì)量屬性方面,相當于提前對軟件進行了“測試”;可以增加交流,提高涉眾對SA的認識,起到重要的交際效益;督促SA設(shè)計師更能詳細編寫SA文檔,迫使提高SA文檔的質(zhì)量,對SA作出更為清晰的解釋;為相互沖突的目標劃分優(yōu)先級;發(fā)現(xiàn)項目之間交叉復(fù)用的可能性;提高SA實踐的水平;有益于該組織未來所從事的項目開發(fā)。7.1體系結(jié)構(gòu)評估概述《軟件體系結(jié)構(gòu)》電子教案8/78評估的時機一般選擇在:明確了SA之后、具體實現(xiàn)之前。如果是重復(fù)使用某個規(guī)定的或漸增的SA,則可在最近一次周期中進行SA評估。實際上,SA評估可在任何時期進行:早期:不必等到SA的內(nèi)容完全確定。即對已經(jīng)做出的或正在考慮的決策都可以進行評估。但是,一般不會這樣做,即使做,也是發(fā)現(xiàn)性評審。后期:在SA實現(xiàn)已經(jīng)完成時的評審。一般用于評審老系統(tǒng)。實踐原則是:在開發(fā)小組開始制定依賴于SA的決策,且修改這些決策的代價超過SA評估的代價時,實施SA評估。7.1體系結(jié)構(gòu)評估概述《軟件體系結(jié)構(gòu)》電子教案9/78體系結(jié)構(gòu)評估的參與者評估小組:負責組織評估并對評估結(jié)果進行分析。組成人員通常為評估小組負責人、評估負責人、場景書記員、進展書記員、計時員、過程觀察員、過程監(jiān)督者、提問者。風(fēng)險承擔者:在該體系結(jié)構(gòu)及根據(jù)該體系結(jié)構(gòu)開發(fā)的系統(tǒng)中有既得利益的人。有些也將是開發(fā)小組成員,如編程人員、集成人員、測試人員和維護人員。比較特殊的是項目決策者,包括體系結(jié)構(gòu)設(shè)計師、組件設(shè)計人員和項目管理人員?!盾浖w系結(jié)構(gòu)》電子教案10/78什么是質(zhì)量屬性
系統(tǒng)在其生命周期過程中所表現(xiàn)出的各種特征。
質(zhì)量屬性可以分為兩類:
?
運行時可見屬性包括:性能、可靠性、可用性、安全性、功能性
?
維護時可見屬性包括:可修改性、可變性、集成性、互操作性評估所關(guān)注的質(zhì)量屬性《軟件體系結(jié)構(gòu)》電子教案11/78
性能(performance)
性能:是指系統(tǒng)的響應(yīng)能力,即要經(jīng)過多長時間才能對某個事件做出響應(yīng),或者在某段事件內(nèi)系統(tǒng)所能處理的事件的個數(shù)。
定量表示:經(jīng)常用單位事件內(nèi)所處理事務(wù)的數(shù)量(吞吐量)或系統(tǒng)完成某個事務(wù)處理所需的時間(速度)。
性能測試:經(jīng)常要使用基準測試程序(用以測量性能指標的特定事務(wù)集或工作量環(huán)境)。評估所關(guān)注的質(zhì)量屬性《軟件體系結(jié)構(gòu)》電子教案12/78可靠性(reliability)(1)
可靠性是軟件系統(tǒng)在意外或錯誤使用的情況下維持軟件系統(tǒng)的功能特性的基本能力。可靠性通常用平均失效等待時間(MTTF)和平均失效間隔時間(MTBF)來衡量。在失效率為常數(shù)和修復(fù)時間很短的情況下,MTTF和MTBF幾乎相等。評估所關(guān)注的質(zhì)量屬性《軟件體系結(jié)構(gòu)》電子教案13/78可靠性(reliability)(2)
可靠性分為以下兩個方面:容錯:在錯誤發(fā)生時確保系統(tǒng)正確的行為,并進行內(nèi)部修復(fù)。如在一個分布式軟件系統(tǒng)中失去了一個與遠程構(gòu)件的連接,接著恢復(fù)了連接,在修復(fù)這樣的錯誤后,系統(tǒng)可以重新或重復(fù)執(zhí)行進程間的操作。健壯性:保護應(yīng)用程序不受錯誤使用和錯誤輸入的影響,在遇到意外錯誤事件時確保應(yīng)用系統(tǒng)處于已經(jīng)定義好的狀態(tài)。評估所關(guān)注的質(zhì)量屬性《軟件體系結(jié)構(gòu)》電子教案14/78
可用性(availability)
可用性是系統(tǒng)能夠正常運行的時間比例。經(jīng)常用兩次故障之間的時間長度或在出現(xiàn)故障時系統(tǒng)能夠恢復(fù)正常的速度來表示。可表示為:評估所關(guān)注的質(zhì)量屬性《軟件體系結(jié)構(gòu)》電子教案15/78
安全性
(security)
安全性是指系統(tǒng)向合法用戶提供服務(wù)的同時,能阻止非授權(quán)用戶使用的企圖或拒絕服務(wù)的能力。安全性是根據(jù)系統(tǒng)受到的安全威脅的類型來分類的。安全性可劃分為機密性、完整性、不可否認性及可控性等特性。其中,機密性保證信息不泄露給未授權(quán)的用戶、實體或過程;完整性保證信息的完整和準確,防止信息被非法修改;可控性保證對信息的傳播及內(nèi)容具有控制的能力,防止為非法者所用。評估所關(guān)注的質(zhì)量屬性《軟件體系結(jié)構(gòu)》電子教案16/78可修改性(modifiability)
指能夠快速地以較高的性能價格比對系統(tǒng)進行變更的能力。通常以某些具體的變更為基準,通過考察這些變更的代價衡量可修改性??尚薷男园韵?個方面:評估所關(guān)注的質(zhì)量屬性《軟件體系結(jié)構(gòu)》電子教案17/78可修改性(modifiability)
可維護性(maintainability):主要體現(xiàn)在問題的修復(fù)上:在錯誤發(fā)生后“修復(fù)”軟件系統(tǒng);可擴展性(extendibility):使用新特性來擴展軟件系統(tǒng),以及使用改進版本來替換構(gòu)件并刪除不需要或不必要的特性和構(gòu)件。為實現(xiàn)可擴展性,需要松散耦合的構(gòu)件。
評估所關(guān)注的質(zhì)量屬性《軟件體系結(jié)構(gòu)》電子教案18/78可修改性(modifiability)結(jié)構(gòu)重組(reassemble):重新組織軟件系統(tǒng)的構(gòu)件及構(gòu)件間的關(guān)系。可移植性(portability):使軟件系統(tǒng)適用于多種硬件平臺、用戶界面、操作系統(tǒng)、編程語言或編譯器。是系統(tǒng)能夠在不同計算環(huán)境(硬件或軟件)下運行的能力。評估所關(guān)注的質(zhì)量屬性《軟件體系結(jié)構(gòu)》電子教案19/78功能性(functionality)
功能性是系統(tǒng)所能完成所期望的工作的能力。一項任務(wù)的完成需要系統(tǒng)中許多或大多數(shù)構(gòu)件的相互協(xié)作。評估所關(guān)注的質(zhì)量屬性《軟件體系結(jié)構(gòu)》電子教案20/78可變性(changeability)
可變性是指SA經(jīng)擴充或變更而成為新SA的能力。新SA應(yīng)該符合預(yù)先定義的規(guī)則,在某些具體方面不同于原有的體系結(jié)構(gòu)。當要將某個體系結(jié)構(gòu)作為一系列相關(guān)產(chǎn)品(例如,軟件產(chǎn)品線)的基礎(chǔ)時,可變性是很重要的。評估所關(guān)注的質(zhì)量屬性《軟件體系結(jié)構(gòu)》電子教案21/78可集成性(integrability)
可集成性是指系統(tǒng)能與其他系統(tǒng)協(xié)作的程度。評估所關(guān)注的質(zhì)量屬性《軟件體系結(jié)構(gòu)》電子教案22/78互操作性(interoperation)
系統(tǒng)的軟件不是獨立存在的,經(jīng)常要與其他系統(tǒng)或自身環(huán)境相互作用。為了支持互操作性,SA必須為外部可視的功能特性和數(shù)據(jù)結(jié)構(gòu)提供精心設(shè)計的軟件入口。程序和用其他編程語言編寫的軟件系統(tǒng)的交互作用就是互操作性的問題,這種互操作性也影響應(yīng)用的軟件體系結(jié)構(gòu)。評估所關(guān)注的質(zhì)量屬性《軟件體系結(jié)構(gòu)》電子教案23/78
敏感點(sensitivitypoint)和權(quán)衡點(tradeoffpoint)是關(guān)鍵的體系結(jié)構(gòu)決策。敏感點是一個或多個構(gòu)件(和/或構(gòu)件之間的關(guān)系)的特性。研究敏感點可使設(shè)計人員或分析員明確在搞清楚如何實現(xiàn)質(zhì)量目標時應(yīng)注意什么。權(quán)衡點是影響多個質(zhì)量屬性的特性,是多個質(zhì)量屬性的敏感點。例如,改變加密級別可能會對安全性和性能產(chǎn)生非常重要的影響。提高加密級別可以提高安全性,但可能要耗費更多的處理時間,影響系統(tǒng)性能。如果某個機密消息的處理有嚴格的時間延遲要求,則加密級別可能就會成為一個權(quán)衡點?;靖拍睢盾浖w系結(jié)構(gòu)》電子教案24/78場景(1)在進行體系結(jié)構(gòu)評估時,一般首先要精確地得出具體的質(zhì)量目標,并以之作為判定該體系結(jié)構(gòu)優(yōu)劣的標準。我們把為得出這些目標而采用的機制叫做場景。場景是從風(fēng)險承擔者的角度對與系統(tǒng)的交互的簡短描述。在體系結(jié)構(gòu)評估中,一般采用刺激、環(huán)境和響應(yīng)三方面來對場景進行描述。基本概念《軟件體系結(jié)構(gòu)》電子教案25/78場景(2)刺激是場景中解釋或描述風(fēng)險承擔者怎樣引發(fā)與系統(tǒng)的交互部分。例如,用戶可能會激發(fā)某個功能,維護人員可能會做某個更改,測試人員可能會執(zhí)行某種測試等,這些都屬于對場景的刺激。環(huán)境描述的是刺激發(fā)生時的情況。例如,當前系統(tǒng)處于什么狀態(tài)?有什么特殊的約束條件?系統(tǒng)的負載是否很大?某個網(wǎng)絡(luò)通道是否出現(xiàn)了阻塞等。響應(yīng)是指系統(tǒng)是如何通過體系結(jié)構(gòu)對刺激作出反應(yīng)的。例如,用戶所要求的功能是否得到滿足?維護人員的修改是否成功?測試人員的測試是否成功等。基本概念26/78性能的一般場景的可能取值刺激源制品環(huán)境響應(yīng)度量刺激響應(yīng)大量的獨立源中的一個,可能來自系統(tǒng)內(nèi)部定期事件到達;隨機事件到達;偶然事件到達等待事件、期限、吞吐量、抖動(變化)、缺失率與數(shù)據(jù)丟失(太忙而不能處理)處理刺激;改變服務(wù)級別正常模式;超載模式系統(tǒng)性能是與時間有關(guān),基本上與事件發(fā)生時,系統(tǒng)在多長時間內(nèi)作出響應(yīng)有關(guān)。事件(中斷、消息、用戶請求或時間已到)發(fā)生時,系統(tǒng)必須對其作出響應(yīng)舉例—質(zhì)量屬性性能《軟件體系結(jié)構(gòu)》電子教案27/78性能場景樣例:用戶隨機啟動了在正常操作下每分鐘1000次的交易,處理這些交易的平均等待時間為2秒刺激源制品環(huán)境響應(yīng)度量刺激響應(yīng)用戶的集合隨機啟動交易平均等待時間為2秒交易被處理在正常操作下系統(tǒng)舉例—質(zhì)量屬性性能《軟件體系結(jié)構(gòu)》電子教案28/78評估結(jié)果:
該軟件體系結(jié)構(gòu)是否與所要開發(fā)的系統(tǒng)相適應(yīng)?針對所要開發(fā)的系統(tǒng),在侯選的兩個或多個體系結(jié)構(gòu)中,哪一個是最合適的?體系結(jié)構(gòu)評估的結(jié)果《軟件體系結(jié)構(gòu)》電子教案29/78適宜性(suitability)分析,需考慮特定的環(huán)境根據(jù)SA開發(fā)的系統(tǒng),滿足質(zhì)量目標。例如,性能要求、修改性、安全約束、行為功能
SA可構(gòu)建(buildable),在現(xiàn)有資源條件下:人員、預(yù)算、遺產(chǎn)軟件、進度等適宜性具有上下文環(huán)境評估將告訴我們哪些地方需要改進體系結(jié)構(gòu)評估的結(jié)果《軟件體系結(jié)構(gòu)》電子教案30/78第7章內(nèi)容摘要7.1體系結(jié)構(gòu)評估概述7.2軟件體系結(jié)構(gòu)評估的主要方式
7.3ATAM評估方法7.4SAAM評估方法《軟件體系結(jié)構(gòu)》電子教案31/78
主要的評估方式
基于調(diào)查問卷或檢查表的評估方式基于場景的評估方式基于度量的評估方式7.2軟件體系結(jié)構(gòu)評估的主要方式《軟件體系結(jié)構(gòu)》電子教案32/78
基于調(diào)查問卷或檢查表的評估方式(1)CMU/SEI的軟件風(fēng)險評估過程采用了這一方式。
調(diào)查問卷是一系列可以應(yīng)用到各種SA評估的相關(guān)問題,其中有些問題可能涉及到SA的設(shè)計決策;有些問題涉及到SA的文檔,有的問題針對SA描述本身的細節(jié)問題。
檢查表中也包含一系列比調(diào)查問卷更細節(jié)和具體的問題,它們更趨向于考察某些關(guān)心的質(zhì)量屬性。7.2軟件體系結(jié)構(gòu)評估的主要方式《軟件體系結(jié)構(gòu)》電子教案33/78
基于調(diào)查問卷或檢查表的評估方式(2)
優(yōu)點:
評估方式比較自由靈活,可評估多種質(zhì)量屬性,也可以在SA設(shè)計的多個階段進行。
缺點:
評估的結(jié)果很大程度上來自評估人員的主觀推斷,不同的評估人員可能會產(chǎn)生不同甚至截然相反的結(jié)果,而且評估人員對領(lǐng)域的熟悉程度、是否具有豐富的相關(guān)經(jīng)驗也成為評估結(jié)果是否正確的重要因素。
7.2軟件體系結(jié)構(gòu)評估的主要方式《軟件體系結(jié)構(gòu)》電子教案34/78
基于場景的評估方式(1)
基于場景的方式由SEI首先提出并應(yīng)用在體系結(jié)構(gòu)權(quán)衡分析方法(ATAM)和軟件體系結(jié)構(gòu)分析方法(SAAM)中。這種SA評估方式分析SA對場景也就是對系統(tǒng)的使用或修改活動的支持程度,從而判斷該SA對這一場景所代表的質(zhì)量需求的滿足程度。例如,用一系列對軟件的修改來反映易修改性方面的需求,用一系列攻擊性操作來代表安全性方面的需求等。7.2軟件體系結(jié)構(gòu)評估的主要方式《軟件體系結(jié)構(gòu)》電子教案35/78
基于場景的評估方式(2)
這一評估方式考慮了系統(tǒng)開發(fā)人員、維護人員、最終用戶、管理人員、測試人員等在內(nèi)的所有與系統(tǒng)相關(guān)的人員對質(zhì)量的要求。基于場景的評估方式涉及到的基本活動:確定應(yīng)用領(lǐng)域的功能和SA的結(jié)構(gòu)之間的映射,設(shè)計用于體現(xiàn)待評估質(zhì)量屬性的場景以及分析SA對場景的支持程度。
7.2軟件體系結(jié)構(gòu)評估的主要方式《軟件體系結(jié)構(gòu)》電子教案36/78
基于場景的評估方式(3)
不同的應(yīng)用系統(tǒng)對同一質(zhì)量屬性的理解可能不同,例如,對OS來說,可移植性被理解為系統(tǒng)可在不同的硬件平臺上運行,而對于普通的應(yīng)用系統(tǒng)而言,可移植性往往是指系統(tǒng)可在不同OS上運行。由于存在這種不一致性,對一個領(lǐng)域適合的場景設(shè)計在另一個領(lǐng)域內(nèi)未必合適,因此基于場景的評估方式是特定于領(lǐng)域的。
對實施者要求:有豐富的領(lǐng)域知識,能設(shè)計出合理的質(zhì)量需求場景;必須對待評估的SA有一定的了解以準確判斷它是否支持場景描述的一系列活動。7.2軟件體系結(jié)構(gòu)評估的主要方式《軟件體系結(jié)構(gòu)》電子教案37/78
基于度量的評估方式(1)
度量是指為軟件產(chǎn)品的某一屬性所賦予的數(shù)值,如代碼行數(shù)、方法調(diào)用層數(shù)、構(gòu)件個數(shù)等。傳統(tǒng)的度量研究主要針對代碼,近年出現(xiàn)了一些針對高層設(shè)計的度量,如SA度量。代碼度量和代碼質(zhì)量之間存在著重要的聯(lián)系,類似地,SA度量也能夠作為評判質(zhì)量的重要的依據(jù)。赫爾辛基大學(xué)提出的基于模式挖掘的面向?qū)ο骃A度量技術(shù)、Karlskrona和Ronneby提出的基于面向?qū)ο蠖攘康腟A可維護性評估、西弗吉尼亞大學(xué)提出的SA度量方法等都在這方面進行了探索,提出了一些可操作的具體方案。我們把這類評估方式稱作基于度量的評估方式。7.2軟件體系結(jié)構(gòu)評估的主要方式《軟件體系結(jié)構(gòu)》電子教案38/78
基于度量的評估方式(2)
基于度量的評估技術(shù)都涉及三個基本活動:首先需要建立質(zhì)量屬性和度量之間的映射原則,即確定怎樣從度量結(jié)果推出系統(tǒng)具有什么樣的質(zhì)量屬性;然后從SA文檔中獲取度量信息;最后根據(jù)映射原則分析推導(dǎo)出系統(tǒng)的某些質(zhì)量屬性?;诙攘康脑u估方式提供更為客觀和量化的質(zhì)量評估。這一評估方式需要在SA的設(shè)計基本完成以后才能進行,評估人員要對待評估的SA十分了解,否則不能獲取準確的度量。自動的SA度量獲取工具能在一定程度上簡化評估的難度,例如MAISA可從文本格式的UML圖中抽取面向?qū)ο骃A的度量。7.2軟件體系結(jié)構(gòu)評估的主要方式《軟件體系結(jié)構(gòu)》電子教案39/78
三種評估方式的比較7.2軟件體系結(jié)構(gòu)評估的主要方式《軟件體系結(jié)構(gòu)》電子教案40/78第7章內(nèi)容摘要7.1體系結(jié)構(gòu)評估概述7.2軟件體系結(jié)構(gòu)評估的主要方式7.3ATAM評估方法7.4SAAM評估方法《軟件體系結(jié)構(gòu)》電子教案41/78ATAM:ArchitectureTradeoffAnalysisMethod(體系結(jié)構(gòu)權(quán)衡分析方法)?特點評估SA對特定質(zhì)量目標的滿足情況,揭示諸多質(zhì)量目標之間的相互作用和權(quán)衡結(jié)構(gòu)化的評估方法同樣適合遺產(chǎn)系統(tǒng)的分析?方法來源體系結(jié)構(gòu)風(fēng)格質(zhì)量屬性分析團體
SAAM(SoftwareArchitectureAnalysisMethod)7.3ATAM評估方法《軟件體系結(jié)構(gòu)》電子教案42/78ATAM主要部分包括4組,共9個步驟:1.陳述,包括通過它進行的信息交流①ATAM方法的陳述:評估負責人②商業(yè)動機的陳述:項目經(jīng)理或系統(tǒng)客戶③SA的陳述:系統(tǒng)設(shè)計師ATAM步驟簡述(1/3)《軟件體系結(jié)構(gòu)》電子教案43/782.調(diào)查與分析,包括對照體系結(jié)構(gòu)方法評估關(guān)鍵質(zhì)量屬性需求④確定體系結(jié)構(gòu)方法:系統(tǒng)設(shè)計師⑤生成質(zhì)量屬性效用樹(utilitytree):說明構(gòu)成系統(tǒng)“效用”(性能、有效性、安全性、可修改性、可用性)的質(zhì)量屬性,直到場景層次,標注刺激/反應(yīng),并區(qū)分不同的優(yōu)先級。⑥分析體系結(jié)構(gòu)方法:基于步驟5識別出的高優(yōu)先級的場景,針對這些場景的體系結(jié)構(gòu)方法被說明和分析。在這一步驟中,體系結(jié)構(gòu)風(fēng)險、非風(fēng)險、敏感點和權(quán)衡點被識別出來。ATAM步驟簡述(2/3)《軟件體系結(jié)構(gòu)》電子教案44/783.測試,包括對照所有相關(guān)人員的需求檢驗最新結(jié)果⑦頭腦風(fēng)暴并確定場景優(yōu)先級⑧分析體系結(jié)構(gòu)方法:針對步驟7的高等級場景4.形成報告,包括陳述ATAM的結(jié)果⑨結(jié)果的表述:包括方法、場景、特定屬性的問題、效用樹、有風(fēng)險決策、無風(fēng)險決策、敏感點和權(quán)衡點提示:順序并不嚴格,可根據(jù)需要適當調(diào)整ATAM步驟簡述(3/3)《軟件體系結(jié)構(gòu)》電子教案45/781.描述ATAM方法
評估小組負責人向參加會議的風(fēng)險承擔者介紹ATAM評估方法。解釋每個人要參與的過程,預(yù)留解答疑問的時間,設(shè)置好其他活動的環(huán)境和預(yù)期結(jié)果。特別要描述以下事項:ATAM方法步驟簡介;獲取和分析技術(shù):效用樹的生成,基于SA方法的獲取/分析,場景的映射等;評估結(jié)果:所得出的場景及其優(yōu)先級,用戶理解/評估SA的問題,描述驅(qū)動SA的需求并對這些需求進行分類,所確定的一組SA方法和風(fēng)格,所發(fā)現(xiàn)的風(fēng)險點和無風(fēng)險點、敏感點和權(quán)衡點。ATAM步驟詳述(1/18)《軟件體系結(jié)構(gòu)》電子教案46/782.描述商業(yè)動機
項目經(jīng)理要從商業(yè)角度介紹系統(tǒng)的概況商業(yè)環(huán)境/驅(qū)動描述(約12張幻燈片,45分鐘)(1)描述商業(yè)環(huán)境、歷史、市場劃分、驅(qū)動需求、風(fēng)險承擔者、當前需要以及如何滿足需要(3-4張幻燈片)。(2)描述商業(yè)方面的約束條件(例如:推向市場的時間、客戶需求、標準和成本等)(1-3張幻燈片)。(3)描述技術(shù)方面的約束條件(例如:COTS、與其他系統(tǒng)的互操作、軟硬件平臺、遺留代碼的重用等)(1-3張幻燈片)。(4)質(zhì)量屬性需求(例如:系統(tǒng)平臺、可用性、安全性、可修改性、互操作性、集成性和這些需求來自的商業(yè)需要)(2-3張幻燈片)。(5)術(shù)語表(1張幻燈片)。ATAM步驟詳述(2/18)《軟件體系結(jié)構(gòu)》電子教案47/783.描述體系結(jié)構(gòu)(1)
首席設(shè)計師或設(shè)計小組要對SA進行詳略適當?shù)慕榻B。
體系結(jié)構(gòu)描述(約20張幻燈片,60分鐘)驅(qū)動體系結(jié)構(gòu)的需求(例如:性能、可用性、安全性、可修改性、互操作性、集成性等),以及與這些需求相關(guān)的可度量的量和滿足這些需求的任何存在的標準、模型或方法(2-3張幻燈片)。ATAM步驟詳述(4/18)《軟件體系結(jié)構(gòu)》電子教案48/783.描述體系結(jié)構(gòu)(2)
2.高層體系結(jié)構(gòu)視圖(4-8張幻燈片)。
功能:函數(shù)、關(guān)鍵的系統(tǒng)抽象、領(lǐng)域元素及其依賴關(guān)系、數(shù)據(jù)流;
模塊/層/子系統(tǒng):描述系統(tǒng)功能組成的子系統(tǒng)、層、模塊,以及對象、過程、函數(shù)及它們之間的關(guān)系(例如:過程調(diào)用、方法使用、回調(diào)和包含等);
進程/線程:進程、線程及其同步,數(shù)據(jù)流和與之相連的事件;
硬件:CPU、存儲器、外設(shè)/傳感器,以及連接這些硬件的網(wǎng)絡(luò)和通信設(shè)備。ATAM步驟詳述(4/18)《軟件體系結(jié)構(gòu)》電子教案49/783.描述體系結(jié)構(gòu)(3)
所采用的SA方法或風(fēng)格,包括它們所強調(diào)的質(zhì)量屬性和如何實現(xiàn)的描述(3-6張幻燈片)。COTS的使用,以及如何選擇和集成(1-2張幻燈片)。介紹1-3個最重要的用例場景,如果可能,應(yīng)包括對每個場景的運行資源的介紹(1-3張幻燈片)。介紹1-3個最重要的變更場景,如果可能,應(yīng)描述通過變更構(gòu)件、連接件或接口所帶來的影響(1-3張幻燈片)。與滿足驅(qū)動SA需求相關(guān)的SA問題或風(fēng)險(2-3張幻燈片)。術(shù)語表(1張幻燈片)。ATAM步驟詳述(5/18)《軟件體系結(jié)構(gòu)》電子教案50/784.確定體系結(jié)構(gòu)方法
ATAM評估方法主要通過理解SA方法來分析體系結(jié)構(gòu),在這一步,由設(shè)計師確定體系結(jié)構(gòu)方法,由分析小組捕獲,但不進行分析。
ATAM評估方法之所以強調(diào)SA方法和SA風(fēng)格的確定,是因為這些內(nèi)容代表了實現(xiàn)最高優(yōu)先級的質(zhì)量屬性的體系結(jié)構(gòu)手段。這些SA方法定義了系統(tǒng)的重要結(jié)構(gòu),描述了系統(tǒng)得以擴展的途徑,對變更的響應(yīng),對攻擊的防范以及與其他系統(tǒng)的集成等。ATAM步驟詳述(6/18)《軟件體系結(jié)構(gòu)》電子教案51/785.生成質(zhì)量屬性效用樹(1)
評估小組和項目決策者(SA小組,經(jīng)理和客戶代表):共同確定出最重要的質(zhì)量屬性,確定優(yōu)先級,用效用樹表示.
效用樹的輸出結(jié)果是對具體質(zhì)量屬性需求(以場景形式出現(xiàn))的優(yōu)先級的確定,這種優(yōu)先級列表為ATAM評估方法的后面幾步提供了指導(dǎo),它告訴了評估小組該把有限的時間花在哪里,特別是該在哪里去考察SA方法與相應(yīng)的風(fēng)險、敏感點和權(quán)衡點ATAM步驟詳述(7/18)《軟件體系結(jié)構(gòu)》電子教案52/78效用性能可修改性可用性安全性數(shù)據(jù)延遲交易吞吐量(M,L)將客戶數(shù)據(jù)庫的存儲延遲減到最小值200毫秒(H,M)提供實時視屏圖象(M,M)使認證服務(wù)器的平均吞吐量最大化新產(chǎn)品類目商業(yè)產(chǎn)品修改硬件故障商業(yè)軟件故障數(shù)據(jù)機密性數(shù)據(jù)安全性(L,H)信用卡交易在99.999%的時間內(nèi)是安全的(L,H)客戶數(shù)據(jù)庫認證在99.999%的時間內(nèi)能正常工作……………優(yōu)先級的設(shè)置依據(jù):(1)每個場景對系統(tǒng)成功與否的重要性;(2)估計實現(xiàn)場景的難度ATAM步驟詳述(8/18)5.生成質(zhì)量屬性效用樹(2)《軟件體系結(jié)構(gòu)》電子教案53/78效用性能可修改性可用性安全性數(shù)據(jù)延遲交易吞吐量(M,L)將客戶數(shù)據(jù)庫的存儲延遲減到最小值200毫秒(H,M)提供實時視屏圖象(M,M)使認證服務(wù)器的平均吞吐量最大化新產(chǎn)品類目商業(yè)產(chǎn)品修改硬件故障商業(yè)軟件故障數(shù)據(jù)機密性數(shù)據(jù)安全性(L,H)信用卡交易在99.999%的時間內(nèi)是安全的(L,H)客戶數(shù)據(jù)庫認證在99.999%的時間內(nèi)能正常工作……………模糊
---------具體整個系統(tǒng)的質(zhì)量質(zhì)量屬性質(zhì)量屬性的進一步說明質(zhì)量屬性的具體化:場景ATAM步驟詳述(9/18)
生成質(zhì)量屬性效用樹(3)《軟件體系結(jié)構(gòu)》電子教案54/786.分析體系結(jié)構(gòu)方法(1-結(jié)果)
ATAM步驟詳述(10/18)獲得與效用樹中每個高優(yōu)先級場景相關(guān)的SA方法或決策。如果與第4步的不一致,要給出原因與每個SA方法相聯(lián)系,并與對應(yīng)的場景質(zhì)量屬性相匹配的待分析問題SA設(shè)計師對問題的解答有/無風(fēng)險決策、敏感點和權(quán)衡點的確認《軟件體系結(jié)構(gòu)》電子教案55/786.分析體系結(jié)構(gòu)方法(2-模板)ATAM步驟詳述(11/18)《軟件體系結(jié)構(gòu)》電子教案56/786.分析體系結(jié)構(gòu)方法(3-樣例)ATAM步驟詳述(12/18)57/787.討論和分級場景(1)
風(fēng)險承擔者需進行兩項相關(guān)的活動:集體討論用例場景和改變場景。用例場景是場景的一種,在用例場景中,風(fēng)險承擔者是一個終端用戶,使用系統(tǒng)執(zhí)行一些功能。改變場景代表系統(tǒng)的變更,可分為成長場景和考察場景兩類。成長場景描述的是SA在中短期的改變??疾靾鼍懊枋龅氖窍到y(tǒng)成長的一個極端情形。成長場景使評估人員看清在預(yù)期因素影響系統(tǒng)時,SA所表現(xiàn)出來的優(yōu)缺點,而考察場景則試圖找出敏感點和權(quán)衡點,有助于評估者評估系統(tǒng)質(zhì)量屬性的限制。ATAM步驟詳述(13/18)《軟件體系結(jié)構(gòu)》電子教案58/787.討論和分級場景(2)
一旦收集了若干個場景后,必須要設(shè)置優(yōu)先級。評估人員可通過投票表決的方式來完成,每個風(fēng)險承擔者分配相當于總場景數(shù)的30%的選票,且此數(shù)值只入不舍。例如,如果共有17個場景,則每個風(fēng)險承擔者將拿到6張選票,這6張選票的具體使用則取決于風(fēng)險承擔者,他可以把這6張票全部投給某一個場景,或者每個場景投2-3張票,還可以一個場景一張票等。一旦投票結(jié)果確定,所有場景就可設(shè)置優(yōu)先級。設(shè)置優(yōu)先級和投票的過程既可公開也可保密。ATAM步驟詳述(14/18)《軟件體系結(jié)構(gòu)》電子教案59/787.討論和分級場景—場景得票(3)
ATAM步驟詳述(15/18)《軟件體系結(jié)構(gòu)》電子教案60/787.討論和分級場景—場景與質(zhì)量屬性(4)ATAM步驟詳述(16/18)《軟件體系結(jié)構(gòu)》電子教案61/788.分析體系結(jié)構(gòu)方法
在收集并分析了場景之后,設(shè)計師就可把最高級別的場景映射到所描述的體系結(jié)構(gòu)中,并對相關(guān)的體系結(jié)構(gòu)如何有助于該場景的實現(xiàn)做出解釋。在這一步中,評估小組要重復(fù)第6步中的工作,把新得到的最高優(yōu)先級場景與尚未得到的SA工作產(chǎn)品對應(yīng)起來。在第7步中,如果未產(chǎn)生任何在以前的分析步驟中都沒有發(fā)現(xiàn)的高優(yōu)先級場景,則在第8步就是測試步驟。ATAM步驟詳述(17/18)《軟件體系結(jié)構(gòu)》電子教案62/789.描述評估結(jié)果
把ATAM分析中所得到的各種信息進行歸納,并反饋給風(fēng)險承擔者。描述一般要采用幻燈片的形式,但也可以在ATAM評估結(jié)束之后,提交更完整的書面報告。評估負責人重點介紹ATAM介紹ATAM評估的結(jié)果: 已文檔化了的體系結(jié)構(gòu)方法/風(fēng)格; 場景及優(yōu)先級; 基于屬性的問題; 效用樹; 所發(fā)現(xiàn)的風(fēng)險決策; 已文檔化了的無風(fēng)險決策; 所發(fā)現(xiàn)的敏感點和權(quán)衡點。ATAM步驟詳述(18/18)《軟件體系結(jié)構(gòu)》電子教案63/78第0階段:建立評估小組、確立評估組織、以及組織之間的關(guān)系第1階段:以SA為中心,獲取SA信息并對其進行分析第2階段:以風(fēng)險承擔者為中心,獲取風(fēng)險承擔者的觀點,并對第1階段進行驗證第3階段:形成報告,對存在的后續(xù)工作進行規(guī)劃,并實現(xiàn)文檔和經(jīng)驗的更新7.3ATAM評估方法ATAM評估的階段(具體實施)
《軟件體系結(jié)構(gòu)》電子教案64/78ATAM各步驟中相關(guān)的風(fēng)險承擔者
7.3ATAM評估方法《軟件體系結(jié)構(gòu)》電子教案65/78ATAM評估日程安排(1)7.3ATAM評估方法《軟件體系結(jié)構(gòu)》電子教案66/78ATAM評估日程安排(2)
7.3ATAM評估方法67/78第7章內(nèi)容摘要7.1體系結(jié)構(gòu)評估概述7.2軟件體系結(jié)構(gòu)評估的主要方式7.3ATAM評估方法7.4SAAM評估方法《軟件體系結(jié)構(gòu)》電子教案68/78SAAM通過構(gòu)造一組領(lǐng)域驅(qū)動的場景來反映最終軟件產(chǎn)品的質(zhì)量,為評估系統(tǒng)的體系結(jié)構(gòu)提供了一個基于應(yīng)用環(huán)境的評估方法。場景分為:直接場景:主要用于檢查軟件的功能間接場景:主要用于檢查非功能特性場景涉及的參與者包括用戶、開發(fā)人員、管理人員、維護人員等。7.4SAAM評估
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院入住老人心理健康監(jiān)測制度
- 企業(yè)設(shè)備維護與保養(yǎng)制度
- 會議報告與總結(jié)撰寫制度
- 2026年金融風(fēng)險管理市場風(fēng)險識別與控制策略實操題庫
- 2026年建筑工程結(jié)構(gòu)設(shè)計與施工工藝考試題集
- 2026年新版工業(yè)同位協(xié)議
- 2026年委托消毒合同
- 山東省泰安市2025-2026學(xué)年高三上學(xué)期2月一??荚囌Z文試題及參考答案
- 單位總值班室應(yīng)急值守管理制度內(nèi)容
- 2025年長江師范學(xué)院馬克思主義基本原理概論期末考試模擬題附答案解析(奪冠)
- 學(xué)堂在線 雨課堂 學(xué)堂云 積極心理學(xué)(下)自強不息篇 章節(jié)測試答案
- 車輛掛靠公司免責協(xié)議書
- 2025期貨從業(yè)人員資格考試題庫含答案
- TCCEAS001-2022建設(shè)項目工程總承包計價規(guī)范
- 2024-2025學(xué)年八年級數(shù)學(xué)開學(xué)摸底考試卷(北京專用)(解析版)
- 硅錳工藝培訓(xùn)
- 藥流護理常規(guī)
- HGT 4205-2024《工業(yè)氧化鈣》規(guī)范要求
- 原發(fā)性纖毛運動障礙綜合征教學(xué)演示課件
- 月臺施工方案
- 白血病醫(yī)學(xué)知識培訓(xùn)
評論
0/150
提交評論