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