淺談軟件可靠性工程的應(yīng)用_第1頁
淺談軟件可靠性工程的應(yīng)用_第2頁
淺談軟件可靠性工程的應(yīng)用_第3頁
淺談軟件可靠性工程的應(yīng)用_第4頁
淺談軟件可靠性工程的應(yīng)用_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、淺談軟件可靠性工程的應(yīng)用隨著科學(xué)技術(shù)的不斷進(jìn)步,計算機(jī)技術(shù)被越來越多地應(yīng)用到武器系統(tǒng)中。計算機(jī)軟件的復(fù)雜程度隨著功能的增強(qiáng),因而系統(tǒng)的可靠性也越來越與軟件直接相關(guān)。例如fti/f-16飛機(jī)首航因軟件問題推遲一年,事先設(shè)計的先進(jìn)程序無法使用;海灣戰(zhàn)爭中f/?18飛機(jī)飛行操縱系統(tǒng)計算機(jī)500次故障中,軟件故障次數(shù)超過硬件。軟件可靠性成為我們關(guān)注的一個問題,本文僅就軟件可靠性工程在軟件開發(fā)過程中的應(yīng)用談?wù)勛约旱恼J(rèn)識。、軟件可靠性工程的基本概念及進(jìn)展什么是軟件可靠性工程軟件可靠性工程簡單地說就是對基于軟件產(chǎn)品的可靠性進(jìn)行預(yù)測、建模、估量、度量及治理,軟件可靠性工程貫穿于軟件開發(fā)的整個過程。軟件可靠性工

2、程的進(jìn)展歷程軟件可靠性問題獲得重視是二十世紀(jì)60年代末期,那時軟件危機(jī)被廣泛討論,軟件不可靠是造成軟件危機(jī)的重要原因之一。1972年正式提出jelinskimornd模型,標(biāo)志著軟件可靠性系統(tǒng)研究的開始。在70年代軟件可靠性的理論研究獲得很大進(jìn)展,一方面提出了數(shù)十種軟件可靠性模型,另一方面是軟件容錯的研究。在80年代,軟件可靠性從研究階段逐漸邁向工程化。進(jìn)入90年代后,軟件可靠性逐漸成為軟件開發(fā)考慮的主要因素之一,軟件可靠性工程在軟件工程領(lǐng)域逐漸取得相對獨立的地位,成為一個生機(jī)勃勃的分支。軟件可靠性工程研究的基本問題軟件可靠性工程的主要目標(biāo)是保證和提高軟件可靠性。為達(dá)到這一目標(biāo),首先要弄清軟件

3、為什么會出現(xiàn)故障或失效。只有這樣,才有可能在軟件開發(fā)過程中減少導(dǎo)致軟件故障或失效的隱患,且一旦出現(xiàn)軟件故障或失效,有可能采取有效措施加以清除。但是軟件是開發(fā)出來的,滿足可靠性要求的軟件也是開發(fā)出來的,因此,軟件可靠性工程的核心問題是如何開發(fā)可靠的軟件。而有了軟件,又該如何檢驗其是否滿足可靠性要求?這是軟件可靠性工程的又一個問題。2、軟件可靠性工程在軟件開發(fā)中的應(yīng)用項目開發(fā)計劃及需求分析階段在項目開發(fā)計劃階段需根據(jù)產(chǎn)品具體要求作出軟件項目開發(fā)計劃,明確項目的目的、條件、運(yùn)行環(huán)境、軟件產(chǎn)品要求、人員分工和職責(zé)及進(jìn)度,并估量產(chǎn)品的可靠性。需求分析階段要根據(jù)項目開發(fā)計劃階段確定軟件開發(fā)的主要任務(wù)、次要

4、任務(wù)和其它任務(wù),并設(shè)計軟件程序的基本流程、軟件結(jié)構(gòu)、模塊的定義和輸入輸出數(shù)據(jù)、接口和數(shù)據(jù)結(jié)構(gòu)等同時應(yīng)對項目開發(fā)計劃階段作出的可靠性估量進(jìn)一步細(xì)化形成可靠性需求,建立具體的可靠性指標(biāo)。這個階段的可靠性工作一般應(yīng)如下安排:確定功能概圖所謂功能概圖就是產(chǎn)品的各種功能及其在不同環(huán)境條件下使用的概率。為確立功能概圖必須定義產(chǎn)品的功能,功能定義不但包括要完成的任務(wù),還包括影響處理的環(huán)境因素。對失效進(jìn)行定義和分類這里應(yīng)從用戶的角度來定義產(chǎn)品失效,將軟件和硬件失效及操作程序上的失效區(qū)分開,并將其按嚴(yán)峻程度進(jìn)行分類。確定用戶的可靠性要求在這個階段應(yīng)由系統(tǒng)設(shè)計師、軟件設(shè)計師、可靠性師、測試人員及用戶方代表可靠性評

