彭慧
(湖南財政經(jīng)濟學院,湖南 長沙 410205)
計算機軟件開發(fā)中的分層技術(shù)研究
彭慧
(湖南財政經(jīng)濟學院,湖南長沙410205)
隨著計算機技術(shù)的發(fā)展,軟件在不同行業(yè)中的應用極大的提高了企業(yè)的生產(chǎn)、管理效率,一定程度上促進了軟件開發(fā)行業(yè)的蓬勃發(fā)展.軟件開發(fā)涉及很多專業(yè)技術(shù),其中分層技術(shù)可提高軟件的可靠性、安全性以及創(chuàng)新性,因此被廣泛應用在軟件開發(fā)工作中.為此,注重軟件開發(fā)中分層技術(shù)的研究,對提高軟件開發(fā)工作質(zhì)量與效率具有重要意義,本文將對軟件開發(fā)中應用的分層技術(shù)進行探討,希望給我國軟件開發(fā)工作提供參考.
計算機軟件;開發(fā);分層技術(shù);研究
計算機及網(wǎng)絡技術(shù)的迅速發(fā)展,促進了軟件產(chǎn)業(yè)的興起與發(fā)展,尤其軟件在各個行業(yè)中的應用,使人們充分認識到了軟件的強大功能,給社會創(chuàng)造了巨大財富,為社會的經(jīng)濟增長做出突出貢獻.為此,很多國家制定了專門的法律法規(guī),支持軟件產(chǎn)業(yè)的發(fā)展.但我國的軟件開發(fā)起步較晚,與發(fā)達國家相比存在一定差距,更應重視軟件開發(fā)技術(shù)研究,以不斷我國信息化水平,縮短與其他國家的差距.而且,注重對軟件開發(fā)技術(shù)的研究,對提高我國軟件開發(fā)水平及競爭力具有重要作用.軟件開發(fā)中的分層技術(shù)較為復雜,指將軟件開發(fā)分成多個概念層,不同層次實施不同的工作流程及解決方案,各層次之間相互關(guān)聯(lián),從而完成整個軟件體系的開發(fā).實踐表明,分層技術(shù)在軟件開發(fā)工作中的應用,降低了軟件開發(fā)難度,使軟件開發(fā)工作更為清晰、明了,提高軟件開發(fā)效率,一定程度上推動了軟件開發(fā)行業(yè)的發(fā)展.
分層技術(shù)是軟件開發(fā)過程中對軟件結(jié)構(gòu)內(nèi)部層次的劃分,對實際的開發(fā)工作具有積極的意義.分層技術(shù)有著自身的特點,為其在軟件開發(fā)中的廣泛應用提供奠定了良好的基礎(chǔ).一方面,可實現(xiàn)對計算機軟件的擴展,將復雜的系統(tǒng)加以分解,更好的實現(xiàn)軟件的升級.另一方面,可明顯提高軟件開發(fā)效率,確保軟件性能的穩(wěn)定性.另外,隨著軟件行業(yè)的不斷發(fā)展,社會對軟件功能、性能提出更高要求,相對來說軟件開發(fā)周期相對較長,因此,為提高軟件開發(fā)效率,減少在軟件開發(fā)上的投入,有必要將軟件分層不同的邏輯層,不同層次之間相互協(xié)作,共同實現(xiàn)軟件的整體功能.另外,不同層次間使用不同的開發(fā)技術(shù),遵守不同協(xié)議,開發(fā)過程中避免了彼此之間的干擾.其次,軟件運行過程中相鄰層次之間相互交互,而不會給其他層次造成不良影響,可很好的提高軟件的穩(wěn)定性.最后,軟件開發(fā)過程中,只要相鄰層次之間提供相關(guān)的接口,每層可選擇不同的相互替代實現(xiàn)方法,使軟件開發(fā)工作更為靈活多樣.
總之,軟件開發(fā)過程中實施分層技術(shù),是軟件開發(fā)技術(shù)發(fā)展到一定階段的產(chǎn)物,是提高軟件開發(fā)效率的重要手段,因此在實際的軟件開發(fā)工作中,應結(jié)合軟件功能及實際的需求,注重分層技術(shù)在實際開發(fā)工作中的應用,不斷提高軟件開發(fā)水平與質(zhì)量.
2.1雙層技術(shù)
軟件開發(fā)中雙層技術(shù)主要考慮服務器與客戶端兩個重要問題,其中客戶端是用戶操作的界面,接受用戶進行查詢、輸入、刪除等操作信息,是用戶與軟件交互的入口.而服務器主要負責對用戶操作信息的處理,通過與數(shù)據(jù)庫技術(shù)融合,實現(xiàn)對相關(guān)數(shù)據(jù)的操作,而后將相關(guān)信息反饋給用戶.由此可見,提高軟件工作效率的關(guān)鍵在于服務器的工作性能穩(wěn)定,而且同時使用軟件的用戶在服務器處理能力之內(nèi),否則均會給服務器的正常運行產(chǎn)生不良影響.實踐表明,為提高軟件用戶滿意度,培養(yǎng)用戶使用軟件的習慣,軟件開發(fā)過程中很少會對用戶訪問服務器的數(shù)量加以限制,尤其一些靠運營軟件獲利的公司,非常注重用戶的使用習慣.顯然雙層技術(shù)在處理較大用戶訪問方面存在弊端,促使軟件開發(fā)過程中雙層技術(shù)的進一步改進.
2.2三層技術(shù)
三層技術(shù)在雙層技術(shù)的基礎(chǔ)上發(fā)展而來,在很多方面較雙層技術(shù)均有較大提升,如用戶數(shù)據(jù)的存儲功能等,使得處理用戶操作信息的能力大大提升,軟件工作效率也得到較大改善.三層技術(shù)主要包括數(shù)據(jù)層、界面層以及業(yè)務處理層,其中界面層負責收集用戶輸入的信息,并將獲得的信息傳輸給業(yè)務處理層.數(shù)據(jù)層則利用數(shù)據(jù)庫進行相關(guān)信息的查詢,而后將查詢結(jié)果反饋給業(yè)務處理層.業(yè)務處理層的主要作用在處理用戶信息,并提取相關(guān)信息.由此可見,三層技術(shù)中的不同層次分工明確,進一步提高了軟件開發(fā)效率.但考慮到用戶環(huán)境復雜的狀況,三層技術(shù)在滿足用戶需求方面仍存在一定的不足.
2.3四層技術(shù)
隨著軟件技術(shù)的發(fā)展,以及人們使用軟件需求復雜程度的不斷增加,四層技術(shù)逐漸嶄露頭角.四層技術(shù)主要包括存儲層、數(shù)據(jù)庫層、Web層以及業(yè)務處理層.其中業(yè)務處理層將數(shù)據(jù)庫層反饋的數(shù)據(jù)信息傳輸給Web層.而數(shù)據(jù)庫層處于存儲層與業(yè)務處理層中間,借助對隱藏數(shù)據(jù)訪問代碼的分析,保證軟件對象與數(shù)據(jù)庫更好的協(xié)作.
例如一些較為優(yōu)秀的Web應用,根據(jù)職責劃分成領(lǐng)域模型層、業(yè)務層、持久層以及表現(xiàn)層,各層次之間區(qū)分明顯,而彼此之間的可通過共用接口進行通信.四層技術(shù)在軟件開發(fā)中的應用,是軟件開發(fā)工作的一次突破.
2.4五層技術(shù)
軟件開發(fā)過程中,為了滿足更為復雜的需求,實現(xiàn)更為強大的功能,僅僅使用四層技術(shù)是不行的,為進一步提高軟件運行效率,軟件架構(gòu)被進一步細化,出現(xiàn)了五層技術(shù).目前來看,五層技術(shù)在J2EE環(huán)境中應用廣泛.五層技術(shù)主要包括資源層、集成層、業(yè)務層、Web應用層、客戶層,其中Web應用層、客戶層基于三層技術(shù),前者在服務器端運行,后者在客戶機上運行.集成層負責數(shù)據(jù)的持久訪問,主要用在數(shù)據(jù)庫映射系統(tǒng)、事務處理中.而資源層包含了文件系統(tǒng)、數(shù)據(jù)庫等相關(guān)資源.
軟件開發(fā)過程中,應用五層技術(shù)應注重明確以下內(nèi)容:五層之中上層的運行建立在下層運行的基礎(chǔ)之上,而且不同層次僅對相鄰層負責;表現(xiàn)層之外的其他層次,處于同一層間的方法,一般不能進行相互調(diào)用,即便能夠調(diào)用對其上層來說仍是不可見的;對Service接口中的方法確定,建立在對服務層、系統(tǒng)需求綜合分析的基礎(chǔ)之上;如何實現(xiàn)系統(tǒng)實體領(lǐng)域模型的劃分,是軟件系統(tǒng)最為關(guān)鍵的部分,應引起足夠的重視.DAO層會將領(lǐng)域活動暴漏給服務層,使服務層在領(lǐng)域活動的支撐下正常運行.另外,對Service設(shè)計不僅需要考慮Service數(shù)量的控制,而且盡量使同一模塊的服務由一個Service負責處理.
軟件開發(fā)過程中時常會使用中間件技術(shù),以有效降低軟件開發(fā)難度,縮短軟件開發(fā)時間,被廣泛應用在軟件的分層開發(fā)工作中.因此,在對軟件開發(fā)分層技術(shù)研究時,不容忽略對中間件技術(shù)的分析.目前,中間件種類較多,其中面向消息中間件(MOM)、過程調(diào)用中間件(RPC)、面向?qū)ο笾虚g件(OOM)應用廣泛,有必要對其進行探討.
3.1MOM
MOM不僅具有一般中間件的功能,而且還可實現(xiàn)消息傳遞列隊化、異步通信,是具有較大發(fā)展前景的中間件技術(shù).目前,MOM在郵電、金融、交通等領(lǐng)域應用較為普遍.軟件開發(fā)過程中運用MOM可實現(xiàn)與對方的間接通訊,而且通信過程中不用擔心消息丟失,以及傳送的具體細節(jié),只需將消息傳遞給隊列管理器即可,降低了軟件分層開發(fā)難度.
3.2RPC
軟件分層開發(fā)期間,將RPC應用在服務器與客戶通信方面更具實用性.同時,RPC靈活性較強,可應用在各種復雜的計算機環(huán)境中,而且可跨平臺應用,很好的解決軟件開發(fā)工作中一些細節(jié)要求.但是在實際應用中應主要考慮以下內(nèi)容:RPC程序之間的通信功能以同步通信方式實現(xiàn),使用范圍較為有限,尤其在大型應用環(huán)境中,需注重考慮進程同步、流量控制、并發(fā)操作處理等內(nèi)容.
3.3OOM
軟件開發(fā)過程中,可能會遇到集成新舊組件的情況,此時需解決組件間的兼容性問題,以進一步拓展軟件的應用平臺.OOM在通訊機制上有所改善,可在異步分布的計算機環(huán)境中實現(xiàn)對象傳遞功能,其中OOM中CORBD具有強大的功能,而且進行跨平臺應用.不過其系統(tǒng)較為龐大,應用復雜程度高.JavaBeans靈活程度高,而且較為便捷,不過運行效率有進一步提升的空間.
當前,電子商務發(fā)展迅速拓寬了傳統(tǒng)行業(yè)的發(fā)展思路,很多商家紛紛開設(shè)自己的網(wǎng)上店鋪.考慮到分層技術(shù)在軟件開發(fā)中表現(xiàn)出的適應度高、維護性好以及結(jié)構(gòu)清晰的優(yōu)點,因此,在網(wǎng)上店鋪開發(fā)中分層技術(shù)應用廣泛,尤其體現(xiàn)在商鋪管理系統(tǒng)中.一般情況下,商鋪管理系統(tǒng)包括收支管理、運營管理、系統(tǒng)管理等內(nèi)容繁瑣,流程復雜,而且不同商鋪管理的標準不盡相同,不同子系統(tǒng)中又包括較多小的系統(tǒng),因此,系統(tǒng)開發(fā)過程中應用分層技術(shù)可很好的完成開發(fā)目標.即,在綜合分析商鋪系統(tǒng)功能的基礎(chǔ)上,開發(fā)過程中對其進行合理分層,要求不同層分別負責相關(guān)信息處理工作,相鄰層之間相互支持.考慮到店鋪管理系統(tǒng)操作的數(shù)據(jù)較多,因此,開發(fā)過程中應注重數(shù)據(jù)處理層方面的設(shè)計,以及時響應用戶需求,最終完成店鋪管理這一強大的功能.
軟件開發(fā)是一項工程量大、專業(yè)技術(shù)要求較高的工作,尤其隨著軟件功能的不斷增加,給軟件開發(fā)工作提出了更高要求.而分層技術(shù)在軟件開發(fā)工作中的應用,不僅降低了軟件開發(fā)難度,提高軟件開發(fā)效率,而且提高了軟件工作穩(wěn)定性,為軟件功能的充分發(fā)揮奠定堅實的基礎(chǔ).為此,加強軟件開發(fā)中分層技術(shù)的研究,正確處理不同層之間的關(guān)系,對提高軟件開發(fā)水平意義重大.同時,軟件開發(fā)工作中還應注重中間件等重要技術(shù)的研究,為軟件開發(fā)工作的順利實施做好鋪墊,不斷實現(xiàn)軟件開發(fā)水平的提高,以推動我國軟件產(chǎn)業(yè)的長遠、穩(wěn)步發(fā)展.
〔1〕許麗群.分層技術(shù)在計算機軟件開發(fā)中的應用[J].信息與電腦(理論版),2015(14):60-61.
〔2〕賈輝.芻議分層技術(shù)在計算機軟件開發(fā)中的應用[J].中國高新技術(shù)企業(yè),2015(30):59-60.
〔3〕蔣峰.分層技術(shù)在計算機軟件開發(fā)中的應用探討[J].電腦編程技巧與維護,2015(18):21-22.
〔4〕陳婷.淺析分層技術(shù)在計算機軟件開發(fā)中的應用[J].數(shù)字技術(shù)與應用,2015(09):170.
〔5〕虞翔,夏春梅.分層技術(shù)在計算機軟件開發(fā)中的運用探討[J].電子測試,2015(21):83-84.
TP311.52
A
1673-260X(2016)09-0012-02
2016-05-05
湖南省普通高等學校教學改革項目(湘教通[2015]291號);湖南省科技計劃項目(2015GK3022)