公務(wù)員期刊網(wǎng) 論文中心 正文

數(shù)據(jù)挖掘在軟件工程技術(shù)中的應(yīng)用

前言:想要寫(xiě)出一篇引人入勝的文章?我們特意為您整理了數(shù)據(jù)挖掘在軟件工程技術(shù)中的應(yīng)用范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。

數(shù)據(jù)挖掘在軟件工程技術(shù)中的應(yīng)用

【摘要】計(jì)算機(jī)技術(shù)在發(fā)展,軟件也發(fā)展的越來(lái)越復(fù)雜,而系統(tǒng)開(kāi)發(fā)工作也顯得更加重要。信息技術(shù)的廣泛應(yīng)用會(huì)產(chǎn)生大量數(shù)據(jù),通過(guò)對(duì)數(shù)據(jù)進(jìn)行挖掘,分析其存在的規(guī)律,對(duì)實(shí)現(xiàn)數(shù)據(jù)資源的有效利用意義重大。本文就數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用作簡(jiǎn)要闡述。

【關(guān)鍵詞】數(shù)據(jù)挖掘技術(shù);軟件工程中;應(yīng)用軟件技術(shù)

隨著信息技術(shù)發(fā)展而快速發(fā)展,但是其可控性并不是特別強(qiáng)。軟件在應(yīng)用過(guò)程中會(huì)產(chǎn)生大量數(shù)據(jù),數(shù)據(jù)作為一種寶貴的資源,有效的利用可以帶來(lái)價(jià)值增值。作為軟件開(kāi)發(fā)行業(yè),數(shù)據(jù)挖掘技術(shù)應(yīng)用則實(shí)現(xiàn)了數(shù)據(jù)資源的有效利用,通過(guò)對(duì)其中規(guī)律進(jìn)行研究,為軟件工程提供相應(yīng)指導(dǎo),并且對(duì)于系統(tǒng)故障能夠有效處理,成本評(píng)估的有效性也能夠提升。

1數(shù)據(jù)挖掘技術(shù)應(yīng)用存在的問(wèn)題

1.1信息數(shù)據(jù)自身存在的復(fù)雜性

軟件工程所包含的數(shù)據(jù)可以分為兩個(gè)類(lèi)別,結(jié)構(gòu)化與非結(jié)構(gòu)化。在非結(jié)構(gòu)化數(shù)據(jù)中軟件代碼發(fā)揮著重要作用。而對(duì)結(jié)構(gòu)化數(shù)據(jù)產(chǎn)生影響的則是軟件版本信息。結(jié)構(gòu)與非結(jié)構(gòu)化數(shù)據(jù)二者之間聯(lián)系非常密切。實(shí)現(xiàn)數(shù)據(jù)有效利用就需要通過(guò)一定技術(shù)找出其中的規(guī)律。數(shù)據(jù)挖掘技術(shù)則剛好滿(mǎn)足需求。利用該技術(shù)對(duì)結(jié)構(gòu)與非結(jié)構(gòu)化數(shù)據(jù)進(jìn)行整合,提升其使用的有效性。

1.2在評(píng)價(jià)標(biāo)準(zhǔn)方面缺乏一致性

數(shù)據(jù)挖掘技術(shù)在生活中的應(yīng)用比較廣泛,通過(guò)該技術(shù)應(yīng)用能夠更好的對(duì)實(shí)際情況進(jìn)行評(píng)價(jià),從而對(duì)結(jié)果進(jìn)行優(yōu)化。但是由于沒(méi)有統(tǒng)一標(biāo)準(zhǔn),導(dǎo)致了軟件信息復(fù)雜。而在表述方式方面自身又存有差異性。信息獲取者無(wú)法有效的對(duì)信息進(jìn)行應(yīng)用及對(duì)比。而信息缺乏統(tǒng)一標(biāo)準(zhǔn)的原因就在于評(píng)價(jià)方式不一致。

2數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用

