楊松諭
關(guān)鍵詞:數(shù)據(jù)庫(kù);軟件工程;編程技術(shù)
0 引言
近年來(lái),隨著軟件工程快速發(fā)展,軟件性能與數(shù)據(jù)安全越來(lái)越受到行業(yè)人員關(guān)注。作為現(xiàn)代軟件開(kāi)發(fā)的重要組成部分,編程技術(shù)的重要性不言而喻,通過(guò)對(duì)相關(guān)技術(shù)的使用,可高效便捷操作數(shù)據(jù),并實(shí)現(xiàn)各類(lèi)業(yè)務(wù)需求。在數(shù)據(jù)庫(kù)編程中,需要使用特定的方式(MyBatis)與數(shù)據(jù)庫(kù)建立連接,如基于該技術(shù)能夠省去創(chuàng)建Statement對(duì)象,執(zhí)行SQL語(yǔ)句,處理結(jié)果集等復(fù)雜操作,使得數(shù)據(jù)庫(kù)執(zhí)行與管理更加高效。此外,對(duì)編程技術(shù)的正確使用,也可以提升用戶的服務(wù)性能,預(yù)防負(fù)載失衡下數(shù)據(jù)庫(kù)運(yùn)行發(fā)生故障,對(duì)維護(hù)數(shù)據(jù)安全性、可靠性產(chǎn)生深遠(yuǎn)影響。鑒于此,本文分析了編程技術(shù),闡述該技術(shù)對(duì)軟件工程發(fā)展造成的具體影響,期望為計(jì)算機(jī)軟件高水平發(fā)展貢獻(xiàn)力量。
1 編程技術(shù)的功能介紹
1.1 鑒別身份
編程技術(shù)自帶的驗(yàn)證程序能夠準(zhǔn)確、快速鑒別用戶身份。這里要明確一點(diǎn),即鑒別方式分為端口訪問(wèn)、計(jì)算機(jī)訪問(wèn)兩種,二者均要通過(guò)HTTP連接,鑒別步驟如下:用戶輸入賬號(hào)、登錄密碼,若二者完全匹配,系統(tǒng)將同意該用戶提交的訪問(wèn)請(qǐng)求,并儲(chǔ)存賬號(hào)、登錄密碼[1]。合理使用編程技術(shù),可以為企業(yè)機(jī)密信息、用戶個(gè)人信息的安全提供保護(hù),避免數(shù)據(jù)信息泄露,造成不必要的問(wèn)題。
1.2 隱藏信息
事實(shí)證明,整合編程技術(shù)、系統(tǒng)數(shù)據(jù),有利于編程技術(shù)所具有價(jià)值的進(jìn)一步發(fā)揮。換言之,酌情引入編程技術(shù),不僅能夠保證系統(tǒng)連接機(jī)制合理,還可以酌情隱蔽部分信息,弱化外部網(wǎng)絡(luò)給內(nèi)網(wǎng)運(yùn)行產(chǎn)生的影響,在保證數(shù)據(jù)信息安全的前提下,使用戶需求得到充分滿足[2]。
2 編程技術(shù)的應(yīng)用要點(diǎn)
2.1 優(yōu)化技術(shù)流程
為保證編程技術(shù)發(fā)揮出應(yīng)有作用,需對(duì)技術(shù)流程模式作出調(diào)整。具體做法如下:首先,堅(jiān)持完整性原則,基于對(duì)話框創(chuàng)建規(guī)范、完整的編程體系,酌情制定維護(hù)機(jī)制,在多種技術(shù)的輔助下,高效完成編程工作。其次,以軟件工程對(duì)安全性提出要求為依據(jù),參考表格類(lèi)型、數(shù)據(jù)庫(kù)系統(tǒng),確定操作對(duì)象,用SQL或其他工具編程。最后,編輯安全儲(chǔ)存程序,從增強(qiáng)軟件系統(tǒng)、工程安全性的角度出發(fā),針對(duì)存儲(chǔ)、管理數(shù)據(jù)信息編程。
以SQL為例,若技術(shù)人員決定使用該工具編程,則要將重心放在int字段、char字段的大小上,針對(duì)維護(hù)字段安全這一要求,給出以下代碼:
實(shí)踐結(jié)果表明,該代碼能夠使存儲(chǔ)數(shù)據(jù)信息的程序變得更加安全,對(duì)維持軟件工程高質(zhì)量運(yùn)行具有重大意義
2.2 優(yōu)化訪問(wèn)技術(shù)
數(shù)據(jù)庫(kù)編程在軟件工程領(lǐng)域發(fā)揮出應(yīng)有作用的關(guān)鍵,是對(duì)訪問(wèn)數(shù)據(jù)庫(kù)的技術(shù)進(jìn)行優(yōu)化,實(shí)證有效的策略如下:第一,優(yōu)化支撐效果,基于現(xiàn)有訪問(wèn)技術(shù),對(duì)內(nèi)部流程加以調(diào)整,根據(jù)各項(xiàng)業(yè)務(wù)所具有特點(diǎn)、數(shù)據(jù)信息所涉及內(nèi)容,靈活運(yùn)用不同的編程技術(shù),對(duì)軟、硬件加以協(xié)調(diào),由此保證各項(xiàng)工作均能夠按照計(jì)劃有序推進(jìn)。由于數(shù)據(jù)庫(kù)涉及大量數(shù)據(jù)和軟件,因此,技術(shù)人員應(yīng)當(dāng)將重心放在設(shè)備軟件的管理上,如果條件允許,可以為系統(tǒng)安裝Access,通過(guò)該管理軟件優(yōu)化訪問(wèn)技術(shù),使訪問(wèn)效果最大限度接近預(yù)期。第二,酌情引入先進(jìn)的管理技術(shù),提高軟件自動(dòng)化、現(xiàn)代化程度,確保用戶能夠通過(guò)計(jì)算機(jī)系統(tǒng)高效完成各項(xiàng)操作,減小工作強(qiáng)度并且提高工作效率。若有必要,還可以借助各類(lèi)解密技術(shù),對(duì)訪問(wèn)權(quán)限進(jìn)行設(shè)置,進(jìn)一步提高數(shù)據(jù)信息具有的安全性,并使數(shù)據(jù)信息得到充分利用。第三,將創(chuàng)新信息平臺(tái)的工作提上日程,以數(shù)據(jù)庫(kù)既有信息平臺(tái)為基礎(chǔ),調(diào)整工作路徑,優(yōu)化數(shù)據(jù)庫(kù)自帶系統(tǒng),建立健全儲(chǔ)存數(shù)據(jù)信息的機(jī)制,增加儲(chǔ)存容量,以信息內(nèi)容、數(shù)據(jù)類(lèi)型為依據(jù),對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行編程,由此賦予數(shù)據(jù)庫(kù)更加理想的實(shí)效性[3]。
2.3 加密數(shù)據(jù)信息
考慮到對(duì)軟件工程而言,編程的關(guān)鍵在于確保數(shù)據(jù)信息安全,鑒于此,技術(shù)人員應(yīng)對(duì)加密數(shù)據(jù)庫(kù)所存儲(chǔ)文件的工作引起重視,為數(shù)據(jù)信息提供安全的存儲(chǔ)環(huán)境,使其價(jià)值得到最大化實(shí)現(xiàn)。實(shí)際工作中,可酌情采取以下措施:一是借助密碼加密技術(shù),優(yōu)化存儲(chǔ)數(shù)據(jù)信息的環(huán)境。訪問(wèn)數(shù)據(jù)庫(kù)前,用戶先要按照提示輸入密碼、驗(yàn)證碼,順利通過(guò)驗(yàn)證后,再完成相應(yīng)的操作,避免數(shù)據(jù)被隨意篡改或盜取。二是對(duì)鏈路、節(jié)點(diǎn)進(jìn)行加密,根據(jù)鏈路、節(jié)點(diǎn)情況,安裝密碼裝置,保證經(jīng)過(guò)加密的數(shù)據(jù)信息均以數(shù)據(jù)密文的形態(tài)存在,只有輸入正確的驗(yàn)證密碼,才能傳輸、轉(zhuǎn)存以及分析文件,數(shù)據(jù)信息的安全系數(shù)通常能夠因此而得到提高[4]。三是以數(shù)據(jù)庫(kù)對(duì)編程提出的要求、編程技術(shù)所具有特點(diǎn)為依據(jù),對(duì)存儲(chǔ)數(shù)據(jù)信息的模式加以選擇,將存儲(chǔ)系統(tǒng)劃分成不同區(qū)域,并保證每個(gè)區(qū)域所存儲(chǔ)的文件類(lèi)型相同,在此基礎(chǔ)上,分區(qū)設(shè)定訪問(wèn)密碼、用戶權(quán)限。事實(shí)證明,這樣做既能夠提高訪問(wèn)效率,又可以使數(shù)據(jù)安全得到保護(hù)。
要想使訪問(wèn)、分析數(shù)據(jù)庫(kù)對(duì)象取得理想效果,技術(shù)人員要在編輯程序系統(tǒng)的階段,酌情引入多種編程技術(shù),在此基礎(chǔ)上,分析軟件類(lèi)型和特征,確定切實(shí)可行的加密方式,確保即便運(yùn)行期間,軟件出現(xiàn)了突發(fā)情況,仍然可以借助編程技術(shù),通過(guò)局部調(diào)整,使問(wèn)題得到有效解決。另外,考慮到用戶搜索記錄、聊天記錄往往包含大量個(gè)人私密信息,若訪問(wèn)數(shù)據(jù)庫(kù)的過(guò)程存在安全漏洞,將給用戶造成不利影響。鑒于此,對(duì)數(shù)據(jù)庫(kù)程序進(jìn)行設(shè)計(jì)時(shí),技術(shù)人員還要對(duì)注冊(cè)工具引起重視,針對(duì)不同注冊(cè)工具采取不同的保密方式,同時(shí)以主流加密保護(hù)機(jī)制、保密模式為基礎(chǔ),根據(jù)實(shí)際情況對(duì)其細(xì)節(jié)加以調(diào)整,由此確定具有理想可行性的編程方案,為后續(xù)工作提供科學(xué)指導(dǎo)。
3 編程技術(shù)的實(shí)際應(yīng)用流程
3.1 建立數(shù)據(jù)庫(kù)
首先,以實(shí)際情況為依據(jù),建立可以充分滿足用戶使用需求的數(shù)據(jù)庫(kù)??紤]到數(shù)據(jù)庫(kù)的核心功能之一便是讀取數(shù)據(jù)信息,因此,技術(shù)人員應(yīng)以所讀取信息為基礎(chǔ),快速創(chuàng)建文件,在保證數(shù)據(jù)轉(zhuǎn)換格式符合要求的前提下,壓縮數(shù)據(jù)信息需要占用的空間,為軟件穩(wěn)定、高效地運(yùn)行奠基。以下是先使用IDEA開(kāi)發(fā)工具創(chuàng)建MySQL數(shù)據(jù)庫(kù)連接的具體方法:
一是檢查計(jì)算機(jī)IDEA軟件中是否安裝數(shù)據(jù)庫(kù)驅(qū)動(dòng),若提示未安裝,則需要在遠(yuǎn)程倉(cāng)庫(kù)中搜索、下載相關(guān)驅(qū)動(dòng),并將驅(qū)動(dòng)程序放IDEA中的lib目錄下;二是添加MySQL 源,選擇Database 選項(xiàng),在窗口中選中“+”,隨后在彈出的對(duì)話框中填寫(xiě)username 與pass?word,選項(xiàng)卡中Datasource 選擇MySQL;三是完成MySQL連接參數(shù)的配置,操作者需要在Properties對(duì)話框中填寫(xiě)連接參數(shù),其中Host項(xiàng)應(yīng)填寫(xiě)主機(jī)名“l(fā)oc?alhost”或主機(jī)IP地址,port項(xiàng)則填寫(xiě)MySQL的服務(wù)端口號(hào),一般情況下,服務(wù)端口號(hào)默認(rèn)為3306。
3.2 選擇編程對(duì)象
其次,科學(xué)選擇編程對(duì)象是保證編程工作有序推進(jìn)的基礎(chǔ),鑒于此,技術(shù)人員應(yīng)以軟件工程所提出需求為依據(jù),對(duì)編程對(duì)象加以選擇。以大型企業(yè)為例,在選擇編程對(duì)象時(shí),企業(yè)應(yīng)將數(shù)據(jù)庫(kù)表類(lèi)別作為主要依據(jù),在SQL(見(jiàn)圖1) 的輔助下,快速完成選擇編程對(duì)象的工作。
3.3 確定編程技術(shù)
再次,數(shù)據(jù)庫(kù)投入使用后,需要時(shí)刻關(guān)注其運(yùn)行情況和存在的問(wèn)題,分析問(wèn)題原因并采取恰當(dāng)?shù)募夹g(shù)手段,使問(wèn)題得到及時(shí)、高效的解決。在此過(guò)程中,有以下兩項(xiàng)工作需要尤為注意:一是分析編程階段存在的問(wèn)題,結(jié)合數(shù)據(jù)的傳輸效率,判斷現(xiàn)有流程是否科學(xué),酌情采取恰當(dāng)?shù)募夹g(shù),對(duì)傳輸流程加以優(yōu)化,為軟件可靠且穩(wěn)定地運(yùn)行助力。二是從如何使編程技術(shù)價(jià)值得到最大化實(shí)現(xiàn)的角度出發(fā),調(diào)整編程技術(shù)與方法,使數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)環(huán)境更加科學(xué)且穩(wěn)定。
以往,在數(shù)據(jù)庫(kù)編程中,開(kāi)發(fā)人員多使用JDBC技術(shù),實(shí)現(xiàn)數(shù)據(jù)的連接與SOL語(yǔ)句的執(zhí)行計(jì)劃,然而,在相關(guān)技術(shù)的使用環(huán)節(jié),數(shù)據(jù)庫(kù)連接、創(chuàng)建和釋放動(dòng)作頻繁,會(huì)造成嚴(yán)重的系統(tǒng)資源浪費(fèi),影響計(jì)算機(jī)軟件的使用性能。此外,在JDBC技術(shù)環(huán)境下,SOL語(yǔ)句為硬編譯,使得代碼的維護(hù)成本較高。
為簡(jiǎn)化加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)、創(chuàng)建連接與創(chuàng)建sate?ment對(duì)象等復(fù)雜流程,在現(xiàn)代化軟件工程中,編程技術(shù)多使用MyBatis。MyBatis能夠提供一個(gè)基于Java的持久層框架,其內(nèi)部封裝了JDBC代碼,在實(shí)際編程中,開(kāi)發(fā)人員只需要關(guān)注SOL語(yǔ)句的編寫(xiě)即可,由此可見(jiàn),使用MyBatis不僅在極大程度上減少了數(shù)據(jù)庫(kù)編程步驟,執(zhí)行數(shù)據(jù)的增刪改查命令也更加方便。
在具體的應(yīng)用中,MyBatis可通過(guò)配置xml或添加注解的方式,確定需要執(zhí)行的各種satement,最終基于Java對(duì)象與SOL中的動(dòng)態(tài)參數(shù)映射,動(dòng)態(tài)生成需要執(zhí)行的SOL語(yǔ)句,使得數(shù)據(jù)庫(kù)的管理具有動(dòng)態(tài)化、高效化特征。該數(shù)據(jù)庫(kù)編程技術(shù)的具體應(yīng)用流程為:
首先,在pom.xml配置文件中,添加MySQL與My?Batis的坐標(biāo),代碼編寫(xiě)見(jiàn)圖2。
代碼中,表示添加的依賴(lài)。groupID、artifactID分別表示域名ID和項(xiàng)目ID,一般被當(dāng)作“坐標(biāo)”使用,是區(qū)分項(xiàng)目在本地maven倉(cāng)庫(kù)位置的標(biāo)識(shí)。為版本號(hào)。隨后,需要在項(xiàng)目中創(chuàng)建User.java的實(shí)體類(lèi)。最后,在re?sources下創(chuàng)建Mapper目錄,該目錄下新建UserMap?per.xml文件,需要編寫(xiě)的與User用戶相關(guān)的SOL語(yǔ)句可全部放置在該xml 文件中。Mapper 配置代碼見(jiàn)圖3。
代碼片段中,namespace表示命名空間;resultType 表示結(jié)果類(lèi)型,即從數(shù)據(jù)庫(kù)中查詢到的數(shù)據(jù)封裝的位置,其命名應(yīng)當(dāng)與上文中提到的Java實(shí)體類(lèi)的名字一一對(duì)應(yīng)。
3.4 加密數(shù)據(jù)信息
最后,使用軟件時(shí),用戶個(gè)人信息會(huì)被儲(chǔ)存在對(duì)應(yīng)的數(shù)據(jù)庫(kù)內(nèi),這也對(duì)數(shù)據(jù)庫(kù)保密性提出了嚴(yán)格要求,只有保證數(shù)據(jù)庫(kù)具備理想的保密性、安全性,才能杜絕用戶信息丟失、被竊取的狀況出現(xiàn)。鑒于此,在對(duì)數(shù)據(jù)庫(kù)進(jìn)行編程前,先要分析數(shù)據(jù)庫(kù)儲(chǔ)存的數(shù)據(jù)信息,確定重點(diǎn)保護(hù)對(duì)象,再優(yōu)化、升級(jí)現(xiàn)有保護(hù)措施,使分等級(jí)保護(hù)文件的設(shè)想成為現(xiàn)實(shí),確保用戶所提出個(gè)性化需求能夠得到最大限度的滿足[5]。
4 結(jié)束語(yǔ)
實(shí)踐經(jīng)驗(yàn)表明,編程技術(shù)具有隱藏信息、鑒別身份等功能,靈活使用相關(guān)技術(shù),可以提高數(shù)據(jù)庫(kù)的有效性,使其價(jià)值得到充分實(shí)現(xiàn)。鑒于此,開(kāi)發(fā)數(shù)據(jù)庫(kù)時(shí),技術(shù)人員應(yīng)立足實(shí)際,科學(xué)選擇并使用現(xiàn)有編程技術(shù),注重技術(shù)流程、訪問(wèn)模式的優(yōu)化,在增強(qiáng)編程效果的基礎(chǔ)上,使軟件開(kāi)發(fā)水平達(dá)到預(yù)期。