5、估小組共同根據(jù)用戶提出的系統(tǒng)可靠性來確定軟件的可靠性。進(jìn)行平衡關(guān)系研究通常應(yīng)考慮可靠性和功能之間的關(guān)系以及可靠性、開發(fā)費(fèi)用和開發(fā)周期之間的關(guān)系。一般來說,增加功能會導(dǎo)致可靠性降低,可靠性提高的程度一般與測試加強(qiáng)程度相對應(yīng),這意味著時間和費(fèi)用的增加。建立可靠性指標(biāo)在這個階段應(yīng)對每種失效分別建立可靠性指標(biāo)。通常,首先建立系統(tǒng)可靠性指標(biāo),然后在硬件和軟件間分配。影響建立可靠性指標(biāo)的因素主要有:合同或有關(guān)標(biāo)準(zhǔn)中明確規(guī)定的可靠性指標(biāo),相似產(chǎn)品的可靠性指標(biāo),產(chǎn)品的質(zhì)量保證,使用已有模塊的可靠性,技術(shù)能力和局限(如容錯技術(shù)的使用)等。軟件設(shè)計和功能實現(xiàn)階段軟件設(shè)計是對上一階段定義的每一個功能模塊逐步細(xì)化,確

6、立系統(tǒng)體系結(jié)構(gòu),形成若干可編程的模塊。說明硬件和軟件模塊之間的接口及它們與外部環(huán)境的接口,詳細(xì)描述各模塊的輸入、處理過程及輸出。功能實現(xiàn)是根據(jù)設(shè)計方案進(jìn)行軟件編程。該階段主要應(yīng)做:在模塊間分配可靠性指標(biāo)定義系統(tǒng)體系結(jié)構(gòu)時,應(yīng)將系統(tǒng)分解成模塊同時保證總體可靠性指標(biāo)。進(jìn)行系統(tǒng)分解是應(yīng)考慮以下因素:系統(tǒng)的物理特性、以前收集的數(shù)據(jù)的特性及收集數(shù)據(jù)需要的工作量等。確定每個模塊的可靠性要求時,首先進(jìn)行可靠性分配,然后根據(jù)試分配值計算系統(tǒng)的可靠性。這樣及時調(diào)整,使各模塊開發(fā)周期、難度和風(fēng)險大致相當(dāng),系統(tǒng)的開發(fā)費(fèi)用也才能降至最低。按可靠性指標(biāo)進(jìn)行設(shè)計目前,可靠性設(shè)計有以下幾種方法:設(shè)計恢復(fù)策略、使用冗余軟件單

7、元、鑒別高風(fēng)險區(qū)域。設(shè)計恢復(fù)策略是指軟件只須重新啟動即可消除失效的設(shè)計,設(shè)計恢復(fù)應(yīng)能保存修復(fù)可能破壞的數(shù)據(jù),應(yīng)具備確定失效發(fā)生時間和阻止繼續(xù)運(yùn)行的機(jī)制,以減少程序數(shù)據(jù)的破壞。使用冗余軟件單元時是采納與原軟件單元不同的冗余軟件單元來提高可靠性。鑒別高風(fēng)險區(qū)域采納fme(失效類型與后果分析)和ft(錯誤樹分析)的方法來進(jìn)行可靠性分析。根據(jù)功能概圖集中資源配置根據(jù)功能概圖把人力、物力等資源用到用戶認(rèn)為最重要的地方。操縱錯誤的引入和傳播錯誤是引起軟件失效的根本原因,所以操縱每個開發(fā)步驟中引入的錯誤數(shù)目及未被察覺的而傳入下一步的錯誤數(shù)目,對于操縱產(chǎn)品的可靠性是非常重要的。錯誤操縱受多種因素影響,其中主要

8、有: TOC o 1-5 h z .構(gòu)造模塊化系統(tǒng);進(jìn)行軟件重用;進(jìn)行單元和集成測試,阻止錯誤向下一開發(fā)步驟傳播;進(jìn)行檢查和復(fù)核;操縱改動。度量現(xiàn)成軟件的可靠性如果在產(chǎn)品中使用現(xiàn)成的未在本產(chǎn)品中開發(fā)或測試過的軟件,必須對其進(jìn)行可靠性證明,證明其可靠性指標(biāo)在可以接受的范圍內(nèi)方可采納。系統(tǒng)測試和現(xiàn)場試運(yùn)行階段系統(tǒng)測試和現(xiàn)場運(yùn)行以確認(rèn)產(chǎn)品的軟件要求是否得到滿足,用戶是否可以實際應(yīng)用。系統(tǒng)測試階段是開發(fā)過程階段的最后階段,如果措施得當(dāng),可以在產(chǎn)品首次使用前進(jìn)一步提高可靠性?,F(xiàn)場試運(yùn)行階段在用戶環(huán)境中驗證產(chǎn)品的各種說明及系統(tǒng)測試所得的可靠性指標(biāo)。這個階段的工作有以下工作:一個操確定操作概圖操作概圖是指實

