T-CICC 35008-2025 復(fù)雜軟件系統(tǒng)可靠性技術(shù)要求_第1頁
T-CICC 35008-2025 復(fù)雜軟件系統(tǒng)可靠性技術(shù)要求_第2頁
T-CICC 35008-2025 復(fù)雜軟件系統(tǒng)可靠性技術(shù)要求_第3頁
T-CICC 35008-2025 復(fù)雜軟件系統(tǒng)可靠性技術(shù)要求_第4頁
T-CICC 35008-2025 復(fù)雜軟件系統(tǒng)可靠性技術(shù)要求_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

復(fù)雜軟件系統(tǒng)可靠性技術(shù)要求Technicalrequirementsforreliabilityofcomplex2025-09-12發(fā)布2025-09-12實施中國指揮與控制學(xué)會發(fā)布I Ⅲ1范圍 12規(guī)范性引用文件 13術(shù)語與定義 14縮略語 35復(fù)雜軟件系統(tǒng)可靠性定性要求 35.1架構(gòu)可靠性要求 35.2代碼可靠性要求 45.3接口可靠性要求 45.4數(shù)據(jù)可靠性要求 55.5網(wǎng)絡(luò)可靠性要求 65.6任務(wù)可靠性要求 75.7功能可靠性要求 75.8性能可靠性要求 85.9基礎(chǔ)層、支撐層與應(yīng)用層軟件可靠性要求 86復(fù)雜軟件系統(tǒng)可靠性定量指標(biāo) 86.1定量指標(biāo)體系 86.2可靠性內(nèi)部測度 96.3可靠性外部測度 6.4可靠性使用質(zhì)量度量 7復(fù)雜軟件系統(tǒng)可靠性支撐技術(shù)與方法 7.1復(fù)雜軟件系統(tǒng)可靠性分配技術(shù)與方法 7.1.1分配級別 7.1.2快速分配法 7.1.4基于運行關(guān)鍵度分配法 7.1.6基于操作剖面的分配法 7.1.7基于失效率的分配法 7.2復(fù)雜軟件系統(tǒng)可靠性預(yù)計技術(shù)與方法 7.2.1適用對象 7.2.2實施步驟 7.2.3模型類型 7.2.4實施要點 7.3復(fù)雜軟件系統(tǒng)可靠性分析技術(shù)與方法 7.3.1初步危險分析 7.3.2軟件故障樹分析 T/CICC35008—20257.3.3軟件失效模式和影響分析 7.3.4功能危險分析 7.3.5GO法可靠性分析 7.4復(fù)雜軟件系統(tǒng)可靠性設(shè)計技術(shù)與方法 7.4.1查錯設(shè)計 207.4.2避錯設(shè)計 207.4.3容錯設(shè)計 217.4.4防錯設(shè)計 227.4.5糾錯設(shè)計 237.5復(fù)雜軟件系統(tǒng)缺陷分析與預(yù)測技術(shù)與方法 247.5.1軟件缺陷靜態(tài)分析技術(shù) 7.5.2軟件缺陷動態(tài)分析技術(shù) 7.5.3軟件缺陷綜合預(yù)測技術(shù) 7.6復(fù)雜軟件系統(tǒng)可靠性測試技術(shù)與方法 7.6.1增長測試 257.6.2驗證測試 267.6.3摸底測試 267.6.4加速測試 277.6.5模糊測試 277.6.6混沌測試 287.6.7變異測試 287.6.8蛻變測試 297.7復(fù)雜軟件系統(tǒng)可靠性驗證與評估技術(shù)與方法 297.7.1形式化驗證 297.7.2基于失效數(shù)據(jù)的評估方法 7.7.3基于歷史相似產(chǎn)品的評估方法 307.7.4基于測試數(shù)據(jù)的評估方法 7.7.5基于多階段數(shù)據(jù)融合的評估方法 7.7.6等效加速評估方法 7.7.7在線評估與預(yù)測方法 8復(fù)雜軟件系統(tǒng)可靠性全生命周期過程與活動 33參考文獻 本文件按照GB/T1.1-2020《標(biāo)準(zhǔn)化工作導(dǎo)則第1部分:標(biāo)準(zhǔn)化文件的結(jié)構(gòu)和起草規(guī)則》的規(guī)定起草。請注意本文件的某些內(nèi)容可能涉及專利。本文件的發(fā)布機構(gòu)不承擔(dān)識別專利的責(zé)任。本文件由中國指揮與控制學(xué)會提出并歸口。本文件起草參與單位:北京航空航天大學(xué)、杭州市北京航空航天大學(xué)國際創(chuàng)新研究院(北京航空航天大學(xué)國際創(chuàng)新學(xué)院)、可靠性與環(huán)境工程技術(shù)重點實驗室、北京航空航天大學(xué)可靠性工程研究所、中國電力科學(xué)研究院有限公司、中國科學(xué)院聲學(xué)研究所、中國船舶集團有限公司綜合技術(shù)經(jīng)濟研究院、中國船舶集團有限公司系統(tǒng)工程研究院、中國航空工業(yè)集團公司西安飛行自動控制研究所、中國航發(fā)控制系統(tǒng)研究所、四川治為科技有限公司、華威大學(xué)。本文件主要起草人:楊順昆、周怡婧、郝程鵬、劉廣、李宇佳、吳立金、詹紅燕、唐龍利、陳偉靜、朱燁、吳夢丹、曾福萍、司昌龍、馬欣瑞、張曉晨、于浩、夏文岳、徐鑫、劉海亮、姚龍輝、馬慶、趙星宇、石燦瑋、王英凡、張北、李曉亮。1本文件規(guī)定了復(fù)雜軟件系統(tǒng)可靠性的定性要求與定量指標(biāo)、支撐技術(shù)與下列文件中的內(nèi)容通過文中的規(guī)范性引用而構(gòu)成本文件必不件,僅該日期對應(yīng)的版本適用于本文件;不注日期的引用文件,其最新版本(包括所有的修改單)適GB/T11457—2006信息技術(shù)軟件工程術(shù)語GB/T25000.21-2019系統(tǒng)GB/T29832.1—2013系統(tǒng)與軟件可靠性第1部分:指標(biāo)體系GB/T29832.2-2013系統(tǒng)與軟件可靠性第2部分:度量方法GJB/Z161—2012軍用軟件可靠性評估指南GJB8892.19—2017武器裝備論證通用要求第19部分:軟件IEEEStd982-2024IEEE度量標(biāo)準(zhǔn)軟件可靠性方面(IEEEstandardformeasuresofthesoftwareaspectsofdependability)ISO/IEC2502n(所有部分)系統(tǒng)與軟件工程質(zhì)量要求與評價(Systemsandsoftware由大量相互依賴、相互作用的軟件組件(計算機程序、模塊、服務(wù)等)通過復(fù)雜的邏輯和物理關(guān)系連接而成,并遵循嚴(yán)格的規(guī)程(流程、協(xié)議、策略)進行協(xié)同運作,需動態(tài)應(yīng)對內(nèi)外部軟件、硬件與環(huán)境的變化以實現(xiàn)復(fù)雜業(yè)務(wù)或關(guān)鍵領(lǐng)域目標(biāo)的軟件集成。其本質(zhì)特境多變、動態(tài)交互、任務(wù)復(fù)雜,通常具備多層次架構(gòu)、模塊協(xié)作、高度耦合以及較長2a)在規(guī)定條件下,在規(guī)定的時間內(nèi)軟件不引起系統(tǒng)失效的概率。該概率是系統(tǒng)輸入和系統(tǒng)使用的函數(shù),也是軟件中存在的缺陷的函數(shù)。系統(tǒng)輸入將確定是否會遇到已存在的缺陷(如果有缺陷存在的話)。b)在規(guī)定的時間周期內(nèi)所述條件在規(guī)定的條件下和規(guī)定的時間周期內(nèi),由操作系統(tǒng)調(diào)度或能與其他部件并[來源:GB/T11457—2006,2.1528,2.1679,有修改]在規(guī)定的條件下和規(guī)定的時間周期內(nèi),軟件執(zhí)行其定義的功能(即其設(shè)計目標(biāo)或特征動作)而不在規(guī)定的條件下和規(guī)定的時間周期內(nèi),系統(tǒng)或部件在給定的性能約束(如速度、精度、資源利用率)下,持續(xù)保持實現(xiàn)其指定功能的程度的能力?;谂c軟件產(chǎn)品及其開發(fā)環(huán)境相關(guān)的參數(shù)對軟件可靠性進行的預(yù)測。本指導(dǎo)性文件中提到的軟件可靠性預(yù)計是指基于測試和運行維護期間觀察和收集到的失效在軟件開發(fā)生命周期中對軟件系統(tǒng)的可靠性特性基于歷史數(shù)據(jù)、代碼特征和開發(fā)過程指標(biāo),運用統(tǒng)計或機器學(xué)習(xí)等方法3一種活動,在此活動中,軟件系統(tǒng)或部件在一定的條件下執(zhí)行,觀察或記錄其結(jié)果,對軟件系統(tǒng)或部件的可靠性進行評價。確定現(xiàn)有軟件可靠性已達到的水平及預(yù)測未來將達到的可靠性水平的過程。以測量結(jié)果來賦值的變量。軟件產(chǎn)品在指定條件下使用時,其靜態(tài)屬性滿足明確和隱含的可靠性要求程度的測度。[來源:GB/T25000.21—2019包含軟件產(chǎn)品的系統(tǒng)在指定條件下使用時,該軟件產(chǎn)品使得系統(tǒng)行為滿足明確和隱含的可靠性要求程度的測度。軟件可靠性使用質(zhì)量測度qualityinusemeasureforsoftwarereliability某一產(chǎn)品或系統(tǒng),能由特定用戶使用,以滿足其達到可靠性目標(biāo)需要的程度的測度。[來源:GB/T25000.21—2019,4.12,有修改]4縮略語下列縮略語適用于本文件:I/O輸入/輸出(Input/OutAD/DA模數(shù)轉(zhuǎn)換/數(shù)模轉(zhuǎn)換(Analog-to-Digital/Digital-to-Analog)API應(yīng)用程序編程接口(ApplicationProgrammingInterface)CWE常見缺陷枚舉(CommonWeaknessEnumeration)GO圖形表示(GraphicalOperational)CPU中央處理器(CentralProcessingUnit)5復(fù)雜軟件系統(tǒng)可靠性定性要求5.1架構(gòu)可靠性要求應(yīng)明確復(fù)雜軟件系統(tǒng)的層次劃分、規(guī)范交互方式和約束調(diào)用關(guān)系,構(gòu)建清晰、可控的軟件系統(tǒng)架構(gòu)。具體要求如下:a)復(fù)雜軟件系統(tǒng)架構(gòu)設(shè)計應(yīng)盡可能簡單;b)應(yīng)形成明確定義的層次結(jié)構(gòu);4c)應(yīng)對代碼封裝特定功能集合,功能之間通過d)應(yīng)嚴(yán)格限制函數(shù)調(diào)用關(guān)系,禁止出現(xiàn)逆e)可對軟件拓撲結(jié)構(gòu)進行可靠性的重要性或敏感性分析,識別出關(guān)鍵重要的軟件可靠性模塊。軟件代碼應(yīng)統(tǒng)一風(fēng)格、限制非結(jié)構(gòu)化語法、控制復(fù)雜度、確保邏輯完整性,減少代碼層面的潛在a)在整體架構(gòu)、定義說明和編程風(fēng)格等方面應(yīng)保持統(tǒng)一;b)應(yīng)避免使用GOTO語句等非結(jié)構(gòu)化跳轉(zhuǎn)指令;c)審慎控制條件語句(IF)、循環(huán)語句(WHILE/FOR)和選擇語句(SWITCH)的使用深度,e)軟件設(shè)計宜采用形式化方法確保系統(tǒng)邏i)應(yīng)對關(guān)鍵重要的軟件代碼采用形式化分析等技術(shù)加強j)可對關(guān)鍵重要的變量或操作采用變異測試等方法加強k)可對關(guān)鍵重要的軟件子系統(tǒng)或模塊采用模糊測試工具1)針對關(guān)鍵重要的軟件系統(tǒng)或模塊,應(yīng)對其代碼及軟件接口應(yīng)針對各類外部干擾因素,在設(shè)計層面建立有效的防護與處理機制,確保接口通信的穩(wěn)a)應(yīng)根據(jù)通信干擾模式及傳輸誤碼率的分析結(jié)果,明確通信校驗、重傳及異常處理的要求,對關(guān)鍵重要的接口應(yīng)采取多頻次或者長時間發(fā)送、讀取等方式,提升接口的可靠性和抗干擾b)應(yīng)根據(jù)外部中斷優(yōu)先級及發(fā)生頻率的分析結(jié)果,明確誤中斷、漏中斷的濾波、屏蔽及處理的c)應(yīng)根據(jù)與外部硬件動作相關(guān)的I/O信號電氣特性的分析結(jié)果,明確必要的信號延時、去抖等處d)應(yīng)根據(jù)對AD/DA的有效位及轉(zhuǎn)換方式的分析結(jié)果,明確精度保障、限幅保護e)條件具備時,應(yīng)對關(guān)鍵重要的接口采用冗余的方式進一步提升可靠性。a)應(yīng)指明軟件與各種外部設(shè)備的接口關(guān)系,明確每種設(shè)備對軟件的要求、設(shè)備的型號、功能、b)應(yīng)在通信初始化、數(shù)據(jù)收發(fā)的過程中,對接口協(xié)議格式、數(shù)據(jù)幀頭尾、校驗和等進行一致性c)應(yīng)根據(jù)傳輸速率及傳輸周期的分析結(jié)果,明確通信超時處理機制及超時后的協(xié)議恢復(fù)流程。5軟件接口設(shè)計應(yīng)充分考慮未來功能擴展與系統(tǒng)演進的需求,通過預(yù)留a)應(yīng)指明與其它系統(tǒng)的接口及其性能要求,并在設(shè)計時預(yù)留必要的通信帶寬、存儲空間及處理b)宜采用模塊化、標(biāo)準(zhǔn)化設(shè)計,確保在增加新設(shè)備、新功能或新系統(tǒng)時,能通過擴展或更換模c)軟件的接口數(shù)據(jù)結(jié)構(gòu)與消息定義應(yīng)易于擴展,支持新字段的添加而不影響原有功能的正常使軟件應(yīng)提供靈活、安全的接口配置管理能力,使系統(tǒng)能夠適應(yīng)不同的a)應(yīng)指明其人機界面,明確操作及使用要求,關(guān)鍵接口參數(shù)(如通信端口、波特率、超時時間、重發(fā)次數(shù)),應(yīng)支持用戶配置;b)應(yīng)根據(jù)對內(nèi)部與外部同時讀寫的存儲單元讀寫周期的分析結(jié)果,提供可配置的互斥訪問機c)應(yīng)提供接口配置的校驗功能,確保配置參數(shù)的合法性與有效性,防止因錯誤配置導(dǎo)致接口故d)應(yīng)明確外部接口圖,并編碼接口配置與接口實現(xiàn)的解耦,通過配置文件或配置界面管理接口復(fù)雜軟件系統(tǒng)應(yīng)在數(shù)據(jù)輸入、處理和輸出的各環(huán)節(jié)建立多層次的數(shù)據(jù)校驗機制,確保數(shù)據(jù)的合理c)應(yīng)對內(nèi)部處理可能導(dǎo)致輸出錯誤的數(shù)據(jù),在結(jié)果數(shù)據(jù)的形成處進行合理性檢查,以確保數(shù)據(jù)d)對涉及系統(tǒng)安全狀態(tài)的關(guān)鍵數(shù)據(jù),應(yīng)使用顯式類型定義,禁止采用單比特標(biāo)志表示安全狀e)判定條件應(yīng)避免依賴全“0”或全“1”等特殊輸入模式,防止因數(shù)據(jù)異常導(dǎo)致的誤判。復(fù)雜軟件系統(tǒng)應(yīng)通過約束機制與事務(wù)管理,保障數(shù)據(jù)在生命a)應(yīng)建立數(shù)據(jù)完整性約束機制,確保關(guān)鍵數(shù)據(jù)在存儲、傳輸和處理過程中不被非法篡改或丟d)對于可能存在并發(fā)處理的關(guān)鍵數(shù)據(jù)資源,應(yīng)采用必要的共享資源保護措施防止數(shù)據(jù)被非預(yù)期6復(fù)雜軟件系統(tǒng)應(yīng)具備對異常數(shù)據(jù)的識別、處理與記錄能力,確保系統(tǒng)在異常數(shù)據(jù)輸入時仍能可靠運行。具體要求如下:a)應(yīng)具備對周期性外部輸入的狀態(tài)類異常數(shù)據(jù)的識別與處理能力,推薦采取以下方式:1)放棄當(dāng)前周期外部輸入狀態(tài)的異常值,維持前一周期外部輸入狀態(tài)的正常值;2)放棄當(dāng)前周期外部輸入狀態(tài)的異常值,根據(jù)其他相關(guān)信息輔助判定當(dāng)前狀態(tài)。b)應(yīng)具備對周期性外部輸入的數(shù)值類異常數(shù)據(jù)的識別與處理能力,推薦采取以下方式:1)修正當(dāng)前周期外部輸入數(shù)據(jù)的異常值,進行限幅處理;2)放棄當(dāng)前周期外部輸入數(shù)據(jù)的異常值,以前一周期正常值替代;3)放棄當(dāng)前周期外部輸入數(shù)據(jù)的異常值,用前幾個周期的正常值進行外推或濾波處理。c)應(yīng)建立異常數(shù)據(jù)記錄與告警機制,對識別出的異常數(shù)據(jù)進行日志記錄并及時通知系統(tǒng)或用5.4.4數(shù)據(jù)備份與恢復(fù)性要求復(fù)雜軟件系統(tǒng)應(yīng)制定完備的數(shù)據(jù)備份與恢復(fù)策略,確保在數(shù)據(jù)故障時能夠快速恢復(fù)業(yè)務(wù)。具體要a)應(yīng)制定數(shù)據(jù)庫備份策略,明確備份周期、備份方式及備份數(shù)據(jù)的管理要求;b)在數(shù)據(jù)損壞或丟失后,應(yīng)具備利用備份數(shù)據(jù)進行快速、準(zhǔn)確恢復(fù)的能力;c)應(yīng)定期進行恢復(fù)演練,以驗證備份數(shù)據(jù)的有效性和恢復(fù)流程的可靠性。5.4.5數(shù)據(jù)存儲與時效性要求復(fù)雜軟件系統(tǒng)需通過動態(tài)監(jiān)控與歸檔策略管理數(shù)據(jù)存儲情況與數(shù)據(jù)時效性,保障系統(tǒng)持續(xù)高效運行。具體要求如下:a)軟件應(yīng)監(jiān)測數(shù)據(jù)存儲空間的使用情況,并在存儲達到預(yù)設(shè)極限時,采取特定策略保障系統(tǒng)可持續(xù)可靠運行;b)軟件應(yīng)對有時效性要求的數(shù)據(jù)明確其有效周期,并及時處理或標(biāo)識過期數(shù)據(jù);c)軟件應(yīng)設(shè)計數(shù)據(jù)歸檔機制,將罕用歷史數(shù)據(jù)遷移至歸檔目錄,以保障在線系統(tǒng)的處理性能與存儲空間。5.5網(wǎng)絡(luò)可靠性要求復(fù)雜軟件系統(tǒng)應(yīng)具備處理網(wǎng)絡(luò)異常狀況的能力,確保在網(wǎng)絡(luò)性能下降或中斷時維持功能的可靠性。具體要求如下:a)應(yīng)實時監(jiān)測網(wǎng)絡(luò)性能指標(biāo),包括但不限于丟包率、延遲、抖動及帶寬利用率,并在指標(biāo)超過閾值時觸發(fā)預(yù)警或自適應(yīng)降級策略;b)需針對關(guān)鍵數(shù)據(jù)傳輸設(shè)計冗余機制,確保在丟包率超過允許范圍時仍能完整恢復(fù)數(shù)據(jù);c)宜實現(xiàn)網(wǎng)絡(luò)流量的智能調(diào)度功能,根據(jù)業(yè)務(wù)優(yōu)先級動態(tài)分配帶寬資源;d)應(yīng)支持網(wǎng)絡(luò)中斷的快速檢測與自動恢復(fù),具備鏈路冗余切換、斷線重連及會話保持能力,最大程度減少服務(wù)中斷時間;e)宜支持網(wǎng)絡(luò)拓撲的自動發(fā)現(xiàn)與可視化功能,便于運維人員實時掌握網(wǎng)絡(luò)狀態(tài);f)需對網(wǎng)絡(luò)延遲敏感任務(wù)進行優(yōu)化,通過本地緩存、異步處理或優(yōu)先級調(diào)度等方式,保障延遲波動不影響功能實時性;g)宜采用前向糾錯等技術(shù),在傳輸層減少重傳次數(shù),降低網(wǎng)絡(luò)延遲;h)應(yīng)設(shè)計網(wǎng)絡(luò)擁塞控制機制,根據(jù)網(wǎng)絡(luò)狀態(tài)動態(tài)調(diào)整數(shù)據(jù)發(fā)送速率或請求頻率,避免網(wǎng)絡(luò)資源競爭導(dǎo)致系統(tǒng)性癱瘓;i)宜實現(xiàn)基于機器學(xué)習(xí)的網(wǎng)絡(luò)異常預(yù)測功能,提前發(fā)現(xiàn)潛在的網(wǎng)絡(luò)故障風(fēng)險;7j)需在網(wǎng)絡(luò)分區(qū)或異常狀態(tài)下維持?jǐn)?shù)據(jù)一致性,通過事務(wù)回滾、狀態(tài)同步或沖突解決協(xié)議避免m)需對網(wǎng)絡(luò)攻擊具備防護能力,通過限流、鑒權(quán)及異復(fù)雜軟件系統(tǒng)應(yīng)確保關(guān)鍵任務(wù)在規(guī)定的使用條件下持續(xù)穩(wěn)定運a)宜對關(guān)鍵任務(wù)的成功率提出明確的量化指標(biāo)要求,并通過設(shè)計實現(xiàn)與測試驗證確保指標(biāo)達b)在規(guī)定的使用條件下不應(yīng)發(fā)生死機、重啟、進程無響應(yīng)等關(guān)鍵非預(yù)期故障,宜采用心跳檢e)對于時效性要求高的關(guān)鍵任務(wù),軟件應(yīng)提供任務(wù)優(yōu)先級調(diào)度機制,確保高優(yōu)先級任務(wù)優(yōu)先獲h)對于關(guān)鍵任務(wù)的數(shù)據(jù)處理過程,宜采用完整性校驗與事務(wù)回滾機制,確保數(shù)據(jù)處理的可重試復(fù)雜軟件系統(tǒng)功能應(yīng)通過系統(tǒng)化的可靠性設(shè)計措施,確保在異常條件下仍能維持預(yù)期的服務(wù)能力a)應(yīng)明確軟件的功能架構(gòu),給出每一項功能的完整定義及其設(shè)計目的,區(qū)分主要功能和次要功b)應(yīng)詳細說明與各功能相關(guān)的所有輸入信息,包括信息來源、語義定義、數(shù)據(jù)格式、接收方c)應(yīng)建立輸入校驗機制確保數(shù)據(jù)正確性,并明確時序要求、優(yōu)先級處理規(guī)則、操作控制要求及d)應(yīng)明確規(guī)范與功能相關(guān)的所有輸出信息,包括輸出傳輸方式、語義定義、數(shù)據(jù)格式、數(shù)據(jù)e)應(yīng)建立輸出驗證機制確保數(shù)據(jù)正確性,并明確時序要求、輸出優(yōu)先級及輸出形式;f)應(yīng)提供清晰的軟件功能層次圖,標(biāo)識關(guān)鍵功能的可靠性設(shè)計措施,包括但不限于:8g)各功能模塊應(yīng)具備異常防護能力,在出現(xiàn)內(nèi)部處理錯誤或外部異常輸入時,能夠?qū)崿F(xiàn)故障隔h)宜采用故障注入測試等方法,驗證模i)對于安全關(guān)鍵功能,應(yīng)建立獨立性保護機制,確保復(fù)雜軟件系統(tǒng)應(yīng)滿足明確的性能可靠性指標(biāo),確保在規(guī)定的容a)如軟件有容量要求,應(yīng)確定系統(tǒng)的處理容量指標(biāo),一般包括最大并發(fā)用戶數(shù)、處理記錄數(shù)、b)如軟件有精度要求,應(yīng)明確數(shù)據(jù)處理的精度指標(biāo),一般包括數(shù)值計算精度、數(shù)據(jù)采集精度、c)如軟件有時間特性要求,應(yīng)明確各項時序指標(biāo),一般包括系統(tǒng)響應(yīng)時間、事務(wù)處理時間、查d)對于實時嵌入式軟件,應(yīng)說明嚴(yán)格的實時性要求,一般包括啟動時間、周期任務(wù)執(zhí)行時間、e)軟件應(yīng)滿足一定的性能余量要求,一般要求處理能力、存儲容量及傳輸帶寬等關(guān)鍵資源留有不少于20%的余量;f)軟件宜建立性能監(jiān)控機制,實時監(jiān)測資源使用情況,并在性能指標(biāo)接近閾值時提前預(yù)警;應(yīng)結(jié)合各軟件層次的特點,分別提出針對性的可靠性要求,確保軟件體系各層次的可靠性。具體b)基礎(chǔ)層軟件應(yīng)具有完善的可靠性處理機制,包括防死機、防死鎖、防程序跑飛及內(nèi)存泄漏檢c)支撐層軟件應(yīng)明確并發(fā)服務(wù)的支撐數(shù)量和容量,并具備負載均d)應(yīng)用層軟件界面應(yīng)具備誤操作保護及提醒f)基礎(chǔ)層軟件宜支持硬件故障的檢測與隔離,具備故障條件下的自動恢復(fù)能力;軟件可靠性定量指標(biāo)見圖1,其中I表示內(nèi)部測度,E表示外部測度,Q表示使用質(zhì)量測度。9恢恢復(fù)有效性1/E恢復(fù)成功度易恢復(fù)性1/E平均恢復(fù)時間1/E重啟成功度平均宕機時間1/E抵御誤操作率1/E性錯容避免失效率E正常運行度避免宕機率E累計有效服務(wù)時間E/Q靠可有效服務(wù)時間E/Q有效度平均故障前時間1/E平均嚴(yán)重故障時間間隔1/E平均故障時間間隔1/E測試通過率E測試度測試覆蓋范圍E測試的成熟性E性故障排除率1潛在故障率1故障度故障密度1/E故障率1故障糾正率1失效解決率1失效度失效密度1/E性復(fù)恢易熟成性—2004和GJB8892.19—2017,可靠性的子特性可分為三類:a)成熟性:為避免由軟件自身存在的故障而導(dǎo)致軟件失效的能力,可用失效度、故障度、測試b)容錯性:在出現(xiàn)故障或違反規(guī)定接口的情況下軟件維持規(guī)定性能級別的能力,可用正常運行c)易恢復(fù)性:在失效發(fā)生的情況下軟件重建規(guī)定的性能級別和恢復(fù)直接受影響的數(shù)據(jù)的能力,可靠性內(nèi)部測度的定量指標(biāo)含義及計算方法見表1。類別(失效度)失效密度內(nèi)檢測出的失效數(shù)。若檢測到的失效數(shù)為A,(失效度)的失效比率。若已解決的失效數(shù)為A,實際檢測到的失效總數(shù)為(故障度)已糾正檢測到的可靠性相關(guān)故障的比例。障數(shù)量為A,檢測到的可靠性相關(guān)錯誤數(shù)量為B:類別(故障度)故障次數(shù)。若在規(guī)定時間段內(nèi)檢測到的故障數(shù)量為A,觀測時間為B:(故障度)故障密度在一定的測試周期內(nèi)檢測出的故障數(shù)。(故障度)比率。率為X,在軟件產(chǎn)品中A?,實際已檢測到的故障總數(shù)為A?,軟件產(chǎn)品的規(guī)模為B:(故障度)排除的故障比率??倲?shù)為B:(有效度)平均故障間隔時間模型/軟件運行期間的發(fā)生的模型/軟件故障數(shù)為B:(有效度)間隔時間位內(nèi),相鄰兩次嚴(yán)重故障之間的平均工作時間。若在規(guī)定的總運行時間(有效度)間從一個設(shè)備或系統(tǒng)出現(xiàn)首次故障到下一個故障之間的平均時間間隔。A,故障次數(shù)為B:(抵御誤操作率)率。的測試用例時,未發(fā)生關(guān)鍵的和嚴(yán)重的失效的測試用例數(shù)為A,在測的測試用例總數(shù)為B:可靠性外部測度的定量指標(biāo)含義及計算方法見表2。類別(失效度)失效密度內(nèi)檢測出的失效數(shù)。為A,執(zhí)行測試用例的總數(shù)為B:(故障度)故障密度內(nèi)檢測出的故障數(shù)。為A,軟件產(chǎn)品的規(guī)模為B:(測試度)對實際執(zhí)行通過的測試用個需求要執(zhí)行的測試用例總數(shù)相比較。若在測試或運行中所要運行的測試用例個數(shù)為B:(測試度)測試覆蓋范圍型或軟件功能、操作場景或軟件功能、操作場景或功能的數(shù)量為A,實相關(guān)測試套件中包含的模型或軟件功能、操作場景或功能的數(shù)量為B:(測試度)測試通過的比率。若在測試或運行中通過的測試用例數(shù)計劃執(zhí)行的測試用例數(shù)為B:(有效度)平均故障間隔時間故障間隔時間。若運行時間為A,件故障數(shù)為B:(有效度)間隔時間參數(shù)。其度量方法為:產(chǎn)品嚴(yán)重故障維護時間與維護次數(shù)之比。間為A,維護次數(shù)為B:(有效度)問次故障到下一個故障之間若總故障間隔時間(有效度)有效服務(wù)時間率可提供無失效服務(wù)的時間比率。間為A,總的服務(wù)時間為B:類別(有效度)累計有效服務(wù)時間提供的有效服務(wù)時間總間之和為T:常運行度)軟件失效中未引起宕機的若導(dǎo)致宕機發(fā)生的失效數(shù)為A,軟件失效的總數(shù)為B:(正常運行重的失效的測試用中執(zhí)行的故障模式的測試用例總數(shù)為(抵御誤操作率)若執(zhí)行對應(yīng)誤操作模式的測試用例時,未發(fā)生關(guān)鍵的和嚴(yán)重的失效的測作模式的測試用例總數(shù)為B:易恢復(fù)性(重啟成功平均宕機時間內(nèi),從宕機起到軟件可正常使用所花費的平均時間總次數(shù)為B:易恢復(fù)性(重啟成功平均恢復(fù)時間費的平均時間的時間為A;,觀察到的軟件系統(tǒng)進入易恢復(fù)性(修復(fù)成功易恢復(fù)性在異常情況下或需要時自若成功完成恢復(fù)的測試用例數(shù)為A,執(zhí)行的恢復(fù)測試用例總數(shù)為B:易恢復(fù)性(恢復(fù)成功間的成功完成恢復(fù)的測試用例數(shù)為試用例總數(shù)為B:可靠性外部測度的定量指標(biāo)含義及計算方法見表3。表3可靠性使用質(zhì)量測度參數(shù)含義及計算方法類別(有效度)問率問比率。若無失效的服務(wù)時間為A,總的服務(wù)時間為B:(有效度)累計有效服務(wù)時間提供的有效服務(wù)時間總?cè)魺o失效的服務(wù)時間之和為T:可靠性分配需要將系統(tǒng)頂層的可靠性指標(biāo),逐級分解到下層各個組成部根據(jù)上述級別,將指標(biāo)自上而下分解,并在每一級分解中,綜合權(quán)衡復(fù)雜適用于存在相似系統(tǒng)歷史可靠性數(shù)據(jù)的新開發(fā)項目。通過借鑒已有系統(tǒng)的d)代碼規(guī)模、模塊數(shù)量及算法復(fù)雜度處于同一量級。a)明確本次分配是針對整個系統(tǒng)、子系統(tǒng)還是模塊級別,并確認(rèn)待分配的系統(tǒng)級總體可靠性目1)系統(tǒng)級分配(相似程序法):尋找一個在功能、應(yīng)用領(lǐng)域、技術(shù)棧、規(guī)模等方面與當(dāng)前2)模塊級分配(相似模塊法):若系統(tǒng)內(nèi)部存在與歷史項目中功能、復(fù)雜度相似的模塊,1)若新舊系統(tǒng)或模塊極其相似,可直接將類比基準(zhǔn)的可靠性指標(biāo)作為新系統(tǒng)或模塊的分配2)若新舊系統(tǒng)之間存在差異,則按比例調(diào)整。a)所選取的類比基準(zhǔn)的可靠性數(shù)據(jù)必須真實、準(zhǔn)確,來源于項目測試或運行期間的實際統(tǒng)計,適用于各子系統(tǒng)或模塊在復(fù)雜性、重要性和使用頻率上高度相似的軟件系可靠性指標(biāo)平均分配給所有組成單元,快速獲得一個初步、簡化的分配方案a)明確待分配的系統(tǒng)級可靠性目標(biāo),通常為總失效b)分析軟件系統(tǒng)的運行時行為,確定模塊間的e)將計算得到的失效率作為各模塊的可靠性分配目標(biāo),輸出分配方案文檔。適用于可靠性模型為串聯(lián)且能獲取各模塊運行剖面(執(zhí)行頻率)和復(fù)雜度數(shù)據(jù)的軟件系統(tǒng)。根據(jù)各模塊的相對重要性和失效風(fēng)險,對系統(tǒng)總體可靠性指標(biāo)進行非均衡分配c)組織專家評審會,根據(jù)每個配置項失效對系統(tǒng)任務(wù)成功、安全及功能完整性的影響程度,評e)根據(jù)系統(tǒng)總失效率、各配置項的關(guān)鍵度數(shù)值及關(guān)鍵度總和,計算出每個配置項應(yīng)分配的失效b)分配完成后,應(yīng)評審各配置項分配到的失效率指標(biāo)是否在其技術(shù)可實現(xiàn)范圍內(nèi)。對于分配結(jié)適用于可靠性模型為串聯(lián)且能獲取各模塊復(fù)雜度數(shù)據(jù)的軟件系統(tǒng)。根據(jù)各c)選擇一種或多種復(fù)雜度度量指標(biāo),為每個配f)組織評審會對分配結(jié)果進行審查。結(jié)合各配置項的關(guān)鍵程度等因素,對純基于復(fù)雜度的分配b)復(fù)雜度評估應(yīng)盡量基于客觀度量數(shù)據(jù)(如工具掃描結(jié)果),而非主觀印象,以減少評估偏適用于用戶交互頻繁、功能路徑多樣且已定義清晰操作剖面的軟件系統(tǒng)。b)識別系統(tǒng)的主要功能或用戶操作,形成操作列表,通過用戶調(diào)研、日志分析、原型測試等方c)根據(jù)操作的發(fā)生概率,為每個操作d)將操作失效率指標(biāo)映射到實現(xiàn)1)表格表示法:采用二維表格形式描述操作剖面與可靠性指標(biāo)的映射關(guān)系;2)圖形表示法:通過可視化圖表呈現(xiàn)操作剖面分配結(jié)果。a)兩種表示方法應(yīng)保持?jǐn)?shù)據(jù)一致性,建議配合使用。表格表示法適用于精確數(shù)值呈現(xiàn),圖形表b)從操作到軟件配置項的映射關(guān)系必須清晰、可追溯。建議建立功能分解樹或追溯矩陣,確保c)操作剖面應(yīng)隨著用戶行為和市場變化而演變。適用于軟件開發(fā)中后期已通過測試獲得各模塊初始失效率數(shù)據(jù)的項目。根據(jù)各模塊實際暴露出的a)采用經(jīng)確認(rèn)的軟件可靠性模型,基于歷史數(shù)據(jù)、當(dāng)前測試數(shù)據(jù)或設(shè)計度量,估算系統(tǒng)在交付1)對計算所得各模塊失效率進行歸一化處理;2)根據(jù)操作剖面確定分配權(quán)重系數(shù);3)按權(quán)重比例將系統(tǒng)級可靠性指標(biāo)分配至各模塊。1)模塊級指標(biāo)與系統(tǒng)級指標(biāo)的符合性檢查;2)分配結(jié)果的合理性評估;3)必要時進行迭代優(yōu)化。a)所采用的軟件可靠性模型應(yīng)經(jīng)過歷史項目數(shù)據(jù)的確認(rèn)和校準(zhǔn),確保其對于當(dāng)前項目類型的預(yù)b)應(yīng)明確記錄初始失效率比例與操作剖面權(quán)重的綜合權(quán)衡策略。適用于架構(gòu)復(fù)雜、規(guī)模龐大且對可靠性有定量要求的安全關(guān)鍵或任務(wù)關(guān)鍵軟件系統(tǒng)。在開發(fā)早期綜合利用歷史項目數(shù)據(jù)、架構(gòu)模型、復(fù)雜度度量及過程能力因子等多源信息,通過e)對計算出的初步結(jié)果進行分析和解釋,判斷其合理性和可信度。a)指數(shù)型非齊次泊松過程模型(假設(shè)失效間隔時間服從指數(shù)分布):b)非指數(shù)型非齊次泊松過程模型(同樣基于非齊次泊松過程,但放松了假設(shè),認(rèn)為失效間隔時間不一定服從指數(shù)分布,可以是其他分布):c)應(yīng)制定計劃,在項目后期利用實際的評估結(jié)果驗證和修正早期的預(yù)計模型和參數(shù)。適用于所有安全關(guān)鍵或任務(wù)關(guān)鍵軟件系統(tǒng)在概念設(shè)計或初步設(shè)計階段的早期安全性分析。通過系統(tǒng)化的方法,初步識別系統(tǒng)中潛在的危險、危險情境及其可能導(dǎo)致a)確定分析范圍,明確系統(tǒng)的設(shè)計意圖、功b)基于經(jīng)驗、歷史數(shù)據(jù)、標(biāo)準(zhǔn)規(guī)范或類似系統(tǒng)信息,采用頭腦風(fēng)暴、檢查表等方法,全面識別c)分析每種危險狀態(tài)觸發(fā)或發(fā)生的可能原因,包括硬件故障、軟件錯誤、人為操作失誤、環(huán)境e)結(jié)合原因發(fā)生的可能性,對已識別的危險進行初步風(fēng)險評估與分級,并形成初步危險列表;f)針對中、高風(fēng)險提出初步的風(fēng)險控制措施建議,并將措施b)應(yīng)著重于“什么是危險的”以及“后果有多嚴(yán)重”,而非深入分析具體的故障模式或概率,c)分析結(jié)果是制定系統(tǒng)安全性要求、規(guī)劃后續(xù)更詳細安全性分析活動的主要依據(jù)。適用于安全關(guān)鍵或任務(wù)關(guān)鍵軟件系統(tǒng)中特定頂層失效事件(如系統(tǒng)功能喪失、安全事故)的根因分析。通過自頂向下的演繹邏輯,逐層分解失效事件至其根本原因,從而a)確定系統(tǒng)所包括的內(nèi)容及其邊界范圍,熟悉軟件的整體情況,包括性能、運行情況、操作情b)根據(jù)項目需要和用戶需求,確定所要分析的對象事件,通常將易于發(fā)生且后果嚴(yán)重的事故作d)按建樹原則,從頂事件起,一層一層往下分析各自的直接原因事件,根據(jù)彼此間的邏輯關(guān)e)分析各類事故的發(fā)生規(guī)律及特點,通過求取最小割集,找出控制故障的可行方案,并對故障f)根據(jù)分析的結(jié)果,評價事故的危險性,從而有針對性地采取措施,從定性和定量分析的結(jié)果a)頂事件的選擇可以基于軟件危險分析、軟件FMEA的分析結(jié)果、軟件需求文檔中提出的要求b)應(yīng)注意分析重點在于定性分析,而非定量分析。適用于軟件系統(tǒng)需求分析與架構(gòu)設(shè)計階段。通過系統(tǒng)性地識別宏觀設(shè)計元式,分析其后果對系統(tǒng)、用戶、環(huán)境的影響,并評估其嚴(yán)重度、發(fā)生e)根據(jù)分析得到的失效產(chǎn)生的原因及影響的嚴(yán)重性等,確定需要采取的改進措施。a)應(yīng)明確定義各子系統(tǒng)之間的接b)分析應(yīng)自上而下進行,遵循“系統(tǒng)功能→子系統(tǒng)功能→接口”的分析路徑。適用于已經(jīng)編碼實現(xiàn)的軟件單元或由偽代碼描述的單元。通過系統(tǒng)化地分b)確定詳細級軟件FMEA的失效模式;c)建立變量映射關(guān)系及軟件線索:變量映射關(guān)系及軟件線索的建立通常需要依據(jù)模塊定義表、d)失效影響分析:利用已經(jīng)建立的變量映射關(guān)系及軟件線索,分析每個模塊的算法以及輸入變e)改進措施制定:根據(jù)以上分析結(jié)果,針對每個失效模式制定相應(yīng)的改進措施。b)分析應(yīng)覆蓋所有安全關(guān)鍵和可靠性關(guān)鍵的軟件單元,尤其是系統(tǒng)級FMEA識別出的高風(fēng)險模適用于航空、航天、核電、醫(yī)療等安全攸關(guān)領(lǐng)域的復(fù)雜系統(tǒng)。通過系統(tǒng)性過程中潛在的失效狀態(tài),并評估其可能導(dǎo)致的功能喪失、性能退化或災(zāi)難性危險后果,從而確定各功1)逐步展開,找出所有工作狀態(tài)和模式下可能的所有功能或子功能;2)在進行功能定義時,可參考相似系統(tǒng)的功能列表;3)只針對分析對象的功能展開分析工作,而不涉及完成功能的具體設(shè)備系統(tǒng)或結(jié)構(gòu);4)進行功能定義時應(yīng)組織各專業(yè)人員共同參與。b)分析每一個功能可能出現(xiàn)的故障1)在確定功能故障狀態(tài)對產(chǎn)品的影響時,應(yīng)注重借鑒使用經(jīng)驗;2)需通過分析事故或事件的數(shù)據(jù),結(jié)合相關(guān)標(biāo)準(zhǔn)規(guī)范并充分借鑒先前的設(shè)計經(jīng)驗,對功能e)在功能故障影響分類的基礎(chǔ)上,將對某一功能的安全性要求分配到更低層次的功能中。b)分析應(yīng)覆蓋所有已識別的軟件功能,但可根據(jù)優(yōu)先級采取不同的分析粒度。對于核心功能,適用于具有冗余容錯、故障修復(fù)、時序序列、狀態(tài)轉(zhuǎn)移等動態(tài)特性的高可向圖(GO圖)模型直觀描述系統(tǒng)內(nèi)組件間的功能流與信號依賴關(guān)系,并定量分析其成功概率。b)建立GO圖模型:1)將系統(tǒng)分解為基本單元,并分析單元之間的功能依賴關(guān)系和時序邏輯;3)為每個代表具體單元的信號流元件標(biāo)注其可靠性參數(shù),并為操作符定義具體的操作規(guī)則。c)進行GO運算:從輸入操作符開始,按照GO法的定量運算規(guī)則,逐步向后進行計算。a)建模前,應(yīng)確認(rèn)系統(tǒng)的動態(tài)和多狀態(tài)特性是否顯著,若系統(tǒng)為簡單的靜態(tài)串并聯(lián)結(jié)構(gòu),則無需使用GO法,采用故障樹等方法更高效。適用于對可靠性、安全性要求較高的關(guān)鍵軟件系統(tǒng)。通過系統(tǒng)化的技術(shù)手a)斷言檢查:在代碼關(guān)鍵位置插入斷言語句,檢查程序運行時的狀態(tài)、變量值或參數(shù)是否滿足b)參數(shù)校驗:在函數(shù)或方法的入口處,嚴(yán)格檢查輸入?yún)?shù)的有效性、取值范圍和邊界條件,防c)異常捕獲與處理:使用結(jié)構(gòu)化的異常處理機制捕獲運行時錯誤,防止程序非正常崩潰,并記a)心跳檢測:在分布式系統(tǒng)或多模塊系統(tǒng)中,定期向監(jiān)控中心發(fā)送“心跳”信號,以表明組件b)資源監(jiān)控:實時監(jiān)控軟件運行時的關(guān)鍵資源指標(biāo),如內(nèi)存占用、CPU使用率、線程池狀態(tài)、c)日志記錄與審計:在關(guān)鍵執(zhí)行路徑和決策點記錄詳細的運行日志和審計信息,一旦發(fā)生故a)開機自檢:系統(tǒng)啟動時,自動對關(guān)鍵配置、依賴服務(wù)、硬件狀態(tài)等進行完整性檢查,確保運b)內(nèi)置測試:在軟件中預(yù)留專用的測試接口或模式,允許在維護階段或特定條件下觸發(fā)內(nèi)部的c)一致性檢查:定期或在關(guān)鍵操作后,對數(shù)據(jù)的完整性、一致性進行檢查(如循環(huán)冗余校驗、數(shù)據(jù)庫事務(wù)一致性校驗等),確保數(shù)據(jù)狀態(tài)正確。適用于所有軟件系統(tǒng),特別是開發(fā)過程規(guī)范、技術(shù)團隊成熟的項目。通過發(fā)方法、規(guī)范、工具和語言,從技術(shù)和管理層面建立一套嚴(yán)格的紀(jì)律和a)過程抽象:將一個完成特定功能的指令序列封裝為一個命名的單元(如函數(shù)、方法、過程),后續(xù)可通過其名稱調(diào)用該功能,而無需關(guān)心其內(nèi)部實現(xiàn)細節(jié);b)數(shù)據(jù)抽象:定義一種數(shù)據(jù)類型,僅暴露其操作接口,而將其內(nèi)部的數(shù)c)控制抽象:隱藏程序控制流程的復(fù)雜細節(jié)。c)后續(xù)細化:對每個子任務(wù)重復(fù)上述過程,不斷添加細節(jié),直到所有步驟都足夠明確。a)信息隱藏:通過設(shè)計良好的接口來實現(xiàn),模塊只提供一些接口函數(shù)供外部調(diào)用,而將所有易b)模塊高內(nèi)聚:一個模塊內(nèi)部各成分(語句、函數(shù))之間應(yīng)關(guān)聯(lián)性強,共同完成一個單一、明c)模塊低耦合:模塊與模塊之間應(yīng)相互獨立,依賴關(guān)系盡可能簡單、明確。適用于對可靠性、可用性及安全性有極端要求的軟件系統(tǒng)。通過冗余設(shè)計、錯誤檢測與恢復(fù)機制等技術(shù),使系統(tǒng)在部分組件發(fā)生特定故障或遇到意外環(huán)境時,能夠自動維持1)在數(shù)據(jù)中外加冗余信息碼;2)隨機存取存儲器中的程序和數(shù)據(jù)應(yīng)存儲在三個或三個以上不同的地方,而訪問這些程序3)應(yīng)建立軟件系統(tǒng)運行日志和數(shù)據(jù)副本,設(shè)計較完備的數(shù)據(jù)備份和系統(tǒng)重構(gòu)機制。1)指令復(fù)執(zhí):在指令(語句)級作重復(fù)計算,當(dāng)應(yīng)用軟件系統(tǒng)檢查出正在執(zhí)行的指令出錯2)程序卷回:在程序段級作重復(fù)計算。1)軟件N版本程序設(shè)計:對于一個給定的功能,由N個不同的設(shè)計組獨立編制出N個不2)恢復(fù)塊法:在每次模塊處理結(jié)束時都要檢驗運算結(jié)果,在找出故障后,通過代替模塊進b)逆變換檢測:判斷結(jié)果是否滿足規(guī)范要求是一個程序的逆問題,如果這種變換是可逆的,可c)檢查輸出結(jié)果的允許范圍:對于那些不可逆的變換,也可以通過確認(rèn)輸出結(jié)果的允許范圍等a)檢查每個數(shù)據(jù)的屬性:檢查包括數(shù)據(jù)類型是否正確、數(shù)據(jù)長度是否在要求的范圍內(nèi)、是否可a)改正:改正故障的前提是已經(jīng)準(zhǔn)確地找出軟件故障的起因和位置,程序又有能力修改、剔除1)向后恢復(fù)策略:把有故障的系統(tǒng)從當(dāng)前故障狀態(tài)卷回到以前的某一正確狀態(tài),從這一狀2)向前恢復(fù)策略:根據(jù)系統(tǒng)的故障特征,校正故障的系統(tǒng)狀態(tài),使系統(tǒng)正確運行。c)報告:在一個外部文件上記錄故障或向顯示d)立即停機:當(dāng)檢測為不可修復(fù)故障,系統(tǒng)無法繼續(xù)運行或繼續(xù)運行可能帶來嚴(yán)重的后果,系適用于所有存在用戶交互或外部系統(tǒng)調(diào)用的軟件界面與接口。通過約束輸輯、提供明確引導(dǎo)和實時反饋,從根本上消除用戶或調(diào)用方因疏忽、誤解或知1)灰度發(fā)布/功能開關(guān):新功能先對部分用戶開放;2)資源限額:限制單個用戶或進程可使用的內(nèi)存、CPU、數(shù)據(jù)庫連接數(shù);3)權(quán)限控制:根據(jù)角色嚴(yán)格控制增、刪、改、查權(quán)限。1)向?qū)J剑簩?fù)雜的配置任務(wù)分解為一系列簡單的步驟;2)默認(rèn)值:為配置項提供智能且安全的默認(rèn)值,用戶無需修改即可安全運行;3)自動完成與輸入建議:減少手動輸入的錯誤。a)斷言:在代碼中插入檢查點,聲明某個條件在此時必須為真;若為假,則立即拋出錯誤;c)心跳與超時機制:定期檢查系統(tǒng)組件是否存活和健康;若在指定時間內(nèi)未收到響應(yīng),則判定b)配置化管理:將易變的參數(shù)(如數(shù)據(jù)庫連接字符串、第三方API地址、開關(guān)標(biāo)志)從代碼中a)最壞執(zhí)行時間預(yù)留:在調(diào)度和性能設(shè)計中,以代碼片段的“最壞情況執(zhí)行時間”而非“平均b)看門狗超時預(yù)留:為看門狗計時器設(shè)置超時閾值時,在預(yù)估的最大響應(yīng)時間基礎(chǔ)上增加足夠c)響應(yīng)時間降級緩沖:在設(shè)計服務(wù)等級協(xié)議時,承諾的響應(yīng)時間指標(biāo)應(yīng)顯著優(yōu)于實際能達到的a)內(nèi)存池預(yù)分配:啟動時預(yù)先分配大于當(dāng)前需求的內(nèi)存池,避免在運行時頻繁向操作系統(tǒng)申請b)堆棧深度預(yù)留:為線程堆棧分配空間時,在計算所得的最大堆棧深度基礎(chǔ)上增加足夠的保護c)存儲空間預(yù)警:為日志、數(shù)據(jù)庫、緩存等存儲組件設(shè)置高水位線預(yù)警(如磁盤使用率達到70%即告警),為運維人員預(yù)留充足的時間進行清理或擴容,避免空間耗盡導(dǎo)致系統(tǒng)完全宕適用于對正確性、安全性有嚴(yán)苛要求且需求高度穩(wěn)定的復(fù)雜系統(tǒng)。通過采式化邏輯,來無歧義地定義和描述系統(tǒng)行為與需求,從而在設(shè)計和編碼前消除自然語言描述固有的模a)應(yīng)滿足數(shù)學(xué)嚴(yán)謹(jǐn)性和工具可處理性雙重標(biāo)準(zhǔn),其數(shù)學(xué)符號系統(tǒng)應(yīng)具備明確的語義定義,確保b)應(yīng)支持自動化的語法檢查、類型驗證和一致性證明,能夠在需求階段識別邏輯矛盾或定義缺c)形式化規(guī)約文檔應(yīng)作為系統(tǒng)實現(xiàn)的驗證基準(zhǔn),其內(nèi)容應(yīng)包括但不限于:狀態(tài)空間定義、操作適用于已檢測到缺陷、故障或異常狀態(tài)的軟件系統(tǒng)。該設(shè)計確保系統(tǒng)在發(fā)a)事務(wù)回滾:對于數(shù)據(jù)操作類故障,利用數(shù)據(jù)庫事務(wù)機制,自動回滾到故障前的正確狀態(tài),確b)狀態(tài)重建與校驗:通過冗余存儲的校驗點或先前記錄的正確狀態(tài)信息,自動重建被破壞的內(nèi)c)安全點重啟:在發(fā)生不可恢復(fù)錯誤時,引導(dǎo)系統(tǒng)優(yōu)雅地關(guān)閉當(dāng)前進程,并從一個預(yù)定義的安a)熱備份切換:為主用模塊或節(jié)點配置實時同步的備用實例,當(dāng)主用實例被檢測到發(fā)生故障b)表決系統(tǒng):對關(guān)鍵計算或決策,采用多模塊獨立并行執(zhí)行,通過“少數(shù)服從多數(shù)”的表決機c)版本回退:當(dāng)檢測到因新版本部署引入的系統(tǒng)性缺陷時,自動或一鍵式回退到上一個已知的適用于需在編碼和集成階段早期發(fā)現(xiàn)潛在缺陷的軟件。在不運行程序的情或中間表示的語法、結(jié)構(gòu)、語義和數(shù)據(jù)流,來自動檢測編碼規(guī)a)確定檢測對象:根據(jù)項目需求,明確需重點b)選擇分析工具:根據(jù)編程語言、軟件規(guī)模Analyzer、PC-Lint;Python軟件可選Pylint、Bandit(側(cè)重安全檢測);2)特定場景工具:多線程安全檢測可選ThreadSafe;安全漏洞檢測可選Checkmarx、3)集成型工具:大型軟件可選擇支持多語言、可集成DevOps流程的工具,支持與Git、Jenkins等工具聯(lián)動,實現(xiàn)“代碼提交c)自定義檢測規(guī)則:基于軟件實際需求,篩選或e)收集掃描結(jié)果:工具掃描完成后,導(dǎo)出結(jié)構(gòu)化報告。a)應(yīng)根據(jù)軟件類型和需求類型選用合適b)應(yīng)平衡缺陷檢測全面性與開發(fā)效率。適用于開發(fā)和測試階段中需要洞察程序內(nèi)部運行狀態(tài)的軟件系統(tǒng)。通過實e)動態(tài)執(zhí)行路徑分析。a)開銷大,應(yīng)只在必要時開啟,并盡c)插樁本身會改變程序的時序和行為,尤其對于并發(fā)程序,這可能導(dǎo)致某些缺陷,應(yīng)盡量使用開銷極低的工具,或采用采樣式而非事件式追蹤適用于希望提升質(zhì)量保障活動前瞻性與精準(zhǔn)度的軟件項目。通過集成代碼史缺陷等多維度數(shù)據(jù)并應(yīng)用機器學(xué)習(xí)或統(tǒng)計模型,預(yù)測軟件模塊中潛對測試資源、代碼審查和重構(gòu)優(yōu)先級的高效、a)通過多種代碼靜態(tài)分析工具對源代碼文件進行掃描,獲取源代碼文件的靜態(tài)分析結(jié)果;b)從源代碼文件的靜態(tài)分析結(jié)果中提取多視角特征,包含代碼度量特征,缺陷的空間分布特征c)將提取的多視角特征輸入已完成預(yù)訓(xùn)練的多任務(wù)多視角神經(jīng)網(wǎng)絡(luò)模型中,完成缺陷數(shù)量、傾e)缺陷綜合預(yù)測技術(shù)應(yīng)自動化集成到軟件流水線中,并建立反饋閉環(huán)。適用于有明確可靠性定量要求的安全關(guān)鍵或任務(wù)關(guān)鍵軟件系統(tǒng)。通過“測試-發(fā)現(xiàn)-修復(fù)-再驗證”的循環(huán),主動激發(fā)并排除缺陷,驅(qū)動軟件的可靠性指標(biāo)隨時間推移呈現(xiàn)可測量的增長趨勢,確保在發(fā)a)確定失效判據(jù),并按照嚴(yán)重性等級1)構(gòu)造操作剖面;2)搭建軟件可靠性測試環(huán)境;3)生成測試用例。c)測試執(zhí)行與收集失效數(shù)據(jù):針對不同的可靠性要求,應(yīng)制定不同的數(shù)據(jù)收集程序和數(shù)據(jù)收集d)測試結(jié)果分析與處理:針對發(fā)現(xiàn)的軟件失效,需分析失效帶來的影響,并進行回歸測試;分a)在測試開始前,應(yīng)定義清晰、可量e)測試環(huán)境應(yīng)盡可能還原線上硬件配置、軟件依賴、網(wǎng)絡(luò)環(huán)境等。適用于所有需確認(rèn)是否滿足既定可靠性指標(biāo)的軟件系統(tǒng),旨在通過基于操a)確定軟件失效的定義和等級編制驗證統(tǒng)計測試方案,通常選用的統(tǒng)計方案有:定時截尾方b)開展測試執(zhí)行,記錄、分析測試結(jié)果并收集失效數(shù)據(jù),按照統(tǒng)計方案要求進行接受/拒收判c)對軟件可靠性驗證測試過程和結(jié)果進行總結(jié)對軟件可靠性參數(shù)進行估計,提供軟件可靠性驗b)驗證測試過程中,發(fā)現(xiàn)失效后不應(yīng)對軟件進行修改,從而保證失c)應(yīng)在驗證測試前明確失效的判據(jù)。適用于尚未建立明確可靠性指標(biāo)但需量化其質(zhì)量水平的軟件系統(tǒng)。通過執(zhí)行具有代表性的測試負載與操作剖面,來獲取系統(tǒng)在特定運行環(huán)境下的可靠性數(shù)據(jù),a)確定軟件失效的定義和等級、編制摸c)執(zhí)行測試用例,記錄、分析測試結(jié)果a)在摸底測試時,使用的測試數(shù)據(jù)應(yīng)基于b)摸底測試過程中,發(fā)現(xiàn)失效后不應(yīng)對軟件進行修改,從而保證失效時間服從指數(shù)分布。適用于安全關(guān)鍵、任務(wù)關(guān)鍵和高可用性的軟件系統(tǒng)。通過短時間內(nèi)施加遠載,快速發(fā)現(xiàn)系統(tǒng)在長期運行后才會暴露的隱性缺陷,如資源泄漏、性能衰1)時間壓縮加速測試:分析用戶操作剖面,設(shè)計高頻執(zhí)行的測試場景和用例;2)應(yīng)力增強加速測試:識別關(guān)鍵應(yīng)力因素(如CPU、內(nèi)存、IO、網(wǎng)絡(luò)、并發(fā)用戶數(shù)),3)故障注入加速測試:識別關(guān)鍵故障點,設(shè)計注入策略和注入點,準(zhǔn)備故障注入工具。e)對于應(yīng)力增強和故障注入測試,驗證在應(yīng)力解除或故障清除后,系統(tǒng)能否自動恢復(fù)正常服適用于接受外部輸入的軟件系統(tǒng)。通過自動生成大量異常、隨機或半隨機b)種子庫構(gòu)建:收集合法輸入樣本作為變異基礎(chǔ),應(yīng)篩選覆蓋不同邏輯分支的樣本,確保多樣1)基于生成:根據(jù)輸入模型動態(tài)構(gòu)造異常數(shù)據(jù);2)基于變異:對種子樣本進行位翻轉(zhuǎn)、字段截斷等變異操作。e)缺陷復(fù)現(xiàn),記錄觸發(fā)異常的輸入并a)單純的隨機輸入效率低下,應(yīng)以提升c)建議對模糊測試產(chǎn)生的導(dǎo)致同一問題的測試用例采用去重技術(shù)。適用于已具備監(jiān)控和自動化能力的成熟復(fù)雜軟件系統(tǒng)。通過主動發(fā)現(xiàn)系統(tǒng)中因復(fù)雜性和依賴關(guān)系而隱含的、僅在異常條件下才會觸發(fā)的未知脆弱性,防止其演變?yōu)閷?dǎo)致系統(tǒng)級故障c)計劃內(nèi)注入需要按照預(yù)先設(shè)計的故障場景順序執(zhí)行;隨機注入則使用專門的混沌工程工具在1)檢查數(shù)據(jù)完整性,確保故障注入和恢復(fù)過程中沒有發(fā)生數(shù)據(jù)丟失或數(shù)據(jù)損壞;2)通過分析系統(tǒng)日志和監(jiān)控數(shù)據(jù),追蹤故障在系統(tǒng)中的傳播路徑,驗證各項容錯機制是否a)對原始代碼運行完整的測試套件,必須確保b)變異測試工具自動讀取源代碼,并根據(jù)變異算子在其上制造細微的語法變化,生成許多有缺c)工具將每個變異體逐一替換原始代碼,然后針對每一個變異體重新運行整個測試套件;b)變異測試只能發(fā)現(xiàn)由語法微小變化引發(fā)的錯誤,無法檢測設(shè)計層面、高階的或復(fù)雜的錯誤。適用于難以構(gòu)造測試預(yù)言的軟件系統(tǒng)。通過檢查被測程序的多次執(zhí)行結(jié)果是否滿足一組特定的關(guān)系(稱為蛻變關(guān)系)來驗證軟件系統(tǒng)的正確性,從而規(guī)避了直接的測試預(yù)言問題。a)蛻變關(guān)系的質(zhì)量直接決定了測試的有效性,好的蛻變關(guān)系應(yīng)能揭示故障、盡可能通用以及源適用于對正確性、安全性有嚴(yán)苛要求且需求高度穩(wěn)定的復(fù)雜系統(tǒng)。通過嚴(yán)a)應(yīng)建立規(guī)約與實現(xiàn)代碼之間的精化關(guān)系,明確各抽c)最終驗證結(jié)果應(yīng)提供完整的覆蓋性證明,確保其結(jié)論比測試d)驗證過程產(chǎn)生的形式化證據(jù)應(yīng)作為交付物的適用于開發(fā)過程穩(wěn)定規(guī)范、具備完整可靠失效數(shù)據(jù)收集能力的軟件項目。1)需要明確數(shù)據(jù)采集的范圍和對象,確定需要重點監(jiān)控的軟件模塊和關(guān)鍵功能點;2)建立規(guī)范的失效記錄機制,設(shè)計標(biāo)準(zhǔn)化的數(shù)據(jù)采集表格,其中應(yīng)當(dāng)包含失效發(fā)生時間、3)部署自動化的監(jiān)控工具。b)模型建立階段:根據(jù)軟件項目的特點和數(shù)據(jù)類型,從各類可靠性增長模型中選擇最適合的模1)通過統(tǒng)計方法檢驗?zāi)P团c實際數(shù)據(jù)的擬合優(yōu)度,評估模型的適用性;2)開展敏感性分析,研究模型參數(shù)變化對預(yù)測結(jié)果的影響程度。1)基于建立的可靠性模型,計算平均無故障時間、失效強度等關(guān)鍵可靠性指標(biāo);2)繪制可靠性增長曲線,分析軟件質(zhì)量的改進趨勢。在實施過程中,隨著測試的進行和新失效數(shù)據(jù)的不斷收集,應(yīng)定期更新模型參數(shù)和預(yù)測結(jié)果。適用于產(chǎn)品線成熟、擁有豐富且可信歷史質(zhì)量數(shù)據(jù),且新產(chǎn)品在功能復(fù)雜上與歷史項目具有高度可比性的軟件系統(tǒng)。通過類比分析,將歷史項目的失效密度、缺陷分布、可靠a)歷史數(shù)據(jù)準(zhǔn)備階段:建立完善的產(chǎn)品特征矩陣,明確定義用于相似度比較的關(guān)鍵特征指標(biāo),如軟件規(guī)模、復(fù)雜度等;系統(tǒng)收集歷史項目的可靠性數(shù)據(jù),包括各類可靠性指標(biāo)和缺陷記b)相似度分析階段:選擇合適的相似度計算算法,確定各特征1)基于選定的參考項目數(shù)據(jù),建立回歸分析或機器學(xué)習(xí)預(yù)測模型;2)運用建立的模型估算新軟件的關(guān)鍵可靠性指標(biāo);3)同時評估預(yù)測結(jié)果的不確定性,給出預(yù)測值的置信區(qū)間范圍。1)在新軟件

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論