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