嚴(yán)永兵 盧立寧
北京中電普華信息技術(shù)有限公司
數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用探究
嚴(yán)永兵 盧立寧
北京中電普華信息技術(shù)有限公司
隨著科技的進(jìn)步,信息時(shí)代的發(fā)展,數(shù)據(jù)庫在各行各業(yè)得到了廣泛的應(yīng)用。為全面滿足數(shù)據(jù)庫發(fā)展需求,需要對(duì)軟件開發(fā)方式進(jìn)行更新,例如數(shù)據(jù)挖掘技術(shù)的應(yīng)用,將數(shù)據(jù)挖掘技術(shù)應(yīng)用到軟件工程中,通過尋找數(shù)據(jù)、文檔以及相關(guān)數(shù)據(jù)集中規(guī)律,為軟件工程的開發(fā)提供指導(dǎo)?;诖?,文章就數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用進(jìn)行簡要的分析,希望可以提供一個(gè)有效的借鑒,從而更好的促進(jìn)數(shù)據(jù)挖掘技術(shù)的發(fā)展。
數(shù)據(jù)挖掘技術(shù);軟件工程;應(yīng)用
數(shù)據(jù)挖掘的研究所涵蓋的內(nèi)容多種多樣,但是究其根本主要包括以下幾個(gè)方面:
首先,開發(fā)專用數(shù)據(jù)挖掘系統(tǒng)。針對(duì)不同的處理信息任務(wù)開發(fā)出不同的數(shù)據(jù)挖掘系統(tǒng),一個(gè)完善的數(shù)據(jù)挖掘系統(tǒng)可以在不同數(shù)據(jù)庫下工作,所以開發(fā)出一個(gè)完善的數(shù)據(jù)挖掘系統(tǒng)顯得尤為重要。
其次,挖掘系統(tǒng)運(yùn)行算法能夠高效率運(yùn)行。數(shù)據(jù)挖掘的功能是為了能夠節(jié)省時(shí)間,提高工作效率,其最主要功能的實(shí)現(xiàn)都需要建立在極快運(yùn)行速度之上,這就要求數(shù)據(jù)挖掘系統(tǒng)所使用的算法必須高效率,從而使得工作時(shí)間可以被接受。
第三,確保數(shù)據(jù)挖掘結(jié)果準(zhǔn)確性﹑有效性。數(shù)據(jù)挖掘的結(jié)果必須達(dá)到用戶所需要的目的,相關(guān)數(shù)據(jù)按規(guī)則現(xiàn)實(shí),不相關(guān)數(shù)據(jù)抑制顯示,相近數(shù)據(jù)提示顯示。
第四,可視化的挖掘結(jié)果。所得到的數(shù)據(jù)必須清晰易懂,不需要在用任何解碼方式對(duì)其進(jìn)行處理,數(shù)據(jù)挖掘的結(jié)果通過可視化的過程予以展現(xiàn)。
第五,多層次數(shù)據(jù)挖掘。在數(shù)據(jù)庫中許多數(shù)據(jù)都屬于動(dòng)態(tài)變化,或者是以交互的形式存在的,這就要求數(shù)據(jù)挖掘系統(tǒng)具有多層次性,動(dòng)態(tài)搜索的特點(diǎn)才能對(duì)數(shù)據(jù)庫進(jìn)行不同角度的挖掘。
第六,多數(shù)據(jù)庫挖掘。許多數(shù)據(jù)庫通過Internet技術(shù)相連接起來,開發(fā)出通過Internet技術(shù)的數(shù)據(jù)挖掘方法可以在不同數(shù)據(jù)庫中挖掘出所需數(shù)據(jù)。
第七,數(shù)據(jù)挖掘的安全性。網(wǎng)絡(luò)和黑客的存在,讓數(shù)據(jù)挖掘面臨著極大的風(fēng)險(xiǎn),所以要提高數(shù)據(jù)挖掘過程中的安全性,防止泄露個(gè)人信息,保證數(shù)據(jù)的可靠有效。
2.1 神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)挖掘技術(shù)
即通過科學(xué)﹑有效的算法,在大量數(shù)據(jù)信息中第一時(shí)間獲取有用信息的篩選過程。而神經(jīng)網(wǎng)絡(luò)為主要的數(shù)據(jù)挖掘技術(shù)操作方法,具有良好的魯棒性,可以實(shí)現(xiàn)并行處理和高度容錯(cuò),在數(shù)據(jù)挖掘方面具有較強(qiáng)的優(yōu)勢(shì),且不同操作模型對(duì)應(yīng)的適用范圍不同。常見的操作模型如離散模型﹑koholon模型﹑連續(xù)模型等,分別對(duì)應(yīng)聯(lián)想記憶﹑聚類自組織映射﹑優(yōu)化計(jì)算。
2.2 統(tǒng)計(jì)分析
數(shù)據(jù)庫字段項(xiàng)間存在函數(shù)關(guān)系與相關(guān)關(guān)系,通過統(tǒng)計(jì)分析操作方法,可以對(duì)各類信息進(jìn)行有效分析,如常見的相關(guān)分析﹑回歸分析與差異分析。
2.3 決策樹
應(yīng)用決策樹操作方法,可以對(duì)大量數(shù)據(jù)進(jìn)行整理和分類,然后從中選擇對(duì)軟件工程有價(jià)值的信息。在實(shí)際應(yīng)用中數(shù)據(jù)分類效率高,能夠在短時(shí)間內(nèi)獲得所需信息,可用于大規(guī)模數(shù)據(jù)信息的處理。
2.4 遺傳算法
以生物自然選擇和遺傳激勵(lì)隨機(jī)搜索算法為基礎(chǔ),具有隱含的并行性,可以與其他模型建立聯(lián)系,可用于大部分開發(fā)工程。
3.1 用于軟件項(xiàng)目管理方面
軟件項(xiàng)目的管理呈現(xiàn)出復(fù)雜化和系統(tǒng)化的特點(diǎn),數(shù)據(jù)挖掘技術(shù)應(yīng)用于軟件項(xiàng)目管理一方面表現(xiàn)在對(duì)組織關(guān)系的挖掘,比如公司舉辦年會(huì)等大型活動(dòng),在人員的分配上如果處理不好,就會(huì)出現(xiàn)混亂的局面,為了實(shí)現(xiàn)人力資源的合理配制,往往采用數(shù)據(jù)挖掘技術(shù)來區(qū)分每個(gè)職員的職責(zé),實(shí)現(xiàn)項(xiàng)目管理的有序化,提高了辦事效率;軟件項(xiàng)目管理中使用數(shù)據(jù)挖掘技術(shù)的另一個(gè)方面就是挖掘版本控制信息,在此系統(tǒng)面臨外系統(tǒng)入侵時(shí)提出警告是數(shù)據(jù)挖掘技術(shù)所具備的功能之一,除此之外數(shù)據(jù)挖掘技術(shù)可以檢測(cè)該系統(tǒng)的修復(fù)情況,版本控制信息的作用就是方便了人們對(duì)版本信息的查看,而數(shù)據(jù)挖掘技術(shù)的使用為系統(tǒng)的安全運(yùn)行提供了更有利的保障,使得軟件項(xiàng)目的管理水平逐步提高。
3.2 漏洞的檢測(cè)時(shí)數(shù)據(jù)挖掘技術(shù)的使用
當(dāng)數(shù)據(jù)挖掘技術(shù)用于檢測(cè)軟件的漏洞時(shí),第一步要弄清楚要檢測(cè)什么樣的軟件,第二步就是要制定合理的計(jì)劃,計(jì)劃的目的是為了更好的對(duì)軟件進(jìn)行檢測(cè),不同軟件的構(gòu)成和性質(zhì)決定了檢測(cè)要采用不同的方式,緊接著就是對(duì)漏洞庫中的數(shù)據(jù)進(jìn)行整理,對(duì)于不需要的數(shù)據(jù)進(jìn)行清除,除此之外對(duì)于丟失的項(xiàng)目要采取措施補(bǔ)救回來,用數(shù)值表示來代替數(shù)據(jù)屬性。
另外,要對(duì)合適的數(shù)據(jù)模型進(jìn)行驗(yàn)證,不同的項(xiàng)目會(huì)采取不同的方法,重要的是選擇合適的發(fā)掘方式來使其形成測(cè)試集,進(jìn)而可以對(duì)全部的結(jié)果進(jìn)行比較,通過比較找出最滿意的方式,數(shù)據(jù)挖掘技術(shù)的應(yīng)用不見可以檢測(cè)漏洞還可以對(duì)未知的漏洞進(jìn)行防護(hù),并且把漏洞的種類進(jìn)行分析,整合出修復(fù)的方法,能使的在第一時(shí)間找出漏洞并進(jìn)行修復(fù),使得軟件能夠保持良好的性能,使其運(yùn)行速度不至于減慢。
3.3 挖掘程序代碼和結(jié)構(gòu)中數(shù)據(jù)挖掘技術(shù)的使用
在挖掘程序代碼和結(jié)構(gòu)方面比較常用的一種數(shù)據(jù)挖掘方法就是克隆代碼檢測(cè)法,該方法分為度量﹑文本對(duì)比﹑程序結(jié)構(gòu)和標(biāo)識(shí)符對(duì)比這四種方法,四種方法各有各自的特點(diǎn),具體的運(yùn)用中需要考慮實(shí)際情況來確定到底使用那種方法??寺〈a檢測(cè)通常會(huì)復(fù)制粘貼某一個(gè)代碼,在特殊的要求下,會(huì)根據(jù)需求來改正某些代碼,檢測(cè)這些代碼主要是為了防止大面積出現(xiàn)故障,維護(hù)系統(tǒng)的安全,為軟件運(yùn)行提供一個(gè)可靠的環(huán)境。另一個(gè)常見的就是Aspect的挖掘,Aspect的挖掘就是常見說的橫切關(guān)注點(diǎn)挖掘。軟件工程中面向方面軟件的改造需要解決好Aspect的挖掘,雖然可以采用大量的方式來解決這個(gè)問題,但是最重要的方法之一就是度量分析法。
軟件工程運(yùn)用數(shù)據(jù)挖掘技術(shù)具有十分深遠(yuǎn)的意義。在進(jìn)行挖掘技術(shù)的應(yīng)用過程中,首先需要對(duì)挖掘的內(nèi)容進(jìn)行有條理的分析,也需要通過對(duì)其深化讓其發(fā)揮更大的價(jià)值。只有不斷探索研究,才能夠讓數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用變得更加成熟可靠,并在更加廣泛的其他領(lǐng)域中得到更加優(yōu)異的表現(xiàn)。
[1]葉翔.數(shù)據(jù)挖掘技術(shù)在軟件系統(tǒng)中的應(yīng)用[J].信息技術(shù)與信息化,2015,03:219-220.
[2]許文杰.數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用研究[J].電子技術(shù)與軟件工程,2015,22:192.
[3]姚文濤.試論軟件工程中數(shù)據(jù)挖掘技術(shù)的應(yīng)用[J].河南科技,2015,23:67.