軟件可靠性綜述_第1頁
軟件可靠性綜述_第2頁
軟件可靠性綜述_第3頁
軟件可靠性綜述_第4頁
軟件可靠性綜述_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、軟件可靠性綜述作者:徐振洋謝萍武孟來源:計算機與網(wǎng)絡(luò)2021年第18期針對大型復(fù)雜軟件可靠性低、重大任務(wù)運行過程中出現(xiàn)軟件故障的問題,從軟件的全生命 周期角度研究軟件可靠性設(shè)計方法,從軟件架構(gòu)設(shè)計、軟件冗余設(shè)計、軟件健壯性設(shè)計、軟件 測試設(shè)計、軟件可讀性設(shè)計、軟件重用設(shè)計、數(shù)據(jù)存儲設(shè)計、軟件錯誤恢復(fù)設(shè)計等方面研究軟 件可靠性設(shè)計方法,涵蓋了軟件需求、概要設(shè)計、詳細(xì)設(shè)計、測試設(shè)計等不同階段,最后以實 例進(jìn)行驗證。軟件是各個系統(tǒng)的必要組成部分,也是各系統(tǒng)的核心功能所在,隨著SDN/NFV的出現(xiàn), 軟件的地位和作用越來越突出。同時軟件直接面向各級各類運維人員,是網(wǎng)絡(luò)整體運行狀態(tài)的 呈現(xiàn)者,為大型任務(wù)

2、網(wǎng)可靠高效運行保駕護(hù)航,為重大任務(wù)的順利完成提供技術(shù)支撐,因此研 制高可靠性高質(zhì)量的軟件勢在必行,研究軟件可靠性設(shè)計是非常有意義的課題。本文從軟件生 命周期的角度,研究軟件可靠性的各個環(huán)節(jié),從軟件需求、軟件體系架構(gòu)、軟件界面、軟件測 試等方面進(jìn)行研究。軟件可靠性設(shè)計從軟件體系架構(gòu)設(shè)計、軟件冗余設(shè)計、軟件健壯性設(shè)計、軟件測試設(shè)計、軟件可讀性設(shè)計 和軟件重用設(shè)計方面進(jìn)行詳細(xì)研究。軟件架構(gòu)設(shè)計軟件體系架構(gòu)設(shè)計主要從軟件體系設(shè)計、模塊化設(shè)計、服務(wù)化設(shè)計等方面進(jìn)行設(shè)計。體系化設(shè)計:軟件系統(tǒng)越來越復(fù)雜,可靠性高的軟件要求采用層次結(jié)構(gòu)設(shè)計,層與層之 間單向依賴,減少復(fù)雜性,提高可靠性,是否進(jìn)行層次結(jié)構(gòu)設(shè)計是

