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