摘 要 數(shù)據(jù)挖掘是指在大數(shù)據(jù)中開(kāi)發(fā)出有價(jià)值信息數(shù)據(jù)的過(guò)程。計(jì)算機(jī)技術(shù)的不斷進(jìn)步,通過(guò)人工的方式進(jìn)行軟件的開(kāi)發(fā)與維護(hù)難度較大。而數(shù)據(jù)挖掘能夠有效的提升軟件開(kāi)發(fā)的效率,并能夠在大量的數(shù)據(jù)中獲得有效的數(shù)據(jù)。文章主要探究軟件工程中數(shù)據(jù)挖掘技術(shù)的任務(wù)和存在的問(wèn)題,并重點(diǎn)論述軟件開(kāi)發(fā)過(guò)程中出現(xiàn)的問(wèn)題和相關(guān)的解決措施。
【關(guān)鍵詞】軟件工程 數(shù)據(jù)挖掘 解決措施
在軟件開(kāi)發(fā)過(guò)程中,為了能夠獲得更加準(zhǔn)確的數(shù)據(jù)資源,軟件的研發(fā)人員就需要搜集和整理數(shù)據(jù)。但是在大數(shù)據(jù)時(shí)代,人工獲取數(shù)據(jù)信息的難度極大。當(dāng)前,軟件工程中運(yùn)用最多的就是數(shù)據(jù)挖掘技術(shù)。軟件挖掘技術(shù)是傳統(tǒng)數(shù)據(jù)挖掘技術(shù)在軟件工程方向的其中一部分。但是它具有自身的特征,體現(xiàn)在以下三個(gè)方面:
(1)在軟件工程中,對(duì)有效數(shù)據(jù)的挖掘和處理;
(2)挖掘數(shù)據(jù)算法的選擇問(wèn)題;
(3)軟件的開(kāi)發(fā)者該如何選擇數(shù)據(jù)。
1 在軟件工程中數(shù)據(jù)挖掘的主要任務(wù)
在數(shù)據(jù)挖掘技術(shù)中,軟件工程數(shù)據(jù)挖掘是其中之一,其挖掘的過(guò)程與傳統(tǒng)數(shù)據(jù)的挖掘無(wú)異。通常包括三個(gè)階段:第一階段,數(shù)據(jù)的預(yù)處理;第二階段,數(shù)據(jù)的挖掘;第三階段,對(duì)結(jié)果的評(píng)估。第一階段的主要任務(wù)有對(duì)數(shù)據(jù)的分類(lèi)、對(duì)異常數(shù)據(jù)的檢測(cè)以及整理和提取復(fù)雜信息等。雖然軟件工程的數(shù)據(jù)挖掘和傳統(tǒng)的數(shù)據(jù)挖掘存在相似性,但是也存在一定的差異,其主要體現(xiàn)在以下三個(gè)方面:
1.1 軟件工程的數(shù)據(jù)更加復(fù)雜
軟件工程數(shù)據(jù)主要包括兩種,一種是軟件報(bào)告,另外一種是軟件的版本信息。當(dāng)然還包括一些軟件代碼和注釋在內(nèi)的非結(jié)構(gòu)化數(shù)據(jù)信息。這兩種軟件工程數(shù)據(jù)的算法是不同的,但是兩者之間又有一定的聯(lián)系,這也是軟件工程數(shù)據(jù)挖掘復(fù)雜性的重要原因。
1.2 數(shù)據(jù)分析結(jié)果的表現(xiàn)更加特殊
傳統(tǒng)的數(shù)據(jù)挖掘結(jié)果可以通過(guò)很多種結(jié)果展示出來(lái),最常見(jiàn)的有報(bào)表和文字的方式。但是對(duì)于軟件工程的數(shù)據(jù)挖掘來(lái)講,它最主要的職能是給軟件的研發(fā)人員提供更加精準(zhǔn)的案例,軟件漏洞的實(shí)際定位以及設(shè)計(jì)構(gòu)造方面的信息,同時(shí)也包括數(shù)據(jù)挖掘的統(tǒng)計(jì)結(jié)果。所以這就要求軟件工程的數(shù)據(jù)挖掘需要更加先進(jìn)的結(jié)果提交方式和途徑。
1.3 對(duì)數(shù)據(jù)挖掘結(jié)果難以達(dá)成一致的評(píng)價(jià)
我國(guó)傳統(tǒng)的數(shù)據(jù)挖掘已經(jīng)初步形成統(tǒng)一的評(píng)價(jià)標(biāo)準(zhǔn),而且評(píng)價(jià)體系相對(duì)成熟。但是軟件工程的數(shù)據(jù)挖掘過(guò)程中,研發(fā)人員需要更多復(fù)雜而又具體的數(shù)據(jù)信息,所以數(shù)據(jù)的表示方法也相對(duì)多樣化,數(shù)據(jù)之間難以進(jìn)行對(duì)比,所以也就難以達(dá)成一致的評(píng)價(jià)標(biāo)準(zhǔn)和結(jié)果。不難看出,軟件工程數(shù)據(jù)挖掘的關(guān)鍵在于對(duì)挖掘數(shù)據(jù)的預(yù)處理和對(duì)數(shù)據(jù)結(jié)果的表示方法。
2 軟件工程研發(fā)階段出現(xiàn)的問(wèn)題和解決措施
軟件在研發(fā)階段主要的任務(wù)是對(duì)軟件運(yùn)行程序的編寫(xiě)。以下是軟件在編碼和結(jié)果的提交過(guò)程中出現(xiàn)的問(wèn)題和相應(yīng)的解決措施。
2.1 對(duì)軟件代碼的編寫(xiě)過(guò)程
該過(guò)程需要軟件的研發(fā)人員能夠?qū)ψ约盒枰帉?xiě)的代碼結(jié)構(gòu)與功能有充分的了解和認(rèn)識(shí)。并能夠依據(jù)自身掌握的信息,在數(shù)據(jù)庫(kù)中搜集到可以使用的數(shù)據(jù)信息。通常情況下,編程需要的數(shù)據(jù)信息可以分為三個(gè)方面:
(1)軟件的研發(fā)人員能夠在已經(jīng)存在的代碼中搜集可以重新使用的代碼;
(2)軟件的研發(fā)人員可以搜尋可以重用的靜態(tài)規(guī)則,比如繼承關(guān)系等。
(3)軟件的開(kāi)發(fā)人員搜尋可以重用的動(dòng)態(tài)規(guī)則。
包括軟件的接口調(diào)用順序等。在尋找以上信息的過(guò)程中,通常是利用軟件的幫助文檔、尋求外界幫助和搜集代碼的方式實(shí)現(xiàn),但是以上方式在搜集信息過(guò)程中往往會(huì)遇到較多的問(wèn)題,比如:幫助文檔的準(zhǔn)確性較低,同時(shí)不夠完整,可利用的重用信息不多等。
2.2 對(duì)軟件代碼的重用
在對(duì)軟件代碼重用過(guò)程中,最關(guān)鍵的問(wèn)題是軟件的研發(fā)人員必須掌握需要的類(lèi)或方法,并能夠通過(guò)與之有聯(lián)系的代碼實(shí)現(xiàn)代碼的重用。但是這種方式哦足跡信息將會(huì)耗費(fèi)工作人員大量的精力。而通過(guò)關(guān)鍵詞在代碼庫(kù)中搜集可重用的軟件代碼,同時(shí)按照代碼的相關(guān)度對(duì)搜集到的代碼進(jìn)行排序,該過(guò)程使用的原理就是可重用的代碼必然模式基本類(lèi)似,最終所展現(xiàn)出來(lái)的搜索結(jié)果是以上下文結(jié)構(gòu)的方式展現(xiàn)的。比如:類(lèi)與類(lèi)之間的聯(lián)系。其實(shí)現(xiàn)的具體流程如下:
(1)軟件的開(kāi)發(fā)人員創(chuàng)建同時(shí)具備例程和上下文架構(gòu)的代碼庫(kù);
(2)軟件的研發(fā)人員能夠向代碼庫(kù)提供類(lèi)的相關(guān)信息,然后對(duì)反饋的結(jié)果進(jìn)行評(píng)估,創(chuàng)建新型的代碼庫(kù)。
(3)未來(lái)的研發(fā)人員在搜集過(guò)程中能夠按照評(píng)估結(jié)果的高低排序,便于查詢(xún),極大地縮減工作人員的任務(wù)量,提升其工作效率。
2.3 對(duì)動(dòng)態(tài)規(guī)則的重用
軟件工程領(lǐng)域內(nèi)對(duì)動(dòng)態(tài)規(guī)則重用的研究已經(jīng)相對(duì)成熟,通過(guò)在編譯器內(nèi)安裝特定插件的方式檢驗(yàn)代碼是否為動(dòng)態(tài)規(guī)則最適用的,并能夠?qū)⒉贿m合的規(guī)則反饋給軟件的研發(fā)人員。其操作流程為:
(1)軟件的研發(fā)人員能夠規(guī)定動(dòng)態(tài)規(guī)則的順序,主要表現(xiàn)在:使用某一函數(shù)是不能夠調(diào)用其他的函數(shù)。
(2)實(shí)現(xiàn)對(duì)相關(guān)數(shù)據(jù)的保存,可以通過(guò)隊(duì)列等簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)完成。在利用編譯拓展中檢測(cè)其中的順序。
(3)能夠?qū)㈠e(cuò)誤的信息反饋給軟件的研發(fā)人員。
3 結(jié)束語(yǔ)
在軟件工程的數(shù)據(jù)挖掘過(guò)程中,數(shù)據(jù)挖掘的概念才逐步被定義,但是所需要挖掘的數(shù)據(jù)是已經(jīng)存在的。數(shù)據(jù)挖掘技術(shù)在軟件工程中的運(yùn)用能夠降低研發(fā)人員的工作量,同時(shí)軟件工程與數(shù)據(jù)挖掘的結(jié)合是計(jì)算機(jī)技術(shù)必然的發(fā)展方向。從數(shù)據(jù)挖掘的過(guò)程來(lái)講,在其整個(gè)實(shí)施過(guò)程和周期中都包括軟件工程。而對(duì)數(shù)據(jù)挖掘的技術(shù)手段來(lái)講,它在軟件工程中的運(yùn)用更加普遍。在對(duì)數(shù)據(jù)挖掘技術(shù)的研究過(guò)程中可以發(fā)現(xiàn),該技術(shù)雖然已經(jīng)獲得一定的效果,但是還有更多未被挖掘的空間,還需要進(jìn)一步的研究和發(fā)現(xiàn)。
參考文獻(xiàn)
[1]王藝蓉.試析面向軟件工程數(shù)據(jù)挖掘的開(kāi)發(fā)測(cè)試技術(shù)[J].電子技術(shù)與軟件工程,2017(18):64.
[2]吳彥博.軟件工程中數(shù)據(jù)挖掘技術(shù)的運(yùn)用探索[J].數(shù)字通信世界,2017(09):187.
[3]周雨辰.數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用研究[J].電腦迷,2017(08):27-28.
[4]劉桂林.分析軟件工程中數(shù)據(jù)挖掘技術(shù)的應(yīng)用方式[J].中國(guó)新通信,2017,19(13):119.
作者簡(jiǎn)介
鄭宇(1981-),男,貴州省貴陽(yáng)市人。碩士研究生學(xué)歷。講師。研究方向?yàn)檐浖こ獭?/p>
作者單位
貴州財(cái)經(jīng)大學(xué)信息學(xué)院 貴州省貴陽(yáng)市 550025