陳忠菊
摘 要:隨著社會的迅速發(fā)展,軟件工程運用數(shù)據(jù)挖掘技術也十分關鍵。其不僅能夠讓信息數(shù)據(jù)得到更為準確的傳播,而且還能讓數(shù)據(jù)挖掘的效率得到全面的提升。該文主要針對軟件工程運用數(shù)據(jù)挖掘技術進行分析,并提出了相應的優(yōu)化措施。
關鍵詞:軟件工程 數(shù)據(jù)挖掘 技術 分析
中圖分類號:TP311.13 文獻標識碼:A 文章編號:1674-098X(2016)06(b)-0080-02
當今時代是信息時代,隨著互聯(lián)網(wǎng)技術的發(fā)展,人們步入了大數(shù)據(jù)時代。毫不夸張地說,在這個大社會環(huán)境中,每個人都有自己的數(shù)據(jù)庫,而眾多人的數(shù)據(jù)結(jié)合在一起,形成了一個巨大的數(shù)據(jù)庫,應用這些數(shù)據(jù)可以獲取許多信息,而這些信息可以在一定程度上給商家?guī)硭璧男畔?,因此,大?shù)據(jù)在當今時代的地位越來越突出,賣家可以根據(jù)這些信息了解買家的偏好以及需求。在這樣一種時代背景之下,為了滿足人們對信息的需求,數(shù)據(jù)挖掘技術逐漸發(fā)展起來。
1 軟件工程運用數(shù)據(jù)挖掘技術的概況分析
1.1 數(shù)據(jù)挖掘技術發(fā)展現(xiàn)狀
所謂的數(shù)據(jù)挖掘技術指的是在眾多繁雜的信息中收集以及提取出自己所需要的、對自己有價值的信息,它作為一門技術是為了軟件工程開發(fā)而服務的。數(shù)據(jù)挖掘技術的最終目的是找到并提取對自己有用的信息,而信息提取的過程就是數(shù)據(jù)挖掘的過程。隨著數(shù)據(jù)挖掘技術的進步,越來越多的行業(yè)開始將其應用到自己的領域中,軟件工程也不例外。早期中國,信息量不是很大,傳統(tǒng)軟件工程開發(fā)在數(shù)據(jù)采集方面比較落后,它在驗證驅(qū)動的過程中需要先假定信息的存在,在此基礎上對信息進行采集和挖掘,最后再對假設進行驗證,判斷是否成立。但是現(xiàn)如今社會已經(jīng)步入了信息時代,信息數(shù)量迅速增多,各種信息交匯在一起,錯綜復雜,因此信息呈現(xiàn)出又多又亂的特點,如果按照傳統(tǒng)軟件工程開發(fā)的方式對數(shù)據(jù)進行收集,那么就會使工作量變得很大,很難得以實施。數(shù)據(jù)挖掘技術基于這樣一種現(xiàn)狀對驗證驅(qū)動的方法進行了調(diào)整和改進,可以在雜亂的信息中識別有用的信息并提取出來。
1.2 數(shù)據(jù)挖掘的相關內(nèi)容
就目前來講,關聯(lián)發(fā)現(xiàn)技術、人工神經(jīng)網(wǎng)絡、分類樹技術、最優(yōu)集合規(guī)約技術以及聚類技術和可視數(shù)據(jù)挖掘技術等是最常使用的數(shù)據(jù)挖掘技術。在工程開發(fā)過程中,對數(shù)據(jù)的度量同樣具有復雜性和難實施性,因此,在采用數(shù)據(jù)挖掘技術的同時要配合使用一些特殊的處理技術,例如:分類樹處理技術、統(tǒng)計分析處理技術、回歸建模處理技術等。不管應用哪種處理技術以及哪種數(shù)據(jù)挖掘技術,我們應該時刻注意開發(fā)商所要達到的目標,以此為指導,我們便能對多種技術進行合理的選擇。
2 軟件工程運用數(shù)據(jù)挖掘技術的方法
隨著計算機的發(fā)展以及網(wǎng)絡的普及,人們逐漸步入了信息的時代,在這樣一種時代背景之下,人們對數(shù)據(jù)產(chǎn)生了更多的需求,而數(shù)據(jù)在很大程度上表現(xiàn)出多而雜亂的特點,這無疑給信息的查找以及提取帶來了困難。為了滿足人們的需求,數(shù)據(jù)挖掘技術逐漸發(fā)展起來,隨著數(shù)據(jù)挖掘技術的逐漸完善,網(wǎng)絡科學技術也得到了長足的發(fā)展;另一方面,網(wǎng)絡科學技術隨著時代的進步也在不斷地發(fā)展,網(wǎng)絡科學技術的發(fā)展使得信息數(shù)量逐漸增多,這也為數(shù)據(jù)挖掘技術的產(chǎn)生以及發(fā)展提供了基礎。
2.1 挖掘執(zhí)行記錄
挖掘執(zhí)行記錄在軟件工程中屬于數(shù)據(jù)挖掘的領域,具體指的是根據(jù)分析程序的執(zhí)行路徑找到其與程序代碼之間的關系,用逆向的方式找到軟件程序與各個模塊代碼之間的關系,以此達到維護整體程序的目的。就目前來看,挖掘執(zhí)行記錄在長久以來雖然取得了一定的成效,但是,對其評價標準卻缺少明確的規(guī)定,大家對它的評價不夠完整并且不成體系。另外,現(xiàn)階段信息數(shù)量多而雜亂,在對信息的表述上也不夠統(tǒng)一,軟件開發(fā)商很難做到對各種表達方法進行對比,因此也難以用定量的方法對數(shù)據(jù)進行分析。
2.2 檢測軟件漏洞
軟件漏洞的問題一直以來是大家都比較關注的問題。一旦軟件出現(xiàn)漏洞,將給企業(yè)帶來不可估量的損失,數(shù)據(jù)挖掘技術在軟件工程中應用時,要注意對軟件漏洞的檢測以及及時修補,這也是提高軟件工程可靠性以及安全性的重要措施。在進行軟件漏洞的檢測過程中還要對其安全性能進行相應的評估,對于一些軟件威脅病毒要及時地發(fā)現(xiàn),并做好相應的清理工作。同時,還要做好相應的安全防護工作,采用多種模態(tài)進行軟件運行狀態(tài)的監(jiān)控,避免重要信息和參數(shù)被侵犯。
2.3 挖掘版本控制信息
挖掘版本控制信息在軟件開發(fā)中也有不可小覷的作用,就目前來講,開發(fā)商在對軟件進行開發(fā)時,一般會采用版本控制系統(tǒng)對開發(fā)過程進行系統(tǒng)管理以及系統(tǒng)保護。挖掘版本控制信息在軟件工程中屬于數(shù)據(jù)挖掘領域。它主要的目的是保證軟件的安全性和可靠性,對系統(tǒng)全局性的更新奠定基礎。同時,在進行信息的控制過程中需要對其信息進行相應的維護。要采用多種方式保證信息的安全和信息的正確。從而實現(xiàn)版本信息的有效控制。
2.4 挖掘開源軟件
挖掘開源軟件在軟件工程的開發(fā)中具有明顯的優(yōu)勢,它與前三者不同,具有其自身獨特的優(yōu)勢,其特征包括開放性、全局性和動態(tài)性。由于其自身所具有的特點,在對該類軟件進行開發(fā)時要注意同傳統(tǒng)的軟件區(qū)分開來,根據(jù)該軟件自身的特點對其進行開發(fā),采取適當而又有效的策略和方法。在進行軟件的挖掘以及開發(fā)的過程中需要結(jié)合軟件工程的主題進行相應地開發(fā),避免開發(fā)出來的軟件不具備一定的實用性。與此同時,在進行軟件開發(fā)的過程中還要挖掘開源軟件,其要順應時代發(fā)展的特點,與市場發(fā)展趨勢相互結(jié)合,讓開發(fā)的軟件的應用效率得到完滿的提升。
3 軟件工程中程序代碼的挖掘
3.1 克隆代碼的檢測
在進行程序代碼的挖掘過程中,其原創(chuàng)的可能性較低。通常會采用克隆代碼的檢測,獲取相應的核心數(shù)據(jù),然后對代碼進行粘貼以及拷貝。之后需要結(jié)合企業(yè)的實際需要,對數(shù)據(jù)代碼進行小幅度的調(diào)動,從而達到相應的檢測效果。其檢測是為了避免故障的拷貝傳播這樣的不利情況發(fā)生,而且對其檢測還能對軟件進行演化這個過程里起到不錯的維護作用,基本上可以說克隆代碼檢測這樣的存在已經(jīng)是軟件工程這個大領域中最先的數(shù)據(jù)挖掘需求,目前大概可以整理出四種比較常用的方式,分別為基于文本對比、標識符對比、度量、程序結(jié)構的方法。其也可以利用Hash函數(shù)這樣的一項技術對字符進行相應的變化,從而達到相應的代碼檢測效果。
3.2 Aspect挖掘
在進行挖掘的過程中,其通常也需要對其Aspect數(shù)據(jù)進行挖掘。其主要是對程序的一種構造模式。在進行數(shù)據(jù)的挖掘過程中,其通常需要對各個關注點之間的數(shù)據(jù)進行相應的分析。同時,對不同的代碼進行相應的分類,構造出較為合適的代碼數(shù)據(jù),讓信息節(jié)點之間能夠得到有效地傳遞。比如基于度量分析或者是形式概念分析等這類相對而言具有很強針對性的方法。這種方法能夠讓數(shù)據(jù)更加具有應用性實質(zhì)效果。因此,Aspect挖掘在軟件工程中的應用十分廣泛。
4 結(jié)語
軟件工程運用數(shù)據(jù)挖掘技術具有十分深遠的意義。在進行挖掘技術的應用過程中,首先需要對挖掘的內(nèi)容進行有條理的分析。同時還要應用數(shù)據(jù)挖掘的方法,對其各種執(zhí)行記錄、軟件防護、信息控制以及開源軟件進行全面的探討。最后需要對軟件的程序代碼進行檢測和Aspect挖掘,從而實現(xiàn)軟件工程中挖掘技術的應用價值。
參考文獻
[1] 欒家明.數(shù)據(jù)挖掘技術在網(wǎng)上銀行促銷活動中的運用[J].電子世界,2016(11):15-23.
[2] 李家兵.數(shù)據(jù)挖掘技術在工業(yè)上的應用[J].湖南城市學院學報:自然科學版,2016(3):69-72.
[3] 曾倩倩.數(shù)據(jù)挖掘技術在計算機犯罪取證中的應用[J].通訊世界,2016(12):55-58.
[4] 杜立斐.數(shù)據(jù)挖掘技術在電力營銷系統(tǒng)中的應用[J].中國高新技術企業(yè),2016(21):49-56.