2.1數(shù)據(jù)挖掘執(zhí)行記錄

執(zhí)行記錄挖掘主要是對(duì)主程序的路徑進(jìn)行分析,從而發(fā)現(xiàn)程序代碼存有的相關(guān)關(guān)系。其實(shí)質(zhì)是通過(guò)對(duì)相關(guān)執(zhí)行路徑進(jìn)行分析,并進(jìn)行逆向建模,最終達(dá)到目的。作用在于驗(yàn)證,維護(hù),了解程序。記錄挖掘的過(guò)程通常是對(duì)被分析的系統(tǒng)進(jìn)行初步插裝,之后是記錄過(guò)程,該過(guò)程在執(zhí)行上一步程序后,對(duì)應(yīng)用編程接口,系統(tǒng),模塊的狀態(tài)變量記錄,最后是對(duì)所得到的信息進(jìn)行約簡(jiǎn),過(guò)濾,聚類(lèi)。最終得到的模型能夠表達(dá)系統(tǒng)的特征。

2.2漏洞檢測(cè)

系統(tǒng)或是軟件自身都會(huì)存在漏洞,漏洞自身具一定的隱蔽性,由于人的思維存在某些盲區(qū),無(wú)法發(fā)現(xiàn)漏洞的存在,就需要借助于某些軟件。檢測(cè)漏洞的目的就在于找出軟件中存在的漏洞及錯(cuò)誤,并對(duì)其進(jìn)行修復(fù),從而保證軟件質(zhì)量與安全。將數(shù)據(jù)挖掘技術(shù)應(yīng)用于軟件檢測(cè),首先要確定測(cè)試項(xiàng)目,結(jié)合到用戶(hù)需要,對(duì)測(cè)試內(nèi)容進(jìn)行規(guī)劃,從而確定測(cè)試方法,并制定出具體方案。測(cè)試工作環(huán)節(jié)主要是對(duì)數(shù)據(jù)進(jìn)行清理與轉(zhuǎn)換,其基礎(chǔ)在于漏洞數(shù)據(jù)收集,通過(guò)對(duì)收集與采集的信息進(jìn)行清理,將與軟件數(shù)據(jù)有關(guān)聯(lián)同時(shí)存在缺陷的數(shù)據(jù)篩選出來(lái),而將剩余無(wú)數(shù)據(jù)清理,對(duì)丟失項(xiàng)目采取相應(yīng)措施補(bǔ)充,將其屬性轉(zhuǎn)換為數(shù)值表示。之后是選擇適當(dāng)?shù)哪P瓦M(jìn)行訓(xùn)練與驗(yàn)證,該環(huán)節(jié)要結(jié)合到項(xiàng)目實(shí)際的需要選擇挖掘方式,通過(guò)對(duì)不同數(shù)據(jù)結(jié)果進(jìn)行分析與比較找到最適合的方式。之后則是重復(fù)應(yīng)用上述方法,對(duì)軟件存在的漏洞進(jìn)行定位與檢測(cè)。并將與之對(duì)應(yīng)的數(shù)據(jù)收集于軟件庫(kù),在對(duì)漏洞進(jìn)行描述的基礎(chǔ)上分類(lèi),最后將通過(guò)挖掘得到的知識(shí)應(yīng)用到測(cè)試的項(xiàng)目中.

2.3開(kāi)源軟件

對(duì)于開(kāi)源軟件的管理由于其自身的開(kāi)放,動(dòng)態(tài)與全局性,需要與傳統(tǒng)管理軟件進(jìn)行區(qū)別對(duì)待,一般情況下,成熟的開(kāi)源軟件對(duì)于軟件應(yīng)用記錄較為完整,參與的內(nèi)容包括了錯(cuò)誤報(bào)告,開(kāi)發(fā)者活動(dòng)。參與開(kāi)發(fā)的工作人員會(huì)處在動(dòng)態(tài)變化之中,存在動(dòng)態(tài)變化的原因就在于軟件的開(kāi)放性。同時(shí)對(duì)于軟件中動(dòng)態(tài)性特征的挖掘,可達(dá)到對(duì)開(kāi)源軟件進(jìn)行優(yōu)質(zhì)管理的目標(biāo)。

