數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用分析.doc_第1頁
數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用分析.doc_第2頁
數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用分析.doc_第3頁
數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用分析.doc_第4頁
數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用分析.doc_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用分析黎慶劍中國軟件與技術(shù)服務(wù)股份有限公司,北京 102200 摘要:信息大爆炸的新時(shí)期,人們所需要處理的信息越來越多,如何利用信息技術(shù)幫助人們處理這些復(fù)雜的數(shù)據(jù),挖掘出對(duì)人們有幫助的信息是非常有意義的。本文對(duì)數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用進(jìn)行了分析。關(guān)鍵詞:數(shù)據(jù)挖掘;軟件工程;應(yīng)用現(xiàn)如今隨著經(jīng)濟(jì)的迅猛發(fā)展,社會(huì)各方面物質(zhì)文化水平都在一定程度上得以提升,從而使得人們的生活狀態(tài)也較以前發(fā)生了翻天覆地的變化。近年來,信息技術(shù)的發(fā)生更是進(jìn)一步推動(dòng)了社會(huì)的進(jìn)步,復(fù)雜而又充實(shí)的信息環(huán)境使得人們所接觸的事物也更加清晰,但是在這些信息里面需要認(rèn)真加以辨別,只有從中獲取有益的信息才能給自己帶來更大的益處。因此有必要對(duì)現(xiàn)有的數(shù)據(jù)進(jìn)行整合處理直接為人們所使用。在這個(gè)信息爆炸的時(shí)代里,人們獲取的信息量是非常驚人的。對(duì)信息數(shù)據(jù)的挖掘在軟件工程中的地位也逐步提升。1 軟件工程數(shù)據(jù)挖掘技術(shù)概述1.1數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用發(fā)展所謂的數(shù)據(jù)挖掘技術(shù)還有一個(gè)比較常用的稱呼,就是數(shù)據(jù)庫中的信息資源提取,該技術(shù)與數(shù)據(jù)庫相互依存,不可割舍。從剛開始的提出,到最后的實(shí)踐應(yīng)用,該技術(shù)漸漸地走向更為多向化和多功能化,并且在該項(xiàng)技術(shù)中融入了相當(dāng)多的重要領(lǐng)域技術(shù)。而對(duì)于軟件工程來說,其最原始的意義起源于一九六七年,該項(xiàng)工程自提出以后就一直受到重點(diǎn)研究和關(guān)注,就其功能將其進(jìn)行定義為采用工程化的途徑或者是方法對(duì)具有實(shí)用意義的并且高質(zhì)量的和存在一定功能效用的軟件內(nèi)容進(jìn)行構(gòu)造和創(chuàng)建,這樣的軟件構(gòu)建預(yù)期的目標(biāo)是在一定的背景條件下以及成本基礎(chǔ)上,所研究開發(fā)出的軟件產(chǎn)品能夠滿足使用者的大部分需求。在二十世紀(jì)后期的時(shí)候,這一領(lǐng)域的研究人員就意識(shí)到了單純的數(shù)據(jù)挖掘技術(shù)其實(shí)意義不大,需要結(jié)合實(shí)際的數(shù)據(jù)特性將工程類軟件與之結(jié)合在一起,從而相互攫取雙方的優(yōu)點(diǎn),從而在極大程度上提升數(shù)據(jù)挖掘技術(shù)的作用。這一理念同時(shí)也得到了相關(guān)學(xué)者的一致認(rèn)同,從而使得這一想法進(jìn)一步融入了實(shí)際生產(chǎn)運(yùn)作過程中,使得如今的數(shù)據(jù)挖掘技術(shù)變得越發(fā)完善。1.2數(shù)據(jù)挖掘技術(shù)分析在數(shù)據(jù)挖掘技術(shù)的這一領(lǐng)域中,無論是分析還是聚類等過程都占據(jù)著至關(guān)重要的地位與作用,這樣能夠縮小我們所需信息的范圍,從而迅速便捷的獲得我們最終需要的數(shù)據(jù),從而得到具體實(shí)用的信息。1.3數(shù)據(jù)挖掘的主要內(nèi)容對(duì)于一個(gè)完整的數(shù)據(jù)挖掘過程來說,它是分多個(gè)階段進(jìn)行的,具體而言,其中包括了選擇、提前處理以及吸收等過程。同其他過程類似,選擇作為首要階段占據(jù)著至關(guān)重要的作用,這一階段需要結(jié)合實(shí)際情況從龐大的具有交互性的數(shù)據(jù)中進(jìn)行篩選,在實(shí)際工作進(jìn)程中,任何信息數(shù)據(jù)都是處于不斷更新過程中的,隨著這些數(shù)據(jù)的不斷更新交替,需要對(duì)數(shù)據(jù)集合進(jìn)行重新的篩選,從而達(dá)到自己預(yù)期的目的;對(duì)于數(shù)據(jù)預(yù)處理過程而言,它是提前將數(shù)據(jù)進(jìn)行必要的轉(zhuǎn)換,從而使其達(dá)到我們所需要的形式,由于數(shù)據(jù)本身所具有的特征以及格式都具有一定的差異性,因此我們需要站在適當(dāng)?shù)慕嵌葘?duì)需要加工處理的數(shù)據(jù)進(jìn)行必要的分析,采用恰當(dāng)?shù)募夹g(shù)來對(duì)所需的數(shù)據(jù)進(jìn)行整理;而至于吸收這一過程而言,它在整個(gè)系統(tǒng)的工作進(jìn)程中主要屬于后處理的工作范疇,它通過一系列繁瑣的工作使得前幾項(xiàng)工作具有更加合理的意義。2軟件工程中數(shù)據(jù)挖掘技術(shù)的應(yīng)用2.1在軟件項(xiàng)目中的應(yīng)用軟件項(xiàng)目管理中的數(shù)據(jù)挖掘主要體現(xiàn)在兩個(gè)方面,一個(gè)是對(duì)組織關(guān)系的挖掘一個(gè)是對(duì)版本控制信息的挖掘。其中,軟件項(xiàng)目的管理是一個(gè)復(fù)雜的工程,對(duì)人員組織關(guān)系的挖掘主要是對(duì)人力資源進(jìn)行協(xié)調(diào)和分配。例如,一個(gè)工程項(xiàng)目可能有成百上千人參與,在參與過程中人員之間的電子郵件、文檔等都會(huì)產(chǎn)生交互,交互中極易造成秩序混亂,而數(shù)據(jù)挖掘技術(shù)的使用則可以很好的將工作人員的組織關(guān)系進(jìn)行區(qū)分,有利于軟件項(xiàng)目管理的順利進(jìn)行。此外,數(shù)據(jù)挖掘技術(shù)還體現(xiàn)在對(duì)版本控制信息的挖掘。版本控制可以記錄文件內(nèi)容的變化,以方便用戶查看版本的修訂情況。將數(shù)據(jù)挖掘技術(shù)引入到版本控制信息中可以減少系統(tǒng)后期的維護(hù)成本。2.2在開源軟件中的應(yīng)用對(duì)于開源軟件來說,它其實(shí)就是指代源代碼屬于開放式的應(yīng)用,這類軟件相較于其他軟件類型來說更受大眾歡迎,這主要是由于其屬于免費(fèi)軟件的范疇,但是凡事既有利也有弊,這類軟件在迎來廣大使用人群的同時(shí),也加大了各個(gè)進(jìn)程管理的難度,因此,需要結(jié)合實(shí)際情況恰當(dāng)?shù)囊M(jìn)這類數(shù)據(jù)挖掘技術(shù)來對(duì)開源軟件的整體質(zhì)量進(jìn)行提升。舉例而言,大阪大學(xué)中的某一學(xué)生就據(jù)此就開發(fā)出了一類數(shù)據(jù)挖掘系統(tǒng),它在具有基本數(shù)據(jù)處理功能的基礎(chǔ)上,還能對(duì)大規(guī)模的多類數(shù)據(jù)軟件實(shí)施挖掘處理,從而獲得預(yù)期所需的數(shù)據(jù)。2.3在機(jī)構(gòu)代碼中的應(yīng)用這里所說的程序代碼指的是克隆代碼,所謂克隆代碼就是通過簡單的復(fù)制和粘貼進(jìn)行再次使用的代碼。對(duì)克隆代碼的檢測也是數(shù)據(jù)挖掘中應(yīng)用最早的,目前對(duì)克隆代碼的檢測主要有以下幾種方式,基于文本對(duì)比方法、基于標(biāo)識(shí)符對(duì)比方法、基于度量的方法、基于程序結(jié)構(gòu)表示的方法及運(yùn)用潛在語義索引等方法。其次,是對(duì)橫切關(guān)注點(diǎn)(Aspect)的挖掘,對(duì)Aspect進(jìn)行挖掘主要是因?yàn)橛行╆P(guān)注點(diǎn)在程序中的代碼非常相似甚至是同一代碼段。最后是在數(shù)據(jù)庫中挖掘有用的代碼或構(gòu)件。目前,常用的方法有通過記錄輸入-輸出關(guān)系檢索、通過關(guān)鍵詞進(jìn)行索引和挖掘、尋找相似的代碼源和語義、基于構(gòu)建交互關(guān)系圖的方法及對(duì)所需構(gòu)件進(jìn)行形式化描述等等,如我們使用的Google、百度等搜索引擎都可以進(jìn)行數(shù)據(jù)的檢索。2.4軟件故障中的應(yīng)用對(duì)于數(shù)據(jù)挖掘技術(shù)來說,它除了能夠完成必要的挖掘任務(wù)外,還能夠根據(jù)實(shí)際的程序執(zhí)行記錄來對(duì)其具體說明進(jìn)行挖掘,通過這些程序可以對(duì)軟件所出現(xiàn)的故障進(jìn)行必要的判斷和測定。在對(duì)程序的挖掘過程中,需要首先明確挖掘的初衷和目的,并且對(duì)所需了解的信息實(shí)施一定程度的跟蹤,然后結(jié)合實(shí)際信息情況進(jìn)行建模處理,這樣一來能夠在極大程度上加深對(duì)程序得出了解以及便于進(jìn)行后續(xù)工作。在如今廣泛使用的挖掘方式中,挖掘方式種類較為繁多,其中基于規(guī)則以及自動(dòng)化兩類更是得到了廣泛的使用。就前者而言,是依據(jù)具體的程序行為來探索必要的規(guī)則,然后采用合適的邏輯表達(dá)式來進(jìn)行表達(dá)。而后者這類處理方式多為抽象處理以及抽象挖掘方法。在軟件正常的運(yùn)行過程中,由于各類因素的相互作用,總會(huì)存在一定的幾率發(fā)生故障,而此時(shí)雖然傳統(tǒng)的定位技術(shù)仍舊能夠到達(dá)處理故障的目的,但是從整體程序上分析卻較為繁瑣,其效率較為低下,并且定位的精準(zhǔn)度也不高。近年來,通過對(duì)新的定位技術(shù)進(jìn)行探索和研究,并且對(duì)傳統(tǒng)的定位方式實(shí)施一定程度的革新與改良,從而成功的研究出了程序譜來對(duì)程序的具體運(yùn)行軌跡實(shí)施抽象定位,通過兩兩對(duì)比的方式來找到故障的源頭,從而在較大程度上提高了故障檢測的準(zhǔn)確性以及判斷效率。2.5在軟件維護(hù)中的應(yīng)用2.5.1在軟件維護(hù)中的修復(fù)環(huán)節(jié)中軟件修復(fù)環(huán)節(jié)中的缺陷分派可以通過鑒別和評(píng)估軟件缺陷程序,確定其修復(fù)的優(yōu)先級(jí),從而找到每個(gè)缺陷最合適的修復(fù)者。在缺陷自動(dòng)分派方法中,通過將缺陷分派轉(zhuǎn)化為文本類型的問題,以此采取措施加以修復(fù),但其準(zhǔn)確率較低,而通過強(qiáng)化檢測重復(fù)缺陷報(bào)告技術(shù),并在缺陷報(bào)告中增設(shè)執(zhí)行和自然語言兩種相似度信息,然后按照定義的向量維度描述軟件缺陷,最后獲取兩種相似度的加權(quán)和,從而為缺陷選擇合適的修復(fù)者,實(shí)驗(yàn)證明,該種方法的正確率為67%左右。2.5.2在軟件維護(hù)中的軟件改善軟件結(jié)構(gòu)的優(yōu)化應(yīng)以理解軟件設(shè)計(jì)和程序?yàn)榍疤幔部梢院唵蔚睦斫鉃榻柚蔷幊陶Z言定量描述代碼的過程。在理解軟件的過程中,我們可以采用跟蹤軟件需求的方式在需求文檔中發(fā)現(xiàn)與設(shè)計(jì)和條目文檔具有對(duì)應(yīng)關(guān)系的條目,以保證軟件功能和行為符合相關(guān)法律規(guī)定,并自動(dòng)對(duì)重用代碼進(jìn)行分類以獲取、區(qū)分、標(biāo)識(shí)程序的聚類結(jié)果,其中漏洞檢測也是用于保證軟件質(zhì)量和可靠性的常用方法,即通過構(gòu)建軟件測試程序,收集、清理和轉(zhuǎn)換漏洞庫中的數(shù)據(jù),然后借助科學(xué)的數(shù)據(jù)挖掘模型加以訓(xùn)練和驗(yàn)證,從而對(duì)其進(jìn)行定位、分類和描述,并重新對(duì)其進(jìn)行測試,以及時(shí)發(fā)現(xiàn)和快速修正軟件的漏洞和缺陷。同時(shí)也可利用軟件工程挖掘技術(shù)中最熱門的克隆代碼工具發(fā)現(xiàn)軟件中重復(fù)出現(xiàn)的代碼缺陷,以此為及時(shí)修復(fù)缺陷提供保障。在完成軟件程序理解環(huán)節(jié)后,還應(yīng)對(duì)其設(shè)計(jì)加以改善,鑒于該項(xiàng)工作任務(wù)繁重,因此可TIMNA方法實(shí)現(xiàn)軟件設(shè)計(jì)的自動(dòng)改善,在此基礎(chǔ)上,掌握、歸納軟件更改的先后關(guān)系,從而為挖掘其傳播規(guī)律提供助益。結(jié)束語綜上所述,數(shù)據(jù)挖掘技術(shù)能有效幫助改善軟件開發(fā)過程中的控制,能有效提高軟件工程的管理控制,從而促進(jìn)人們在使

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論