軟件開發展過程的可靠性
來源:投稿網 時間:2024-02-02 10:00:08
隨著科學技術的不斷進步,軟件可靠性已成為我們關注的問題。軟件系統的規模越來越大,越來越復雜,其可靠性也越來越難以保證。應用程序本身對系統運行的可靠性要求越來越高。在航空、航天等關鍵應用領域,其可靠性要求尤為重要。在銀行等服務業,其軟件系統的可靠性也直接關系到其聲譽和生存發展的競爭力。特別是,軟件的可靠性比硬件的可靠性更難保證,這將嚴重影響整個系統的可靠性。在許多項目開發過程中,對可靠性沒有明確要求,開發商(部門)也沒有在可靠性上花費更多的精力。他們往往只關注速度、結果的正確性和用戶界面的友好性,而忽視了可靠性。投入使用后,我們發現了大量的可靠性問題,增加了維護難度和工作量。在嚴重的情況下,我們只能把它放在貨架上,不能投入實際使用。本文僅討論了軟件開發展過程的可靠性。
1.軟件可靠性設計的基本概念。
1.1軟件和軟件故障。軟件(也稱為程序)本質上是將一組離散輸入轉換為一組離散輸出的工具。它由一組編碼句組成。這些句子的功能基本上是以下功能之一:(1)計算表達式并將結果存儲在單元中;(2)決定下一步執行哪個句子;(3)輸入/輸出控制。
軟件產品和硬件產品一樣。軟件的可靠性也貫穿于軟件的整個壽命周期。軟件的壽命周期是指從軟件任務的提出到完成使命的整個時間過程。該壽命周期包括五個階段:要求/規格說明、設計、實現、檢驗和維護。前四個階段是開發期和使用期。
1.2軟件可靠性。軟件可靠性的定義是什么。更多的人認為軟件的可靠性與概率統計的可靠性的概念密切相關。軟件的可靠性是軟件在規定的時間周期內執行所需功能的能力。軟件的可靠性是指軟件在規定的時間內不造成系統故障的可能性即系統輸入和系統使用的函數。
2.軟件質量的可靠性參數。
2.1系統平均無工作間隔時間(MTBSD或MTBD)。設置d為軟件正常工作的總時間,d為系統因軟件故障而停止工作的次數,定義TBSD=TV/(D+1)。在公式中,TBSD-MTBSD;TV-軟件正常工作的總時間(h);D-系統因軟件故障而停止工作的次數。MTBSD反映了系統的穩定性。
2.2系統不工作(在一定時間內)。由于軟件故障而停止工作,操作員必須介入并重新啟動才能繼續工作。
2.3可用性A。將TV設置為軟件正常工作的總時間,TD定義為A=TV/(TV+TD),因為軟件故障導致系統不工作。它反映了系統的穩定性,也可以表達為A=TBD/(TBD+TDT)。類型中,TBD-MTBD(h),TDT-平均不工作時間,以下簡稱MDT(h)。一般生產的計算機系統要求A≥99.8%;銀行計算機系統要求A>99.9%。
2.4MTTR。它反映了軟件缺陷后采取對策的效率。在一定程度上,它也反映了軟件企業對社會服務的責任感。對于在線系統,MTT只需不超過2天,變差系數應小于1。一般MTTR也應小于7天,變差系數應小于1。
2.5平均不工作時間(MDT)。也就是說,由于軟件故障,系統不工作的平均值。對于在線系統。MDT要求不超過10min一般MDT30min。
2.6初始故障。初始故障期一般在軟件交付和使用后的三個月內進行。初始故障率取決于軟件設計水平、項目日數、軟件規模、軟件調試是否完全等因素。
2.7意外故障率。一般情況下,將軟件交付給用戶四個月后是意外故障期。意外故障率以每1000h的故障數為單位,反映了軟件的穩定質量。一般來說,意外故障率至少不超過1,即每千小時不到1次,即MTBF超過1000h。
2.8用戶誤用率。用戶未按軟件規范和說明使用造成的錯誤稱為用戶誤用。在總使用次數中,用戶誤用次數的百分比稱為用戶誤用率。用戶誤用的原因之一是用戶對說明理解不深,操作不熟練,但也可能是說明不清楚,造成誤解。其他原因是軟件系統的可操作性也應得到改進,用戶的使用培訓應更深入等。
2.9用戶提出補充要求。這反映了該軟件未能充分滿足用戶的需求,有時需求是特定用戶的特定要求。為了更好地為社會服務,制造商應盡最大努力滿足他們的要求。
2.10處理能力。處理能力有各種指標。例如,根據需要表示每小時可以處理多少文件,每項工作的反應時間是多少秒。該指標應用于評估軟件和系統的經濟效益。