2.4版本控制信息

為了保證參與項(xiàng)目人員所共同編輯內(nèi)容的統(tǒng)一性,就需要對(duì)系統(tǒng)應(yīng)用進(jìn)行控制。軟件開(kāi)發(fā)工程應(yīng)用中,開(kāi)發(fā)工作管理與保護(hù)都會(huì)通過(guò)版本控制系統(tǒng)來(lái)實(shí)施。并且其應(yīng)用方式主要是對(duì)變更數(shù)據(jù)挖掘,找出不同模塊及系統(tǒng)存在關(guān)系,并對(duì)程序中可能會(huì)存在的漏洞進(jìn)行檢測(cè)。此類(lèi)技術(shù)的應(yīng)用,使得系統(tǒng)后期維護(hù)成本被有效的降低,而對(duì)后期變更產(chǎn)生的漏洞也有一定的規(guī)避作用。

3數(shù)據(jù)挖掘在軟件工程中的應(yīng)用

3.1關(guān)聯(lián)法

該方法作用在于尋找數(shù)據(jù)中存在的相關(guān)聯(lián)系與有趣關(guān)聯(lián)。而體現(xiàn)的關(guān)聯(lián)規(guī)則有兩個(gè)明顯的特征。①支持度;②信度。前者表示在某個(gè)事物集中,兩個(gè)子集出現(xiàn)的概率是相同的。而后者則表明了某事物在事物集中出現(xiàn)的概率,而另一事物也會(huì)出現(xiàn)。

3.2分類(lèi)方法

該方法主要是應(yīng)用于分類(lèi)標(biāo)號(hào)與離散值的操作。該方法的操作步驟是,首先要建立相應(yīng)的模型,對(duì)數(shù)據(jù)進(jìn)行描述,并利用模型對(duì)其進(jìn)行分類(lèi)。在分類(lèi)方法選擇方面,常用的有判定樹(shù)法,貝葉斯法,支持項(xiàng)量機(jī)法等。判定樹(shù)法應(yīng)用的基礎(chǔ)是貪心算法。

3.3聚類(lèi)方法

該方法常用的有劃分方法,基于密度,模型,網(wǎng)格的方法與層次方法。聚類(lèi)分析輸入的是一組有序?qū)?,有序?qū)χ械臄?shù)據(jù)分別表示了樣本,相似度。其基本的應(yīng)用理論是依據(jù)不同的對(duì)象數(shù)據(jù)予以應(yīng)用。

4數(shù)據(jù)挖掘在軟件工程中的應(yīng)用

4.1對(duì)克隆代碼的數(shù)據(jù)挖掘

在軟件工程中最為原始的是對(duì)克隆代碼的檢查測(cè)試。就其方式而言有文本對(duì)比為基礎(chǔ),標(biāo)識(shí)符對(duì)比為基礎(chǔ)。前者是利用系統(tǒng)中程序代碼包含的語(yǔ)句進(jìn)行判斷。該方法在后期改進(jìn)過(guò)程中主要是對(duì)字符串匹配效率進(jìn)行提升。實(shí)際應(yīng)用過(guò)程中是通過(guò)相關(guān)函數(shù)匹配對(duì)效率進(jìn)行優(yōu)化。

4.2軟件數(shù)據(jù)檢索挖掘