9、現(xiàn)系統(tǒng)功能的操作及其概率的集合,作可以是特定環(huán)境下執(zhí)行的一條命令,或同時附有限定范圍內(nèi)的參數(shù)或輸入變量集。確定操作概圖是測試計劃的一個重要部分,一般在系統(tǒng)測試階段之前由測試計劃人員,在系統(tǒng)設(shè)計師和軟件設(shè)計人員的協(xié)助下完成。進(jìn)行可靠性增強(qiáng)測試在系統(tǒng)測試階段需進(jìn)行可靠性增強(qiáng)測試。在可靠性增強(qiáng)測試中,系統(tǒng)測試員根據(jù)操作概圖描述各種操作的現(xiàn)場發(fā)生概率,按比例的執(zhí)行測試用例,通過模仿用戶的應(yīng)用方式可靠性增強(qiáng)測試,易于發(fā)現(xiàn)令用戶最不中意的失效,能夠反映出用戶使用時的可靠性感受。根據(jù)測試進(jìn)展并證明可靠性指標(biāo)是否達(dá)到要求在可靠性增強(qiáng)測試中,要收集失效數(shù)據(jù),利用已有或自行設(shè)計并經(jīng)驗證的可靠性工具跟蹤測試進(jìn)展及規(guī)

10、劃必須的額外測試,根據(jù)進(jìn)展情況在系統(tǒng)測試進(jìn)行中可以對資源和進(jìn)度安排隨時做必要的調(diào)整?,F(xiàn)場可靠性評估系統(tǒng)測試階段完成后,轉(zhuǎn)入現(xiàn)場試運(yùn)行階段。在試運(yùn)行中,從現(xiàn)場收集失效數(shù)據(jù),利用此數(shù)據(jù)和軟件工具評估現(xiàn)場可靠性,然后與系統(tǒng)測試結(jié)束后測得的可靠性相比較,同時對可靠性差異的產(chǎn)生原因進(jìn)行分析。維護(hù)階段維護(hù)階段是在產(chǎn)品用戶使用過程中改正軟件暴露出來的與失效有關(guān)的錯誤。在這個階段監(jiān)視產(chǎn)品現(xiàn)場運(yùn)行的可靠性,并和預(yù)定指標(biāo)及用戶的中意程度進(jìn)行對比比較,以便提高后繼版本的可靠性,改進(jìn)軟件開發(fā)過程中的質(zhì)量。此階段主要做的工作是:用可靠性模型規(guī)劃產(chǎn)品交付使用之后的人員需求,如:用戶恢復(fù)失效操作的人員,承制方處理用戶報告的

11、失效的人員,承制方處理與用戶報告的失效有關(guān)的錯誤的軟件開發(fā)人員。監(jiān)視現(xiàn)場可靠性是否達(dá)到預(yù)期指標(biāo),根據(jù)其間的差距采取相應(yīng)的措施。同時還應(yīng)跟蹤用戶是否中意,根據(jù)不中意的情況,進(jìn)行必要的現(xiàn)場支持服務(wù)及產(chǎn)品改動。當(dāng)加入新的功能時,通過監(jiān)視可靠性,消除由此帶來的失效強(qiáng)度增加。分析軟件交付使用后的失效產(chǎn)生原因,指導(dǎo)工程的改進(jìn),降低引入類似錯誤的可能性。3、軟件可靠性工程成功應(yīng)用的實例美國tt公司的國際definityr程控交換機(jī)部在系統(tǒng)軟件開發(fā)過程中應(yīng)用了軟件可靠性工程,相對于以前發(fā)行的主要軟件版本,產(chǎn)品的質(zhì)量提高是驚人的: TOC o 1-5 h z 用戶反映的問題下降了10倍;項目維護(hù)費(fèi)用下降了10倍;系統(tǒng)測試件的間隔縮短了2倍;引入新產(chǎn)品的間隔縮短了30%。而且,在投入運(yùn)行的前兩年,從未發(fā)生嚴(yán)峻影響業(yè)務(wù)的機(jī)器中斷,客戶中意程度大為提高。具體分析原因,有以下兩點:把可靠性作為確定是否發(fā)行的標(biāo)準(zhǔn),可幸免用戶在使用中反映過多問題和進(jìn)行相應(yīng)的維護(hù)工作。采納“操作概圖驅(qū)動”的測試方法,提高了測試效率;20%的操作覆蓋了95%的應(yīng)用,20%的錯誤導(dǎo)致了95%的實效;先測試20%的使用最頻繁的操作可以加速可靠性的提高。4、結(jié)束語軟件的可靠性中正越來越引起軟件研發(fā)部門的重視,但因為這是一門新興的學(xué)科,對于提高軟件質(zhì)量,國內(nèi)外還未能從軟件可靠性

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論