時間:2022-11-19 09:38:59
序論:在您撰寫軟件工程中數(shù)據(jù)挖掘技術(shù)的作用時,參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的1篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導(dǎo)您走向新的創(chuàng)作高度。
本文即圍繞數(shù)據(jù)挖掘技術(shù),就其在軟件工程中的具體應(yīng)用,進(jìn)行了分析和探討,具體內(nèi)容如下:
1數(shù)據(jù)挖掘技術(shù)概述
數(shù)據(jù)挖掘(Datamining),也稱為數(shù)據(jù)采礦,是數(shù)據(jù)庫知識發(fā)現(xiàn)的一個基礎(chǔ)環(huán)節(jié),是在海量數(shù)據(jù)中自動完成隱藏特殊關(guān)系數(shù)據(jù)搜索的過程,數(shù)據(jù)挖掘技術(shù)就是這一過程應(yīng)用的相關(guān)技術(shù)。一般來說,數(shù)據(jù)挖掘過程可以分為四個環(huán)節(jié)進(jìn)行,分別是選擇軟件庫保存的數(shù)據(jù)、完成選擇數(shù)據(jù)的預(yù)處理、對預(yù)處理得到的格式化數(shù)據(jù)進(jìn)行挖掘、以及最終獲得目標(biāo)數(shù)據(jù)。軟件工程是數(shù)據(jù)挖掘技術(shù)的重要應(yīng)用領(lǐng)域,具體的數(shù)據(jù)挖掘工作普遍分為三個層次進(jìn)行,分別是交互式可視數(shù)據(jù)探查、自動模式提取和建構(gòu)模型。三個層次之間存在著直接的關(guān)聯(lián)聯(lián)系,其中可視數(shù)據(jù)探查是后兩者的基礎(chǔ),而建構(gòu)模型又是前兩者的指導(dǎo)。軟件工程領(lǐng)域應(yīng)用數(shù)據(jù)挖掘技術(shù)的目的,主要是借助聚類、分析、預(yù)測、統(tǒng)計等技術(shù)手段,在海量數(shù)據(jù)資源中快速分辨、尋找符合人們應(yīng)用需求的數(shù)據(jù)信息,并自動將檢索到的信息反饋至軟件系統(tǒng)。此外,為保障數(shù)據(jù)挖掘的科學(xué)性和有效性,數(shù)據(jù)源還應(yīng)盡可能達(dá)到龐大、真實(shí)的要求。
2數(shù)據(jù)挖掘技術(shù)的應(yīng)用分析
2.1開源軟件開發(fā)中的應(yīng)用分析
所謂開源軟件,就是源代碼處于開放狀態(tài)的軟件,一般來說,開源軟件普遍對客戶免費(fèi)開放,也正由于開源軟件的這一特性,導(dǎo)致對開源軟件的管理和控制變得相對困難。在這種環(huán)境背景下,在開源軟件開發(fā)階段引入數(shù)據(jù)挖掘技術(shù),可有效提高開源軟件的開發(fā)質(zhì)量。以大阪大學(xué)設(shè)計的分布式數(shù)據(jù)挖掘系統(tǒng)為例,該系統(tǒng)就可以在實(shí)現(xiàn)大規(guī)模系統(tǒng)挖掘的同時,完成對不同開源軟件的挖掘;再以牛津大學(xué)設(shè)計的數(shù)據(jù)挖掘系統(tǒng)為例,該系統(tǒng)實(shí)現(xiàn)了系統(tǒng)開發(fā)者和使用者的持續(xù)跟蹤管理,從而大幅度地提高了開源軟甲的使用率。
2.2軟件項(xiàng)目管理中的應(yīng)用分析
數(shù)據(jù)挖掘技術(shù)在軟件項(xiàng)目管理中的應(yīng)用,主要表現(xiàn)在以下兩個方面:(1)版本控制信息挖掘包含的對組織關(guān)系的挖掘;(2)對版本控制信息的挖掘。就軟件項(xiàng)目管理而言,其本身具有鮮明的系統(tǒng)性和復(fù)雜性特征,對組織關(guān)系的挖掘,是實(shí)現(xiàn)各類資源科學(xué)分配和協(xié)調(diào)的重要前提。以整個軟件項(xiàng)目管理過程中產(chǎn)生的電子郵件、共享文檔為例,對此進(jìn)行數(shù)據(jù)挖掘就可以有效區(qū)分不同工種人員的組織關(guān)系,避免秩序混亂問題的發(fā)生,從而保障軟件項(xiàng)目管理工作的順利進(jìn)行。另一方面,版本控制可以實(shí)現(xiàn)對文件內(nèi)容變化的詳細(xì)記錄,并作為用戶了解版本修訂情況的依據(jù)和基礎(chǔ)。針對版本控制信息應(yīng)用數(shù)據(jù)挖掘技術(shù)可進(jìn)一步降低系統(tǒng)維護(hù)成本,同時可起到一定的警示作用,及時反映系統(tǒng)修復(fù)記錄中存在的紕漏,最終達(dá)到提高軟件項(xiàng)目管理水平的目的。
2.3程序代碼中的應(yīng)用分析
本文涉及的程序代碼,主要是指克隆代碼,即通過簡單的“復(fù)制、粘貼”操作獲得并再次進(jìn)行使用的代碼。數(shù)據(jù)挖掘在克隆代碼檢測中的應(yīng)用,是數(shù)據(jù)挖掘技術(shù)應(yīng)用的早期形式之一,目前應(yīng)用較為普遍的方法包括基于標(biāo)識符對比方法、基于文本對比方法等幾類??偟膩碚f,數(shù)據(jù)挖掘在克隆代碼檢測中的應(yīng)用還有待進(jìn)一步的發(fā)展和完善,尤其是關(guān)于語法信息和語義挖掘的考慮,以提高檢測的科學(xué)性和準(zhǔn)確性。對橫切關(guān)注點(diǎn)進(jìn)行挖掘,也是數(shù)據(jù)挖掘技術(shù)的重要應(yīng)用,主要是由于部分關(guān)注點(diǎn)在程序中的代碼具有極高的相似度,甚至是使用相同代碼導(dǎo)致的。目前,應(yīng)用于Aspect的挖掘方法眾多,根據(jù)不同方法的具體特點(diǎn),可以分為形式概念分析方法、本文和類型分析方法、聚類分析方法、以及自然語言分析方法等等。在對執(zhí)行模式進(jìn)行數(shù)據(jù)挖掘時,應(yīng)優(yōu)先選擇方法執(zhí)行關(guān)系挖掘和形式概念分析法兩種方法。此外,數(shù)據(jù)挖掘技術(shù)還可用于對數(shù)據(jù)庫目標(biāo)構(gòu)件或代碼的挖掘應(yīng)用,在數(shù)據(jù)挖掘技術(shù)的支持下,可大幅度提高檢索速度、效率和準(zhǔn)確度。
2.4故障檢測中的應(yīng)用分析
從故障檢測的角度分析,對程序執(zhí)行記錄進(jìn)行數(shù)據(jù)挖掘,可提供程序的交互模式和說明,而以上信息均可以作為軟件故障定位和檢測的依據(jù)。對程序說明的數(shù)據(jù)挖掘過程,就是對信息的跟蹤和逆向建模的過程,該過程對于加深對程序的理解,以及優(yōu)化程序后續(xù)的維護(hù)管理,具有重要的作用和意義。目前,基于規(guī)則的挖掘方法是應(yīng)用較為普遍的方法,其主要通過對程序行為的挖掘發(fā)現(xiàn)對應(yīng)的規(guī)則,進(jìn)而借助時態(tài)邏輯完成表達(dá)。
3數(shù)據(jù)挖掘技術(shù)的主要應(yīng)用方法
3.1分類
數(shù)據(jù)挖掘技術(shù)涉及的相關(guān)分類方法,大致等同于某種預(yù)測分類標(biāo)號的執(zhí)行動作。在實(shí)際應(yīng)用過程中,通常需要建構(gòu)相應(yīng)的分析模型,并提前根據(jù)相應(yīng)規(guī)則輸入概念集或數(shù)據(jù)類集,以作為分析模型的應(yīng)用基礎(chǔ)。目前,數(shù)據(jù)挖掘技術(shù)應(yīng)用于軟件工程領(lǐng)域的分類方法中,主要的分類方法包括神經(jīng)網(wǎng)絡(luò)分類法、判斷樹法、貝葉斯分類法、以及支持向量機(jī)等幾類。其中,判斷樹法在分類計算過程中主要借助貪心算法作為邏輯基礎(chǔ),根據(jù)從上而下遞歸的模式完成判定樹的構(gòu)造,而判定樹包含的各個子節(jié)點(diǎn),就分別表示不同的軟件類別標(biāo)號。
3.2聚類
聚類具體是指將研究涉及的大量數(shù)據(jù),按照一定標(biāo)準(zhǔn)細(xì)分為不同簇或類的過程,從而在保障相同簇的對象之間擁有較好相似度的同時,不同的簇的對象之間有著較明顯的差異度。聚類和分類有著本質(zhì)上的差異,聚類過程劃分的類對象具有不可預(yù)知性,即無指導(dǎo)的學(xué)習(xí)方法。聚類分析方法在其他算法的預(yù)處理范疇中有著大范圍的應(yīng)用,尤其在數(shù)據(jù)分布信息獨(dú)立性分析方面有重要應(yīng)用,不僅可更好地挖掘孤立點(diǎn),同時可提高欺詐行為檢測的效率和準(zhǔn)確性。
4結(jié)語
綜上所述,信息時代背景下,數(shù)據(jù)挖掘技術(shù)是快速處理海量信息、準(zhǔn)確尋找目標(biāo)信息的關(guān)鍵。就軟件工程而言,數(shù)據(jù)挖掘技術(shù)在開源軟件開發(fā)、軟件項(xiàng)目管理、程序代碼、以及故障檢測等方面,均有著重要的應(yīng)用,相關(guān)人員必須提高對數(shù)據(jù)挖掘技術(shù)的重視和關(guān)注,切實(shí)加強(qiáng)數(shù)據(jù)挖掘技術(shù)的實(shí)際應(yīng)用,以促進(jìn)我國軟件工程行業(yè)的進(jìn)一步發(fā)展。