3、關(guān)注的重點;模塊化設(shè)計:是否采用層次結(jié)構(gòu)與模塊化設(shè)計相結(jié)合的方法,是否進(jìn)行模塊化設(shè)計,模 塊化設(shè)計是否高內(nèi)聚、低耦合,模塊之間接口是否清晰明確簡潔,上述都是軟件設(shè)計的關(guān)注重 點;為降低軟件的復(fù)雜度,采用層級結(jié)構(gòu)和模塊化設(shè)計相結(jié)合的思想,將軟件分層,層與層之 間只存在單向德依賴關(guān)系,在此基礎(chǔ)上分解為若干個功能獨立的模塊。各模塊相互交互,實現(xiàn) 軟件的相關(guān)功能。但是,隨著軟件模塊的數(shù)量增加,軟件模塊間的信息交互勢必大幅增多,增 加了軟件的復(fù)雜度。因此,軟件模塊的劃分需要考慮軟件模塊的功能單一性(即軟件模塊盡量 ?。┖蛙浖K間信息交互少的原則。服務(wù)化設(shè)計:將獨立功能的軟件模塊進(jìn)行了服務(wù)化封裝,服務(wù)之

4、間的通信是否簡單明 確,服務(wù)是否進(jìn)行了注冊、發(fā)布、共享,該項目的服務(wù)是全新設(shè)計還是基于已有項目的設(shè)計; 是否最大限度重用了服務(wù)庫中的服務(wù),重用服務(wù)占整個軟件項目服務(wù)設(shè)計的百分比是多少;因 為成熟的入庫服務(wù),均已經(jīng)經(jīng)過測試部署使用,其可靠性比較高,直接應(yīng)用于新項目中既可以 縮短開發(fā)日寺間,又可以提高可靠性。軟件冗余設(shè)計主備熱備設(shè)計:對于可靠性要求極高的軟件,如航天系統(tǒng)相關(guān)軟件,一定要采用主備熱 備、雙機熱備模式,確保系統(tǒng)故障時的零切換和數(shù)據(jù)的實時存儲備份。重要模塊備份設(shè)計:針對系統(tǒng)功能強大復(fù)雜,軟件模塊眾多的系統(tǒng)的,要重點設(shè)計關(guān)鍵 硬件、關(guān)鍵模塊備份模式,冷熱備份根據(jù)實際需求選擇。信息冗余設(shè)計:

5、針對大型復(fù)雜系統(tǒng),數(shù)據(jù)庫是重要的信息存儲方式,數(shù)據(jù)庫的選型,選 擇達(dá)夢、金倉國產(chǎn)化數(shù)據(jù)庫,數(shù)據(jù)高效存儲和讀取。軟件健壯性設(shè)計軟件健壯性設(shè)計包括界面設(shè)計、數(shù)據(jù)設(shè)計和軟件操作防護(hù)設(shè)計:在界面設(shè)計中:對輸入數(shù)據(jù)的有效性及合理性進(jìn)行設(shè)計,數(shù)據(jù)輸入范圍設(shè)計。數(shù)據(jù)健壯性設(shè)計:對輸入數(shù)據(jù)的格式和存儲方式進(jìn)行設(shè)計。軟件誤刪除防護(hù)設(shè)計:針對軟件的刪除設(shè)計做防范操作,首先進(jìn)行刪除提示和確認(rèn)操作 設(shè)計,同時針對刪除的數(shù)據(jù)做短時間備份存儲,以便出現(xiàn)誤操作刪除時進(jìn)行撤銷和數(shù)據(jù)恢復(fù)操 作。軟件測試設(shè)計在軟件測試設(shè)計中,主要關(guān)注如下方法:需求階段:是否有詳盡的需求說明和設(shè)計文檔(重點關(guān)注是否與用戶進(jìn)行透徹溝通交 流),需求

6、不透徹的話,可能會導(dǎo)致整個系統(tǒng)重新設(shè)計翻盤代價甚大。概要和詳細(xì)階段:進(jìn)行體系架構(gòu)設(shè)計,軟件模塊劃分設(shè)計,軟件流程設(shè)計和函數(shù)設(shè)計, 能指導(dǎo)軟件編碼;測試階段:設(shè)計測試用例、測試策略,黑盒測試和白盒測試,進(jìn)行軟件正常運行,超負(fù) 荷運行檢測并采取手段。軟件可讀性設(shè)計軟件編程風(fēng)格是否統(tǒng)一、合理,對增加軟件代碼可讀性、提高軟件可靠性、便于軟件的維 護(hù)等方面有重要影響。要求每一個軟件模塊標(biāo)準(zhǔn)功能、作用、包含函數(shù)。要求軟件代碼注釋率 不低于15 %。針對不同的編程語言分別制定了相應(yīng)的編程規(guī)范,建立了專門編程規(guī)范執(zhí)行制度來約束編 碼人員按編程規(guī)范編寫代碼。統(tǒng)一、合理的軟件編程風(fēng)格在一定程度上減少了軟件的問題,

7、方 便軟件問題的排查和后期維護(hù)。軟件重用設(shè)計軟件重用的所有資料都是經(jīng)過嚴(yán)格篩選,按照規(guī)定要求錄入的,被證明是合格、準(zhǔn)確和可 靠的。數(shù)據(jù)存儲設(shè)計隨著業(yè)務(wù)的多樣化、網(wǎng)絡(luò)的復(fù)雜化,網(wǎng)絡(luò)運行過程中所產(chǎn)生的數(shù)據(jù)越來越多,數(shù)據(jù)種類越 來越多,除了結(jié)構(gòu)化數(shù)據(jù)之外,非結(jié)構(gòu)化數(shù)據(jù)也越來越多,傳統(tǒng)的oracle數(shù)據(jù)庫存在存取速度 慢、存取效率低的弊端越來越難以滿足要求。由于待存儲流量信息巨大,因此采用分級分布式 的云計算數(shù)據(jù)中心結(jié)構(gòu),每級數(shù)據(jù)中心的核心存儲平臺采用HADOOP平臺的HDFS分布式存 儲集群,具有分布式存取、容災(zāi)性強、安全性高等特點。由于網(wǎng)絡(luò)帶寬資源和存儲資源有限, 從系統(tǒng)可靠性的角度出發(fā)構(gòu)建分布式

8、NameNode集群,根據(jù)集群的負(fù)載和網(wǎng)絡(luò)狀況進(jìn)行數(shù)據(jù)的 安全存儲和安全訪問,從而保證云存儲數(shù)據(jù)中心的安全和負(fù)載平衡。軟件錯誤恢復(fù)設(shè)計系統(tǒng)軟件在運行過程中由于軟件運行環(huán)境故障、人員操作異常、軟件自身錯誤等原因造成 軟件出錯故障。如何在軟件發(fā)生錯誤后盡快的恢復(fù)過來、繼續(xù)正常運行是軟件可靠性設(shè)計考慮 的重點。日志機制:系統(tǒng)軟件設(shè)計采用日志管理設(shè)計,提供安全日志、操作日志、登錄日志等各 種日志的實時記錄和存儲備份功能,在軟件發(fā)生故障后,可以查看日志記錄查找故障原因,快 速恢復(fù)軟件。狀態(tài)恢復(fù)機制:系統(tǒng)總部級網(wǎng)管中心軟件采用主備雙機熱備備份,在主用發(fā)生故障后, 備用能迅速啟用,狀態(tài)轉(zhuǎn)化為主用。數(shù)據(jù)恢復(fù)機

9、制:系統(tǒng)軟件采取自動保存、數(shù)據(jù)備份等手段,確保軟件發(fā)生故障后,網(wǎng)絡(luò) 管理數(shù)據(jù)的可恢復(fù)性,提高軟件的可靠性。實例驗證以某平臺網(wǎng)管軟件為例,進(jìn)行可靠性設(shè)計實例驗證。該軟件實現(xiàn)對多個廠商多個型號設(shè)備的統(tǒng)一管理,具有軟件規(guī)模大、前后臺交互信息量 大、頻繁存取數(shù)據(jù)、適合各級各類操作人員、可視化易操作的特點。首先進(jìn)行軟件需求設(shè)計,詳細(xì)分解細(xì)化需求,提取出軟件功能(五大功能)、性能(7 項性能指標(biāo))、接 口(SNMPv2/ SNMPv3/TELNET/SSH/SYSLOG/NETFLOW)、運行環(huán)境(中標(biāo)麒麟服務(wù)器和客戶端操作系統(tǒng)、達(dá)夢數(shù)據(jù)庫)要求。進(jìn)行軟件架構(gòu)設(shè)計,分析得知,需要基于B/S軟件架構(gòu)設(shè)計,檢

10、索軟件重用庫,獲取 B/S軟件架構(gòu)相關(guān)指導(dǎo)手冊,軟件源代碼,同時基于重用庫中的軟件界面集成框架進(jìn)行設(shè)計, 大量節(jié)省時間,同時軟件架構(gòu)的可靠性和可用性都是經(jīng)過驗證的。進(jìn)行軟件模塊化、服務(wù)化設(shè)計,根據(jù)需求中規(guī)定的五大功能,詳細(xì)分解為高內(nèi)聚、松耦 合的軟件模塊,每個軟件模塊盡量完成獨立的軟件功能,同時基于標(biāo)準(zhǔn)化接口進(jìn)行服務(wù)化封 裝,服務(wù)化模塊之間基于標(biāo)準(zhǔn)的消息進(jìn)行信息傳輸。進(jìn)行軟件界面設(shè)計,基于軟件重用庫中的軟件界面集成框架進(jìn)行設(shè)計,為了增加軟件界 面的可視化,減少復(fù)雜性和操作盲目性,在每一個界面元中都丟界面元素的名稱、含義數(shù)據(jù)輸 入范圍)進(jìn)行tip框提示,同時采用能用下拉列表框盡量用下拉列表框的設(shè)

