定義:是軟件產(chǎn)品再規(guī)定的條件下和規(guī)定的時間區(qū)間完成歸檔功能的能力。簡而言之,規(guī)定時間周期內(nèi),在所述條件下程序執(zhí)行所要求的功能的能力。
規(guī)定的條件:
直接與軟件運行相關(guān)的使用該軟件的計算機系統(tǒng)的狀態(tài)和軟件的輸入條件,或統(tǒng)稱為軟件運行時的外部輸入條件。
只要指運行環(huán)境,運行所需的各種支持要素,環(huán)境涉及的硬件、OS、數(shù)據(jù)庫、中間件。。。
規(guī)定的時間區(qū)間:
軟件的實際運行時間區(qū)間。
軟件可靠性只體現(xiàn)在軟件運行階段,所以運行時間是規(guī)定時間的度量。運行時間包括工作與掛起。
由于軟件運行的環(huán)境與程序路徑選取的隨機性,軟件的失效為隨機事件,所以運行時間屬于隨機變量。
規(guī)定的功能:
提供給定的服務(wù),必備的功能。
軟件可靠性與規(guī)定的任務(wù)和功能有關(guān)。由于要完成的任務(wù)不同,運行情況也有區(qū)別,調(diào)用的子模塊不同,可靠性也不同,所以度量軟件系統(tǒng)可靠性必須明確任務(wù)和功能。
軟件可靠性定義具有的特點:
①用內(nèi)在的“缺陷”和外在的“失效”關(guān)系來描述可靠性,更能深刻地體現(xiàn)軟件的本質(zhì)特點。
②定義使人們對軟件可靠性進行量化評估成為可能。對于軟件的可靠性這樣一個質(zhì)量特性,很難用一個明確直觀的數(shù)值去體現(xiàn)。而依據(jù)這個定義,人們有可能通過分析影響可靠性的因素,用函數(shù)的形式,按照不同的目的建立各種數(shù)學(xué)模型去分析軟件可靠性。
③用概率的方法去描述可靠性是比較科學(xué)的。前面講到,軟件失效是隨機的外部表現(xiàn),完全是一個隨機事件,而軟件缺陷是軟件固有的沒有損耗的內(nèi)在特點。定義用規(guī)定時間內(nèi)其操作不出現(xiàn)軟件失效的概率,也就是輸入未碰到軟件缺陷的概率來描述可靠性,這種方法就是用概率來描述純粹的隨機事件,是比較合理的,也是可行的。
在設(shè)計中充分借鑒多項軍工產(chǎn)品的軟件可靠性技術(shù)成果,按照軟件工程化設(shè)計準(zhǔn)則進行軟件設(shè)計,確保系統(tǒng)可靠性指標(biāo)。具體措施如下:
(1)加強軟件的可靠性設(shè)計,在軟件需求分析,設(shè)計和編碼等各個階段,明確并細(xì)化與其它系統(tǒng)的接口關(guān)系,使系統(tǒng)需求完整、清晰、無二義性,并且是可驗證的;軟件容錯設(shè)計,所有可能引起系統(tǒng)異常行為(如溢出等)的軟件模塊,均需設(shè)置異常處理程序進行處理;采用嚴(yán)格的評審和測試措施,對軟件進行嚴(yán)格的檢驗,以確保軟件可靠性指標(biāo)滿足要求;
(2)設(shè)計采用程序分層結(jié)構(gòu),盡量簡化,自頂向下的模塊化方法,一個完整的執(zhí)行軟件以“軟件包”形式并存放在固定的數(shù)據(jù)庫內(nèi),當(dāng)需要執(zhí)行該軟件時,立即以“軟件包”方式全部調(diào)入執(zhí)行區(qū),防止運行過程中受擾。
(3)在軟件生存期內(nèi),通過完善的文檔規(guī)范,包括軟件需求分析、軟件詳細(xì)設(shè)計和總結(jié)報告等文件的編寫和控制,來消除設(shè)計人員對軟件狀態(tài)的隨意更改,確保軟件狀態(tài),提高軟件可靠性。
(4)為縮短開發(fā)周期,提高開發(fā)效率,進而提高軟件的可維護性和可靠性,在設(shè)計軟件方案時將最大限度地重用現(xiàn)有的成熟軟件。因為現(xiàn)有的成熟軟件,已經(jīng)過嚴(yán)格的運行檢測,大量的錯誤已在開發(fā)、運行和維護過程中排除,可靠性較高。
(5)軟件開發(fā)前期各階段完成之后,將通過嚴(yán)格的測試來進一步提高軟件可靠性。具體措施是成立專門的軟件測試小組編寫測試標(biāo)準(zhǔn)和規(guī)范,對軟件的穩(wěn)定性進行全面測試,特別是針對需要人工輸入各種命令、參數(shù)(例如監(jiān)控席上的各類人員輸入的有關(guān)操作命令)實施嚴(yán)格的檢查,以防止錯誤的輸入引起系統(tǒng)異常,測試過程中測試人員詳細(xì)記錄試驗現(xiàn)象和出現(xiàn)的問題,測試結(jié)束后由測試小組提供完整的測試報告。
(6)采用分層、逐級的軟件測試方法。為了在測試階段盡可能多地發(fā)現(xiàn)并糾正軟件錯誤,將按單元測試、軟件配置項集成測試以及系統(tǒng)測試的步驟執(zhí)行測試。
硬件可靠性設(shè)計
(1)元器件是電路可靠性設(shè)計的基礎(chǔ),在設(shè)計中壓縮和限制元器件的品種、規(guī)格和數(shù)量,選用合格供應(yīng)單位的元器件且為國產(chǎn)或進口工業(yè)級產(chǎn)品;
(2)元器件和原材料的采購確保優(yōu)質(zhì)定點,對采用的新材料、新器件進行充分論證和試驗,嚴(yán)格元器件的采購與篩選工作;
(3)嚴(yán)格科研與生產(chǎn)管理程序;
(4)硬件設(shè)計首先確保設(shè)計可靠性,充分利用成熟的EDA工具進行仿真、分析和驗證,硬件模塊經(jīng)過充分測試與試驗;
(5)對電路進行詳細(xì)分析計算,對每一個器件的工作電流、電壓、機內(nèi)溫升、使用環(huán)境等應(yīng)力進行設(shè)計,并根據(jù)可靠性要求,合理地確定元器件降額準(zhǔn)則和安全系數(shù)。
(6)線性電路盡量采用集成電路,對數(shù)字電路應(yīng)盡力采用中、大規(guī)模集成電路,提高單元、分機的集成度、減小體積、降低功耗。
(7)采用模塊化、簡單化設(shè)計,在滿足任務(wù)要求情況下,盡量采用成熟的、現(xiàn)有的技術(shù)成果,減少開發(fā)風(fēng)險。
(8)采用必要的冗余技術(shù),如整件熱備份技術(shù),對接插件、開關(guān)等增加冗余接點,實行多點并接等提高可靠性指標(biāo)。
(9)在設(shè)計時,對元器件特別是半導(dǎo)體器件、電容器、電感器等在瞬態(tài)過程中的承受能力進行分析并采取相應(yīng)措施,抑制過載的發(fā)生。
軟件可測試設(shè)計
軟件可測試設(shè)計用于系統(tǒng)內(nèi)各軟件的故障診斷,包括:
(1)軟件測試性應(yīng)符合測試要求,建立合理的軟件框架,減少模塊之間的耦合;
(2)預(yù)留測試節(jié)點:軟件的結(jié)構(gòu)設(shè)計充分考慮測試的需求,在模塊的輸入/輸出函數(shù)中預(yù)留測試節(jié)點,并設(shè)計方便讀取、映射、強制修改輸入/輸出的參數(shù)、關(guān)鍵參數(shù)的方法。
(3)模塊設(shè)計中考慮測試:軟件易于測試,調(diào)用各模塊時都應(yīng)有返回信息可供測試,對各模塊的接口都有詳細(xì)的測試方法和說明。