王冬
(駐馬店職業(yè)技術(shù)學(xué)院,河南駐馬店,463000)
在19世紀(jì)中葉,計算機程序員進行的軟件開發(fā)僅限于手動操作。當(dāng)時,人們認(rèn)為為計算機編寫的軟件代碼實際上是計算機軟件。然而,隨著軟件技術(shù)的發(fā)展,計算機軟件已逐漸進入易用性和商業(yè)化的時代。而隨著軟件技術(shù)的發(fā)展,軟件開發(fā)也出現(xiàn)了如下特點:(1)軟件的復(fù)雜性越來越明顯。隨著社會科學(xué)技術(shù)的進步,計算機功能的日益完善,人們對計算機軟件的功能提出了越來越高的要求,因此計算機軟件開發(fā)技術(shù)逐漸呈現(xiàn)出大規(guī)模,復(fù)雜的特征。(2)軟件生產(chǎn)成本正在逐步增加。隨著用于計算機軟件開發(fā)的技術(shù)的逐漸發(fā)展,其發(fā)展趨勢正在向更復(fù)雜的方向逐漸發(fā)展,這導(dǎo)致開發(fā)計算機軟件的成本越來越高,并且增加了人力和物力。(3)軟件開發(fā)周期正在延長。隨著人們需要更完整的軟件,軟件變得越來越復(fù)雜,并且一個程序中涉及的代碼長度越來越長,這直接導(dǎo)致需要更長的時間來設(shè)計軟件。
隨著當(dāng)前社會經(jīng)濟,科學(xué)技術(shù)水平的全面提高,中國已全面進入網(wǎng)絡(luò)信息時代。在這種環(huán)境下,計算機技術(shù)可以在一定程度上促進中社會經(jīng)濟的穩(wěn)定發(fā)展,也逐漸加強了對計算機軟件開發(fā)技術(shù)的需求。通常情況下,計算機軟件開發(fā)技術(shù)有兩個方面,第一是計算機應(yīng)用軟件,另一種是計算機系統(tǒng)的軟件。是實際應(yīng)用中有很對軟件開發(fā)技術(shù)被廣泛應(yīng)用,比如原型化方法、分層技術(shù)以及軟件復(fù)用技術(shù)等,以下分別進行介紹。
原型化方法的主要核心是基于獲取用戶的基本需求,盡快投入少量的人力和物力來創(chuàng)建初始模型,以便用戶可以啟動并及時使用模型效果,提出改進計劃。該方法不能應(yīng)用于大型軟件開發(fā)的所有環(huán)節(jié),但是可以應(yīng)用于對特定需求模塊分析的階段,以創(chuàng)建實驗?zāi)P?。因此,它主要用于開發(fā)小型軟件或具有相對簡單的模塊開發(fā)。由于軟件項目的特征和原型啟動目標(biāo)的不同,因此存在三種不同類型的原型:(1)研究類型:目的是弄清目標(biāo)系統(tǒng)的需求,定義所需的特性,并研究幾種解決方案的可行性。(2)實驗性:軟件開發(fā)大規(guī)模制定和實施之前驗證開發(fā)方案是否合適。(3)改進型:針對軟件應(yīng)用過程中的問題和建議逐步將原型改進到最終系統(tǒng)。
原型化方法最大的優(yōu)勢是快速實施和運行,因此,必須注意功能和性能之間的平衡,可以忽略所有不需要的部分,然后嘗試快速制作原型,但是必須充分反映原型的作用并滿足原型評估的要求。
要理解分層軟件開發(fā)技術(shù),必須首先了解軟件的結(jié)構(gòu),因為軟件的結(jié)構(gòu)是從單層到多層的。隨著計算機和服務(wù)器的連接,計算機軟件的結(jié)構(gòu)逐漸轉(zhuǎn)變?yōu)殡p層結(jié)構(gòu)并流行了一段時間。但是,現(xiàn)階段雙層結(jié)構(gòu)不能完全滿足用戶的需求,因此,計算機軟件開發(fā)中分層技術(shù)將變得越來越重要。以下簡單技術(shù)分層技術(shù):
(1)雙層技術(shù):雙層技術(shù)主要指用戶端和服務(wù)器端的兩個端點,通過了解雙層軟件在計算機軟件開發(fā)中的工作方式,可以清楚地了解到,只有確保服務(wù)器各個方面的性能良好并且在線用戶數(shù)量少才能真正更好的使用雙層技術(shù)。相反,則會因過載而導(dǎo)致許多問題。
(2)三層技術(shù):計算機軟件開發(fā)中的三層技術(shù)是在雙層技術(shù)中添加另一個服務(wù)器端口,包括三層:業(yè)務(wù)、頁面和數(shù)據(jù)。頁面層收集信息然后發(fā)送到業(yè)務(wù)層進行分析,最后在數(shù)據(jù)庫中查找相關(guān)信息,并最終將其逐步返回給用戶。
(3)四層技術(shù):將三層技術(shù)分開,以減少影響,頁面層成為Web和存儲層(如圖1所示),大大減少了出現(xiàn)問題的可能性。
圖1 四層技術(shù)
(4)中間件技術(shù):中間件技術(shù)可以幫助計算機更智能地組合不同的系統(tǒng),靈活地管理每個系統(tǒng)并減少軟件開發(fā)時間,提高軟件開發(fā)效率。
軟件復(fù)用技術(shù)是指提取已開發(fā)軟件的有效組件或模塊,并使用這些組件或模塊來創(chuàng)建新軟件或系統(tǒng)。在軟件中復(fù)用的組件或模塊稱為可復(fù)用構(gòu)件,其中一些直接可以使用,稱為黑盒復(fù)用。一些小的更改稱為白盒復(fù)用。軟件復(fù)用技術(shù)是一種基于抽象數(shù)據(jù)類型的軟件組件或模塊復(fù)用技術(shù)。抽象是指可復(fù)用對象的基本屬性和工作方法的提取和概括。從某種意義上說,軟件的復(fù)用程度取決于軟件所包含的可復(fù)用構(gòu)件的抽象級別。級別越高,環(huán)境限制越小,可復(fù)用性越高。但是同時,很難開發(fā)此類可復(fù)用構(gòu)件。設(shè)計和使用的組件或模塊的屬性與微電路的開發(fā)相似,可以將多個組件或模塊組合整體?;趶?fù)用技術(shù)的軟件開發(fā)過程主要如下:
(1)可復(fù)用構(gòu)件庫的開發(fā)過程:為開發(fā)項目提供可復(fù)用構(gòu)件,以滿足開發(fā)人員的需求(如圖2所示)??梢酝ㄟ^開發(fā),重建和購買來獲得可復(fù)用構(gòu)件。核心工作流程是通過執(zhí)行驗證由軟件開發(fā)部門開發(fā)的應(yīng)用軟件,詳細(xì)的驗證,記錄和分析。分析包括領(lǐng)域分析,定義系統(tǒng)結(jié)構(gòu)和開發(fā)工程師的需求。分析完成后,選擇一種獲取可復(fù)用構(gòu)件庫的方法,并最終完成可復(fù)用構(gòu)件庫的設(shè)計、實施、測試和打包。
圖2 可復(fù)用構(gòu)件庫
(2)復(fù)用過程:準(zhǔn)備使用開發(fā)的可復(fù)用構(gòu)件來創(chuàng)建用于項目開發(fā)的軟件。工作流程包括:檢查模型,收集信息并分析軟件最終用戶的需求;從可復(fù)用構(gòu)件候選列表中選擇適當(dāng)?shù)慕M件或模塊,并進行適當(dāng)?shù)募夹g(shù)調(diào)整以滿足最終用戶的需求。完成可復(fù)用構(gòu)件的未發(fā)布部分之后,完成所有軟件的組裝并執(zhí)行功能測試。
(3)管理流程:負(fù)責(zé)總體項目計劃,包括:測量資產(chǎn)購置、項目進度、影響分析、解決沖突、負(fù)責(zé)員工培訓(xùn)和總體管理。
自從1968年出現(xiàn)軟件危機的概念以來,軟件行業(yè)一直在尋求一種有效的方法來擺脫它。在軟件復(fù)用技術(shù)出現(xiàn)后,軟件行業(yè)終于看到了曙光,復(fù)用技術(shù)在軟件開發(fā)中得到了高度重視,也已成為軟件行業(yè)生產(chǎn)和發(fā)展的主要趨勢。隨著組件或模塊技術(shù)的不斷發(fā)展,各種形式的軟件復(fù)用技術(shù)陸續(xù)出現(xiàn)。軟件復(fù)用技術(shù)變得越來越成熟。
計算機軟件開發(fā)的功能是為人們提供良好的服務(wù)。因此,面向服務(wù)的技術(shù)用于計算機軟件的開發(fā)是其發(fā)展的必然趨勢。在計算機軟件技術(shù)方面,現(xiàn)階段計算機軟件具有良好的實用功能,可以滿足用戶的需求。但是,我國的計算機軟件開發(fā)人員更加關(guān)注個人需求,并通過優(yōu)化軟件系統(tǒng)中的問題來解決這些問題。計算機軟件開發(fā)應(yīng)著重于提供不間斷的服務(wù),為用戶提供良好的服務(wù)保證,同時允許使用現(xiàn)代技術(shù)和人性化的概念來更好地滿足各種的需求。
在我國科學(xué)技術(shù)普遍發(fā)展的背景下,在各個領(lǐng)域的發(fā)展中,智能已成為評估包括計算機領(lǐng)域在內(nèi)的硬件性能的主要因素。智能設(shè)備廣泛應(yīng)用于我們的實際工作和生活中,計算機也是智能產(chǎn)品。從軟件本身的角度來看,使用智能尤為重要。通過增強智能設(shè)計,可以使計算機軟件更加人性化和高效。
網(wǎng)絡(luò)化軟件開發(fā)技術(shù)的發(fā)展已成為必然趨勢。隨著信息時代的到來,互聯(lián)網(wǎng)已成為人們工作和生活的一部分。換句話說,在所有領(lǐng)域,都需要網(wǎng)絡(luò)支持。在新時代的背景下,計算機軟件對網(wǎng)絡(luò)的依賴性正在逐漸增加,許多程序需要使用網(wǎng)絡(luò)進行下載??梢钥闯觯W(wǎng)絡(luò)是軟件和網(wǎng)絡(luò)的主要元素。
計算機軟件已經(jīng)深入到了我們的生活中,并且發(fā)揮越來越大的作用,因此針對計算機軟件的開發(fā)尤為重要。隨著信息技術(shù)的發(fā)展,未來的計算機軟件開發(fā)必然更加服務(wù)化、智能化和網(wǎng)絡(luò)化,也必將更加高效和便捷。