軟件結(jié)構(gòu)對軟件的可靠性具有重要意義
來源:投稿網(wǎng) 時間:2024-01-26 10:00:08
3.軟件可靠性設(shè)計方法。
從軟件可靠性的概念可以看出,軟件的缺陷會導(dǎo)致錯誤和系統(tǒng)故障。因此,缺陷是所有錯誤的根源。為了提高軟件的可靠性,最重要的是努力減少軟件中的缺陷。軟件的缺陷來自軟件壽命周期的各個階段,因此我們應(yīng)該盡最大努力減少壽命周期的各個階段的缺陷。缺陷暴露在一定的環(huán)境條件下,導(dǎo)致系統(tǒng)運行中的錯誤。軟件的錯誤可能是由規(guī)范(要求/規(guī)格描述)、軟件系統(tǒng)設(shè)計和編碼過程產(chǎn)生的。
3.1要求/規(guī)格說明。只要規(guī)格說明與用戶要求說明之間存在誤差,就會出現(xiàn)規(guī)范錯誤。
規(guī)范它不僅規(guī)定了程序的要求,而且還規(guī)定了所使用的結(jié)構(gòu)、開發(fā)和測試所需的程序測試要求和文件,以及程序語言、輸入和輸出的基本要求。通過對這些方面作出適當(dāng)?shù)囊?guī)定,我們可以建立結(jié)構(gòu),使錯誤的可能性最小,并確保錯誤可以被發(fā)現(xiàn)和糾正。
本說明書是軟件設(shè)計師與用戶相互了解的基礎(chǔ),是軟件設(shè)計師進行程序設(shè)計、調(diào)試和評價的基礎(chǔ)。要求/規(guī)格說明書應(yīng)具有以下性質(zhì):
(1)可測性:生產(chǎn)的軟件產(chǎn)品應(yīng)根據(jù)要求/規(guī)格說明書的內(nèi)容進行測試。(2)完整性:對軟件要求的描述應(yīng)完整。(3)清晰度:軟件的要求必須清晰,沒有語義支持。(4)一致性:要求說明書中的概念和標(biāo)準化。(5)彈性:當(dāng)軟件的工作環(huán)境發(fā)生變化時,其功能描述也會相應(yīng)地擴展或壓縮。
3.2軟件設(shè)計。軟件系統(tǒng)是根據(jù)要求/規(guī)格說明(規(guī)范)設(shè)計的。程序結(jié)構(gòu)、測試點和限制將通過設(shè)計確定。為了設(shè)計可靠的軟件,有必要在考慮模型、資源、語言、模型和數(shù)據(jù)結(jié)構(gòu)等實際問題的基礎(chǔ)上采取一些有效的設(shè)計方法。
3.2.1自頂向下設(shè)計方法。這種設(shè)計方法是處理分級問題最有效的設(shè)計技術(shù)。它從系統(tǒng)功能的最抽象描述開始;從它開始,設(shè)計一系列更詳細的子系統(tǒng)。這些子系統(tǒng)完成員的高級功能;然后根據(jù)每個子系統(tǒng)設(shè)計一系列更詳細的子系統(tǒng),等等。這樣,功能分解就會一次又一次地下降,直到最低級別的子系統(tǒng)更容易使用計算機程序設(shè)計語言來實現(xiàn)。自頂向下設(shè)計方法的價值在于,它指出了不同層次的復(fù)雜性,各種設(shè)計元素之間的關(guān)系相對清晰。通過這種結(jié)構(gòu)化的結(jié)構(gòu)方法,可以在早期階段洞察到設(shè)計問題,從而避免不必要考慮較低層次的細節(jié)。
3.2.2結(jié)構(gòu)化程序設(shè)計。軟件結(jié)構(gòu)對軟件的可靠性具有重要意義。結(jié)構(gòu)良好的程序易于編寫、檢查、檢查、定位錯誤、修改和維護。結(jié)構(gòu)化程序設(shè)計(又稱模塊化程序設(shè)計)將程序要求分為幾個獨立的、較小的程序要求或模塊化的功能要求,分別提出各自的要求/規(guī)格說明,并注明如何與程序的其他部分接口。還必須指出所有輸入和輸出以及測試要求。對于每個較小的程序和模塊,可以分別編程和測試,使模塊之間高度分離。
3.2.3容錯設(shè)計。對于軟件錯誤造成的特別嚴重后果,如飛機飛行控制系統(tǒng)、空中交通控制系統(tǒng)、核反應(yīng)堆安全系統(tǒng)等,應(yīng)使用容錯軟件。容錯設(shè)計的方法有:(1)加強軟件的強度;使程序設(shè)計能夠緩解錯誤的影響,避免死鎖或崩潰等嚴重后果,并指出錯誤源。(2)使用N(>2)版本編程方法:即盡可能使用不同的算法和編程語言,由不同的團隊編寫,以提高每個軟件版本的獨立性。這個n個軟件版本同時在n臺計算機上運行。每臺計算機之間可以有效地通信,并進行快速比較。當(dāng)結(jié)果不一致時,根據(jù)大多數(shù)投票或預(yù)定策略選擇輸出。(3)恢復(fù)塊法:為需要容錯處理的塊(基本塊)提供備份塊,并附加錯誤檢測和恢復(fù)措施。免費論文下載中心:/w。
3.3軟件編碼。編碼可以在軟件結(jié)構(gòu)設(shè)計的基礎(chǔ)上進行,編碼的缺陷是軟件錯誤的主要來源。一般的編碼錯誤是:輸入錯誤的代碼;值錯誤(特別是當(dāng)單位不統(tǒng)一時);丟失代碼(如括號);使用不確定的表達式等。為了減少編碼錯誤,實現(xiàn)設(shè)計與生產(chǎn)的分離,高水平的軟件工程師首先完成結(jié)構(gòu)設(shè)計,然后程序設(shè)計師合理、必要地完成編碼過程中的缺陷。
4.結(jié)尾語。
軟件可靠性設(shè)計工程是一門新的工程學(xué)科,雖然得到了廣泛的認可,但仍處于不成熟的發(fā)展階段,仍有許多問題需要探索、研究和解決。本文只介紹了軟件可靠性設(shè)計,并提供參考。