摘要:為了提高軟件開(kāi)發(fā)中的運(yùn)行效率,研究語(yǔ)言與分層技術(shù)在軟件開(kāi)發(fā)中的運(yùn)用方法。分析分層技術(shù)的技術(shù)內(nèi)涵和應(yīng)用優(yōu)勢(shì)。分別研究在軟件開(kāi)發(fā)過(guò)程中如何選擇各類編程語(yǔ)言和分層技術(shù);結(jié)合四層分層技術(shù)和Java 編程語(yǔ)言進(jìn)行軟件架構(gòu)重構(gòu),對(duì)代碼數(shù)據(jù)進(jìn)行預(yù)處理,分四層映射重構(gòu)軟件結(jié)構(gòu)和代碼,完成軟件開(kāi)發(fā)過(guò)程中語(yǔ)言與分層技術(shù)的有效應(yīng)用。測(cè)試結(jié)果表明設(shè)計(jì)的重構(gòu)技術(shù)的代碼完整性較優(yōu),四層分層技術(shù)和JAVA語(yǔ)言應(yīng)用技術(shù)相結(jié)合,程序指令運(yùn)行時(shí)間較短,運(yùn)行效率較高,可以提高計(jì)算機(jī)軟件開(kāi)發(fā)效果。
關(guān)鍵詞:軟件開(kāi)發(fā);程序語(yǔ)言;分層技術(shù);重構(gòu)優(yōu)化
一、前言
計(jì)算機(jī)的軟件開(kāi)發(fā)需要根據(jù)不同底層操作系統(tǒng)的要求,使各組成單元有效發(fā)揮功能。軟件開(kāi)發(fā)既要盡可能地節(jié)約運(yùn)行時(shí)間,又能保證軟件開(kāi)發(fā)的質(zhì)量,減少程序漏洞,實(shí)現(xiàn)開(kāi)發(fā)任務(wù)。計(jì)算機(jī)內(nèi)部軟件缺乏層次關(guān)系,各組成構(gòu)件雖服從底層邏輯但較為獨(dú)立。為了使各軟件的功能協(xié)同配合,層次化是軟件開(kāi)發(fā)的重要發(fā)展路徑[1]。軟件分層架構(gòu)可以在軟件運(yùn)行過(guò)程中使程序指令的逐層分解細(xì)化,保證各部分功能組件能夠完整高效地接收到不同開(kāi)發(fā)人員并行下達(dá)的指令,讓各部分功能組件高效穩(wěn)定地執(zhí)行程序任務(wù)[2]。本文對(duì)語(yǔ)言與分層技術(shù)的軟件開(kāi)發(fā)運(yùn)用進(jìn)行了研究,旨在提高計(jì)算機(jī)軟件開(kāi)發(fā)的質(zhì)量和效率。
二、分層技術(shù)的技術(shù)內(nèi)涵和優(yōu)勢(shì)分析
分層技術(shù)與一般應(yīng)用技術(shù)的區(qū)別是可以根據(jù)軟件開(kāi)發(fā)的目的功能、程序語(yǔ)言特點(diǎn)靈活調(diào)節(jié)功能分層、代碼規(guī)則,對(duì)計(jì)算機(jī)內(nèi)具體程序進(jìn)行劃分和調(diào)用,以最快速度完成開(kāi)發(fā)任務(wù)。分層技術(shù)可以對(duì)運(yùn)營(yíng)中的軟件漏洞進(jìn)行反饋處理,從而對(duì)任務(wù)程序進(jìn)行優(yōu)化,不僅能夠使開(kāi)發(fā)語(yǔ)言更加合理,還提高了程序應(yīng)用的靈活性,實(shí)現(xiàn)運(yùn)行系統(tǒng)的良性循環(huán)[3-5]。
在應(yīng)用分層技術(shù)時(shí),需要同時(shí)考慮程序語(yǔ)言的特點(diǎn),注意業(yè)務(wù)服務(wù)器層、界面設(shè)計(jì)層、數(shù)據(jù)庫(kù)之間的緊密協(xié)同。界面設(shè)計(jì)層的開(kāi)發(fā)應(yīng)用需要充分采集程序功能的相關(guān)數(shù)據(jù),將復(fù)雜程序的處理過(guò)程界面化,并拓展傳輸通道,將其以較快速度傳輸至業(yè)務(wù)處理層;業(yè)務(wù)層的服務(wù)器設(shè)計(jì)需要考慮程序應(yīng)用請(qǐng)求的屬性,對(duì)指令邏輯進(jìn)行編制和校準(zhǔn)[6]。與數(shù)據(jù)上傳指令一起傳送到數(shù)據(jù)訪問(wèn)層。數(shù)據(jù)處理和訪問(wèn)是分層技術(shù)的核心,也是軟件開(kāi)發(fā)的核心[7-8]。數(shù)據(jù)庫(kù)設(shè)計(jì)需要綜合以上兩個(gè)層級(jí)工作內(nèi)容,選擇合理的開(kāi)發(fā)語(yǔ)言,并對(duì)語(yǔ)言指令進(jìn)行執(zhí)行,同時(shí),對(duì)開(kāi)發(fā)語(yǔ)言進(jìn)行漏洞核查。
三、語(yǔ)言和分層技術(shù)在計(jì)算機(jī)軟件開(kāi)發(fā)中的應(yīng)用
(一)語(yǔ)言與分層技術(shù)的運(yùn)用模式
1.編程語(yǔ)言在軟件開(kāi)發(fā)中的應(yīng)用選擇
在編程語(yǔ)言中,C語(yǔ)言較為古老,是許多編程語(yǔ)言的開(kāi)發(fā)基礎(chǔ)。C語(yǔ)言語(yǔ)句短小,但功能強(qiáng)大,通用性較強(qiáng)。計(jì)算機(jī)系統(tǒng)多默認(rèn)轉(zhuǎn)載C語(yǔ)言的編譯程序。C語(yǔ)言主要面向結(jié)構(gòu),在單片機(jī)的控制領(lǐng)域應(yīng)用性能最佳,但編寫圖形窗口界面則較為困難,且難以完成大規(guī)模編程任務(wù)[9-10]。
Java語(yǔ)言比C++系列語(yǔ)言簡(jiǎn)單,屬于分布式編程語(yǔ)言,在網(wǎng)絡(luò)時(shí)代被廣泛應(yīng)用到計(jì)算機(jī)程序的分散式開(kāi)發(fā)模塊中。另外,Java語(yǔ)言的安全性較高。
針對(duì)數(shù)據(jù)庫(kù)管理軟件的開(kāi)發(fā),基于VB語(yǔ)言的SQL語(yǔ)言更為適用,語(yǔ)言較為簡(jiǎn)單。Access語(yǔ)言則更適用于小型數(shù)據(jù)庫(kù)的管理軟件。
2.分層技術(shù)在軟件開(kāi)發(fā)的應(yīng)用選擇
雙分層技術(shù)是分層技術(shù)中的基礎(chǔ)常用技術(shù)。雙分層技術(shù)的邏輯結(jié)構(gòu)是Fat客戶,適用于小型軟件開(kāi)發(fā)用戶終端命令的邏輯計(jì)算和數(shù)據(jù)處理,也可優(yōu)化整合服務(wù)器功能。但是如果軟件開(kāi)發(fā)的用戶數(shù)量較大、時(shí)間較長(zhǎng)、服務(wù)器級(jí)別較低,則容易出現(xiàn)運(yùn)行卡頓,甚至?xí)?dǎo)致軟件運(yùn)行環(huán)境建構(gòu)崩塌。
三層分層結(jié)構(gòu)基于雙層技術(shù),結(jié)構(gòu)是業(yè)務(wù)層、用戶層和數(shù)據(jù)層。應(yīng)用三層技術(shù)進(jìn)行軟件開(kāi)發(fā)時(shí)應(yīng)保持?jǐn)?shù)據(jù)傳輸通道的順暢,實(shí)現(xiàn)三個(gè)層次的協(xié)同配合,重點(diǎn)優(yōu)化業(yè)務(wù)處理層,準(zhǔn)確分析用戶指令,高效提取和處理數(shù)據(jù)。
四層技術(shù)解決了上兩種分層技術(shù)在用戶服務(wù)器增多、任務(wù)復(fù)雜度較高的情況下,并行指令無(wú)法順暢完成的問(wèn)題,對(duì)層次框架進(jìn)行了進(jìn)一步的優(yōu)化,具體結(jié)構(gòu)如圖1所示:
(二)基于分層技術(shù)和Java語(yǔ)言的軟件架構(gòu)開(kāi)發(fā)
1.代碼數(shù)據(jù)預(yù)處理
對(duì)軟件開(kāi)發(fā)源代碼數(shù)據(jù)進(jìn)行預(yù)處理,通過(guò)過(guò)濾與主題歸一化清除無(wú)關(guān)數(shù)據(jù),預(yù)處理流程如下圖所示:
圖2預(yù)處理流程
由圖2所示,遵照軟件指令層架,將源代碼合并為若干屬性Package層,生成詞匯文檔。通過(guò)分詞法將Package層的詞匯切分為單獨(dú)單詞,根據(jù)代碼信息量清除沒(méi)有包含有效信息的無(wú)關(guān)數(shù)據(jù),完成預(yù)處理。設(shè)置已知的源代碼樣本集,其中,所有樣本利用項(xiàng)的網(wǎng)絡(luò)流向量代表,如果類別屬性存在個(gè)不同數(shù)值,即通過(guò)把進(jìn)行劃分,變成,一共存在個(gè)子集,從而獲得中代碼數(shù)據(jù)的信息量,具體公式為:
根據(jù)代碼規(guī)則,利用濾波器將代碼所屬規(guī)則的主題歸一化,代碼數(shù)據(jù)的歸一化比值表示為:
根據(jù)歸一化比值耦合完成代碼數(shù)據(jù)的預(yù)處理。
2.分層軟件重構(gòu)設(shè)計(jì)
結(jié)合四層分層技術(shù)和基于Java 編程語(yǔ)言的代碼轉(zhuǎn)換優(yōu)化軟件架構(gòu),提高軟件質(zhì)量。
將上節(jié)歸一化的代碼所屬規(guī)則通用規(guī)則、鄰域規(guī)則、自定義規(guī)則的程序?qū)嶓w采用判定重構(gòu)形式化定義:
式中,KIP表示通用規(guī)則;ACK表示鄰域規(guī)則;ERF表示自定義規(guī)則。為類節(jié)點(diǎn)集合,從層次依賴關(guān)系著手,相鄰層級(jí)指令屬性的Package程序?qū)嶓w分別表示為和。將分層接口功能程序?qū)嶓w作為分層重構(gòu)規(guī)則的起點(diǎn),上下層分別表示為和,程序的原實(shí)體類別和重構(gòu)后類別分別表示為和。
按照從上向下的順序,將上下層的源代碼按上述重構(gòu)形式化定義進(jìn)行重構(gòu)映射。在重構(gòu)分層中,與相鄰層功能相同,類別文本代碼轉(zhuǎn)移表示為→。為了使重構(gòu)目標(biāo)規(guī)則符合分層重構(gòu)規(guī)范,將加入自定義規(guī)則集合中,切斷原結(jié)構(gòu)和新結(jié)構(gòu)上下層的依賴關(guān)系,重建為衍生關(guān)系。根據(jù)上下層屬性衍生關(guān)系將上層源代碼映射到新上層結(jié)構(gòu)中,表示為:
上述軟件代碼和架構(gòu)的重構(gòu)在實(shí)際應(yīng)用中需要依托于數(shù)據(jù)轉(zhuǎn)換器,利用Java語(yǔ)言設(shè)計(jì)數(shù)據(jù)轉(zhuǎn)換器。數(shù)據(jù)層的訪問(wèn)服務(wù)器在進(jìn)行數(shù)據(jù)庫(kù)查詢后調(diào)取所有需重構(gòu)的代碼數(shù)據(jù),返回到用戶端,需要利用Java語(yǔ)言分類數(shù)據(jù),增強(qiáng)數(shù)據(jù)的可操作性?;贘ava語(yǔ)言根據(jù)數(shù)據(jù)轉(zhuǎn)換和傳輸?shù)膶?shí)際指令,設(shè)計(jì)四個(gè)分層接口數(shù)據(jù)的傳輸和返回程序。重構(gòu)后每層終端接口的數(shù)據(jù)代碼結(jié)構(gòu)為:
返回?cái)?shù)據(jù)
傳輸轉(zhuǎn)換重構(gòu)映射代碼數(shù)據(jù)時(shí)需進(jìn)行封包處理,利用Java語(yǔ)言編制代碼簽名,以便準(zhǔn)確傳輸和控制數(shù)據(jù)。在設(shè)計(jì)新的數(shù)據(jù)轉(zhuǎn)換器之前,需要優(yōu)化現(xiàn)有層級(jí)基礎(chǔ)數(shù)據(jù)代碼隨機(jī)分布規(guī)律,按照代碼規(guī)則屬性集合信息所屬層次對(duì)數(shù)據(jù)對(duì)象進(jìn)行分解處理。
四、實(shí)驗(yàn)與分析
在Github代碼開(kāi)源平臺(tái)上中選取了50種采用分層架構(gòu)的軟件系統(tǒng)代碼作為實(shí)驗(yàn)對(duì)象,驗(yàn)證本文語(yǔ)言與分層技術(shù)應(yīng)用的有效性。實(shí)驗(yàn)環(huán)境為:Win10的操作系統(tǒng),英特爾i5-9400F處理器。實(shí)驗(yàn)采用Java 編程語(yǔ)言。軟件開(kāi)發(fā)環(huán)境由18GB RAM和2.98G 8核Intel Xeom X9870 CPU組成。數(shù)據(jù)集寫入HDFS數(shù)據(jù)庫(kù)中,選擇 Microsoft SQL Server 200作為構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)的工具。Web運(yùn)行的網(wǎng)絡(luò)環(huán)境為DDR 20GB Infiniband。
測(cè)試代碼重構(gòu)的完整性以分層數(shù)據(jù)的邊緣值作為評(píng)價(jià)標(biāo)準(zhǔn),標(biāo)準(zhǔn)設(shè)定如表1所示。
利用四層分層技術(shù)和JAVA語(yǔ)言將軟件架構(gòu)由雙層結(jié)構(gòu)重構(gòu)為四層架構(gòu),根據(jù)表1,測(cè)試重構(gòu)代碼的完整性結(jié)果如表2所示。
由表2可知,本文應(yīng)用四層分層技術(shù)和JAVA語(yǔ)言重構(gòu)軟件架構(gòu)的代碼完整性較優(yōu),均達(dá)到97.9%以上,將四個(gè)層級(jí)覆蓋范圍內(nèi)的代碼基本重構(gòu)映射到新架構(gòu)中,應(yīng)用效果較好。
以雙層分層技術(shù)和C++語(yǔ)言、三層分層技術(shù)和SQL語(yǔ)言作為傳統(tǒng)技術(shù)1和傳統(tǒng)技術(shù)2,與本文設(shè)計(jì)的四層分層技術(shù)+JAVA語(yǔ)言應(yīng)用技術(shù)進(jìn)行運(yùn)行軟件開(kāi)發(fā)指令運(yùn)行效率對(duì)比,統(tǒng)計(jì)用戶層發(fā)出指令到返回指令完成結(jié)果數(shù)據(jù)的時(shí)間,三種應(yīng)用技術(shù)的運(yùn)行時(shí)間如表3所示。
由表3結(jié)果可知,本文設(shè)計(jì)的四層分層技術(shù)+JAVA語(yǔ)言應(yīng)用技術(shù)的指令運(yùn)行時(shí)間最短,指令完成時(shí)間低于4.94ms,運(yùn)行效率較高,具有應(yīng)用價(jià)值。而其他技術(shù)由于對(duì)數(shù)據(jù)進(jìn)行Web數(shù)據(jù)轉(zhuǎn)換,在數(shù)據(jù)傳輸中消耗了大量時(shí)間,延緩了運(yùn)行速度。
五、結(jié)語(yǔ)
本文研究了語(yǔ)言與分層技術(shù)的軟件開(kāi)發(fā)運(yùn)用方法。探究分層技術(shù)的技術(shù)內(nèi)涵和應(yīng)用優(yōu)勢(shì)。利用四層分層技術(shù)和Java 編程語(yǔ)言進(jìn)行軟件架構(gòu)重構(gòu),實(shí)現(xiàn)軟件開(kāi)發(fā)過(guò)程中語(yǔ)言與分層技術(shù)的有效運(yùn)用。實(shí)驗(yàn)結(jié)果證明本文設(shè)計(jì)的語(yǔ)言與分層技術(shù)應(yīng)用方法可以提高軟件開(kāi)發(fā)的質(zhì)量和效率。
參考文獻(xiàn)
[1]吳玉琳.計(jì)算機(jī)軟件開(kāi)發(fā)語(yǔ)言與分層技術(shù)的運(yùn)用淺析[J].現(xiàn)代鹽化工,2020,47(2):73-74.
[2]丁俊,李潔瓊.分層技術(shù)在計(jì)算機(jī)軟件開(kāi)發(fā)中的運(yùn)用研究[J].科學(xué)大眾:科學(xué)教育,2021,000(1):166-167.
[3]任浩然,劉丹.計(jì)算機(jī)軟件開(kāi)發(fā)中Java編程語(yǔ)言的運(yùn)用研究[J].信息記錄材料,2021,22(4):134-135.
[4]徐飛龍.Java編程語(yǔ)言在計(jì)算機(jī)軟件開(kāi)發(fā)中的應(yīng)用研究[J].無(wú)線互聯(lián)科技,2020,17(23):109-110.
[5]沈治寶,劉建浩,肖強(qiáng),等.基于云計(jì)算大數(shù)據(jù)背景下計(jì)算機(jī)軟件技術(shù)的開(kāi)發(fā)與應(yīng)用研究[J].IT經(jīng)理世界,2022,25(7):77-80.
[6]王春明.計(jì)算機(jī)系統(tǒng)軟件開(kāi)發(fā)中軟件工程技術(shù)的有效應(yīng)用[J].電子技術(shù)與軟件工程,2021(6):62-64.
[7]宋志鵬.計(jì)算機(jī)虛擬現(xiàn)實(shí)技術(shù)的教學(xué)應(yīng)用與軟件開(kāi)發(fā)研究[J].信息記錄材料,2021,22(8):135-137.
[8]周靜,龍浩南.探究嵌入式軟件在計(jì)算機(jī)軟件開(kāi)發(fā)過(guò)程中的應(yīng)用[J].信息系統(tǒng)工程,2020(5):10-11.
[9]陳婧.分層技術(shù)在計(jì)算機(jī)軟件開(kāi)發(fā)中的應(yīng)用探究[J]. 信息記錄材料,2021,22(1):80-81.
[10]張國(guó)生.基于領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)和C4分層架構(gòu)模型的微服務(wù)軟件建模[J].中國(guó)電子科學(xué)研究院學(xué)報(bào),2021,16(2):8-11.
(作者單位:大慶石化工程有限公司)