姚文濤
(海南師范大學(xué),海南 ???710000)
信息技術(shù)是社會進(jìn)步與發(fā)展的必然產(chǎn)物,在社會發(fā)展的新時期,信息技術(shù)在社會各領(lǐng)域中的應(yīng)用越來越廣泛,并發(fā)揮著不可替代的作用。目前,軟件工程系統(tǒng)不斷升級,規(guī)模逐漸擴(kuò)大,使得工程中原有技術(shù)已然無法滿足控制與管理方面的發(fā)展需求,而數(shù)據(jù)挖掘技術(shù)的出現(xiàn)給軟件工程的發(fā)展帶來了機(jī)遇,從根本上對軟件工程進(jìn)行了優(yōu)化與完善。
所謂數(shù)據(jù)挖掘,主要指的是在大量的數(shù)據(jù)信息中利用科學(xué)、有效的算法第一時間獲取到有用信息的篩選過程。在信息技術(shù)飛速發(fā)展的今天,數(shù)據(jù)挖掘技術(shù)在社會各領(lǐng)域中的應(yīng)用也越來越廣泛。
數(shù)據(jù)挖掘技術(shù)的操作方法有很多,歸納起來,常用的主要有以下幾種:(1)神經(jīng)網(wǎng)絡(luò)。該操作方法具有較好的魯棒性,而且可以實現(xiàn)并行處理和高度容錯,非常適合應(yīng)用于數(shù)據(jù)挖掘,根據(jù)所選用的操作模型不同,所適用的范圍也不盡相同。目前,神經(jīng)網(wǎng)絡(luò)中采用的操作模型主要有離散模型、連續(xù)模型、art模型和koholon模型,分別適用于聯(lián)想記憶、優(yōu)化計算和聚類的自組織映射。(2)決策樹方法。這種操作方法主要是通過對大量信息數(shù)據(jù)的整理和分類,從中找出具有應(yīng)用價值的信息。該操作方法的優(yōu)點在于分類速度快,可在極短的時間內(nèi)獲取到有用信息,適用于大規(guī)模信息的處理。但同時也存在一些問題,比如說復(fù)雜概念的表述不夠全面、抗噪性差。(3)統(tǒng)計分析方法。函數(shù)關(guān)系和相關(guān)關(guān)系是存在于數(shù)據(jù)庫字段項之間的兩種關(guān)系,利用統(tǒng)計分析法對上述關(guān)系進(jìn)行分析,可以實現(xiàn)對信息的有效分析。目前,常用的分析方法主要有回歸分析、相關(guān)分析和差異分析三種。(4)遺傳算法。所謂遺傳算法,主要是指基于生物自然選擇與遺傳激勵的隨機(jī)搜索算法,也是數(shù)據(jù)挖掘技術(shù)常用的一種操作方法。該方法的優(yōu)勢在于具有隱含的并行性,可以和其他模型之間建立相關(guān)聯(lián)系,應(yīng)用范圍廣泛。(5)挖掘?qū)ο?。根?jù)信息存儲格式,用于挖掘的對象有關(guān)系數(shù)據(jù)庫、面向?qū)ο髷?shù)據(jù)庫、數(shù)據(jù)倉庫、文本數(shù)據(jù)源、多媒體數(shù)據(jù)庫、空間數(shù)據(jù)庫、時態(tài)數(shù)據(jù)庫、異質(zhì)數(shù)據(jù)庫以及Internet等。
就當(dāng)前數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用現(xiàn)狀來看,大致體現(xiàn)在程序代碼及結(jié)構(gòu)、項目管理以及故障檢測等多個方面,接下來,筆者現(xiàn)就上述幾個方面展開討論。
數(shù)據(jù)挖掘技術(shù)在程序代碼及結(jié)構(gòu)方面的應(yīng)用主要包括以下三個方面:(1)克隆代碼檢測的方法??寺〈a主要指的是根據(jù)軟件工程運行需求,對某一代碼段進(jìn)行復(fù)制、粘貼,若有特殊需求,也可以對部分代碼進(jìn)行適當(dāng)更改,對于上述代碼的檢測主要是為了避免故障傳播,對系統(tǒng)進(jìn)行簡要維護(hù),以此來滿足軟件系統(tǒng)運行需求。目前,克隆代碼檢測的方法主要包括4種,即文本對比、標(biāo)識符對比、度量和程序結(jié)構(gòu)。每一種檢測方法都有其不同的檢測流程和判斷依據(jù),需要結(jié)合實際情況選取最佳的檢測方法。(2)Aspect挖掘。Aspect挖掘就是我們常說的橫切關(guān)注點挖掘,在軟件工程系統(tǒng)中,Aspect挖掘是系統(tǒng)改造成面向方面軟件所必須要處理好的重要問題。在此項問題的處理中,可供采用的方法有很多,最具針對性的就是度量分析法和形式概念分析法。上述兩種方法可以利用候選集的重構(gòu)將橫切點關(guān)注挖掘相關(guān)問題有效解決。實際上,數(shù)據(jù)挖掘技術(shù)還可以在很多方面產(chǎn)生不錯的影響。
數(shù)據(jù)挖掘技術(shù)在項目管理中的應(yīng)用主要體現(xiàn)在兩個方面,即對組織關(guān)系的挖掘和對版本控制信息的挖掘。由于軟件項目管理是一個全面而又系統(tǒng)的工程,因此,有關(guān)組織關(guān)系的挖掘包含了多個方面的內(nèi)容,最主要的就是對人力資源的有效協(xié)調(diào)和分配。比如說,在開展某項活動的時候,活動涉及人員較多,在對相關(guān)信息進(jìn)行統(tǒng)計的時候,勢必會產(chǎn)生信息交互的現(xiàn)象,在這種情況的影響下,很容易造成秩序混亂。而采用數(shù)據(jù)挖掘技術(shù)之后,便可以實現(xiàn)對組織關(guān)系的有效區(qū)分,大幅度提高了項目管理效率。另一方面是對版本控制信息的挖掘,版本信息控制的功能主要是為工作人員查看版本信息提供方便,數(shù)據(jù)挖掘技術(shù)在此方面的應(yīng)用一方面可以自動對系統(tǒng)修復(fù)情況進(jìn)行檢測,并在此基礎(chǔ)上為系統(tǒng)提供警示作用,另一方面則可以避開很多常見錯誤,確保系統(tǒng)正常運行,以此來提高軟件項目管理水平。
在故障檢測中的應(yīng)用也是數(shù)據(jù)挖掘技術(shù)在軟件工程中應(yīng)用的一個主要表現(xiàn)。在過去的時間里,對于系統(tǒng)進(jìn)行故障檢測所采用的方法主要是程序切片,這種方法雖然能夠在一定程度上滿足系統(tǒng)運行需求,但同時也存在一些有待解決的問題,比如說定位不準(zhǔn)確、技術(shù)過于復(fù)雜等。在軟件工程系統(tǒng)不斷優(yōu)化與完善的今天,勢必要對故障檢測方法進(jìn)行改進(jìn)。數(shù)據(jù)挖掘技術(shù)的應(yīng)用充分滿足了這一需求。數(shù)據(jù)挖掘技術(shù)對故障的檢測主要是從兩個方面展開,分別為程序說明和交互模式。對程序說明進(jìn)行挖掘主要是為了對于系統(tǒng)運行相關(guān)的信息進(jìn)行跟蹤檢測,便于發(fā)現(xiàn)系統(tǒng)運行問題,從而做到對系統(tǒng)的有效檢測和維護(hù)。就當(dāng)前常用的挖掘方法來看,主要可分為基于規(guī)則和基于自動化兩種。兩種方法分別依據(jù)程序行為規(guī)則和API規(guī)則開展挖掘工作。
綜上所述,隨著我國信息技術(shù)的飛速發(fā)展,數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用也必然會越來越廣泛。從本文的分析我們可以看出,數(shù)據(jù)挖掘技術(shù)的加入一方面改變了人們獲取信息的方式,另一方面則很大程度上使軟件工程得到了優(yōu)化與完善,促使軟件工程得到了進(jìn)一步進(jìn)步與發(fā)展。
[1]陳建樺.數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用研究[J].硅谷,2014(01).
[2]鄭健.芻議軟件工程中數(shù)據(jù)挖掘技術(shù)的應(yīng)用[J].電子技術(shù)與軟件工程,2016(01).