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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.2漏洞檢測

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

2.3開源軟件

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

2.4版本控制信息

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

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

3.3聚類方法

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

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

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

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

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

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

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

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

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

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

5結(jié)束語

軟件工程技術(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ù),2016(34).

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

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

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