胡仁飛
摘要:故障模式與影響分析是一種可靠性設計的重要方法,它對各種可能的風險進行評價、分析,以便在現(xiàn)有技術的基礎上消除這些風險或?qū)⑦@些風險減小到可接受水平,已經(jīng)成為提高產(chǎn)品可靠性重要的途徑,得到廣泛的應用。文章首先分析軟件的錯誤、缺陷、故障、失效之間的關系,進一步得出故障模式的定義。根據(jù)不同的角度將故障模式進行分類,并從影響性、危害性等多個方面分析故障模式。
關鍵詞:故障;故障模式;故障影響;危害性
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)21-5011-03
軟件質(zhì)量:軟件產(chǎn)品滿足用戶要求的程度,體現(xiàn)在開發(fā)過程的質(zhì)量和它所擁有的特征上,是各種特性的復雜組合。它主要包括軟件的功能性、可靠性、易用性、效率、可維護性、可移植性。
其中軟件的功能性體現(xiàn)在當軟件在指定條件下使用時,軟件產(chǎn)品滿足明確和隱含要求功能的能力、總能提供使用者希望的效果、故障時或者誤操作時,針對錯誤的數(shù)據(jù)不提供預想外的結(jié)果、不會實行不正確的操作以及構(gòu)成信息泄漏(信息安全)、能夠順利地與其他相關聯(lián)的系統(tǒng)進行互通(互用性)??煽啃泽w現(xiàn)在軟件產(chǎn)品維持規(guī)定的性能級別的能力,某一部分的故障不會影響到整體系統(tǒng),沒有直接影響到功能且可以繼續(xù)使用,即使發(fā)生故障也能恢復至故障前的狀態(tài)。
因此對故障模式的研究對于評價一個軟件系統(tǒng)的可靠性、穩(wěn)定性顯得有重要的指導價值:
1) 首先在軟件的開發(fā)設計階段,能夠提供給開發(fā)人員一定的參考指標,能夠讓設計者提出可靠性很好的方案。
2) 在選擇一些硬件設備這個環(huán)節(jié)上,能夠更好的選擇適當?shù)膮?shù)指標的元器件。從而降低故障的發(fā)生,更好的維護系統(tǒng)軟件。
3) 對故障模式的研究還可以查出那些元器件對系統(tǒng)有重大的影響,從而可以針對性的檢測這些元器件。
4) 綜合故障模式的各種影響,我們可以對故障模式的危害度、致命度進行評定。從而優(yōu)先防止那些有重大影響的故障 [1]。
1 故障模式與影響分析
1.1 軟件錯誤、缺陷、故障、失效之間的關系
1) 軟件錯誤:大部分時期軟件是由人來開發(fā)的。在軟件生存期的各個階段,都貫穿者人的直接或間接的干預。然而,開發(fā)人員在開發(fā)過程中難免會出現(xiàn)一些失誤。軟件錯誤是指在軟件整個運行期間里,發(fā)生了和事先設計時不一致的錯誤,并且這些錯誤通常是人為失誤產(chǎn)生的。這些軟件錯誤進一步會導致軟件缺陷的發(fā)生。所以軟件錯誤是軟件運行時的一個外在表現(xiàn),其實質(zhì)是一種人為的行為。
2) 軟件缺陷:軟件缺陷是指那些在需求設計階段,開發(fā)階段,測試階段,出現(xiàn)了和正常功能的偏差。這些偏差對軟件本身有著重大影響,當軟件運行到這些偏差的地方就會出現(xiàn)故障。我們簡稱這個時候軟件缺陷被激活。
3) 軟件故障:軟件故障是指軟件在運行的整個過程中發(fā)生了不被用戶所期望的狀態(tài)。當一個軟件系統(tǒng)中沒有很好的容錯機制時,出現(xiàn)這些狀態(tài)時通常會導致軟件的失效。軟件故障是發(fā)生在軟件的運行過程中。
4) 軟件失效:軟件失效是指軟件運行最終的結(jié)果和設計時的預期結(jié)果不一樣。
因此它們之間的關系:軟件錯誤→軟件缺陷→軟件故障→軟件失效[6]。
1.2 故障模式的定義
在國軍標GJB451A-2005《可靠性維修性保障性術語》[3][4]中,故障模式是指:故障的表現(xiàn)形式。進一步故障模式是指對軟件所有的外在故障現(xiàn)象的一個具體描述,針對得到的故障現(xiàn)象,按照一定的方法、條件對故障現(xiàn)象進行抽象性的描述形成故障模式。
當產(chǎn)品發(fā)生故障時,首先針對這些故障表現(xiàn)出的現(xiàn)象進行分析。由外到內(nèi),逐漸得到發(fā)生故障的原因并且可以給出解決故障的一些建議。
故障模式是對故障表現(xiàn)出現(xiàn)象的一個抽象性描述,故障模式之間通常也有一定的聯(lián)系,故障模式之間可以互為因果,可以是并發(fā)的等等。
1.3 軟件故障的分類
軟件故障有多重分類方法:可以按照故障出現(xiàn)的開發(fā)階段來劃分、以失效產(chǎn)生的后果來劃分、以解決難度來劃分、以不解決可能會產(chǎn)生的風險來劃分。
1) 下表反應故障出現(xiàn)階段所占比例的大?。?/p>
2) 按照出現(xiàn)在軟件系統(tǒng)的位置劃分如下:
① 軟件需求故障 軟件需求制定的不合理或不正確、需求不完整、需求分析文檔有誤、功能或性能的規(guī)定有誤。
② 輸入/輸出故障 輸入故障主要表現(xiàn)在 :不能接受正確的輸入、接受了不正確的輸入、參數(shù)有錯或遺漏等。輸出故障主要表現(xiàn)在:輸出格式有錯、輸出結(jié)果有錯、在錯誤的時間產(chǎn)生正確的結(jié)果、不一致或遺漏了結(jié)果、不合邏輯的結(jié)果、拼寫/語法錯誤。
③ 邏輯故障 屬于邏輯故障的有:丟失了情況、情況重復、便捷條件出錯、解釋有誤、遺漏條件、外部條件有錯、不正確的循環(huán)迭代、錯誤的操作等。
④ 計算機故障 不正確的算法、計算不正確的錯作數(shù)、括號錯誤、精度不夠。
⑤ 接口故障 接口故障包括:不正確的中斷處理、I/O時序有錯、調(diào)用了錯誤的過程、調(diào)用了不存在的過程、參數(shù)不匹配和不兼容的類型等。
⑥ 數(shù)據(jù)故障 不正確的初始化、不正確的存儲訪問、錯誤的標志/索引值、不正確的打包/拆包、使用了錯誤的變量、錯誤的數(shù)據(jù)引用、縮放數(shù)據(jù)范圍或單位錯誤、不正確的數(shù)據(jù)位數(shù)、不正確的類型、不正確的數(shù)據(jù)范圍以及不一致的數(shù)據(jù)等都屬于數(shù)據(jù)故障。
3) 按后果嚴重程度分類的軟件故障如表2所示:
1.4 軟件故障發(fā)生的原因
發(fā)生軟件故障,主要是有下面的幾個因素導致的:
1) 系統(tǒng)中軟件之間的互不兼容。當軟件運行時,可能與系統(tǒng)中其他運行的軟件發(fā)生搶占資源、內(nèi)存的情況。這樣就會導致軟件的不正常運行。另外有些軟件在設計的時候就不兼容其他軟件,比喻word和wps之間就會有不兼容的時候,當用戶在wps上制定好的格式可能在word中就會打不開。這樣很容易導致系統(tǒng)的不穩(wěn)定,嚴重的時候甚至導致系統(tǒng)崩潰。
2) 人員的不正確操作。一個軟件的設計一般都會給出用戶手冊,方便使用者正確的操作。但是通常用戶的一些不好的習慣會導致不正確的操作。如我們可以按照正常的過程點擊電腦的關機、重啟鍵。長按開關鍵也可以關機,但是這是為系統(tǒng)崩潰要強制終止準備的。然后一些用戶為了方便省時,經(jīng)常長按開關鍵關機,這樣對于電腦的系統(tǒng)是十分有害的,甚至會引起硬件的損壞。
3) 人為的誤操作。誤操作是指用戶在使用電腦時,不小心將一些很重要的文件刪除,如計算機的系統(tǒng)程序通常放在C盤里。用戶誤將C盤中的文件刪除,這樣可能會導致計算機無法正常的運行。另外一個常見的誤操作是用戶不小心將移動硬盤格式化,這樣硬盤中的很多有價值的東西就會丟失。
4) 網(wǎng)絡病毒、木馬的破壞。用戶的一些不良好的習慣會導致計算機感染各種病毒,比喻用戶計算機上不裝殺毒軟件、瀏覽不安全的網(wǎng)頁。這樣很容易使計算機中病毒。一旦中病毒對用戶的損害是無法估量的。首先會導致的重要文件泄密,造成一定的經(jīng)濟損失,另外對計算機本身也是一個很大的損害。病毒會破壞計算機的重要文件,導致計算機無法正常運行,更嚴重會損壞計算機的硬件。
1.5 故障模式的影響以及危害性分析
故障模式影響及危害性分析 (Failure Mode,Effects and Criticality Analysis,簡記為FMECA )是故障模式影響分析(FMEA)和危害性分析 (Criticality Analysis-CA)的組合分析方法[2]。
故障模式影響分析包括故障模式分析、故障原因分析、故障影響分析。首先對故障產(chǎn)生的后果層次進行一定的定義,根據(jù)這些定義劃分不同故障模式產(chǎn)生的嚴重程度,最終影響的嚴重程度等級又成為嚴酷度(指故障模式所產(chǎn)生的嚴重程度)類別。
按照GJB1391-92《故障模式、影響及危害性分析程序》的劃分方法,可以將故障模式的發(fā)生概率劃分如下等級所示:
2 結(jié)論
通過國內(nèi)外大量的工程實踐可以看出,在進行系統(tǒng)的可靠性設計分析時故障模式與影響分析成為了不可缺少的一個環(huán)節(jié)。尤其在一些大型系統(tǒng)的設計中,更是如此。
參考文獻:
[1] 金碧輝.系統(tǒng)可靠性工程[M].北京:國防工業(yè)出版社,2004:14-17.
[2] 王紹印.故障模式和影響分析[M].廣州:中山大學出版社,2003:164-168.
[3] 國防科工軍委軍用標準化中心.故障模式:影響及危害性分析程序[S].1994.
[4] GJB 1391-92.國家軍用標準《故障模式、影響及危害性分析的要求和程序》[S].1992.
[5] 北京運通恒達科技有限公司.FMEA教程[Z].2003:20-26.
[6] 李曉勇.失效模式和影響分析及其應用[J].鐵道技術監(jiān)督,1999:69-70.
[7] 高社生.可靠性理論與教程應用[M].北京:國防工業(yè)出版社,2002:57-5.
[8] 金偉婭.可靠性工程[M].北京:化學工業(yè)出版社,2005:101-102.
[9] 張友生.系統(tǒng)分析師之路[M].成都:電子工業(yè)出版社,2006:132-136.