陳超 鮑本龍
摘要:信息化時(shí)代的到來,數(shù)據(jù)信息不斷增多,人們想通過數(shù)據(jù)信息獲取知識(shí)就需要技術(shù)協(xié)助,這使得信息挖掘技術(shù)受到人們的廣泛關(guān)注。人們?nèi)粘Ia(chǎn)和生活中產(chǎn)生的數(shù)據(jù)多是無規(guī)則的零散數(shù)據(jù),對(duì)企業(yè)的研究沒有任何幫助,而數(shù)據(jù)挖掘技術(shù)致力于利用大數(shù)據(jù)技術(shù)和機(jī)器學(xué)習(xí)算法整合各類數(shù)據(jù)問題,使企業(yè)可以從零散數(shù)據(jù)中獲取知識(shí)。因此,本文將討論數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用內(nèi)容和方法,希望能夠給相關(guān)工作者提供參考。
關(guān)鍵詞:數(shù)據(jù)挖掘技術(shù);軟件工程;應(yīng)用內(nèi)容;應(yīng)用方法;
數(shù)據(jù)挖掘技術(shù)可以從大量信息中挖掘出有用信息,方便人們對(duì)某些問題進(jìn)行研究,如今信息挖掘技術(shù)在很多行業(yè)都有應(yīng)用,軟件工程行業(yè)也不例外。面對(duì)人們?nèi)找嬖鲩L(zhǎng)的多樣化軟件應(yīng)用需求,軟件工程設(shè)計(jì)者可以通過數(shù)據(jù)挖掘技術(shù)整合用戶的需求,按照需求對(duì)軟件的功能進(jìn)行調(diào)整,提高軟件的使用率。利用數(shù)據(jù)挖掘技術(shù)在龐大的用戶信息中提煉出更多未被發(fā)現(xiàn)的知識(shí),將會(huì)使軟件設(shè)計(jì)更符合消費(fèi)者的需求,而且給軟件工程也帶來更多的益處。
一、數(shù)據(jù)挖掘技術(shù)概述
數(shù)據(jù)挖掘簡(jiǎn)單來講就是在海量的數(shù)據(jù)中提取信息,發(fā)現(xiàn)之前未被發(fā)現(xiàn)的數(shù)據(jù)或者是被忽略的數(shù)據(jù),然后利用這些數(shù)據(jù)提供有價(jià)值的信息。數(shù)據(jù)挖掘技術(shù)是一門綜合性學(xué)科,它與很多學(xué)科都有交叉,因此應(yīng)用前景非常好。但是由于比較復(fù)雜的知識(shí)結(jié)構(gòu)和應(yīng)用操作導(dǎo)致它對(duì)知識(shí)要求也相當(dāng)高。數(shù)據(jù)挖掘技術(shù)主要有以下三個(gè)步驟,即數(shù)據(jù)準(zhǔn)備、規(guī)律表示和結(jié)果表達(dá):數(shù)據(jù)準(zhǔn)備是指從許多數(shù)據(jù)中提取出有用的數(shù)據(jù),并對(duì)這部分?jǐn)?shù)據(jù)進(jìn)行整合,剔除無效數(shù)據(jù),建立所關(guān)注問題的數(shù)據(jù)庫(kù);規(guī)律表示是指運(yùn)用信息挖掘技術(shù)中的算法發(fā)現(xiàn)數(shù)據(jù)庫(kù)中隱藏的規(guī)律;結(jié)果表達(dá)是指專業(yè)人員對(duì)發(fā)現(xiàn)的規(guī)律用人們習(xí)慣的表達(dá)方式進(jìn)行合理的解釋,讓人們可以理解其中包含的信息,發(fā)現(xiàn)其中的商業(yè)價(jià)值。數(shù)據(jù)挖掘技術(shù)在電信、金融、醫(yī)療、保險(xiǎn)等領(lǐng)域有廣泛的應(yīng)用,可以用于客戶信用查詢、服務(wù)質(zhì)量改進(jìn)依據(jù)和提升行業(yè)競(jìng)爭(zhēng)力等方面。隨著數(shù)據(jù)資源的不斷增多,越來越多的信息需要用到數(shù)據(jù)挖掘技術(shù)進(jìn)行分析,這也促使該技術(shù)在人們的生產(chǎn)和生活中將發(fā)揮更大的作用。
二、數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用內(nèi)容
2.1 軟件版本信息挖掘
軟件工程版本信息挖掘是信息挖掘技術(shù)在軟件工程中應(yīng)用最廣泛的部分,軟件版本信息被挖掘可以幫助軟件開發(fā)者發(fā)現(xiàn)歷來軟件版本中出現(xiàn)的漏洞和更改措施,為軟件開發(fā)者提供新的軟件升級(jí)思路,對(duì)軟件版本進(jìn)行統(tǒng)一管理,使軟件更新速度加快,軟件漏洞不斷減少。目前信息挖掘技術(shù)對(duì)軟件版本信息的挖掘重點(diǎn)是將歷來軟件的變更信息進(jìn)行歸納總結(jié),發(fā)現(xiàn)軟件各個(gè)功能模塊之間的差異和聯(lián)系,方便開發(fā)者預(yù)測(cè)軟件功能模塊下一步需要修復(fù)的內(nèi)容,減少軟件后期的運(yùn)營(yíng)和維修成本??傊?,通過信息技術(shù)挖掘軟件版本信息,將更好的解決由于軟件更新造成的系統(tǒng)漏洞,減輕軟件后期運(yùn)營(yíng)和維修的負(fù)擔(dān)。
2.2 軟件漏洞檢測(cè)挖掘
軟件漏洞檢測(cè)挖掘的重點(diǎn)是要明確本次信息技術(shù)挖掘需要解決哪個(gè)漏洞問題,因?yàn)椴煌穆┒磫栴}所建立的數(shù)據(jù)庫(kù)是不同的,可以根據(jù)用戶的需求來選擇先解決哪個(gè)漏洞問題。明確了需要解決的漏洞問題就需要收集漏洞信息,對(duì)其中存在的問題數(shù)據(jù)進(jìn)行清理,然后匯總整合獲取的漏洞信息,建立軟件漏洞信息庫(kù)用于發(fā)現(xiàn)漏洞隱藏的問題。之后就需要我們采用合理的方法對(duì)軟件漏洞進(jìn)行分析,找出出錯(cuò)的地方便于進(jìn)行漏洞修復(fù)。最后需要通過信息挖掘技術(shù)對(duì)修復(fù)過的數(shù)據(jù)進(jìn)行保存,然后開發(fā)者對(duì)修復(fù)過的軟件進(jìn)行測(cè)試與評(píng)價(jià),檢驗(yàn)軟件修復(fù)的效果。如果還存在漏洞,也方便再對(duì)數(shù)據(jù)進(jìn)行調(diào)整。
2.3 開源軟件挖掘
開源軟件相較于普通軟件具有明顯的開放性和全面性,信息挖掘技術(shù)應(yīng)用于開源軟件能夠促進(jìn)兩者共同進(jìn)步,即信息挖掘技術(shù)效率更高,開源軟件開發(fā)更符合應(yīng)用需求。而且將信息挖掘技術(shù)應(yīng)用于開源軟件的程序代碼,能夠?qū)﹂_源軟件的代碼進(jìn)行復(fù)制和拷貝,實(shí)現(xiàn)開源軟件的代碼檢測(cè),避免了開源軟件由于代碼問題而出現(xiàn)漏洞。
2.4 軟件執(zhí)行記錄挖掘
軟件執(zhí)行記錄挖掘是通過逆向建模來檢測(cè)軟件執(zhí)行中的代碼,對(duì)軟件執(zhí)行路徑進(jìn)行數(shù)據(jù)挖掘以達(dá)到維護(hù)和驗(yàn)證軟件的目的,保障軟件程序的穩(wěn)定性。應(yīng)用數(shù)據(jù)挖掘技術(shù)對(duì)軟件執(zhí)行路徑進(jìn)行數(shù)據(jù)分析,能夠幫助軟件開發(fā)者了解軟件各個(gè)功能模塊代碼之間存在的聯(lián)系,使軟件系統(tǒng)代碼能更好的被維護(hù)。
三、數(shù)據(jù)挖掘技術(shù)在軟件工程中應(yīng)用的主要方法
數(shù)據(jù)挖掘技術(shù)在軟件工程中應(yīng)用的主要方法包括分類、聚類、關(guān)聯(lián)和軟件工程數(shù)據(jù)檢索等,分類法是指運(yùn)用數(shù)據(jù)挖掘技術(shù)建立一個(gè)分類模型,按照數(shù)據(jù)的屬性將其輸入相應(yīng)的模型中,使數(shù)據(jù)應(yīng)用更有條理。此方法與估值類似,但是估值輸出的常是連續(xù)性數(shù)值,可以在分類的前一步進(jìn)行估值。聚類法是通過判斷各數(shù)據(jù)之間的相似性,將數(shù)據(jù)劃分到不同的組中,在確保各組數(shù)據(jù)完全無關(guān)的前提下自動(dòng)建立數(shù)據(jù)分組。與分類法最大的區(qū)別就在于分類法屬于有指導(dǎo)的數(shù)據(jù)挖掘,而聚類法屬于無指導(dǎo)的數(shù)據(jù)挖掘。聚類法經(jīng)常被用于數(shù)據(jù)的預(yù)處理中,可以幫助相關(guān)工作者發(fā)現(xiàn)大數(shù)據(jù)之間的孤立點(diǎn),方便后續(xù)的分析。關(guān)聯(lián)法主要用于發(fā)現(xiàn)大數(shù)據(jù)之間的關(guān)聯(lián)度,主要用于發(fā)現(xiàn)那些事情總是同時(shí)發(fā)生。軟件工程數(shù)據(jù)檢索是軟件工程最原始的數(shù)據(jù)挖掘方法,操作起來較為簡(jiǎn)單,但是工作效率相較于前幾種方法效率并不高。
四、結(jié)束語(yǔ)
數(shù)據(jù)挖掘技術(shù)中應(yīng)用軟件工程能夠?yàn)檐浖_發(fā)提供便利,為軟件開發(fā)者制定合理的開發(fā)流程規(guī)劃,讓軟件應(yīng)用不僅滿足消費(fèi)者的需求而且還能減少軟件后期的維修。但是數(shù)據(jù)挖掘技術(shù)需要處理大量復(fù)雜無序的數(shù)據(jù),明顯加大了軟件工程中數(shù)據(jù)挖掘算法的設(shè)計(jì)難度,所以相關(guān)工作者還是需要不斷探索數(shù)據(jù)挖掘技術(shù)和軟件工程之間最佳的關(guān)聯(lián)途徑,為軟件開發(fā)者提供更科學(xué)有效的決策數(shù)據(jù)。
參考文獻(xiàn)
[1]宋鈺.數(shù)據(jù)挖掘技術(shù)在軟件開發(fā)中的應(yīng)用探究[J].軟件,2021,42(09):158-160.
[2]劉知云.關(guān)于數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用分析[J].電腦知識(shí)與技術(shù),2021,(24):27-28.