陳俊偉
摘 要: 在現代的信息社會中,信息呈現了爆炸式的增長態(tài)勢,人們面對海量的信息,需要正確處理信息的處理,如何處理復雜的信息和數據是當前重要的課題,充分挖掘數據對我們有重要意義,因此,我們需要對數據挖掘技術在軟件工程領域的應用進行基本分析。
關鍵詞: 數據挖掘;技術分析;軟件工程
1.引言
當前,社會經濟以前所未有的速度狂奔,社會物質財富不斷增加,信息技術的進步使得人們的生活模式和形態(tài)出現了巨大的變化和進步,特別是隨著信息技術的日新月異發(fā)展,進一步增強了社會發(fā)展的動力,巨量的信息使得人們不得不面對和處理,而這些信息都使得人們的信息接收和處理新事物都顯得更加便捷,人們需要認真分析海量的信息,并通過信息獲取有價值的內容,進而幫助自己更好認識客觀事物。通過對數據的整理和挖掘,提取價值內容,至于軟件工程,我們更需要對信息和數據進行充分分析和挖掘,獲取更大的價值。
2 軟件工程數據挖掘技術的基本內容
2.1軟件工程中數據挖掘技術的應用發(fā)展
數據挖掘是一種處理信息的方式,提取信息資源需要將數據庫與技術進行融合,實現技術與數據的有效統(tǒng)一。從數據挖掘到技術的實踐應用,這些都使得技術更多肩負了功能意義,同時在技術中融入重要的技術。之余軟件工程而言,其是20世紀六十年代興起的一種信息工程,這項內容的提出就開始受到了更多的關注,對其研究也不斷增多,應而就其基本的功能意義而言,其主要是采用了一種工程化的途徑或者是方法對具有實用意義的并且高質量的和存在一定功能效用的軟件內容進行構造和創(chuàng)建,這樣的軟件建構的基本預期就是在一定的背景條件下,對成本基礎進行分析,從而研發(fā)出能夠滿足使用者基本需求的產品,在二十世紀的后半期,我們可以發(fā)現對軟件工程的研究已經意識到了對數據的挖掘的意義實質上是不大的,這就需要對數據特性和工程類軟件進行有機結合,相互攫取雙方的有點,極大程度上提高數據挖掘技術的作用。
2.2數據挖掘技術分析
在數據挖掘的技術方面,分析過程和聚類過程是數據挖掘過程中最為重要的環(huán)節(jié),應而也具有這重要的意義和影響,通過聚類分析能夠有效縮小我們進行分析的數據和信息的范圍,從而為我們更快更準定義我們需要的數據創(chuàng)造良好的條件,并獲取我們需要的信息。
2.3數據挖掘的主要內容
在數據挖掘的完整過程中,從階段性來觀察,數據挖掘實質上是包括了選擇、提前處理以及吸收等過程的,與其他的過程階段相比,選擇階段實質上也是最為重要的,這個過程需要我們對實際情況進行了解,然后從巨量的具有交互性的數據中進行篩選,從而在實際的工作進程中,我們需要適應不斷變化更新的數據,從而對數據集合進行重新篩選,進而實現自己的預期目的。對于那些預先處理的數據,我們處理過程都是需要將數據進行必要的轉換,這樣就能夠使得數據呈現出我們需要的樣態(tài),然而由于很多數據都是有著自身他特性的,數據之間的差異性都會影響我們進行數據挖掘,所以,我們應當轉變視角,對數據進行必要的加工和分析處理,進而通過合理的技術對需要的數據進行整理。最后對于吸收過程而言,由于這一過程在數據挖掘的整個過程中是居于后期的工作范疇,所以對這些工作進行處理就顯得更加有意義。
3.軟件工程中數據挖掘技術的基本應用
3.1在軟件項目中的應用
一般情況,軟件的項目管理在數據挖掘中應當有兩個范疇,第一個就是對組織關系的挖掘,這是一個對版本控制信息的挖掘,由于軟件工程的項目管理是一個復雜的過程,特別是對人員的組織關系的挖掘更多是對人力資源的協(xié)調和分配。最簡單的理解,可以是這樣的,即一個工程項目包括了千百人,在參與的過程中,人們之間的交互過程主要是通過郵件和文檔而進行的,這種家交互過程很容易對原本的秩序產生影響,導致混亂,然而數據挖掘技術的使用可以實現秩序的穩(wěn)定,可以將工作人員之間的組織關系更加有序,通過區(qū)分使得組織關系有序,從而使得軟件項目管理更加順利。
3.2在開源軟件中的應用
開源軟件實質上是一個對帶源代碼的一種開放式應用,基于其開放性,相比其他軟件,開源軟件更受消費者的歡迎,因此這類軟件多是免費類的軟件,可是任何事情都是具有兩面性的,由于其開放性使得消費者都比較歡迎,但是另一方面,這也加大了對各類軟件進程中的管理難度,所以,這就需要根據實際情況,合力使用數據挖掘技術,從而有效提升開源軟件的整體質量的提升。
3.3在機構代碼中的應用
機構代碼的程序代碼主要是克隆代碼,其指的是通過簡單的福祉和粘貼從而對代碼進行再次使用,對克隆代碼的檢測也是數據挖掘中應用最早的,目前對克隆代碼的檢測主要有以下幾種方式,基于文本對比方法、基于標識符對比方法、基于度量的方法、基于程序結構表示的方法及運用潛在語義索引等方法。另外,還需要對橫切關注點(Aspect)進行挖掘,之所以要進行挖掘,是由于部分的關注點在程序中的代碼非常相似甚至是同一代碼段。最后一點就是挖掘有用的代碼的方法主要是通過記錄的輸入和關系檢索,以及對關鍵詞進行索引,還有一些方法,例如尋找相似的代碼源和語義、基于構建交互關系圖的方法及對所需構件進行形式化描述等等,還有我們經常使用的數據檢索包括使用Google、百度等搜索引擎。
3.4軟件故障中的應用
一般的數據挖掘技術,除了對必要的任務進行完成之外,還需要對實際的程序執(zhí)行進行記錄,并對具體說明進行挖掘,然后憑借程序對軟件的故障進行判斷,從而進行測定。另外,在對程序的挖掘過程中,我們應當基于一定的目的而展開,才能夠對需要的信息進行跟蹤,同時進行建模處理,通過一系列的措施能夠對加深我們對程序的了解和后續(xù)工作。目前使用最為廣泛的方式和種類是比較多的,但是主要包括基于規(guī)則以及自動化兩類。
軟件的正常運行,往往會基于多種因素而互相影響和作用,應而不可避免出現一定的概率出現事故,雖然基于傳統(tǒng)的技術能夠實現對故障的很好處理,可是基于整體性的程序分析而言,這個過程市比較繁瑣的,應而其效率低下,定位的精準度也不高。特別是這些年以來,由于對新的定位技術研究力度不斷加大,傳統(tǒng)定位的方式進行了革新,并進一步加強了對程序的具體運行軌跡,通過兩兩對比的方式來找到故障的源頭,從而在較大程度上提高了故障檢測的準確性以及判斷效率。
3.5在軟件維護中的應用
數據挖掘技術對于軟件的維護主要體現在對軟件的改善方面,因為軟件結構的優(yōu)化主要是以對軟件的設計和程序為基礎的,而這些也都是對非編程語言的一種定量描述過程,所以在理解軟件的過程中,我們需要通過跟蹤軟件需求的形式實現對需求文檔的發(fā)現和設計的對應關系,這樣能夠有效保證軟件的功能和行為是契合法律規(guī)定的,同時能夠實現對重用代碼的自動扥類,實現對代碼的獲取和區(qū)分,以及識別等聚類結果。
軟件愛你的質量和可靠性常用方法是漏洞檢測,就是一種通過構建軟件測試程序,收集、清理和轉換漏洞庫中的數據,然后借助科學的數據挖掘模型加以訓練和驗證,從而對其進行定位、分類和描述,并重新對其進行測試,以及時發(fā)現和快速修正軟件的漏洞和缺陷。另外,還可以利用軟件工程進行數據挖掘,這種使用較多的就是克隆代碼工具,在過程中發(fā)現重復出現的代碼缺陷,從而為修復缺陷提供支撐性條件。這種軟件程序環(huán)節(jié)后,應該對設計進行有效改善,然而由于工作任務較為繁重,所以可以通過一定的方法進行軟件設計進行自動改善,這些都能夠為數據挖掘提供良好的益處。
參考文獻
[1]王祎菡.軟件工程中數據挖掘技術的應用[J].電子技術與軟件工程,2014(14):200.
[2]王剛,趙玥.軟件工程數據挖掘研究進展[J].計算機光盤軟件與應用,2014(7):78.