淺析計算機軟件可靠性設計
3.2.1 “自頂向下設計”法。這種設計方法是處理分級問(wèn)題最有效的設計技術(shù)。它是以一個(gè)系統功能的最抽象描述開(kāi)始作為最高層次;從它出發(fā),設計一系列較詳細的子系統。由這些子系統來(lái)完成員高層次的功能;再以每個(gè)子系統為基礎,設計出一系列更詳細的子系統,等等。如此逐次向下作功能分解,直到最低層次的子系統能夠比較方便用計算機程序設計語(yǔ)言來(lái)實(shí)現為止。自頂向下設計方法的價(jià)值在于,它在設計的同時(shí),指出了復雜性不同的處理層次,而且各種設計要素之間的關(guān)系是比較清楚的。通過(guò)這樣一種結構化構造途徑,有可能在早期就洞察出設計問(wèn)題,從而避免了不必要地先去考慮較低層次的細節問(wèn)題。
本文引用地址:http://dyxdggzs.com/article/202274.htm3.2.2 結構化程序設計。軟件結構對軟件的可靠性具有重要的意義。結構良好的程序易于編寫(xiě)、檢查,便于查錯定位、修改和維護。結構化程序設計(也稱(chēng)為模塊化程序設計)把程序要求分成若干獨立的、更小的程序要求或模塊化的功能要求,分別提出各自的要求/規格說(shuō)明,并注明是如何與程序中的其他部分接口,還必須指出所有的輸入與輸出,以及測試要求。對每一個(gè)更小的程序和模塊,可分別編程和測試,使得模塊間高度分離。
3.2.3 容錯設計。對軟件錯誤所引起的后果特別嚴重的情況,如飛機的飛行控制系統、空中交通管制系統、核反應堆安全系統等,需采用容錯軟件。容錯設計的途徑有:(1)加強軟件的健壯性;使程序設計得能夠緩解錯誤的影響,不致造成諸如死鎖或崩潰這樣的嚴重后果,并能指出錯誤源。(2)采用N(>2)版本編程法:即盡可能用不同的算法與編程語(yǔ)言,經(jīng)不同的班組編制,以提高各軟件版本的獨立性。這N個(gè)軟件版本同時(shí)在N臺計算機上運行,各計算機間能進(jìn)行高效通信,并作出快速比較,當結果不一致時(shí),按多數表決或預定的策略選擇輸出。(3)恢復塊法:給需要作容錯處理的塊(基本塊)提供備份塊,并附加錯誤檢測和恢復措施。
3.3 軟件編碼。在軟件結構設計的基礎上就可以進(jìn)行編碼,編碼產(chǎn)生的缺陷是軟件錯誤的主要來(lái)源。一般的編碼錯誤是:鍵入錯代碼;數值錯誤(尤其是單位不統一時(shí)易出這類(lèi)錯誤);丟失代碼(如括號);用了被零除這樣不定值的表達式等。為了減少編碼錯誤,實(shí)現設計與生產(chǎn)分離,首先由高水平的軟件工程師完成結構設計,再由程序設計員完成程序的編制是合理的、必要的,并在編碼過(guò)程中盡早地查出缺陷予以改正。
4.結束語(yǔ)
軟件可靠性設計工程是一門(mén)雖然得到普遍承認,但還處于不成熟的正在發(fā)展確立階段的新工程學(xué)科,任然存在很多問(wèn)題,需要去探索、研究和解決。本文介紹只在軟件可靠性設計方面拋磚引玉,提供借鑒。
參考文獻
[1]張磊,周繼鋒,張強.系統軟件可靠性驗證測試方法研究[J].計算機與數字工程,2010,06.
[2]曾福萍,靳慧亮,陸民燕.軟件缺陷模式的研究[J].計算機科學(xué),2011,02.
評論