彭璟
摘 要:信息化時代下計算機軟件得到了充分應(yīng)用,軟件開發(fā)也得到了行業(yè)的重點關(guān)注,當(dāng)前的軟件已經(jīng)從單項業(yè)務(wù)處理轉(zhuǎn)變?yōu)槎鄬哟谓Y(jié)構(gòu)的技術(shù)發(fā)展模式。為了更好地進行拓展和維護,以便于提升系統(tǒng)開發(fā)的靈活性與適用范圍。文章圍繞軟件開發(fā)中的多層技術(shù),具體分析軟件分層框架與結(jié)構(gòu)體系,從應(yīng)用角度分析其價值。
關(guān)鍵詞:分層技術(shù);計算機軟件開發(fā);應(yīng)用分析
計算機軟件質(zhì)量與構(gòu)件質(zhì)量能夠作為獨立單元進行開發(fā),在和其他構(gòu)件進行組合的過程中實現(xiàn)新軟件系統(tǒng)的搭建,并基于節(jié)省軟件開發(fā)時間的前提下保障產(chǎn)品質(zhì)量。實際上,構(gòu)件開發(fā)的目的在于使用,層次化的軟件設(shè)計方案可以在特定領(lǐng)域發(fā)揮技術(shù)作用,在不同的軟件系統(tǒng)當(dāng)中扮演重要角色,利用分層模式將復(fù)雜系統(tǒng)進行分解。目前分層模式也能支持計算機軟件使用,開發(fā)后的軟件產(chǎn)品可以與其他軟件實現(xiàn)技術(shù)結(jié)合。
1 軟件開發(fā)多層技術(shù)
1.1 二層結(jié)構(gòu)與三層結(jié)構(gòu)
二層結(jié)構(gòu)當(dāng)中主要通過數(shù)據(jù)庫的服務(wù)器與客戶端構(gòu)成,客戶端的作用在于提供用戶界面與邏輯處理,服務(wù)器可以對客戶端下達的指令進行接收和分析,將查詢的結(jié)果進行返回。這種Fat客戶處理結(jié)構(gòu)利用二層技術(shù)的客戶端實現(xiàn)了業(yè)務(wù)邏輯處理,但如果客戶端數(shù)量大幅增加,擴充性能與交互操作方面的缺陷也會有所體現(xiàn),此時無論是通信應(yīng)用性能還是安全維護成本都存在著一定的隱患。因此,三層結(jié)構(gòu)開始出現(xiàn)并投入使用。
三層結(jié)構(gòu)主要通過客戶端、數(shù)據(jù)服務(wù)器與應(yīng)用服務(wù)器構(gòu)成,客戶端的作用在于人機之間的交互,數(shù)據(jù)服務(wù)器的作用在于滿足系統(tǒng)對數(shù)據(jù)的要求,而應(yīng)用服務(wù)器可以實現(xiàn)業(yè)務(wù)邏輯要求,在降低客戶端負擔(dān)的同時更好地處理業(yè)務(wù)與數(shù)據(jù)信息,業(yè)務(wù)處理層也能及時根據(jù)用戶要求對用戶指令進行分析,并最終向數(shù)據(jù)層提供操作記錄。隨著未來用戶數(shù)量的不斷增加,三層結(jié)構(gòu)的技術(shù)優(yōu)勢會更加顯著,在軟件開發(fā)過程中也應(yīng)該結(jié)合實際需求來決定分層技術(shù)的使用場合。
1.2 四層結(jié)構(gòu)
計算機環(huán)境的改變也讓四層結(jié)構(gòu)開始出現(xiàn),軟件開發(fā)周期明顯縮短,系統(tǒng)的穩(wěn)定性與擴展性更加明顯。按照用戶界面需求、業(yè)務(wù)需求、數(shù)據(jù)庫功能模塊需求等,可以將結(jié)構(gòu)進行獨立管控,讓三層體系朝著四層體系的方向擴展。四層體系中包含Web層、業(yè)務(wù)邏輯層、數(shù)據(jù)層與存儲層。其中Web層的作用在于使用不同模式開發(fā),系統(tǒng)維護性與擴展性的難度需要得到控制。業(yè)務(wù)邏輯層負責(zé)將數(shù)據(jù)層中的數(shù)據(jù)傳遞給Web層處理,而數(shù)據(jù)層可以對涉及的所有數(shù)據(jù)代碼細節(jié)進行隱藏,在對象和關(guān)系數(shù)據(jù)庫間進行計算機軟件映射方案的處理,按照工作人員的實際需求,來實現(xiàn)對數(shù)據(jù)的維護、修改與存儲,滿足計算機軟件中對于對象層數(shù)據(jù)的要求,并屏蔽部分網(wǎng)絡(luò)通信細節(jié)[1]。
1.3 中間件技術(shù)
中間件技術(shù)可以屏蔽異構(gòu)或分布集成所帶來的各類技術(shù)細節(jié)問題,可以顯著縮短開發(fā)周期,提升應(yīng)用全面性,保障系統(tǒng)的合理運行。由于中間件類型較多,按照技術(shù)要求的不同可以劃分為多種類型。
MOM中間件技術(shù)的應(yīng)用程序主要通過消息列隊的中間件進行間接通信,在與本地應(yīng)用程序進行通信的過程中,通過隊列管理器完成服務(wù)內(nèi)容,簡化了軟件開發(fā)形式。而RPC遠程過程調(diào)用中間件可以更快速地滿足用戶方的應(yīng)用需求,在復(fù)雜的計算環(huán)境中進行使用,也可以實時地進行跨平臺遠端調(diào)用,并滿足編程過程中面臨的細節(jié)問題。但RPC只能在小范圍內(nèi)使用,如果在大型應(yīng)用環(huán)境之中會存在著一定的技術(shù)缺陷,例如網(wǎng)絡(luò)故障、流量控制、并發(fā)操作處理、同步進程等都需要考慮在內(nèi)。在某些大型應(yīng)用軟件當(dāng)中,還會采用基于組件技術(shù),分布系統(tǒng)集成不同節(jié)點與不同系統(tǒng)平臺的組件。但組件的應(yīng)用過程中應(yīng)該考慮到兼容性與操作性的問題。如果在獨立平臺內(nèi)運行,則無法體現(xiàn)組件的具體作用。在未來的技術(shù)研發(fā)環(huán)節(jié),應(yīng)該對組件環(huán)境的中間件進行研究分析,在異構(gòu)分布環(huán)境中滿足傳遞對象的需求,實現(xiàn)跨平臺應(yīng)用。
2 分層技術(shù)的應(yīng)用實例
考慮到軟件系統(tǒng)的業(yè)務(wù)功能模塊較多,從設(shè)計方案與原理上看比較類似,所選擇的技術(shù)也會有共通之處,因此,可以選擇其中具有代表性的內(nèi)容,以安全管理模塊為例說明系統(tǒng)與分層技術(shù)下的功能模塊設(shè)計,基于系統(tǒng)總體情況、開發(fā)環(huán)境與分布進行業(yè)務(wù)分層和用戶交互、設(shè)計描述與數(shù)據(jù)庫等多個方面的設(shè)計,重視數(shù)據(jù)層分層。
2.1 基本網(wǎng)絡(luò)分層設(shè)計模型
2.1.1 一級子指標(biāo)模型
按照軟件應(yīng)用方向的差異,不同的網(wǎng)絡(luò)所傾向的網(wǎng)絡(luò)結(jié)構(gòu)也會有所差異,在指標(biāo)參數(shù)的要求上也會不盡相同。在設(shè)計過程中,以保障網(wǎng)絡(luò)安全為例,可以構(gòu)建一個基本分層要求,其中第一級網(wǎng)絡(luò)的模型包括多個子一級網(wǎng)絡(luò)。用戶將關(guān)鍵的任務(wù)放在操作之上,按照設(shè)計操作的方案來執(zhí)行,通過PC、服務(wù)器、工作站與主機系統(tǒng)組成的分布式網(wǎng)絡(luò)環(huán)境中獲取完整的數(shù)據(jù),用戶使用瀏覽器來訪問Web服務(wù)器之后,通過身份認證來實現(xiàn)訪問控制,并建立客戶端與服務(wù)器之間的通道[2]。
2.1.2 二級子指標(biāo)模型
不同的一級指標(biāo)代表下屬的多個二級子指標(biāo),其完整性也包含保護加密、網(wǎng)絡(luò)安全、軟件訪問控制等幾個方面,其中關(guān)鍵指標(biāo)與可用性指標(biāo)的范圍與使用都有所差異,涉及多個方面。
2.2 整體功能實現(xiàn)
2.2.1 軟件登錄模塊
軟件登錄模塊當(dāng)中用戶可以直接通過Internet來實現(xiàn)網(wǎng)絡(luò)評價,將系統(tǒng)服務(wù)端與Internet進行連接。在服務(wù)器端提供軟件服務(wù)的過程當(dāng)中,數(shù)據(jù)庫作為最底層,可以用于儲存網(wǎng)站中的用戶信息與網(wǎng)絡(luò)指標(biāo)信息。中間層為數(shù)據(jù)庫通信模塊,實現(xiàn)對數(shù)據(jù)庫的連接和訪問。上層為顯示層,用戶訪問模塊可以在顯示頁面中進行展示,而管理訪問頁面也可以被視作信息的管理頁面,通過數(shù)據(jù)庫來進行信息修改、添加、調(diào)整、讀取等。登錄部分也是最基礎(chǔ)的部分,將軟件前臺登錄頁面與登錄后頁面放在同一個頁面當(dāng)中,當(dāng)用戶通過賬號密碼驗證之后,按照不同的action返回信息進行不同的內(nèi)容操作,根據(jù)數(shù)據(jù)庫中存儲的用戶信息展示在頁面當(dāng)中。換言之,通過JavaScript來完成的前提之下,信息提交時通過本地驗證,當(dāng)表單信息正確輸入時才會將信息檢錄全部添加至數(shù)據(jù)庫當(dāng)中[3]。
2.2.2 軟件模塊構(gòu)成
新增的網(wǎng)絡(luò)模塊可以增加新的網(wǎng)絡(luò)類型,在新的頁面之內(nèi)可以輸入全新的網(wǎng)絡(luò)類型名稱與注釋,并輸入網(wǎng)絡(luò)指標(biāo)與指標(biāo)權(quán)重之后,通過JavaScript來判斷網(wǎng)絡(luò)與一層指標(biāo)是否為空,當(dāng)指標(biāo)符合要求之后將數(shù)據(jù)寫入數(shù)據(jù)庫當(dāng)中。當(dāng)二層指標(biāo)按鈕輸入后,在一級指標(biāo)的下拉框中顯示增加的網(wǎng)絡(luò)一級子指標(biāo)。在選擇二級指標(biāo)的下拉框中,如果在添加第三層指標(biāo)與指標(biāo)名稱環(huán)節(jié)中不為空,則指標(biāo)權(quán)重在保存后會在新的預(yù)覽欄中出現(xiàn)新增網(wǎng)絡(luò)名稱,包括一級指標(biāo)、二級指標(biāo)與三級指標(biāo)名稱[4]。
2.2.3 權(quán)重模塊修改
對網(wǎng)絡(luò)指標(biāo)權(quán)重的修改可以對已存在的網(wǎng)絡(luò)指標(biāo)權(quán)重與底層網(wǎng)絡(luò)指標(biāo)進行修改。我們在點擊權(quán)重按鈕后會顯示頁面,頁面一側(cè)顯示的是當(dāng)時存在的網(wǎng)絡(luò)名稱,點擊后會顯示網(wǎng)絡(luò)一級子指標(biāo),且增加、更改的按鈕也不可用。當(dāng)一級子指標(biāo)文本輸入框輸入的不是空格時,可以將數(shù)據(jù)寫入數(shù)據(jù)庫當(dāng)中。此時,指標(biāo)的名稱與權(quán)重也會顯示在另一側(cè)的文本框內(nèi),并對框內(nèi)信息進行修改,修改完畢后將值寫入數(shù)據(jù)庫。如果網(wǎng)絡(luò)一級資質(zhì)表修改之后的權(quán)重之和不等于1,也會出現(xiàn)提示框,便于進行修改,不僅可以對名稱進行調(diào)整,也能對指標(biāo)的狀態(tài)進行調(diào)整。例如網(wǎng)絡(luò)內(nèi)增加了新設(shè)備后,三級指標(biāo)值也會同步發(fā)生改變。
2.2.4 功能模塊設(shè)計
這一部分的內(nèi)容設(shè)計是當(dāng)前軟件分層設(shè)計的核心內(nèi)容,用戶在選擇需要評測的網(wǎng)絡(luò)功能模塊后會顯示具體信息,當(dāng)用戶選擇網(wǎng)絡(luò)類型并正式開始測評之后,會采用模糊數(shù)學(xué)算法來建立一維數(shù)組,通過for循環(huán)獲得二維數(shù)組后,得出網(wǎng)絡(luò)指標(biāo)權(quán)重模糊向量,并將這一向量與網(wǎng)絡(luò)指標(biāo)值模糊向量共同分析得到最終結(jié)果,體現(xiàn)出等級評測的水平,并展現(xiàn)出所有網(wǎng)絡(luò)指標(biāo)的具體數(shù)值。在功能模塊設(shè)計結(jié)束后還應(yīng)該進行系統(tǒng)測試,檢驗軟件系統(tǒng)是否能發(fā)揮實際作用,包括需求分析、軟件總體設(shè)計、源程序分析與可用性測試等[5]。
3 結(jié)語
為了滿足今后的軟件變化目標(biāo),提升軟件復(fù)用率,我們也需要深入研究多軟件框架融合模式下的軟件分層方案,在未來的系統(tǒng)開發(fā)、整合架構(gòu)分析等工作中了解自適應(yīng)需求變化的應(yīng)用過程。在未來的研究內(nèi)容中,還應(yīng)該從框架設(shè)計、負載均衡與數(shù)據(jù)庫管理等多維度進行不同環(huán)境下的研究,提升軟件框架的正確性,降低開發(fā)難度,讓每層實現(xiàn)獨立運行,部署至不同區(qū)域進行模塊化與分層利用。
[參考文獻]
[1]張曉瑞,蔣衍君,閔彥榮,等.基于OSGi&RCP插件化的智能變電站集成軟件平臺架構(gòu)[J].華電技術(shù),2017(2):4-7.
[2]徐小蕾,蘇厚勤.分層系統(tǒng)Socket通信軟件的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2009(1):173-175.
[3]張全貴,王普,閆健卓,等.三維組態(tài)軟件設(shè)計中場景快速組態(tài)及交互方法研究[J].信息與控制,2010(4):492-496.
[4]姚遠,張妍琰,尹云飛.基于分層架構(gòu)方法的飛行仿真軟件設(shè)計[J].信陽師范學(xué)院學(xué)報(自然科學(xué)版),2014(2):275-279.
[5]孫志中,魏嘉銀,秦永彬.基于WCF和NHibernate的軟件架構(gòu)研究及應(yīng)用[J].計算機與數(shù)字工程,2015(4):591-595.