該方法同樣是軟件工程中原始的挖掘需求之一。該方法在應(yīng)用時(shí)主要有以下三個(gè)步驟。①數(shù)據(jù)錄入。其實(shí)質(zhì)是對(duì)需要檢索的信息錄入,并結(jié)合到使用者需要在數(shù)據(jù)中查找使用者需要的數(shù)據(jù)。②信息查找過(guò)程。確認(rèn)了用戶(hù)需要查找的信息后,系統(tǒng)將依據(jù)信息內(nèi)容在數(shù)據(jù)庫(kù)中進(jìn)行查找,并分類(lèi)羅列。③信息數(shù)據(jù)導(dǎo)出與查看。用戶(hù)可以依據(jù)自身需要將數(shù)據(jù)導(dǎo)出或者是在線(xiàn)查看。數(shù)據(jù)在導(dǎo)出時(shí)會(huì)形成相應(yīng)的記錄,客戶(hù)再次進(jìn)行查找時(shí)就會(huì)更加的方便與快捷。而將數(shù)據(jù)導(dǎo)出則需要利用到相關(guān)的軟件。

4.3應(yīng)用于設(shè)計(jì)的三個(gè)階段

軟件工程有許多關(guān)于軟件的資料,資料通常是存放于代碼庫(kù)中。數(shù)據(jù)運(yùn)用可以提升工作效率。軟件工程每一次循環(huán)都會(huì)產(chǎn)生大量的數(shù)據(jù)?;谲浖こ躺芷诳梢詫⑵浞譃榉治鲈O(shè)計(jì),迭代開(kāi)發(fā),維護(hù)應(yīng)用三個(gè)階段。

4.4面向項(xiàng)目管理數(shù)據(jù)集的挖掘

軟件開(kāi)發(fā)工作到目前已經(jīng)是將多學(xué)科集中于一體。如經(jīng)濟(jì)學(xué),組織行為學(xué),管理學(xué)等。對(duì)于軟件開(kāi)發(fā)者而言,關(guān)注的重點(diǎn)除過(guò)技術(shù)方面革新外,同時(shí)也需要科學(xué)規(guī)范的管理。除過(guò)對(duì)于版本控制信息挖掘外,還有人員組織關(guān)系挖掘。對(duì)于大規(guī)模的軟件開(kāi)發(fā)工作而言,對(duì)人力資源的有效分配與協(xié)調(diào)也是軟件工作領(lǐng)域需要面對(duì)的問(wèn)題。例如在大型系統(tǒng)開(kāi)發(fā)過(guò)程中,往往會(huì)有許多人參與其中,人員之間需要進(jìn)行溝通交流。交流方式包括了面對(duì)面溝通,文檔傳遞,電子信息等。通過(guò)對(duì)人員之間的關(guān)系進(jìn)行挖掘,有利于管理工作開(kāi)展。員工群體存在的網(wǎng)絡(luò)是社會(huì)網(wǎng)絡(luò)。通過(guò)人員合理組織與分配,將會(huì)影響到項(xiàng)目進(jìn)度,成本,成功的可能性。而對(duì)該方面實(shí)施研究通常采用的是模擬建模。

5結(jié)束語(yǔ)

軟件工程技術(shù)在生活中許多領(lǐng)域都有廣泛的應(yīng)用,數(shù)據(jù)挖掘作為其中的一項(xiàng)技術(shù),其重要性及作用隨著技術(shù)發(fā)展而表現(xiàn)的越加明顯。為了保證挖掘技術(shù)的可靠性與高效,與其它工程技術(shù)有一定融合性。數(shù)據(jù)挖掘在實(shí)際應(yīng)用工作中體現(xiàn)出了巨大的經(jīng)濟(jì)效益,因此應(yīng)該大力推進(jìn)其應(yīng)用的范圍,并拓展其應(yīng)用的深度與層次。

參考文獻(xiàn)

[1]李紅蘭.試論數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用綜述[J].電腦知識(shí)與技術(shù),2016(34).

[2]雷蕾.關(guān)于數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用綜述究[J].電子測(cè)試,2014(02).

[3]孫云鵬.數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用綜述[J].中國(guó)新通信,2015(15).

作者:李楨 單位:山西國(guó)際商務(wù)職業(yè)學(xué)院