李 賓
(天津紡織集團(控股)有限公司,天津 300308 )
雖然計算機軟件已經開始為人們所熟知,并且作為當前發展最為迅速的技術展現了方便、快捷以及靈活的優勢。但是事物存在都具有兩面性,人們在認識到計算機軟件的優勢的過程中,也逐步的開始發現,其具有的不可靠性。那么計算機軟件技術的不可靠性從何而來,其在技術的發展過程中所遇到的阻礙有那些,如何才能夠規避這些問題,已經成為了當前人們關注的焦點。
對計算機軟件進行全面性的了解是保證計算機軟件可靠性的基礎,首先需要了解的便是其所設計的范圍。計算機系統的運行基礎是兩大系統,首先是硬件基礎,另一個則是軟件系統。軟件技術著重對計算機程序數據進行研究,是一種程序執行控制方案,針對計算機語言進行編輯、管理以及操作的實際技術。
(1) 技術性。計算機軟件的開發需要具有嚴密的組織和分工,因而需要開發人員具有相應的技術,因而軟件的技術性相對較強,同時還需要借助高科技工具。作為當前人類社會最為先進的智慧產品,計算機軟件的整個開發周期相對較長,并且需要大量的人力物力投入,成本相對較高,且其開發程序復雜。后期的維護、運行同樣需要大量的精力和時間,因而技術性相對較高。
(2)功能性。計算機軟件是為操作人員提供人機交互界面的一個平臺,因而必然具有功能性。在進行軟件操作的過程中,工具是實現軟件使用價值的必要組成。由于計算機程序包括符號化以及代碼化的指令序列,因而其具有序列性。通過這些代碼以及指令,最終達成程序目的,以此實現計算機的程序所要達到的最終目的。
(3)相互滲透關系。這種關系主要體現在計算機軟件的形式以及思想上,由于計算機軟件屬于人類思維的一種模擬,因而可以說計算機軟基是技術方案,在表現方式上同文字相似,但是不同于文字,計算機軟件具有實用性,二者相互滲透相互統一。
通過上述分析可以看出,同計算機硬件不同,計算機硬件主要偏向于物質性的技術研究,其可靠性主要依賴于物質的材料,不可靠性主要由于物品的老化所致。但是計算機軟件則不同,由于軟件是程序人員的智慧產物,是邏輯研究產品,所以,致使軟件產品市區可靠性的唯一因素便是程序設計失誤,而這種錯誤主要是在設計過程中的人員行為所致,所以同硬件不可靠性相比,軟件的不可靠性主觀性強,難以預測。
3.1 可靠性定義。針對軟件技術的質量、性能以及屬性進行評價和描述的即計算機軟件可靠性,換句話,計算機軟件無論在什么環境時間使用都能夠保證不發生問題以及故障,可以穩定運行,而這種概率便是衡量一個軟件是否具有可靠性的重要指標。計算機軟件的故障概率是指上屬于缺陷函數,是定義計算機軟件可靠性的重要參數,而這一點主要依賴于開發時軟件開發學的相關知識。
3.2 計算機軟件技術的不可靠性分析表現:(1) 最明顯的是硬件技術的研究方向是對于硬件所使用的硬件材料上,因為硬件材料對于硬件是否容易老化損耗至關重要,硬件失效通常表現在物理故障,是器件物理變化的必然結果,有浴盆曲線現象;而軟件技術開發的軟件不發生變化,沒有磨損現象,有陳舊落后的問題,沒有浴盆曲線現象。(2)軟件技術的可靠性與硬件技術的可靠性其實在很大程度上是相似的。比如兩者都是用復雜的函數來定義其缺陷和故障的標準;都是通過應運自身可靠性增長來提高可靠性的;都是系統在固定的條件和環境下完成預定功能實現的性質。某些明顯的缺陷可以在開發過程中檢測出來,但是有些潛伏在軟件中的缺陷卻是很難被發現的。而決定硬件可靠性的因素是非人為的時間性因素,而決定軟件可靠性的因素在于與輸入數據有關的軟件差錯,人為因素占決定性作用。(3)從各自的技術維護方法上加以區別。對計算機硬件的維護方式一般采用:預防故障采用預防性維護技術,診斷故障采用斷開失效部件的辦法,恢復軟件功能則采用修復或者更換被損壞的系統。但是計算機軟件一旦損壞就不能采取這些措施,只能通過對于失效的軟件進行重新的設計。(4)在計算機技術的開發方面存在一定的差異,硬件技術的開發已經有一個可靠地檢驗方法了,并且有準確的理論體系。但是計算機軟件的可靠性驗證到目前尚未建立,也沒有一個完整的理論體系。對于硬件開發的市場已經相當的成熟,但是軟件開發的市場還處于成長的階段。
3.3 不可靠性因素分析:(1)軟件差錯。計算機軟件技術具有可靠性,但是在使用過程中,會存在諸多因素對其安全性、準確性以及流暢性和穩定性造成影響,因而軟件便會再使用過程中出現差錯,而出現故障,這種差錯是在開發過程中就已經潛在存在的,屬人為錯誤。第二,編碼問題也會出現錯誤。例如編碼過程匯總所存在的語法錯誤以及變量初始化錯誤。這種錯誤屬于技術性錯誤。最后設計和文檔錯誤也是造成計算機軟件不可靠性的主要因素。(2)評審的缺失。計算機軟件技術在開發過程中需要對各個階段進行技術性評審,為了確保各個階段都能夠符合開發要求,在進行開發時必須按照相應的程式進行順序開發,以防出現跨越開發的問題。因而在開發的過程中必須對評審進行規范,從而避免軟件出現不可靠隱患,這些是保證軟件安全性可靠性的關鍵。
計算機軟件的主要處理對象即數據在實際的要求中需要具有強烈的真實性和完整性,因而在進行計算機軟件技術開發的過程中要求具有目的性,這就需要對計算機軟件進行可靠性分析研究,通過測試不短的總結實踐中的經驗,促進計算機軟件的發展,形成更加穩定、可靠的軟件技術。
[1]張云崗,劉春茂. 軟件測試技術淺析[J].技術與市場. 2011(02).
[2]秦春燕,姚竹亭. 嵌入式系統軟件測試的研究[J]. 機械管理開發. 2008(03).