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