李 娜
(西安文理學(xué)院 陜西 西安 710000)
在信息化時代下,傳統(tǒng)處理技術(shù)不能滿足信息處理需求,無法精準(zhǔn)傳輸和存儲海量信息。而數(shù)據(jù)挖掘技術(shù),可以高效處理數(shù)據(jù)信息,實現(xiàn)準(zhǔn)確傳輸與記錄。當(dāng)前,各行業(yè)領(lǐng)域開始應(yīng)用數(shù)據(jù)挖掘技術(shù),尤其是軟件工程領(lǐng)域。該領(lǐng)域發(fā)展速度快,軟件工程和信息技術(shù)發(fā)展關(guān)聯(lián)性強(qiáng)。
數(shù)據(jù)挖掘,是在海量數(shù)據(jù)內(nèi)探測有價值的規(guī)律行為,能夠應(yīng)用到研究領(lǐng)域,確保研究人員獲取目標(biāo)數(shù)據(jù),同時可以應(yīng)用到商業(yè)領(lǐng)域。數(shù)據(jù)挖掘技術(shù),能夠掌握數(shù)據(jù)潛在規(guī)律,通過歷史數(shù)據(jù)預(yù)測未來。此外,技術(shù)可檢測數(shù)據(jù)內(nèi)的異常數(shù)據(jù),探索特殊數(shù)據(jù)對象。數(shù)據(jù)挖掘系統(tǒng)快速發(fā)展,初代系統(tǒng)成為獨立應(yīng)用,能夠支持單一算法、若干算法。現(xiàn)代系統(tǒng)可以連接移動數(shù)據(jù),并且存儲到計算模型內(nèi),應(yīng)用到移動設(shè)備中。數(shù)據(jù)挖掘操作中,能夠預(yù)處理數(shù)據(jù),清除不完整、不一致數(shù)據(jù),同時做好數(shù)據(jù)抽樣,維護(hù)數(shù)據(jù)統(tǒng)一性與正確性。深度挖掘數(shù)據(jù),應(yīng)用多種挖掘算法,科學(xué)預(yù)測和分類數(shù)據(jù)。在分類操作中,通過模型建設(shè)分類新數(shù)據(jù)與原數(shù)據(jù)。在分類操作中,能夠以模型方式分類數(shù)據(jù),建設(shè)函數(shù)值模型,準(zhǔn)確預(yù)測數(shù)據(jù),涉及到關(guān)聯(lián)算法、聚類算法。按照挖掘過程選擇算法與結(jié)果,評價整個數(shù)據(jù)挖掘過程,同時將結(jié)果傳輸至用戶,轉(zhuǎn)換信息模式,確保用戶能夠理解。
基于當(dāng)前發(fā)展可知,軟件工程數(shù)據(jù)涉及結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)。在非結(jié)構(gòu)化數(shù)據(jù)中,軟件代碼的作用顯著,且軟件版本信息會極大影響結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)的關(guān)系密切,通過數(shù)據(jù)挖掘技術(shù)可以優(yōu)化整合結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)。
在生產(chǎn)生活中,多領(lǐng)域開始應(yīng)用數(shù)據(jù)挖掘技術(shù),通過該項技術(shù),能夠評價處理結(jié)果。由于評價方式不一致,所以軟件工程的評價標(biāo)準(zhǔn)不一致,加劇軟件工程信息復(fù)雜度[1]。表達(dá)方式差異性顯著,人員無法比對和應(yīng)用相關(guān)信息,導(dǎo)致軟件工程的建設(shè)難度加大。
在軟件工程中,應(yīng)用數(shù)據(jù)挖掘技術(shù)的涉及內(nèi)容較多,比如數(shù)據(jù)預(yù)處理、數(shù)據(jù)挖掘、模型表現(xiàn)等。見圖1為數(shù)據(jù)挖掘流程。數(shù)據(jù)預(yù)處理操作中,主要任務(wù)與目標(biāo)在于處理原始數(shù)據(jù),清晰劃分目標(biāo)對象,準(zhǔn)確分離不同數(shù)據(jù)。在數(shù)據(jù)預(yù)處理中,注重清理軟件工程涉及的原始數(shù)據(jù)、冗余信息,同時補充缺失數(shù)據(jù),形成完整的數(shù)據(jù)鏈,為軟件開發(fā)、軟件管理、軟件評測提供參考。數(shù)據(jù)挖掘操作中,為了維護(hù)挖掘效果,必須確定挖掘人物,分類、歸納和評估數(shù)據(jù),選擇針對性挖掘方法。在選擇期間,聯(lián)合數(shù)據(jù)自身特點、軟件工程實際要求,優(yōu)化調(diào)整數(shù)據(jù)挖掘方法,維護(hù)挖掘有效性。為了維護(hù)挖掘結(jié)果表達(dá)完整度,使用知識表示、模型評價方式,確保數(shù)據(jù)挖掘結(jié)果完整性,并以系統(tǒng)化方式呈現(xiàn),確保技術(shù)人員在數(shù)據(jù)挖掘結(jié)果指導(dǎo)下,能夠針對性開發(fā)、管理、測評軟件,提升軟件工程時效性,為后續(xù)工作開展奠定基礎(chǔ)。
(1)挖掘結(jié)構(gòu)。數(shù)據(jù)挖掘技術(shù)在結(jié)構(gòu)與流程代碼中的應(yīng)用流程如下:首先,檢測克隆代碼方法。基于克隆代碼角度分析,按照軟件工程云隱標(biāo)準(zhǔn),復(fù)制部分代碼流程和工具。在特殊情況下,聯(lián)合實際情況更改部分代碼,管理和檢測上述代碼,避免傳遞故障問題,盡早實現(xiàn)系統(tǒng)維護(hù)目標(biāo)。應(yīng)用克隆代碼方式,確保軟件系統(tǒng)運行順利性?,F(xiàn)階段,克隆代碼檢測方式,包括標(biāo)識符比較、文本對比、程序結(jié)構(gòu)、度量等[2]。不同克隆代碼檢測技術(shù),都具備獨特診斷與評估方式,技術(shù)應(yīng)用期間,按照實際情況選擇。其次,Aspect挖掘法,該項技術(shù)利用橫切關(guān)注點獲取挖掘方式。軟件工程中,應(yīng)用Aspect挖掘法,優(yōu)化改造系統(tǒng)。尤其是處理問題時,可以提供多種方式方法。形式概念、度量分析法的效果顯著[3]。上述技術(shù)方法,需要通過重新構(gòu)建選集方式,科學(xué)處理橫切點挖掘問題。合理應(yīng)用數(shù)據(jù)挖掘技術(shù),可以發(fā)揮出特殊應(yīng)用功能。數(shù)據(jù)挖掘示意圖見圖2。
(2)軟件項目管理。在軟件工程管理活動中,合理應(yīng)用數(shù)據(jù)挖掘技術(shù)。在版本控制信息中,挖掘組織關(guān)系;版本控制信息挖掘?;谲浖こ谭治觯到y(tǒng)繁瑣性比較強(qiáng),對組織關(guān)系挖掘的標(biāo)準(zhǔn)高,優(yōu)化配置資源,落實應(yīng)用依據(jù)。將軟件工程管理流程作為主體,按照電子郵件、共享文件,深度挖掘數(shù)據(jù)信息,形成不同工種組織關(guān)系,避免出現(xiàn)流程混亂問題,全面落實軟件工程管理工作[4]。此外,版本控制可以記錄文件內(nèi)部信息變化,將其作為用戶掌握版本內(nèi)容的依據(jù)。在版本控制信息中,合理應(yīng)用數(shù)據(jù)挖掘技術(shù),降低系統(tǒng)維護(hù)成本支出,以此展示出警示作用,體現(xiàn)出系統(tǒng)修復(fù)環(huán)節(jié)披露問題,全面加強(qiáng)軟件工程管理水平。
(3)軟件開發(fā)。數(shù)據(jù)挖掘技術(shù)將數(shù)據(jù)庫作為基礎(chǔ)。在發(fā)展過程中,先前理論應(yīng)用到實踐中,并且形成深層次科學(xué)內(nèi)容,實現(xiàn)共同發(fā)展。軟件工程為工程化學(xué)科,可以聯(lián)合不同項目指標(biāo)、用戶需求、資金需求,研究開發(fā)出新型產(chǎn)品。在軟件工程開發(fā)中,整個開發(fā)流程繁瑣,但是隨著技術(shù)成熟度提升,開始推廣到各領(lǐng)域,顯著提升技術(shù)應(yīng)用性。在軟件工程中,合理應(yīng)用數(shù)據(jù)庫挖掘技術(shù)[5]。由于受到數(shù)據(jù)庫信息影響,可以存儲大量高價值內(nèi)容,有效指導(dǎo)軟件工程開發(fā)。同時,軟件工程掌握大量信息挖掘內(nèi)容,可以擴(kuò)大應(yīng)用范圍。軟件工程版本,能夠統(tǒng)一化處理開發(fā)信息,實時更新軟件開發(fā)問題,維護(hù)軟件開發(fā)質(zhì)量。當(dāng)前,軟件開發(fā)更換數(shù)據(jù)信息,包含大量數(shù)據(jù)挖掘內(nèi)容,科學(xué)劃分軟件內(nèi)部,找尋問題并予以處理,可以實現(xiàn)軟件開發(fā)目標(biāo)。
(4)掃描軟件漏洞。首先,創(chuàng)建測試項目:按照用戶需求,制定軟件測試方案,明確掃描漏洞類型,掃描方案等;其次,收集漏洞信息。漏洞掃描前提,在于正確認(rèn)知漏洞,能夠準(zhǔn)確定義漏洞。收集軟件缺陷信息,對屬性實行定量化處理。再者,選擇理論模型:按照掃描要求,選擇適宜數(shù)據(jù)挖掘模型,按照前期收集數(shù)據(jù)資料,充分訓(xùn)練模型,獲得有效訓(xùn)練集與測試集,確保掃描策略的有效性。最后,掃描漏洞:按照前期獲取的模型,能夠?qū)⑵鋺?yīng)用到軟件掃描測試中。見圖3為掃描軟件漏洞測試流程。通過數(shù)據(jù)分類與特征分析,能夠提取漏洞信息。按照掃描結(jié)果修復(fù)漏洞,可以重新掃描處理,確保漏洞修復(fù)成功率。見圖4為數(shù)據(jù)漏洞掃描圖。
(5)故障檢測?;诠收蠙z測,圍繞程序執(zhí)行記錄實施數(shù)據(jù)挖掘,可以提供程序交互模式與說明。上述信息可以定位軟件故障,提供檢查憑證。對于程序執(zhí)行數(shù)據(jù)挖掘來說,屬于信息追蹤、逆向建模過程,深入了解和優(yōu)化流程,為后續(xù)維護(hù)管理提供條件。當(dāng)前,挖掘方式主要為常規(guī)方式,深度挖掘程序行為,找尋對應(yīng)流程,按照事態(tài)落實表述。
(1)分類。數(shù)據(jù)挖掘技術(shù)中,涉及較多分類方式,對于同種預(yù)測分類標(biāo)號執(zhí)行動作。在實踐操作中,建立對應(yīng)分析模型,聯(lián)合對應(yīng)流程標(biāo)準(zhǔn),輸入數(shù)據(jù)信息,將其作為分析模式應(yīng)用依據(jù)。當(dāng)前,在軟件工程應(yīng)用中,合理應(yīng)用數(shù)據(jù)挖掘技術(shù),分離方式涉及判斷樹法、網(wǎng)絡(luò)分類法、支持向量機(jī)、貝葉斯分類法等[6]。在分類方式應(yīng)用中,必須合理應(yīng)用判斷樹法,通過貪心算法作為邏輯依據(jù),以由上而下標(biāo)準(zhǔn),建立判斷樹框架。在判斷樹中,包含大量子節(jié)點,且不同子節(jié)點代表不同軟件類別符號。
(2)聚類。聚類主要研究環(huán)節(jié)包含數(shù)據(jù)信息,按照標(biāo)準(zhǔn)予以細(xì)化,形成不同類型流程,確保相同類型對象的相似性較強(qiáng),同時保證不同類型對象的差異性。聚類與分類存在本質(zhì)偏差,聚類過程劃分對象,具備不可預(yù)測性,即無指導(dǎo)學(xué)習(xí)。在其他算法處理中,合理應(yīng)用聚類分析方式,可以擴(kuò)大應(yīng)用范圍,尤其是數(shù)據(jù)分析獨立性,不僅可以挖掘孤立點,還可以確保檢測結(jié)果精準(zhǔn)性與真實性。
(3)關(guān)聯(lián)。在軟件工程數(shù)據(jù)挖掘技術(shù)中,合理應(yīng)用關(guān)聯(lián)方法。在大規(guī)模數(shù)據(jù)中,形成關(guān)聯(lián)機(jī)制。數(shù)據(jù)挖掘技術(shù)中的關(guān)聯(lián)方法,具備如下屬性:首先,支持度:在A與B數(shù)據(jù)集間,出現(xiàn)事物集D;其次,置信度:出現(xiàn)A事物集D中,B存在相同概率。強(qiáng)規(guī)則是滿足最小支持度、最小置信度規(guī)則[7]。在特定事物集D中,挖掘技術(shù)關(guān)聯(lián)規(guī)則,一般是形成支持度、可信度,比軟件終端用戶設(shè)置最小支持度、最小可信度的關(guān)聯(lián)規(guī)則。
在數(shù)據(jù)挖掘過程中,包括信息錄入、信息查找、信息內(nèi)容分析等挖掘過程。信息錄入,主要是維護(hù)錄入檢索信息對象。數(shù)據(jù)信息查找,是軟件工程最終用戶獲取信息對象,將檢索關(guān)鍵詞維護(hù)到檢索框內(nèi)。通過查找分析功能,分析研究對象。數(shù)據(jù)信息分析,是軟件工程終端用戶聯(lián)合個人需求,在線閱讀、線下分析數(shù)據(jù)分析需求。軟件工程終端用戶下載數(shù)據(jù),會產(chǎn)生下載信息,簡單查找客戶獲取信息記錄,便于分析和處理用戶行為。
將數(shù)據(jù)挖掘技術(shù)應(yīng)用到軟件工程中,軟件工程數(shù)據(jù)庫具備特殊性,會影響數(shù)據(jù)挖掘技術(shù)應(yīng)用。從整體角度分析,軟件工程應(yīng)用數(shù)據(jù)挖掘技術(shù),面臨以下挑戰(zhàn):軟件工程數(shù)據(jù)復(fù)雜度高,已經(jīng)成為軟件工程數(shù)據(jù)挖掘面臨難題。軟件工程中,數(shù)據(jù)信息包含結(jié)構(gòu)式、非結(jié)構(gòu)式數(shù)據(jù)類型,但是不是所有數(shù)據(jù)挖掘算法,都可以應(yīng)用到軟件工程中。應(yīng)用數(shù)據(jù)挖掘技術(shù)分析軟件代碼問題時,由于結(jié)構(gòu)式數(shù)據(jù)類型存在相應(yīng)比例數(shù)據(jù),會增加數(shù)據(jù)挖掘算法設(shè)計難度。
軟件工程中,系統(tǒng)數(shù)據(jù)較為復(fù)雜,已經(jīng)成為數(shù)據(jù)挖掘技術(shù)的應(yīng)用難題,同時面臨非傳統(tǒng)分析問題。將數(shù)據(jù)挖掘技術(shù)應(yīng)用在軟件工程中,將數(shù)據(jù)知識提供為軟件用戶,已經(jīng)成為終極應(yīng)用目標(biāo)。長期以來,應(yīng)用數(shù)據(jù)挖掘技術(shù),涉及傳統(tǒng)金融領(lǐng)域、新型電子商務(wù)應(yīng)用,數(shù)據(jù)信息內(nèi)容包含文字、圖表存儲方式。在軟件工程中,存儲數(shù)據(jù)內(nèi)容并非簡單統(tǒng)計數(shù)據(jù)。為了提升軟件開發(fā)工作配合度,必須關(guān)注到軟件缺陷、開發(fā)模板信息、實際案例、結(jié)構(gòu)設(shè)計等,要求軟件工程應(yīng)用數(shù)據(jù)挖掘技術(shù)時,可以研究開發(fā)新型信息存儲方式,同時包含信息展示、知識評價等[8]。同時,軟件工程結(jié)果評價中,合理應(yīng)用數(shù)據(jù)挖掘技術(shù),面對問題非常多。傳統(tǒng)金融與應(yīng)用領(lǐng)域內(nèi),數(shù)據(jù)挖掘技術(shù)形成成熟評價體系,并未完善結(jié)果評價體系。由于軟件工程開發(fā)面對的數(shù)據(jù)信息復(fù)雜,無法通過積極定量方式,高效評價軟件工程數(shù)據(jù)挖掘。
在軟件工程領(lǐng)域,合理應(yīng)用數(shù)據(jù)挖掘技術(shù),與工程程序開發(fā)編寫相關(guān)。然而,編寫軟件工程代碼,會面臨動態(tài)規(guī)則、靜態(tài)規(guī)則、代碼重用等問題,對數(shù)據(jù)挖掘技術(shù)的應(yīng)用影響較大。數(shù)據(jù)量持續(xù)增長,改變了數(shù)據(jù)信息處理方式,需要調(diào)整數(shù)據(jù)挖掘發(fā)展方向。從本質(zhì)上看,互聯(lián)網(wǎng)信息應(yīng)用云處理方式,可以處理數(shù)據(jù)高復(fù)雜度問題,數(shù)據(jù)挖掘處理效率較高。在信息化時代下,逐漸形成大數(shù)據(jù)趨勢,引導(dǎo)數(shù)據(jù)挖掘技術(shù)發(fā)展。所以,在應(yīng)用數(shù)據(jù)挖掘技術(shù)時,應(yīng)當(dāng)深入分析數(shù)據(jù)處理與管理變化,以此提升技術(shù)應(yīng)用效果。
綜上所述,在軟件工程中應(yīng)用數(shù)據(jù)挖掘技術(shù),可以激發(fā)數(shù)據(jù)挖掘技術(shù)作用,提升軟件工程研發(fā)效率,降低管理成本投放,避免出現(xiàn)不良問題。從本文分析可知,數(shù)據(jù)挖掘技術(shù)應(yīng)用到軟件工程中,具備較強(qiáng)的現(xiàn)實意義,值得推廣。