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


境經(jīng)濟(jì)研究.jpg)
用數(shù)學(xué)與計(jì)算數(shù)學(xué)學(xué)報(bào).jpg)
.jpg)
觀察.jpg)
于我們.jpeg)