11、計思路,減少用戶 輸入。軟件測試設(shè)計,進(jìn)行模塊設(shè)計、合格性測試設(shè)計、集成測試設(shè)計,同時從軟件安裝、卸 載、運行負(fù)荷、安全性、可靠性等方面也設(shè)計相應(yīng)的測試用例,針對每一個測試用例,都從測 試用例設(shè)計和編寫要從正常值、邊界值、異常值等多個維度進(jìn)行設(shè)計。測試前要確定測試標(biāo) 準(zhǔn)、規(guī)范,設(shè)計測試用例要盡可能遍歷所有的測試項目,測試要盡可能詳盡,測試要強化輸 入,正常值、邊界值、異常值都要測試,盡可能多的發(fā)現(xiàn)軟件錯誤剔除軟件錯誤。容錯設(shè)計:針對軟件刪除,進(jìn)行刪除確認(rèn)提示,同時提供一個月內(nèi)的數(shù)據(jù)刪除備份手 段;在軟件服務(wù)器方面,采取主備備份機制,主備軟件同時熱備運行,任何一方出現(xiàn)問題都可 以即日寺接管。通過上述的軟件可靠性設(shè)計,相比于未采取本文論述的系列可靠性手段,大大提高了該軟 件的可靠性,縮短了研制周期。軟件在各系統(tǒng)中的占比越來越大,地位越來越重要,核心功能越來越突出。因此做好軟件 首

溫馨提示

  • 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

提交評論