王春明
摘 ?要:自進入大數(shù)據(jù)時代以來,強大的數(shù)據(jù)網(wǎng)絡(luò)已經(jīng)對人們的工作、生活,乃至科技發(fā)展方向都產(chǎn)生了巨大的影響。尤其是在軟件工程中數(shù)據(jù)挖掘技術(shù)的應(yīng)用,不僅有助于提高數(shù)據(jù)信息的處理效率,還為開發(fā)出高質(zhì)量軟件工程項目奠定了良好的基礎(chǔ)。所以,深入研究與剖析數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用具有十分重要的現(xiàn)實意義。為此,該文結(jié)合個人在數(shù)據(jù)挖掘技術(shù)上的研究經(jīng)驗,以及相關(guān)的參考文獻,從多個方向、多個角度入手,對數(shù)據(jù)挖掘技術(shù)在軟件工程中的作用與應(yīng)用展開探討,旨在為相關(guān)工作者在軟件工程科學(xué)技術(shù)的發(fā)展上提供有益的參考借鑒。
關(guān)鍵詞:軟件工程 ?數(shù)據(jù)挖掘技術(shù) ?優(yōu)勢 ?應(yīng)用 ?發(fā)展方向
中圖分類號:TN918;TP311 ? ? ? ? ? ? ?文獻標(biāo)識碼:A文章編號:1672-3791(2021)04(c)-0042-03
The Application of Data Mining Technology in Software Engineering
WANG ?Chunming
(Heilongjiang college of business and technology, Harbin, Heilongjiang Province, 150000 ?China)
Abstract: Since entering the era of big data, the powerful data network has had a great impact on people's work, life and even the direction of science and technology development. Especially in software engineering, the application of data mining technology not only helps to improve the efficiency of data information processing, but also lays a good foundation for the development of high-quality software engineering projects. Therefore, it is of great practical significance to study and analyze the application of data mining technology in software engineering. Therefore, the author of this paper, combining the personal research experience in data mining technology and relevant references, starts from multiple directions and multiple angles, and discusses the role and application of data mining technology in software engineering, aiming to provide useful reference for relevant workers in the development of software engineering science and technology.
Key Words: Software engineering; Data mining technology; Advantages; Application; Development direction
在軟件開發(fā)過程中,往往需要收集海量的數(shù)據(jù)信息,并對這些數(shù)據(jù)信息進行不斷的更新、優(yōu)化。而數(shù)據(jù)挖掘技術(shù)恰恰就是從海量數(shù)據(jù)信息中尋求其內(nèi)部發(fā)展規(guī)律的一種技術(shù)手段。也正因如此,將數(shù)據(jù)挖掘技術(shù)應(yīng)用到軟件工程,有助于提高軟件開發(fā)效率,提高軟件開發(fā)質(zhì)量,同時也為后來的軟件管理工作奠定了良好的基礎(chǔ)。所以,做好數(shù)據(jù)挖掘技術(shù)的應(yīng)用則具有十分巨大的價值。該文結(jié)合相關(guān)參考文獻以及個人實踐研究經(jīng)驗,對數(shù)據(jù)挖掘技術(shù)的應(yīng)用展開分析,以期促進數(shù)據(jù)挖掘技術(shù)與軟件工程的緊密結(jié)合,更好地發(fā)揮其應(yīng)用價值。
1 ?軟件工程與數(shù)據(jù)挖掘技術(shù)溯源
早在20世紀(jì)80年代初期,為了對數(shù)據(jù)庫中所蘊含的知識價值進行更好的挖掘,數(shù)據(jù)挖掘技術(shù)這一全新的理論被提出來。隨著大數(shù)據(jù)技術(shù)的飛速發(fā)展,數(shù)據(jù)挖掘技術(shù)也得到了越來越多的關(guān)注,相應(yīng)的研究重點也由最初的理論研究轉(zhuǎn)變?yōu)閷嵺`操作[1]。
軟件工程最早出現(xiàn)于20世紀(jì)60年代末期,是為了更好地解決軟件危機而提出的全新概念[2]。軟件工程與數(shù)據(jù)挖掘技術(shù)在歷史發(fā)展上大致保持在同步狀態(tài),這為數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用奠定了十分良好的基礎(chǔ)。進入21世紀(jì)至今,在全球范圍內(nèi)軟件工程的發(fā)展進入到了一個嶄新的階段,同時在軟件工程中需要使用的信息數(shù)據(jù)也越來越多,對信息數(shù)據(jù)的處理難度也越來越大。利用數(shù)據(jù)挖掘技術(shù)解決在軟件工程工作領(lǐng)域中遭遇到的實際困難,儼然已經(jīng)成為最好的選擇與必然趨勢[3]。
2 ?在軟件工程中應(yīng)用數(shù)據(jù)挖掘技術(shù)的優(yōu)勢
2.1 加強對數(shù)據(jù)信息的正確理解
單從個人角度來講,每個人對每條數(shù)據(jù)信息的理解都不盡相同。如果對數(shù)據(jù)信息的采集與理解上僅依靠人力作業(yè),不僅大大地增加了數(shù)據(jù)信息的采集與理解時間,也增加了數(shù)據(jù)信息的處理成本。由于受到個人主觀意識的影響,數(shù)據(jù)信息的權(quán)威性也有待商榷[4]。而利用數(shù)據(jù)挖掘技術(shù),將其科學(xué)合理地應(yīng)用在軟件工程中,不僅能夠針對不同的數(shù)據(jù)分析目標(biāo),對數(shù)據(jù)信息展開科學(xué)化分類,還能夠?qū)Σ杉降臄?shù)據(jù)信息進行系統(tǒng)化整合,形成完善的查詢體系,大大提高數(shù)據(jù)信息的權(quán)威性與準(zhǔn)確性,并為后續(xù)軟件開發(fā)、管理等工作提供便利,也進一步增強了對數(shù)據(jù)信息的正確理解。
2.2 有助于提高數(shù)據(jù)信息的處理質(zhì)量
數(shù)據(jù)挖掘技術(shù)能夠開展大規(guī)模的數(shù)據(jù)計算。近年來,隨著數(shù)據(jù)挖掘技術(shù)的進一步完善,其數(shù)據(jù)功能也越發(fā)專業(yè),在數(shù)據(jù)算速度以及準(zhǔn)確程度上都得到了良好的提升[5]。在實際工作中,只需要利用較短的時間,就可以順利完成對混亂數(shù)據(jù)、無效數(shù)據(jù)的多次篩選與處理,大大提高了數(shù)據(jù)信息的處理質(zhì)量。
2.3 有助于提升數(shù)據(jù)信息的利用率
借助于數(shù)據(jù)挖掘技術(shù)能夠?qū)此茻o用的、混亂無序的數(shù)據(jù)信息進行重新分類、深度挖掘,從而得到工作人員想要的數(shù)據(jù)信息結(jié)果。此時,相關(guān)工作人員就可以將所得到的數(shù)據(jù)信息結(jié)果應(yīng)用到實際工作之中,根據(jù)事件效果選擇更為適合的數(shù)據(jù)信息,從而進一步提高數(shù)據(jù)信息的利用效率。同時,借助數(shù)據(jù)挖掘技術(shù)還能夠?qū)⑤^為抽象的數(shù)據(jù)信息,轉(zhuǎn)變成為更容易被人們理解的信息資料,這也就使得轉(zhuǎn)換后的數(shù)據(jù)信息更容易被人們接受與利用,能夠成為人們工作決策的重要支撐。
3 ?在軟件工程中數(shù)據(jù)挖掘技術(shù)的具體應(yīng)用
3.1 在軟件版本信息上的應(yīng)用
眾所周知,在大型軟件的開發(fā)過程中,軟件版本信息管理相對較為復(fù)雜,每一次的更新升級都有可能造成代碼管理混亂。而利用數(shù)據(jù)挖掘技術(shù),不僅可以有效挖掘出軟件的歷史變更信息,還能夠通過對大量代碼的對比分析,確定各個版本、模塊之間的內(nèi)部聯(lián)系,從而在確保代碼融合效率的同時,避免出現(xiàn)管理混亂、管理漏洞[6]。
3.2 在軟件執(zhí)行記錄上的應(yīng)用
通過應(yīng)用數(shù)據(jù)挖掘技術(shù),實現(xiàn)對軟件執(zhí)行記錄的挖掘工作,可實現(xiàn)對軟件程序的全面分析,從而確保軟件運行符合預(yù)期判斷。為此,在執(zhí)行記錄的挖掘上,需要安裝路徑進行全面的查詢,對數(shù)據(jù)結(jié)構(gòu)進行擬向建模處理,從而展開軟件的維護與檢測工作,及時發(fā)現(xiàn)軟件在運行過程中存在的漏洞問題,進一步提高軟件運行的可靠性與安全性。
3.3 在軟件故障檢測中的應(yīng)用
在軟件工程中,科學(xué)地應(yīng)用數(shù)據(jù)挖掘技術(shù),可以有效檢測出軟件可能存在的故障問題,進而對軟件故障展開針對性的修復(fù)與維護。尤其是在軟件的開發(fā)與管理過程中,影響軟件正常運行的因素眾多,僅僅依靠傳統(tǒng)的定位技術(shù),雖然能夠?qū)浖收险归_初步處理,但是操作相對較為繁瑣、低效,且定位精確度不高。反之,利用數(shù)據(jù)挖掘技術(shù),結(jié)合全新的定位方式,就能夠迅速找出軟件故源頭,從而對軟件故障展開高效率地排查與處理。比如:配合使用程序譜抽象定位,對運行規(guī)矩加以處理,并且利用對比的方法,有效排除軟件故障問題。通過數(shù)據(jù)挖掘技術(shù)的應(yīng)用,還能夠有效鑒別出存在缺陷的軟件程序,并且科學(xué)地分配軟件修復(fù)順序,保證每一個軟件缺陷都能夠獲得最佳的修復(fù)方式。需要注意的是,為了進一步提高軟件修復(fù)效率,應(yīng)進一步對檢測重復(fù)缺陷報告技術(shù)進行強化。
4 ?在軟件工程中數(shù)據(jù)挖掘技術(shù)的實際應(yīng)用方法
4.1 關(guān)聯(lián)法
所謂的關(guān)聯(lián)法,主要是指對兩個事物之間的內(nèi)外在聯(lián)系著重關(guān)注的一種研究方法。在數(shù)據(jù)挖技術(shù)中,關(guān)聯(lián)法常常被應(yīng)用到數(shù)據(jù)信息的處理與采集之中。在關(guān)聯(lián)法的實際使用上,其工作原則主要體現(xiàn)在相關(guān)關(guān)聯(lián)與有趣關(guān)聯(lián)上。在這兩個關(guān)聯(lián)原則之上,數(shù)據(jù)挖掘技術(shù)與軟件工程之間的關(guān)系屬性又包括支持度與置信度這兩個屬性,同樣也是對所挖掘出的關(guān)聯(lián)規(guī)則是否有效的重要檢測指標(biāo)。
具體而言,對于支持度這個屬性,可以用P(A∪B)這個公式進行表示,其主要指在事務(wù)集D中,同時出現(xiàn)A項集與B項集的概率;對于置信度這個屬性,可以用P(B|A)這個公式進行表示,其主要是指在事務(wù)集D中出現(xiàn)項集A時,項集B出現(xiàn)的概率。
4.2 分類法
可以將分類法簡單地理解為:可以利用分類標(biāo)號進行預(yù)測的一種執(zhí)行動作。在分類法的實際應(yīng)用過程中,就必須要確保具備相應(yīng)的分析模型作為基礎(chǔ),即必須要構(gòu)建與分類法相對應(yīng)的分析型。同時,構(gòu)建的分析模型本身也必須要具備一定的應(yīng)用基礎(chǔ),這就需要提前引入數(shù)據(jù)類集或者概念集。目前,在軟件工程領(lǐng)域分類法的實際應(yīng)用中,判斷樹法是最為常見的一種方法,其下又包括神經(jīng)網(wǎng)絡(luò)分類法、K-最臨近分類法等幾種小的方法。需要注意的是,在分類法的使用過程中,必須能夠清楚地了解并且掌握分類法大類下所包含的計算方法及其適用范圍,以便用最低的成本取得最佳的效果。
4.3 聚類法
所謂的聚類法就是基于一定的劃分標(biāo)準(zhǔn),將研究工作中所涉及的數(shù)據(jù)對象細(xì)化為不同類、不同簇的一個過程。同時,在這個過程中,必須要確保同類、同簇的數(shù)據(jù)對象之間具備相當(dāng)高的相識度。相反的,不同類、不同簇的數(shù)據(jù)之間則必須要存在較為明顯的差異度。可以說,聚類法與上述的分類方法存在本質(zhì)性的差異,通過聚類法劃分出的數(shù)據(jù)對象不可作為指導(dǎo)學(xué)習(xí)方法,也就是不可以預(yù)知。但是,聚類法卻可以在其他算法的預(yù)處理范疇內(nèi)得到較為良好的應(yīng)用,尤其是在數(shù)據(jù)分布信息的獨立性分析上,聚類法得到了十分廣泛的應(yīng)用。這是因為聚類法在孤立點的挖掘上有著十分有益的表現(xiàn)[7]。
5 ?在軟件工程中數(shù)據(jù)挖掘技術(shù)的應(yīng)用發(fā)展方向
應(yīng)用數(shù)據(jù)挖掘技術(shù)于軟件工程中,其根本目的是為了最大限度地提高軟件開發(fā)質(zhì)量、開發(fā)效率,為后續(xù)的管理工作奠定良好的基礎(chǔ)[8]。因此,在軟件工程中數(shù)據(jù)挖掘技術(shù)的各個要素,都必須隨著軟件工程的發(fā)展而不斷優(yōu)化、更新,從而促使軟件工程于數(shù)據(jù)挖掘技術(shù)能夠更為緊密地結(jié)合在一起,發(fā)揮出最佳的作用。
為此,數(shù)據(jù)挖掘技術(shù)在未來的發(fā)展應(yīng)用過程中,應(yīng)該會向著更高性能的挖掘算研究而努力前進[9]。也就是說應(yīng)該針對目前軟件工程中數(shù)據(jù)挖掘技術(shù)存在的實際問題,研發(fā)出具備更高性能的挖掘算法。需要注意的是,目前在軟件工程中,絕大多數(shù)的檢測工具雖然能夠檢測出因為違反了給定程序的動態(tài)或者是靜態(tài)規(guī)則而造成的缺陷,檢測出能夠根據(jù)軟件執(zhí)行信息容易出現(xiàn)的缺陷,但是仍舊存在較大的缺陷,對于更為復(fù)雜的缺陷情況難以準(zhǔn)確檢測。所以,研發(fā)的方向應(yīng)該放在能夠檢測范圍更加廣泛的復(fù)雜化缺陷檢測工具之上。
與此同時,面對近年來軟件工程規(guī)模的逐步擴大,軟件需求的進一步增加,無論是在軟件開發(fā)工具的細(xì)化上,還是軟件開放者的參與度上都提出了較高的要求,且軟件開發(fā)周期還在進一步被迫延長。針對這一問題,針對海量的數(shù)據(jù)息,數(shù)據(jù)挖掘技術(shù)應(yīng)該圍繞數(shù)據(jù)降維、特征提取開放的方向發(fā)展,從而制定出更加高效的數(shù)據(jù)預(yù)處理方法[10]。
此外,還應(yīng)該充分結(jié)合人工智能化技術(shù)、機械人技術(shù)等更加先進的科學(xué)技術(shù),對數(shù)據(jù)挖掘技術(shù)本身進行完善,從而更好地服務(wù)于軟件工程的各個領(lǐng)域。
6 ?結(jié)語
如今,數(shù)據(jù)挖掘技術(shù)已經(jīng)成為軟件工程不斷發(fā)展進步的關(guān)鍵。因此,在未來的軟件工程中,更要加強數(shù)據(jù)挖掘技術(shù)與軟件開發(fā)、軟件管理等工作環(huán)節(jié)的有機融合,讓數(shù)據(jù)挖掘技術(shù)更加科學(xué)合理地應(yīng)用到軟件工程領(lǐng)域,推動軟件產(chǎn)品的優(yōu)化升級,更好地服務(wù)于客戶、服務(wù)于企業(yè)、服務(wù)于現(xiàn)代科技發(fā)展。
參考文獻
[1] 李金召.數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用與研究[J].計算機產(chǎn)品與流通,2020(5):30.
[2] 張海霞.數(shù)據(jù)挖掘在軟件工程領(lǐng)域中的應(yīng)用探討[J].現(xiàn)代信息科技,2020,4(21):13-16.
[3] 李高杰.軟件工程中數(shù)據(jù)挖掘技術(shù)的應(yīng)用與研究[J].無線互聯(lián)科技,2019,16(21):141-142.
[4] 黃俊.數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用[J].信息通信,2020(2):254-256.
[5] 王鵬,胥司祿,陳夢杰,等.關(guān)于數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用分析[J].電腦知識與技術(shù),2020,16(25):207-208.
[6] 周鶴.數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用探究[J].計算機產(chǎn)品與流通,2020(8):22.
[7] 張芷有.基于數(shù)據(jù)挖掘的入侵檢測方法的研究[D].南京郵電大學(xué),2020.
[8] 馬亦軒.嘉泰公司生產(chǎn)設(shè)備管理系統(tǒng)設(shè)計與實現(xiàn)[D].大連理工大學(xué),2016.
[9] 吳文慶.數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用[J].科技資訊,2019,17(13):7-8.
[10] 郭東峰.數(shù)據(jù)分析挖掘技術(shù)淺析[J].科技資訊,2020,18(28):17-19.