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