![第八講-軟件可靠性設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view/2f0c5e1069b23cd598732ff559b39d71/2f0c5e1069b23cd598732ff559b39d711.gif)
![第八講-軟件可靠性設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view/2f0c5e1069b23cd598732ff559b39d71/2f0c5e1069b23cd598732ff559b39d712.gif)
![第八講-軟件可靠性設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view/2f0c5e1069b23cd598732ff559b39d71/2f0c5e1069b23cd598732ff559b39d713.gif)
![第八講-軟件可靠性設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view/2f0c5e1069b23cd598732ff559b39d71/2f0c5e1069b23cd598732ff559b39d714.gif)
![第八講-軟件可靠性設(shè)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view/2f0c5e1069b23cd598732ff559b39d71/2f0c5e1069b23cd598732ff559b39d715.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第八講_軟件可靠性設(shè)計(jì)第一頁(yè),共71頁(yè)。內(nèi)容軟件可靠性設(shè)計(jì)概述避錯(cuò)設(shè)計(jì)查錯(cuò)和改錯(cuò)設(shè)計(jì)容錯(cuò)設(shè)計(jì)第二頁(yè),共71頁(yè)。1.概述/1實(shí)質(zhì):在常規(guī)的軟件設(shè)計(jì)中,應(yīng)用必須的方法和技術(shù),使程序設(shè)計(jì)在兼顧用戶的各種需求時(shí),全面滿足軟件的可靠性要求可靠性設(shè)計(jì)的四種類型:避錯(cuò)設(shè)計(jì)查錯(cuò)設(shè)計(jì)改錯(cuò)設(shè)計(jì)容錯(cuò)設(shè)計(jì)第三頁(yè),共71頁(yè)。2.避錯(cuò)設(shè)計(jì)使軟件產(chǎn)品在設(shè)計(jì)過(guò)程中,不發(fā)送錯(cuò)誤或少發(fā)生錯(cuò)誤的一種設(shè)計(jì)方法各種軟件工程方法…有助于避錯(cuò)可靠性設(shè)計(jì)的Myers設(shè)計(jì)原則控制程序的復(fù)雜度使系統(tǒng)中的各個(gè)模塊具有最大的獨(dú)立性使程序具有合理的層次結(jié)構(gòu)當(dāng)模塊或單元之間的相互作用無(wú)法避免時(shí),務(wù)必使其聯(lián)系盡量簡(jiǎn)單,以防止在模塊和單元之間產(chǎn)生未知的邊際效應(yīng),使設(shè)計(jì)人員陷入泥潭,無(wú)力自拔與用戶保持緊密聯(lián)系第四頁(yè),共71頁(yè)。設(shè)計(jì)原理1.模塊化模塊:模塊是由邊界元素限定的相鄰的程序元素(例如數(shù)據(jù)說(shuō)明,可執(zhí)行語(yǔ)句)的序列,而且有一個(gè)總體的標(biāo)識(shí)符來(lái)代表它如pascal和Ada中的塊結(jié)構(gòu)中的Begin…end對(duì),或者Java中的{}因此,過(guò)程、函數(shù)、子過(guò)程、子函數(shù)、宏等都可以作為模塊面向?qū)ο笾械膶?duì)象以及對(duì)象內(nèi)的方法也是模塊就是把程序劃分成若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能,把這些模塊集成起來(lái)組成一個(gè)整體,可以完成指定的功能,解決實(shí)際問(wèn)題。4/19/20235第五頁(yè),共71頁(yè)。設(shè)計(jì)原理過(guò)程、函數(shù)——VB4/19/20236第六頁(yè),共71頁(yè)。設(shè)計(jì)原理過(guò)程、函數(shù)——C++類型標(biāo)識(shí)符函數(shù)名(形式參數(shù)表){
語(yǔ)句序列}對(duì)于過(guò)程:類型標(biāo)識(shí)符為void4/19/20237第七頁(yè),共71頁(yè)。設(shè)計(jì)原理子過(guò)程、子函數(shù)、子程序主程序輸入子程序計(jì)算子程序輸出子程序4/19/20238第八頁(yè),共71頁(yè)。設(shè)計(jì)原理面向?qū)ο笾械膶?duì)象以及對(duì)象內(nèi)的方法也是模塊訂單DateRecieveisPrepaidPriceDispatch()Close()4/19/20239第九頁(yè),共71頁(yè)。軟件設(shè)計(jì)原理經(jīng)驗(yàn)1:工作量E(P1+P2)>E(P1)+E(P2)經(jīng)驗(yàn)2:成本成本/模塊最小成本區(qū)接口成本軟件總成本模塊數(shù)目4/19/202310第十頁(yè),共71頁(yè)。人類在認(rèn)識(shí)復(fù)雜現(xiàn)象的過(guò)程中使用的最強(qiáng)有力的思維工具是抽象。人們?cè)趯?shí)踐中認(rèn)識(shí)到,在現(xiàn)實(shí)世界中一定事物、狀態(tài)或過(guò)程之間總存在著某些相似的方面(共性)。把這些相似的方面集中和概括起來(lái),暫時(shí)忽略它們之間的差異,這就是抽象?;蛘哒f(shuō)抽象就是抽出事物的本質(zhì)特性而暫時(shí)不考慮它們的細(xì)節(jié)。2、抽象/逐步求精
4/19/202311第十一頁(yè),共71頁(yè)。例:開(kāi)發(fā)一個(gè)CAD軟件,實(shí)現(xiàn)一個(gè)二維繪圖系統(tǒng)的全部功能,供低級(jí)計(jì)算機(jī)輔助設(shè)計(jì)使用。軟件設(shè)計(jì)原理在我們考慮對(duì)任何問(wèn)題的模塊化解法時(shí),可以抽象出很多層次。在抽象的最高層次使用問(wèn)題環(huán)境的語(yǔ)言,以概括方式敘述問(wèn)題的解法在較低的層次采用更過(guò)程化的方法,把面向問(wèn)題的術(shù)語(yǔ)和面向?qū)崿F(xiàn)的術(shù)語(yǔ)結(jié)合起來(lái)敘述問(wèn)題的解法最后,在最低的抽象層次可以直接實(shí)現(xiàn)的方法來(lái)敘述問(wèn)題的解法4/19/202312第十二頁(yè),共71頁(yè)。
抽象層次I:用問(wèn)題所處環(huán)境的術(shù)語(yǔ)來(lái)描述這個(gè)軟件。該軟件包括一個(gè)計(jì)算機(jī)繪圖界面,向繪圖員顯示圖形,以及一個(gè)數(shù)字化儀界面,用以代替繪圖板和丁字尺。所有直線、折線、矩形、圓及曲線的描畫、所有的幾何計(jì)算、所有的剖面圖和輔助視圖都可以用這個(gè)CAD軟件實(shí)現(xiàn)……。4/19/202313第十三頁(yè),共71頁(yè)。抽象層次II:任務(wù)需求的描述。列出“What”而不是“How”。
CADSOFTWARETASKS:userinteractiontask;2-Ddrawingcreationtask;graphicsdisplaytask;drawingtask;
END軟件設(shè)計(jì)原理4/19/202314第十四頁(yè),共71頁(yè)。抽象層次III:程序過(guò)程表示。以2-D繪圖生成任務(wù)為例:
PROCEDURE2-DdrawingcreationREPEATUNTILE(drawingcreationtaskterminates)DOWHILE(digitizerinteractionoccurs)Digitizerinterfacetask;DETERMINEdrawingrequestCASELine:linedrawingtask;Rectangle:rectangledrawingtask;Circle:circledrawingtask;
……END;
DOWHILE(keyboardinteractionoccurs)keyboardinteractiontask;PROCESSanalysis/computationCASEView:auxiliaryviewtask;Section:crosssectioningtask;
……END;
……ENDREPETITION;
ENDPROCEDURE.
軟件設(shè)計(jì)原理4/19/202315第十五頁(yè),共71頁(yè)。3、信息隱蔽(Informationhiding)信息隱蔽使得一個(gè)模塊內(nèi)包含的信息(過(guò)程和數(shù)據(jù))對(duì)于不需要這些信息的模塊來(lái)說(shuō),是不能訪問(wèn)的。
在這個(gè)抽象層次上,給出了初步的過(guò)程表示,所用的術(shù)語(yǔ)都已面向軟件,而且模塊化的工作已經(jīng)開(kāi)始顯露。軟件設(shè)計(jì)原理4/19/202316第十六頁(yè),共71頁(yè)。f1f2f3……fi……fnSgi(X,S)S’輸出輸出4/19/202317第十七頁(yè),共71頁(yè)。4、模塊獨(dú)立性(Moduleindependence)每個(gè)模塊完成一個(gè)相對(duì)獨(dú)立的特定子功能,并且和其他模塊之間的接口很簡(jiǎn)單。模塊的獨(dú)立程度可以由兩個(gè)定性標(biāo)準(zhǔn)來(lái)衡量,這兩個(gè)標(biāo)準(zhǔn)分別稱為耦合性和內(nèi)聚性。藕合衡量不同模塊彼此間互相依賴(連接)的緊密程度;內(nèi)聚衡量一個(gè)模塊內(nèi)部各個(gè)元素彼此間結(jié)合的緊密程度。一般較較優(yōu)秀的軟件設(shè)計(jì)應(yīng)盡量做到高內(nèi)聚、低耦合,即減弱模塊間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。軟件設(shè)計(jì)原理4/19/202318第十八頁(yè),共71頁(yè)。GreatdealofdependenceIndependent
HighlycoupledLooselycoupledUncoupled獨(dú)立性的度量:耦合4/19/202319第十九頁(yè),共71頁(yè)。耦合的七種類型完全獨(dú)立數(shù)據(jù)耦合特征耦合控制耦合外部耦合公共耦合內(nèi)容耦合4/19/202320第二十頁(yè),共71頁(yè)。獨(dú)立性的度量:耦合完全獨(dú)立兩個(gè)模塊之間沒(méi)有直接關(guān)系,它們之間的聯(lián)系完全是通過(guò)主模塊的控制和調(diào)用來(lái)實(shí)現(xiàn)的4/19/202321第二十一頁(yè),共71頁(yè)。獨(dú)立性的度量:耦合數(shù)據(jù)耦合一個(gè)模塊訪問(wèn)另一個(gè)模塊時(shí),彼此之間是通過(guò)簡(jiǎn)單數(shù)據(jù)參數(shù)(不是控制參數(shù)、公共數(shù)據(jù)結(jié)構(gòu)或外部變量)來(lái)交換輸入、輸出信息的。4/19/202322第二十二頁(yè),共71頁(yè)。獨(dú)立性的度量:耦合特征耦合一組模塊通過(guò)參數(shù)表傳遞記錄信息,就是特征記耦合。這個(gè)記錄是某一數(shù)據(jù)結(jié)構(gòu)的子結(jié)構(gòu),而不是簡(jiǎn)單變量。4/19/202323第二十三頁(yè),共71頁(yè)。獨(dú)立性的度量:耦合控制耦合如果一個(gè)模塊通過(guò)傳送開(kāi)關(guān)、標(biāo)志、名字等控制信息,明顯地控制選擇另一模塊的功能,就是控制耦合。ABFlagF2F1Fn…………Flag4/19/202324第二十四頁(yè),共71頁(yè)。獨(dú)立性的度量:耦合4/19/202325第二十五頁(yè),共71頁(yè)。公共環(huán)境耦合若一組模塊都訪問(wèn)同一個(gè)公共數(shù)據(jù)環(huán)境,則它們之間的耦合就稱為公共耦合。公共的數(shù)據(jù)環(huán)境可以是全局?jǐn)?shù)據(jù)結(jié)構(gòu)、共享的通信區(qū)、內(nèi)存的公共覆蓋區(qū)等。4/19/202326第二十六頁(yè),共71頁(yè)。公共耦合
Global:V1V2A:……………………A1=V1+V2……………………B:……………………V1=B1……………………Global:V1V2A:……………………V1++……………………B:……………………V2=B1+V1……………………問(wèn)題:
公共部分的改動(dòng)將影響所有調(diào)用它的模塊;
公共部分的數(shù)據(jù)存取無(wú)法控制;
復(fù)雜程度隨耦合模塊的個(gè)數(shù)增加而增加。4/19/202327第二十七頁(yè),共71頁(yè)。公共耦合
4/19/202328第二十八頁(yè),共71頁(yè)。內(nèi)容耦合,如果發(fā)生下列情形,兩個(gè)模塊之間就發(fā)生了內(nèi)容耦合一個(gè)模塊直接訪問(wèn)另一個(gè)模塊的內(nèi)部數(shù)據(jù);一個(gè)模塊不通過(guò)正常入口轉(zhuǎn)到另一模塊內(nèi)部;兩個(gè)模塊有一部分程序代碼重迭(只可能出現(xiàn)在匯編語(yǔ)言中);一個(gè)模塊有多個(gè)入口。4/19/202329第二十九頁(yè),共71頁(yè)。獨(dú)立性的度量:耦合A訪問(wèn)C的內(nèi)部數(shù)據(jù)內(nèi)容耦合4/19/202330第三十頁(yè),共71頁(yè)。A不通過(guò)正常入口而轉(zhuǎn)入C的內(nèi)部?!瑼BCDA:……………………gotoC1……………………C:……………………C1:…………內(nèi)容耦合獨(dú)立性的度量:耦合4/19/202331第三十一頁(yè),共71頁(yè)。獨(dú)立性的度量:耦合應(yīng)遵循以下原則:盡量使用數(shù)據(jù)耦合,少用控制耦合和特征耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合4/19/202332第三十二頁(yè),共71頁(yè)。獨(dú)立性的度量:內(nèi)聚內(nèi)聚標(biāo)志一個(gè)模塊內(nèi)各個(gè)元素彼此緊密結(jié)合的緊密程度。七種內(nèi)聚:1.偶然內(nèi)聚2.邏輯內(nèi)聚3.時(shí)間內(nèi)聚4.過(guò)程內(nèi)聚5.通信內(nèi)聚6.順序內(nèi)聚7.功能內(nèi)聚4/19/202333第三十三頁(yè),共71頁(yè)。功能內(nèi)聚一個(gè)模塊中各個(gè)部分都是完成某一具體功能必不可少的組成部分,或者說(shuō)該模塊中所有部分都是為了完成一項(xiàng)具體功能而協(xié)同工作,緊密聯(lián)系,不可分割的。則稱該模塊為功能內(nèi)聚模塊。功能內(nèi)聚是最強(qiáng)也是最好的一種內(nèi)聚。例子:Sin(),GetCustomerName()4/19/202334第三十四頁(yè),共71頁(yè)。順序內(nèi)聚順序內(nèi)聚是指模塊中各成分有順序關(guān)系,某一成分的輸出數(shù)據(jù)是另一成分的輸入數(shù)據(jù)。4/19/202335第三十五頁(yè),共71頁(yè)。通信內(nèi)聚如果模塊中所有元素都使用同一個(gè)輸入數(shù)據(jù)和(或)產(chǎn)生同一個(gè)輸出數(shù)據(jù),則稱為通信內(nèi)聚或者說(shuō):如果一個(gè)模塊的所有成分都操作同一個(gè)數(shù)據(jù)集或者生成同一數(shù)據(jù)集通常,通信內(nèi)聚模塊是通過(guò)數(shù)據(jù)流圖來(lái)定義的。4/19/202336第三十六頁(yè),共71頁(yè)。過(guò)程內(nèi)聚如果一個(gè)模塊內(nèi)部的處理成分是相關(guān)的,而且這些處理必須以特定的次序執(zhí)行,則稱為過(guò)程內(nèi)聚使用流程圖做為工具設(shè)計(jì)程序時(shí),把流程圖中的某一部分劃出組成模塊,就得到過(guò)程內(nèi)聚模塊。例如,把流程圖中的循環(huán)部分、判定部分、計(jì)算部分分成三個(gè)模塊,這三個(gè)模塊都是過(guò)程內(nèi)聚模塊。問(wèn)題:請(qǐng)大家舉個(gè)生活中必須遵照特定次序的例子?答案:排隊(duì)買飯(隊(duì)列,要求先進(jìn)先出)。4/19/202337第三十七頁(yè),共71頁(yè)。時(shí)間內(nèi)聚某個(gè)模塊包含的任務(wù)(操作)必須在同一時(shí)間內(nèi)執(zhí)行如:模塊完成各種初始化工作4/19/202338第三十八頁(yè),共71頁(yè)。邏輯內(nèi)聚這種模塊把幾種相關(guān)的功能組合在一起,每次被調(diào)用時(shí),由傳送給模塊的判定參數(shù)來(lái)確定該模塊應(yīng)執(zhí)行哪一種功能。A:Readinputsfromdiskfromtapefrom……4/19/202339第三十九頁(yè),共71頁(yè)。偶然內(nèi)聚巧合內(nèi)聚(偶然內(nèi)聚)。當(dāng)模塊內(nèi)各部分之間沒(méi)有聯(lián)系,或者即使有聯(lián)系,這種聯(lián)系也很松散,則稱這種模塊為巧合內(nèi)聚模塊,它是內(nèi)聚程度最低的模塊。4/19/202340第四十頁(yè),共71頁(yè)。4/19/202341第四十一頁(yè),共71頁(yè)。設(shè)計(jì)內(nèi)聚的原則設(shè)計(jì)時(shí)應(yīng)盡力爭(zhēng)取做到高內(nèi)聚,并且能夠辨識(shí)出低內(nèi)聚的模塊,并采取措施進(jìn)行修改,以提高模塊的內(nèi)聚程度、降低模塊間的耦合程度,從而獲得較高的模塊獨(dú)立性4/19/202342第四十二頁(yè),共71頁(yè)。爭(zhēng)取低耦合、高內(nèi)聚(增加內(nèi)聚>減少耦合)如果在幾個(gè)模塊中發(fā)現(xiàn)共有的子功能,一般應(yīng)該將該子功能獨(dú)立出來(lái)作為一個(gè)模塊,以提高模塊的獨(dú)立性合并那些具有較多的控制信息傳遞的模塊以降低模塊之間的耦合度啟發(fā)性規(guī)則4/19/202343第四十三頁(yè),共71頁(yè)。2.模塊規(guī)模適中:過(guò)大不易理解;太小則接口開(kāi)銷過(guò)大。注意分解后不應(yīng)降低模塊的獨(dú)立性。3.適當(dāng)控制——
深度、寬度、扇出、扇入深度=分層的層數(shù)。寬度越大系統(tǒng)越復(fù)雜寬度=同一層上模塊數(shù)的最大值。過(guò)大表示系統(tǒng)復(fù)雜度大。4/19/202344第四十四頁(yè),共71頁(yè)。啟發(fā)性規(guī)則系統(tǒng)結(jié)構(gòu)4/19/202345第四十五頁(yè),共71頁(yè)。扇出=一個(gè)模塊直接調(diào)用\控制的模塊數(shù)。3fan-out9扇出越大意味著模塊過(guò)分復(fù)雜,應(yīng)該適當(dāng)增加中間層扇出太小則可以把下級(jí)模塊進(jìn)一步分解成若干子模塊,或者把該模塊合并到它的上級(jí)模塊中AA的扇出啟發(fā)性規(guī)則4/19/202346第四十六頁(yè),共71頁(yè)。啟發(fā)性規(guī)則AA的扇入
扇入=直接調(diào)用該模塊的模塊數(shù)在不破壞獨(dú)立性的前提下,fan-in
大的比較好。一個(gè)好的軟件結(jié)構(gòu)通常頂層扇出較高,中間層扇出較低,底層又高扇入到公共模塊中去4/19/202347第四十七頁(yè),共71頁(yè)。4、作用域在控制域內(nèi)控制域:包含該模塊和所有從屬于該模塊的模塊MACBM的控制域?yàn)閧M,A,B,C}作用域:模塊中的一個(gè)判定所影響的模塊。啟發(fā)性規(guī)則4/19/202348第四十八頁(yè),共71頁(yè)。TOP
CD
E
FABTOPCD
E
FAB模塊D的作用域超出控制域D的作用域在控制域內(nèi)4/19/202349第四十九頁(yè),共71頁(yè)。4/19/202350第五十頁(yè),共71頁(yè)。5、降低接口的復(fù)雜程度:接口復(fù)雜可能表明模塊的獨(dú)立性差。6、設(shè)計(jì)單入單出的模塊。當(dāng)從頂部進(jìn)入模塊并且從底部退出時(shí),軟件是比較容易理解和維護(hù)的啟發(fā)性規(guī)則4/19/202351第五十一頁(yè),共71頁(yè)。啟發(fā)性規(guī)則7、模塊功能可預(yù)測(cè)——
相同輸入必產(chǎn)生相同輸出。反例:模塊中使用全局變量或靜態(tài)變量,則可能導(dǎo)致不可預(yù)測(cè)。4/19/202352第五十二頁(yè),共71頁(yè)。3.查錯(cuò)和改錯(cuò)設(shè)計(jì)避錯(cuò)設(shè)計(jì)不能完全避免錯(cuò)誤需要設(shè)計(jì)能夠具有自動(dòng)查錯(cuò)和改錯(cuò)功能的方法查錯(cuò)設(shè)計(jì)被動(dòng)式檢測(cè)主動(dòng)式檢測(cè)第五十三頁(yè),共71頁(yè)。3.1被動(dòng)式錯(cuò)誤檢測(cè)/1適用于軟件的各種結(jié)構(gòu)層次,用來(lái)檢測(cè)從一個(gè)單元、模塊向另一個(gè)單元、模塊傳遞的錯(cuò)誤征兆和檢測(cè)存在于單元、模塊內(nèi)部的錯(cuò)誤原則相互懷疑原則立即檢測(cè)原則第五十四頁(yè),共71頁(yè)。3.1被動(dòng)式錯(cuò)誤檢測(cè)/2方法:取決于軟件的用途、功能、結(jié)構(gòu)和算法,沒(méi)有通用的模式,可選擇的方法檢查每個(gè)輸入數(shù)據(jù)的屬性按照已知的數(shù)據(jù)極限檢查輸入數(shù)據(jù)檢查所有的多值數(shù)據(jù)的有效性如果輸入數(shù)據(jù)存在明顯的冗余成分,應(yīng)檢查二者的一致性如果輸入數(shù)據(jù)中不存在冗余,可以對(duì)輸入數(shù)據(jù)求和,比較輸入數(shù)據(jù)與內(nèi)部數(shù)據(jù)的一致性第五十五頁(yè),共71頁(yè)。3.1被動(dòng)式錯(cuò)誤檢測(cè)/3發(fā)生錯(cuò)誤后立即停止程序運(yùn)行,檢錯(cuò)不停止程序,記錄錯(cuò)誤第五十六頁(yè),共71頁(yè)。3.2主動(dòng)式錯(cuò)誤檢測(cè)/1賦予程序特殊功能,主動(dòng)搜索錯(cuò)誤,并進(jìn)行指示由檢測(cè)監(jiān)視器承擔(dān),對(duì)系統(tǒng)的有關(guān)的數(shù)據(jù)主動(dòng)進(jìn)行掃描,例如:合理運(yùn)行時(shí)間的異常過(guò)程系統(tǒng)中丟失的文件長(zhǎng)時(shí)間內(nèi)未完成的輸入,輸出操作主動(dòng)系統(tǒng)診斷可以作為周期性的任務(wù)來(lái)安排第五十七頁(yè),共71頁(yè)。3.2主動(dòng)式錯(cuò)誤檢測(cè)/2如操作系統(tǒng)中的存儲(chǔ)管理模塊,具有向用戶程序和操作系統(tǒng)的其它模塊出借存儲(chǔ)區(qū)域的功能,然而用戶程序或其他模塊的錯(cuò)誤有時(shí)會(huì)造成借出去的存儲(chǔ)區(qū)域不能返回給存儲(chǔ)管理模塊.主動(dòng)式檢測(cè)能及時(shí)發(fā)現(xiàn)這類問(wèn)題第五十八頁(yè),共71頁(yè)。3.3改錯(cuò)設(shè)計(jì)希望軟件具有自動(dòng)改正錯(cuò)誤的功能需要“智能”,困難很大,所以目前采用的方法多半是隔離錯(cuò)誤.實(shí)現(xiàn)用戶隔離就是防止一個(gè)用戶程序的失效,影響其它用戶程序及整個(gè)系統(tǒng)正常運(yùn)行的關(guān)鍵措施例如貝爾實(shí)驗(yàn)室TSPS系統(tǒng),電話換接系統(tǒng),可靠性要求為40年內(nèi)停止工作時(shí)間不超過(guò)兩小時(shí),整機(jī)停機(jī)是極為嚴(yán)重的任務(wù),而常見(jiàn)的故障,例如某個(gè)電話線連接中斷,則是可以允許的失誤。TSPS系統(tǒng)使用被動(dòng)和主動(dòng)查錯(cuò)及改錯(cuò)技術(shù)來(lái)減少系統(tǒng)失效,策略是盡快檢測(cè)出某些特殊類型的錯(cuò)誤,并控制其擴(kuò)散.即使損失某些數(shù)據(jù)也在所不惜第五十九頁(yè),共71頁(yè)。4.容錯(cuò)設(shè)計(jì)容錯(cuò)計(jì)算系統(tǒng)能夠在出現(xiàn)一定限度的失效的情況下,依舊能夠提供所需要的服務(wù).這些失效的發(fā)生是由于系統(tǒng)的組件或者系統(tǒng)設(shè)計(jì)中存在缺陷所導(dǎo)致的.構(gòu)造大型的計(jì)算系統(tǒng)是一個(gè)復(fù)雜的任務(wù);要使系統(tǒng)具有容錯(cuò)能力就更復(fù)雜,除非采用合適的系統(tǒng)構(gòu)造概念.傳統(tǒng)的硬件系統(tǒng)的容錯(cuò)方法建立在對(duì)物理組件失效模式的影響的深入了解的基礎(chǔ)上.傳統(tǒng)的硬件容錯(cuò)方法一般不足以處理設(shè)計(jì)上的缺陷.因此,絕大多數(shù)硬件的容錯(cuò)方法不能運(yùn)用到軟件上,因?yàn)檐浖薪^大多數(shù)的缺陷都是設(shè)計(jì)缺陷第六十頁(yè),共71頁(yè)。兩種方法N文本法靜態(tài)冗余恢復(fù)塊法動(dòng)態(tài)冗余增加了資源消耗,容錯(cuò)技術(shù)不宜普遍采用第六十一頁(yè),共71頁(yè)。4.1N文本法相對(duì)于一個(gè)給定的功能,由N(N>2)個(gè)不同的設(shè)計(jì)組獨(dú)立編制出N個(gè)不同的程序,然后同時(shí)在N個(gè)機(jī)器上運(yùn)行并比較運(yùn)行的結(jié)果如果結(jié)果一致,認(rèn)為結(jié)果正確如果結(jié)果不盡相同,按多數(shù)表決或其它預(yù)先制定的策略,判定結(jié)果的正確性優(yōu)點(diǎn):沒(méi)有服務(wù)中斷第六十二頁(yè),共71頁(yè)。4.2恢復(fù)塊機(jī)制某一恢復(fù)塊結(jié)構(gòu)的句法:
ensure<acceptancetest>byP0
else-byP1else
fail
軟件系統(tǒng)帶有3個(gè)部分,兩個(gè)程序P0(主要的)和P1(可選的),和接受性測(cè)試(acceptancetest).系統(tǒng)的設(shè)計(jì)就是按照句法所指的控制結(jié)構(gòu).執(zhí)行P0,如果滿足接受性測(cè)試,正常返回
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- g k h 說(shuō)課稿-2024-2025學(xué)年語(yǔ)文一年級(jí)上冊(cè)統(tǒng)編版
- 2024年四年級(jí)英語(yǔ)上冊(cè) Unit 5 I like those shoes Lesson 30說(shuō)課稿 人教精通版(三起)
- 14小狗學(xué)叫 說(shuō)課稿-2024-2025學(xué)年三年級(jí)上冊(cè)語(yǔ)文統(tǒng)編版
- 項(xiàng)目產(chǎn)品推廣方案
- Unit 1 My classroom Part B Read and write 大單元整體說(shuō)課稿表格式-2024-2025學(xué)年人教PEP版英語(yǔ)四年級(jí)上冊(cè)
- 5《協(xié)商決定班級(jí)事務(wù)》第1課時(shí)(說(shuō)課稿)-部編版道德與法治五年級(jí)上冊(cè)
- 出售供暖平房合同范本
- Unit 4 Then and now 單元整體(說(shuō)課稿)-2023-2024學(xué)年人教PEP版英語(yǔ)六年級(jí)下冊(cè)
- 萬(wàn)億存款合同范例
- 中介房產(chǎn)抵押合同范例
- Unit 2 Know your body(說(shuō)課稿)-2024-2025學(xué)年外研版(三起)(2024)英語(yǔ)三年級(jí)下冊(cè)
- 跨學(xué)科主題學(xué)習(xí)2-探索太空逐夢(mèng)航天 說(shuō)課稿-2024-2025學(xué)年粵人版地理七年級(jí)上冊(cè)
- 《電子技術(shù)應(yīng)用》課程標(biāo)準(zhǔn)(含課程思政)
- 電力儲(chǔ)能用集裝箱技術(shù)規(guī)范
- 小學(xué)生雪豹課件
- 《課標(biāo)教材分析》課件
- 《信號(hào)工程施工》課件 項(xiàng)目一 信號(hào)圖紙識(shí)讀
- 基礎(chǔ)護(hù)理常規(guī)制度
- 針灸治療動(dòng)眼神經(jīng)麻痹
- 傾聽(tīng)幼兒馬賽克方法培訓(xùn)
- 設(shè)備日常維護(hù)及保養(yǎng)培訓(xùn)
評(píng)論
0/150
提交評(píng)論