版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模
概述
在基于構(gòu)件的可靠性模型中,通過(guò)狀態(tài)圖來(lái)描述系統(tǒng)的行為。軟件系統(tǒng)的可靠性依賴于狀態(tài)的執(zhí)行順序和每一個(gè)狀態(tài)的可靠性。狀態(tài)圖是一個(gè)有向圖,在狀態(tài)圖中,每一個(gè)結(jié)點(diǎn)Si表示一個(gè)狀態(tài),從狀態(tài)Si到狀態(tài)Sj的遷移通過(guò)連接邊(Si,Sj)表示。2第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模
概述
假設(shè)Ri表示狀態(tài)Si的可靠性,Pij表示從狀態(tài)Si到Sj的遷移的概率,基于狀態(tài)圖可以定義一個(gè)遷移矩陣M和可達(dá)值M(i,j)M(i,j)=Ri×PijM(i,j)表示能夠從狀態(tài)Si到狀態(tài)Sj成功遷移的概率。3
概述
遷移矩陣第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模4
概述
假設(shè)S={S1,S2,…,Sn}是一個(gè)狀態(tài)的集合,S1是開(kāi)始狀態(tài),Sn是最終狀態(tài)。Mk(i,j)表示通過(guò)k個(gè)遷移從Si成功到達(dá)Sj的概率。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模5
順序結(jié)構(gòu)風(fēng)格
在順序結(jié)構(gòu)風(fēng)格中,系統(tǒng)的運(yùn)行按構(gòu)件的順序依次執(zhí)行。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模6
順序結(jié)構(gòu)風(fēng)格
假設(shè)體系結(jié)構(gòu)是由k個(gè)構(gòu)件順序組成,其遷移矩陣通過(guò)下式構(gòu)造:
M(i,j)=0,Si不能夠到達(dá)Sj,for1i,jkM(i,j)=RiPij,Si能夠到達(dá)Sj其中,M(i,j)是狀態(tài)Si能夠成功到達(dá)Sj的概率。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模7
并行/管道-過(guò)濾器結(jié)構(gòu)風(fēng)格
在這種風(fēng)格中,多個(gè)構(gòu)件可以在同一狀態(tài)下并行執(zhí)行。并行或管道-過(guò)濾器結(jié)構(gòu)風(fēng)格第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模8
并行/管道-過(guò)濾器結(jié)構(gòu)風(fēng)格
設(shè)并行結(jié)構(gòu)的狀態(tài)集為Sp,Sp1
Sp并行或管道-過(guò)濾器結(jié)構(gòu)風(fēng)格第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模9
并行/管道-過(guò)濾器結(jié)構(gòu)風(fēng)格
具有k個(gè)構(gòu)件的并行/管道-過(guò)濾器體系結(jié)構(gòu)風(fēng)格,其遷移矩陣通過(guò)下式構(gòu)造:第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模10
容錯(cuò)結(jié)構(gòu)風(fēng)格
容錯(cuò)結(jié)構(gòu)風(fēng)格是由一個(gè)原始構(gòu)件和一系列的備份構(gòu)件組成,原始構(gòu)件和備份構(gòu)件都放在一個(gè)并行結(jié)構(gòu)下,使得當(dāng)一個(gè)構(gòu)件出現(xiàn)錯(cuò)誤時(shí),其他構(gòu)件能夠繼續(xù)提供服務(wù)。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模11
容錯(cuò)結(jié)構(gòu)風(fēng)格
容錯(cuò)構(gòu)件聚集在狀態(tài)Sb1內(nèi)。假設(shè)所有備份構(gòu)件的遷移概率與原始構(gòu)件的遷移概率是相同的。從狀態(tài)S1到狀態(tài)Sk-2和狀態(tài)Sk-1時(shí),如果狀態(tài)S2出現(xiàn)錯(cuò)誤,則使用S3的狀態(tài),如果S2和S3都出現(xiàn)錯(cuò)誤,則使用S4的狀態(tài),……。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模12
容錯(cuò)結(jié)構(gòu)風(fēng)格
當(dāng)k=6時(shí),當(dāng)k=7時(shí),第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模13
容錯(cuò)結(jié)構(gòu)風(fēng)格
遷移矩陣第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模14
調(diào)用-返回結(jié)構(gòu)風(fēng)格
在調(diào)用-返回風(fēng)格中,被調(diào)用構(gòu)件可能被多次調(diào)用,而調(diào)用構(gòu)件只執(zhí)行一次。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模15
調(diào)用-返回結(jié)構(gòu)風(fēng)格
M(1,3)=R1P13;M(2,1)=R2P21;由于從狀態(tài)S1可以多次遷移到狀態(tài)S2,在計(jì)算M(1,2)時(shí),只考慮從狀態(tài)S1到狀態(tài)S2遷移的概率,不考慮狀態(tài)S1的可靠性。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模16假設(shè)存在由k個(gè)構(gòu)件組成的調(diào)用-返回結(jié)構(gòu)風(fēng)格,其狀態(tài)數(shù)量為k,其遷移矩陣通過(guò)下式構(gòu)造:
M(i,j)=RiPij,Si可以到達(dá)Sj
M(i,j)=Pij,Si可以到達(dá)Sj
,Sj是被調(diào)用構(gòu)件
M(i,j)=0,Si不能到達(dá)Sj其中,1i,jk
調(diào)用-返回結(jié)構(gòu)風(fēng)格
第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.1體系結(jié)構(gòu)的可靠性建模17第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析
風(fēng)險(xiǎn)分析的方法風(fēng)險(xiǎn)評(píng)估對(duì)于任何軟件風(fēng)險(xiǎn)管理計(jì)劃都是一個(gè)重要的過(guò)程。風(fēng)險(xiǎn)評(píng)估應(yīng)該是基于能夠通過(guò)定量的方法對(duì)軟件產(chǎn)品屬性進(jìn)行的度量。體系結(jié)構(gòu)級(jí)的風(fēng)險(xiǎn)評(píng)估是基于動(dòng)態(tài)的方法。該方法用動(dòng)態(tài)復(fù)雜性和動(dòng)態(tài)偶合性來(lái)定義用于描述體系結(jié)構(gòu)元素的復(fù)雜性因子。
18
風(fēng)險(xiǎn)分析的方法1.動(dòng)態(tài)方法動(dòng)態(tài)方法是用來(lái)評(píng)估執(zhí)行中的軟件體系結(jié)構(gòu)的動(dòng)態(tài)偶合度和動(dòng)態(tài)復(fù)雜度;動(dòng)態(tài)偶合度是用來(lái)度量在特定的執(zhí)行場(chǎng)景中,兩個(gè)互相連接的構(gòu)件或連接件之間的活躍程度。動(dòng)態(tài)復(fù)雜度方法是用來(lái)測(cè)量特定構(gòu)件在給定場(chǎng)景下的動(dòng)態(tài)行為。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析19
風(fēng)險(xiǎn)分析的方法2.構(gòu)件依賴圖構(gòu)件依賴圖(componentdependencygraph,CDG)是用于在體系結(jié)構(gòu)級(jí)進(jìn)行可靠性分析的概率模型;它是控制流圖的擴(kuò)展。CDG圖是有向圖,它描述構(gòu)件、構(gòu)件的可靠性,連接件、連接件的可靠性和遷移概率。CDG是從場(chǎng)景中開(kāi)發(fā)出來(lái)的,通常用UML的序列圖對(duì)場(chǎng)景進(jìn)行建模。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析20
風(fēng)險(xiǎn)分析的方法2.構(gòu)件依賴圖定義1
CDG=<N,E,s,t>,N是結(jié)點(diǎn)集,E是邊集,s和t分別是初始點(diǎn)和終結(jié)點(diǎn)。例如,N={n},E={e},n=<Ci,RCi,ECi>,其中Ci表示第i個(gè)構(gòu)件,RCi表示Ci的可靠性,ECi是Ci的平均執(zhí)行時(shí)間。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析21
風(fēng)險(xiǎn)分析的方法2.構(gòu)件依賴圖其中,PSk是場(chǎng)景Sk的執(zhí)行概率,|S|是場(chǎng)景的總數(shù),Time(Ci)是構(gòu)件Ci的執(zhí)行時(shí)間,Time(Ci)可以通過(guò)序列圖中構(gòu)件Ci在其生命線上的活躍時(shí)間總數(shù)進(jìn)行估計(jì)。Ci是場(chǎng)景Sk中的構(gòu)件。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析22
風(fēng)險(xiǎn)分析的方法2.構(gòu)件依賴圖其中,Tij是從結(jié)點(diǎn)ni到nj的遷移,RTij是該遷移的可靠性,PTij是遷移概率,PTij可以通過(guò)下式獲得:第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析23
風(fēng)險(xiǎn)分析的方法2.構(gòu)件依賴圖其中,Ci,Cj,Cl(j,li)都是場(chǎng)景Sk中的構(gòu)件,PSk是場(chǎng)景Sk的執(zhí)行概率,|S|是場(chǎng)景的總數(shù),N是應(yīng)用系統(tǒng)中的構(gòu)件數(shù)量,|(Interact(Ci,Cj)|是構(gòu)件Ci和構(gòu)件Cj在場(chǎng)景Sk中的交互次數(shù)。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析24
風(fēng)險(xiǎn)分析的方法2.構(gòu)件依賴圖一個(gè)簡(jiǎn)單的CDG圖第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析25
風(fēng)險(xiǎn)分析的步驟分析方法的主要步驟:采用體系結(jié)構(gòu)描述語(yǔ)言ADL對(duì)體系結(jié)構(gòu)進(jìn)行建模。通過(guò)模擬方法執(zhí)行復(fù)雜性分析。通過(guò)FMEA(failuremodeandeffectanalysis)和模擬運(yùn)行執(zhí)行嚴(yán)重性分析。為構(gòu)件和連接件開(kāi)發(fā)啟發(fā)式風(fēng)險(xiǎn)因子。建立用于風(fēng)險(xiǎn)評(píng)估的CDG。通過(guò)圖論中的算法執(zhí)行風(fēng)險(xiǎn)評(píng)估和分析。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析26
風(fēng)險(xiǎn)分析的步驟1.采用體系結(jié)構(gòu)描述語(yǔ)言ADL對(duì)體系結(jié)構(gòu)進(jìn)行建模軟件的風(fēng)險(xiǎn)可以和系統(tǒng)運(yùn)行時(shí)的失效性相關(guān)聯(lián),因此軟件系統(tǒng)的風(fēng)險(xiǎn)可以通過(guò)對(duì)單個(gè)構(gòu)件的行為和系統(tǒng)的動(dòng)態(tài)行為進(jìn)行分析和評(píng)估。選擇的ADL必須對(duì)構(gòu)件之間的交互和單個(gè)構(gòu)件的行為提供支持??梢允褂肬ML的狀態(tài)圖描述單個(gè)構(gòu)件的行為,使用UML的序列圖來(lái)描述構(gòu)件之間的交互。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析27
風(fēng)險(xiǎn)分析的步驟2.復(fù)雜性分析構(gòu)件的復(fù)雜性McCabe的基于程序流圖的環(huán)路復(fù)雜性度量:
VG=e–n+2其中,e是圖的邊數(shù),n是圖的結(jié)點(diǎn)數(shù)??梢曰诖朔椒槊總€(gè)構(gòu)件開(kāi)發(fā)復(fù)雜性因子,對(duì)每個(gè)場(chǎng)景統(tǒng)計(jì)Sk中的每個(gè)構(gòu)件Ci的執(zhí)行路徑的環(huán)路復(fù)雜性,這類度量稱為互操作復(fù)雜性,用cpxk(Ci)表示。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析28
風(fēng)險(xiǎn)分析的步驟2.復(fù)雜性分析構(gòu)件的復(fù)雜性復(fù)合狀態(tài)的環(huán)路復(fù)雜性:可以通過(guò)統(tǒng)計(jì)所有遷移片段的環(huán)路復(fù)雜性計(jì)算,包括起始點(diǎn)出口代碼片斷和終結(jié)點(diǎn)的入口代碼片斷。
兩個(gè)復(fù)合狀態(tài)之間的遷移圖第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析29
風(fēng)險(xiǎn)分析的步驟2.復(fù)雜性分析構(gòu)件的復(fù)雜性從狀態(tài)S11到狀態(tài)S22的一個(gè)遷移的VG如下,其中,VGx是出口編碼片斷的復(fù)雜性,VGa是活動(dòng)代碼片斷的復(fù)雜性,VGe是入口代碼片斷的復(fù)雜性。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析30
風(fēng)險(xiǎn)分析的步驟2.復(fù)雜性分析構(gòu)件的復(fù)雜性使用場(chǎng)景概率PSk能夠通過(guò)下式統(tǒng)計(jì)每個(gè)構(gòu)件的操作復(fù)雜性度量,其中|S|表示場(chǎng)景數(shù)。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析31
風(fēng)險(xiǎn)分析的步驟2.復(fù)雜性分析(2)
連接件的復(fù)雜性可以使用動(dòng)態(tài)耦合法進(jìn)行分析:動(dòng)態(tài)耦合中包括輸出動(dòng)態(tài)耦合和輸入動(dòng)態(tài)耦合。假設(shè)ECk(Ci,Cj)是與構(gòu)件Cj相關(guān)的構(gòu)件Ci的輸出耦合,它等于從構(gòu)件Ci到構(gòu)件Cj所發(fā)的消息數(shù)在場(chǎng)景Sk的執(zhí)行期內(nèi)所交換的消息總數(shù)的百分比,即:Mk(Ci,Cj)是在場(chǎng)景Sk執(zhí)行期間,從構(gòu)件Ci到構(gòu)件Cj所發(fā)送的消息集;MTk是在場(chǎng)景Sk執(zhí)行期間,所有構(gòu)件進(jìn)行的消息交換總數(shù)。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析32
風(fēng)險(xiǎn)分析的步驟2.復(fù)雜性分析(2)
連接件的復(fù)雜性EC(Ci,Cj)度量公式:|S|是場(chǎng)景總數(shù),PSk是場(chǎng)景Sk的執(zhí)行概率。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析33
風(fēng)險(xiǎn)分析的步驟3.嚴(yán)重性分析構(gòu)件的復(fù)雜性并不是估計(jì)失效風(fēng)險(xiǎn)的完整方法,有些構(gòu)件的復(fù)雜度很低,但它們卻充當(dāng)一個(gè)主要的安全角色,如果失效可能導(dǎo)致災(zāi)難性的后果。通過(guò)每一個(gè)潛在的失效方式的級(jí)別和失效方式的后果來(lái)進(jìn)行嚴(yán)重性分析。FMEA技術(shù)是一個(gè)用于描述系統(tǒng)可能的失效方式和識(shí)別失效后果的系統(tǒng)方法。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析34
風(fēng)險(xiǎn)分析的步驟3.嚴(yán)重性分析(1)失效方式的識(shí)別:為簡(jiǎn)單起見(jiàn),只考慮下面一些失效分析技術(shù):?jiǎn)蝹€(gè)構(gòu)件的失效方式。在體系結(jié)構(gòu)描述模型中,每一個(gè)構(gòu)件用一個(gè)狀態(tài)圖來(lái)描述,它是一個(gè)基于狀態(tài)的構(gòu)件行為描述。在識(shí)別單個(gè)構(gòu)件的失效方式中,僅考慮功能性故障分析和基于狀態(tài)的故障分析。單個(gè)連接件的失效方式。在體系結(jié)構(gòu)模擬模型中,為了識(shí)別單個(gè)連接件的失效方式,僅考慮在消息參數(shù)與消息參數(shù)之間的接口錯(cuò)誤失效誤差。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析35
風(fēng)險(xiǎn)分析的步驟3.嚴(yán)重性分析(2)嚴(yán)重性分級(jí):本節(jié)通過(guò)以下方式對(duì)嚴(yán)重性進(jìn)行分級(jí)。災(zāi)難性的。一個(gè)錯(cuò)誤可能導(dǎo)致整個(gè)系統(tǒng)的失敗或毀滅。危急的。一個(gè)錯(cuò)誤可能導(dǎo)致嚴(yán)重的損壞、主要性能的損壞、主要系統(tǒng)的損壞,或者主要產(chǎn)品的失敗。邊際性的。一個(gè)錯(cuò)誤對(duì)性能、系統(tǒng)產(chǎn)生一個(gè)較小的損壞,或推遲產(chǎn)品的完成日期。較小的。一個(gè)錯(cuò)誤并不產(chǎn)生任何的損壞,但需要不定時(shí)地進(jìn)行維護(hù)和修理。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析36
風(fēng)險(xiǎn)分析的步驟4.開(kāi)發(fā)體系結(jié)構(gòu)元素的可靠性風(fēng)險(xiǎn)因子主要是通過(guò)復(fù)雜性和嚴(yán)重性因素,為體系結(jié)構(gòu)中的每一個(gè)構(gòu)件和連接件計(jì)算其啟發(fā)式風(fēng)險(xiǎn)因子。體系結(jié)構(gòu)的每一個(gè)構(gòu)件的啟發(fā)式風(fēng)險(xiǎn)因子可以通過(guò)下式計(jì)算:cpxi∈[0,1]是第i個(gè)構(gòu)件的動(dòng)態(tài)復(fù)雜性;svrtyi∈[0,1]是第i個(gè)構(gòu)件的嚴(yán)重性級(jí)別。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析37
風(fēng)險(xiǎn)分析的步驟4.開(kāi)發(fā)體系結(jié)構(gòu)元素的可靠性風(fēng)險(xiǎn)因子體系結(jié)構(gòu)的每一個(gè)連接件的啟發(fā)式風(fēng)險(xiǎn)因子可以通過(guò)下式計(jì)算:cpxij∈[0,1]是第i個(gè)構(gòu)件到第j個(gè)構(gòu)件之間的連接件的動(dòng)態(tài)偶合度,可以通過(guò)EC(Ci,Cj)計(jì)算;
svrtyij∈[0,1]是第i個(gè)構(gòu)件到第j個(gè)構(gòu)件之間的連接件的嚴(yán)重級(jí)別。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析38
風(fēng)險(xiǎn)分析的步驟5.CDG的開(kāi)發(fā)CDG模型可以通過(guò)下述步驟構(gòu)造:通過(guò)估計(jì)每一個(gè)場(chǎng)景執(zhí)行的頻率,來(lái)估計(jì)每個(gè)場(chǎng)景執(zhí)行的概率;對(duì)每一個(gè)場(chǎng)景中的構(gòu)件通過(guò)模擬報(bào)告來(lái)記錄每一個(gè)構(gòu)件的執(zhí)行時(shí)間;通過(guò)場(chǎng)景的使用概率和場(chǎng)景之間的遷移概率來(lái)計(jì)算構(gòu)件之間的遷移概率;通過(guò)模擬,為每個(gè)構(gòu)件、連接件估計(jì)復(fù)雜性因子和嚴(yán)重性指標(biāo),通過(guò)綜合復(fù)雜性因子和嚴(yán)重性指標(biāo)獲取每個(gè)構(gòu)件、連接件的風(fēng)險(xiǎn)因子。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析39
風(fēng)險(xiǎn)分析的步驟6.可靠性風(fēng)險(xiǎn)分析算法體系結(jié)構(gòu)的風(fēng)險(xiǎn)因子可以通過(guò)聚合單個(gè)構(gòu)件和連接件的風(fēng)險(xiǎn)因子來(lái)獲得。例如,假設(shè)存在一個(gè)有L個(gè)構(gòu)件的執(zhí)行序列,則該執(zhí)行序列L的風(fēng)險(xiǎn)因子為:第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.2軟件體系結(jié)構(gòu)的風(fēng)險(xiǎn)分析40第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試
概述
測(cè)試大型復(fù)雜的軟件系統(tǒng)是一項(xiàng)困難且花費(fèi)巨大的工作,但在軟件開(kāi)發(fā)和維護(hù)過(guò)程中卻是一項(xiàng)非常重要的工作。如何盡早地開(kāi)展軟件測(cè)試工作,怎樣將形式化方法與軟件測(cè)試技術(shù)結(jié)合起來(lái),已成為軟件測(cè)試研究的重點(diǎn)。由于軟件體系結(jié)構(gòu)描述語(yǔ)言具有形式化理論的基礎(chǔ),如Petri網(wǎng)、狀態(tài)圖、Z語(yǔ)言、CSP等,這為在體系結(jié)構(gòu)級(jí)對(duì)系統(tǒng)進(jìn)行分析和測(cè)試提供了理論基礎(chǔ)和數(shù)學(xué)方法。因此體系結(jié)構(gòu)描述語(yǔ)言除了具有形式化描述軟件體系結(jié)構(gòu)和相關(guān)推導(dǎo)的功能之外,還能以此為基礎(chǔ),提供體系結(jié)構(gòu)規(guī)約的形式化分析方法,從而在系統(tǒng)開(kāi)發(fā)初期就能發(fā)現(xiàn)體系結(jié)構(gòu)級(jí)的錯(cuò)誤。4141
體系結(jié)構(gòu)抽象模型
軟件體系結(jié)構(gòu)是由若干組件C、連接器O和配置D組成的集合A={C,O,D},配置D是描述如何將組件、連接器端口組裝起來(lái)以生成體系結(jié)構(gòu)的。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試4242
體系結(jié)構(gòu)抽象模型
抽象模型中,兩組件之間除了通過(guò)與某一連接器直接連接以外,由于事件的觸發(fā)和數(shù)據(jù)的依賴關(guān)系,還有可能通過(guò)其他連接器或其他組件進(jìn)行數(shù)據(jù)、控制和命令的消息傳遞。體系結(jié)構(gòu)將組件、連接器和接口作為結(jié)構(gòu)的基本單元,而體系結(jié)構(gòu)的語(yǔ)義和語(yǔ)法約束了這些單元的關(guān)系。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試4343
體系結(jié)構(gòu)抽象模型
基于結(jié)構(gòu)的單元測(cè)試關(guān)注的是程序單元、語(yǔ)句、變量和條件間的數(shù)據(jù)流和控制流;
軟件體系結(jié)構(gòu)測(cè)試關(guān)注的則是組件、連接器在結(jié)構(gòu)上和行為上的依賴關(guān)系,這種關(guān)系可以通過(guò)體系結(jié)構(gòu)描述語(yǔ)言和模型來(lái)獲得.第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試44
測(cè)試方法軟件體系結(jié)構(gòu)測(cè)試與程序測(cè)試有所不同,它是檢查軟件設(shè)計(jì)的適用性,這種測(cè)試不考慮軟件的實(shí)現(xiàn)代碼,所以基于實(shí)現(xiàn)和說(shuō)明的程序測(cè)試方法對(duì)軟件體系結(jié)構(gòu)測(cè)試并不適用。體系結(jié)構(gòu)描述語(yǔ)言的形式規(guī)格說(shuō)明提供了精確、一致、易于被機(jī)器處理的符號(hào)來(lái)描述軟件的體系結(jié)構(gòu);因此可以通過(guò)模型檢測(cè)、形式化證明等方法分析軟件體系結(jié)構(gòu),這些方法大多是基于靜態(tài)的分析,它不能測(cè)試系統(tǒng)中的組件交互和動(dòng)態(tài)行為。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試45
測(cè)試內(nèi)容與傳統(tǒng)的軟件測(cè)試一樣,基于體系結(jié)構(gòu)的軟件測(cè)試也需要研究測(cè)試內(nèi)容、測(cè)試準(zhǔn)則、測(cè)試用例、測(cè)試充分性及測(cè)試方法等問(wèn)題。體系結(jié)構(gòu)的描述必須滿足一個(gè)基本的要求,即體系結(jié)構(gòu)描述的各個(gè)部分必須相互一致,不能彼此沖突,因?yàn)轶w系結(jié)構(gòu)主要關(guān)注系統(tǒng)的結(jié)構(gòu)和組裝,如果參與組裝的各個(gè)部分之間彼此沖突,那么由此組裝、精化和實(shí)現(xiàn)的系統(tǒng)一定不能工作。因此,體系結(jié)構(gòu)的分析和測(cè)試主要考慮:組件端口行為與連接器約束是否一致、兼容,單元間的消息是否一致、可達(dá),相關(guān)端口是否可連接,體系結(jié)構(gòu)風(fēng)格是否可滿足。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試46
測(cè)試內(nèi)容為了保證測(cè)試的充分性,必須對(duì)關(guān)聯(lián)組件、連接器的所有端口行為和約束進(jìn)行測(cè)試,即所有接口應(yīng)該是連接的,數(shù)據(jù)流、控制流和命令應(yīng)該是可達(dá)的,且在并發(fā)時(shí)應(yīng)該保證無(wú)死鎖發(fā)生。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試47
測(cè)試準(zhǔn)則在傳統(tǒng)測(cè)試方法中,測(cè)試準(zhǔn)則是基于實(shí)現(xiàn)和規(guī)約得到的,基于實(shí)現(xiàn)的測(cè)試準(zhǔn)則是結(jié)構(gòu)化的,它是利用軟件的內(nèi)部結(jié)構(gòu)來(lái)定義測(cè)試數(shù)據(jù)以覆蓋系統(tǒng)。例如,通過(guò)結(jié)構(gòu)技術(shù)從程序代碼中或通過(guò)功能化技術(shù)從規(guī)約說(shuō)明中得到單元測(cè)試計(jì)劃,基于數(shù)據(jù)流和控制流定義的語(yǔ)句覆蓋和分支覆蓋作為測(cè)試準(zhǔn)則。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試48
測(cè)試準(zhǔn)則基于體系結(jié)構(gòu)的抽象模型,通過(guò)分析體系結(jié)構(gòu)組成單元之間的關(guān)聯(lián)性,定義了如下的測(cè)試準(zhǔn)則:測(cè)試準(zhǔn)則:測(cè)試應(yīng)覆蓋所有的組件及各個(gè)組件的接口、各個(gè)連接器的接口、組件之間的直接連接、組件之間的間接連接。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試49
測(cè)試需求和測(cè)試用例的生成實(shí)現(xiàn)完整測(cè)試的典型方法是利用測(cè)試準(zhǔn)則定義測(cè)試需求,進(jìn)而生成測(cè)試用例。可定義以下幾種測(cè)試路徑:(1)組件或連接器內(nèi)部消息的傳遞路徑;(2)組件或連接器內(nèi)部端口的執(zhí)行順序路徑;(3)組件之間到連接器或連接器到組件的消息傳遞路徑;(4)組件之間的直接連接路徑;(5)組件之間的間接連接路徑;(6)所有組件的連接路徑。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試50
測(cè)試需求和測(cè)試用例的生成軟件體系結(jié)構(gòu)測(cè)試過(guò)程可以分為單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試;單元測(cè)試是最底層的測(cè)試活動(dòng),指組件開(kāi)發(fā)者對(duì)組件本身的測(cè)試,涉及的消息流是組件內(nèi)部的消息,一般由組件開(kāi)發(fā)者完成;集成測(cè)試的主要任務(wù)是測(cè)試組件之間的接口以保證組件能夠交互,它將組件本身抽象為單元,并關(guān)注于組件間的消息傳遞,組件的交互行為可以通過(guò)形式化規(guī)約得到,因此這種測(cè)試可提前進(jìn)行;系統(tǒng)測(cè)試的主要任務(wù)是測(cè)試整個(gè)系統(tǒng)能否正常運(yùn)行,以保證系統(tǒng)符合其設(shè)計(jì)模型。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試51
測(cè)試需求和測(cè)試用例的生成在不同階段,測(cè)試關(guān)注的信息和特征也不相同,因此測(cè)試準(zhǔn)則的級(jí)別也就不同,根據(jù)由低到高的逐步抽象過(guò)程,可定義測(cè)試準(zhǔn)則的級(jí)別。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試52
測(cè)試需求和測(cè)試用例的生成在測(cè)試過(guò)程中,根據(jù)測(cè)試準(zhǔn)則級(jí)別,可選擇不的測(cè)試路徑,生成測(cè)試用例.例如,如果要進(jìn)行構(gòu)件級(jí)測(cè)試,通過(guò)對(duì)構(gòu)件行為的細(xì)化,即進(jìn)一步展開(kāi)構(gòu)件,再利用第1級(jí)測(cè)試準(zhǔn)則來(lái)覆蓋所有路徑,從而得到該構(gòu)件的測(cè)試用例。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試53
實(shí)例與實(shí)現(xiàn)以客戶/服務(wù)器(Client/Server)結(jié)構(gòu)為例,Client和Server這2個(gè)組件通過(guò)客戶服務(wù)器協(xié)議連接,連接器有2個(gè)角色Role(C)、Role(S),它們分別負(fù)責(zé)與Client端和Server端的連接;Role(C)的事件集為{開(kāi)始,請(qǐng)求,接收結(jié)果,成功}Role(S)的事件集為{開(kāi)始,激發(fā),返回結(jié)果,成功}第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試54
實(shí)例與實(shí)現(xiàn)Client/Server遵循以下規(guī)則:客戶端首先初始化進(jìn)程并與Server連接,一旦連接,Client端通過(guò)Role(C)向Server發(fā)出請(qǐng)求;Server在收到Client端連接請(qǐng)求后,與Client端進(jìn)行連接,當(dāng)請(qǐng)求被激發(fā)后,將請(qǐng)求結(jié)果返回給Client端,然后等待Client端的其他請(qǐng)求;Client端接收結(jié)果后,可以發(fā)出更多的請(qǐng)求或終止連接;如果Client端終止了連接,Server也就中斷了與Client的連接。第10章軟件體系結(jié)構(gòu)的分析與測(cè)試
10.3基于體系結(jié)構(gòu)描述的軟件測(cè)試55
實(shí)例與實(shí)現(xiàn)Server端的應(yīng)用構(gòu)件描述如下:TypeApplisinterfaceExternalActionRequest(Msg:String)PublicActionResults(Msg:String)Behavior
(
M∈Msgs(Appl))∧Receive(Appl,M)
Results(Appl,M)Cons(
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程分包補(bǔ)充協(xié)議書(shū)范本
- 標(biāo)準(zhǔn)平房租賃合同書(shū)
- 磚塊砌體采購(gòu)合同
- 招標(biāo)方案文件編寫(xiě)方法
- 熱力管道建設(shè)招標(biāo)預(yù)算
- 短期服務(wù)合同樣本
- 攝影配樂(lè)服務(wù)協(xié)議
- 建筑地樁勞務(wù)合作
- 專業(yè)建議潤(rùn)滑油銷售合同的優(yōu)化建議
- 小學(xué)食堂食材供應(yīng)商招募
- 【MOOC】線性代數(shù)-同濟(jì)大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 第五單元作文 記述與動(dòng)物的相處 課件七年級(jí)語(yǔ)文上冊(cè)人教版2024
- 大美勞動(dòng)智慧樹(shù)知到期末考試答案章節(jié)答案2024年江西財(cái)經(jīng)大學(xué)
- 蔣詩(shī)萌小品《誰(shuí)殺死了周日》臺(tái)詞完整版
- 勞動(dòng)教育智慧樹(shù)知到期末考試答案2024年
- 河南省城市生命線安全工程建設(shè)指引V1
- 報(bào)價(jià)單(報(bào)價(jià)單模板)
- 刑事案件模擬法庭劇本完整版五篇
- GB 2707-2016食品安全國(guó)家標(biāo)準(zhǔn)鮮(凍)畜、禽產(chǎn)品
- 法律專題(本)(52876)-國(guó)家開(kāi)放大學(xué)電大學(xué)習(xí)網(wǎng)形考作業(yè)題目答案
- 室內(nèi)設(shè)計(jì)中植物的應(yīng)用.docx
評(píng)論
0/150
提交評(píng)論