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