龍艷
摘 要:在軟件開發(fā)領(lǐng)域,數(shù)據(jù)挖掘技術(shù)憑借其優(yōu)勢被大力推崇,但礙于國內(nèi)針對此技術(shù)的研究尚停留在初級階段,故而只有通過不斷的理論探討和實(shí)踐積累,才能確保其發(fā)揮更大的價(jià)值。針對此,本文圍繞數(shù)據(jù)挖掘技術(shù)在軟件工程領(lǐng)域的實(shí)際應(yīng)用展開深度探討。
關(guān)鍵詞:數(shù)據(jù)挖掘技術(shù);軟件工程;應(yīng)用
1 簡要剖析數(shù)據(jù)挖掘技術(shù)
1.1 數(shù)據(jù)挖掘技術(shù)的基本概念
數(shù)據(jù)挖掘技術(shù)的發(fā)展時(shí)間可追溯到上世紀(jì)末期,是建立在數(shù)據(jù)庫中海量理論知識基礎(chǔ)上而來的,并成為數(shù)據(jù)庫領(lǐng)域創(chuàng)新型應(yīng)用研究技術(shù)的典型代表。經(jīng)過不斷的理論研討和實(shí)踐積累,數(shù)據(jù)挖掘技術(shù)已經(jīng)在數(shù)據(jù)庫領(lǐng)域占據(jù)了主導(dǎo)地位,然而由于多方面原因,該技術(shù)缺乏明確的基本概念。
當(dāng)下,由弗勞利提出的針對數(shù)據(jù)挖掘技術(shù)的定義是最受公眾認(rèn)可的,其將該項(xiàng)技術(shù)理解為從海量數(shù)據(jù)庫中提取具有實(shí)際應(yīng)用價(jià)值,且內(nèi)容新穎、形式獨(dú)特的數(shù)據(jù)信息,并將其作用于可理解模式中。具體內(nèi)容如下:
其一,數(shù)據(jù)信息不僅要包含多方面專業(yè)領(lǐng)域,并且要保證信息的真實(shí)可靠;
其二,能夠符合公眾的興趣愛好;
其三,所獲取的信息新穎獨(dú)特且有實(shí)際應(yīng)用價(jià)值;
其四,對知識量沒有特定的要求。
總而言之,數(shù)據(jù)挖掘技術(shù)對專業(yè)性要求較高,涉獵內(nèi)容廣泛且復(fù)雜,是集人工智能模式、數(shù)據(jù)分析模式于一身的創(chuàng)新型學(xué)科。
1.2 技術(shù)應(yīng)用流程簡介
數(shù)據(jù)挖掘流程主要包括如下三個(gè)階段:
1)數(shù)據(jù)預(yù)處理。在此階段中,高效獲取原始數(shù)據(jù)信息的根本在于明確任務(wù)處理對象,換言之,就是獲取符合實(shí)際需求標(biāo)準(zhǔn)的數(shù)據(jù)信息。數(shù)據(jù)清洗的宗旨是彌補(bǔ)原始數(shù)據(jù)缺陷,保證數(shù)據(jù)信息的完整性。數(shù)據(jù)抽取就是從海量的數(shù)據(jù)庫中快速獲取與實(shí)際任務(wù)存在緊密關(guān)聯(lián)的數(shù)據(jù)信息。而數(shù)據(jù)轉(zhuǎn)換的實(shí)質(zhì)就是切換數(shù)據(jù)的格式,提高數(shù)據(jù)信息的適用性,最大限度的滿足需求。
2)數(shù)據(jù)挖掘。首要步驟是制定合理的挖掘任務(wù),具體包括數(shù)據(jù)歸納分類、數(shù)據(jù)評價(jià)總結(jié)等,然后再確定恰當(dāng)?shù)耐诰蜻\(yùn)算方法,結(jié)合數(shù)據(jù)的實(shí)際特征及系統(tǒng)的具體需求推敲運(yùn)算方法。
3)模式評估與知識表示。模式的實(shí)際用途在于準(zhǔn)確表達(dá)數(shù)據(jù)挖掘成果,以興趣度作為度量標(biāo)準(zhǔn),構(gòu)建有識別能力的完整表達(dá)模式。
2 在軟件工程領(lǐng)域應(yīng)用數(shù)據(jù)挖掘技術(shù)的實(shí)際策略
軟件工程涉及諸多與軟件相關(guān)的數(shù)據(jù)資料,通常這些數(shù)據(jù)資料由軟件代碼庫統(tǒng)一保管儲存,合理應(yīng)用數(shù)據(jù)庫可以進(jìn)一步提高軟件開發(fā)人員的實(shí)際工作效率,確保系統(tǒng)維護(hù)人員全方位了解整個(gè)系統(tǒng)框架。例如程序員在分配軟件工程具體任務(wù)的過程中,可以迅速且準(zhǔn)確的識別系統(tǒng)組件的獨(dú)立性。在軟件工程中,統(tǒng)一軟件開發(fā)過程的循環(huán)會生成海量的數(shù)據(jù)信息,而這些數(shù)據(jù)都是待挖掘?qū)ο螅谲浖こ痰闹芷谙拗疲麄€(gè)過程分為如下幾個(gè)階段:
2.1 根據(jù)需求采取特異行設(shè)計(jì)
需求和設(shè)計(jì)階段就是依照軟件工程的設(shè)計(jì)標(biāo)準(zhǔn)制定切實(shí)可行的方案,一旦需求發(fā)生變化,軟件工程設(shè)計(jì)要順從這種變化,而且這對程序設(shè)計(jì)人員的專業(yè)技術(shù)也提出了更高的標(biāo)準(zhǔn)要求,設(shè)計(jì)人員需要掌握優(yōu)越的設(shè)計(jì)手段,借助數(shù)據(jù)挖掘技術(shù)深度剖析軟件代碼重新組構(gòu)問題,以提高程序代碼抽取的實(shí)際效率。
2.2 確定運(yùn)算法則
此階段是對數(shù)據(jù)挖掘技術(shù)需求量最大的關(guān)鍵階段,具體包括如下幾個(gè)環(huán)節(jié):
其一,在軟件工程編碼過程中,需要結(jié)合工程研發(fā)的實(shí)際需求,實(shí)時(shí)記錄軟件編碼程序,以此為基準(zhǔn),深度剖析程序代碼的內(nèi)在關(guān)聯(lián)。
其二,具有調(diào)試效應(yīng)的數(shù)據(jù)挖掘技術(shù)。對于軟件工程來說,由于其調(diào)試過程對專業(yè)性要求較高,因此多為軟件開發(fā)技術(shù)人員獨(dú)立操控,其宗旨在于提高軟件系統(tǒng)的安全性和適用性,滿足用戶的需求。軟件系統(tǒng)調(diào)試工作基于其自身的復(fù)雜繁瑣性,需要消耗大量的時(shí)間和精力,并且調(diào)試技術(shù)人員要遵照行業(yè)標(biāo)準(zhǔn)規(guī)范,特別是針對系統(tǒng)較為復(fù)雜的軟件工程,其在一定程度上加大了調(diào)試工作的難度。開展調(diào)試工作的實(shí)際目的就是分析系統(tǒng)漏洞,定位軟件錯(cuò)誤信息,而通過合理應(yīng)用數(shù)據(jù)挖掘技術(shù),可以有針對性的減小調(diào)試工作的難度。
其三,檢測軟件工程漏洞。任何軟件工程都無法完全避免系統(tǒng)漏洞,根據(jù)相關(guān)社會調(diào)查結(jié)果顯示,常見的軟件工程系統(tǒng)漏洞一般不會給用戶造成過重的經(jīng)濟(jì)損失,例如,1996年發(fā)生在美國的航天飛船墜毀事件,就是最具代表性的實(shí)際案例。而且軟件系統(tǒng)漏洞檢測需要消耗整個(gè)開發(fā)設(shè)計(jì)周期超過百分之三十的時(shí)間,使得軟件工程系統(tǒng)漏洞檢測工作越發(fā)重要。具體包括如幾點(diǎn)內(nèi)容:
1)從源代碼中推斷錯(cuò)誤、復(fù)制粘貼錯(cuò)誤檢測和函數(shù)匹配檢測。以從源代碼中推斷錯(cuò)誤為例,先要使用頻繁項(xiàng)集挖掘算法找出代碼中頻繁項(xiàng)集,確定滿足最小支持度的程序規(guī)則,進(jìn)而推斷程序?qū)σ?guī)則的順從程度,一旦發(fā)現(xiàn)其中大部分都符合程序基本要求,說明那一小部分極有可能是漏洞規(guī)則。
2)在軟件工程中,系統(tǒng)維護(hù)階段較為關(guān)鍵,該階段要求維護(hù)技術(shù)人員充分認(rèn)知整個(gè)系統(tǒng)框架。通常來說,軟件維護(hù)的具體工作包括彌補(bǔ)程序缺陷,糾正程序錯(cuò)漏,優(yōu)化設(shè)計(jì)環(huán)境,并按照實(shí)際需求增設(shè)程序應(yīng)用。在系統(tǒng)維護(hù)階段應(yīng)用數(shù)據(jù)挖掘技術(shù)的主要內(nèi)容有:第一,引導(dǎo)軟件修改。對于軟件系統(tǒng)來說,一個(gè)代碼的調(diào)整都會引發(fā)一系列關(guān)聯(lián)反應(yīng),而數(shù)據(jù)挖掘技術(shù)就是要確定修改模式,以防模塊修改頻率過高;第二,落實(shí)切面挖掘。具體來說就是有針對性的補(bǔ)充編程程序,進(jìn)一步提高系統(tǒng)的安全穩(wěn)定性。
3 結(jié)語
綜上所述,將數(shù)據(jù)挖掘技術(shù)合理應(yīng)用到軟件工程項(xiàng)目中,能夠促進(jìn)軟件工程的良好發(fā)展,結(jié)合現(xiàn)階段的實(shí)際應(yīng)用概況可知,數(shù)據(jù)挖掘技術(shù)擁有極為寬廣的發(fā)展空間,需要技術(shù)人員進(jìn)行深入的研究,不斷改進(jìn)技術(shù)水平,強(qiáng)化專業(yè)素質(zhì),從而為軟件工程的良性發(fā)展獻(xiàn)策獻(xiàn)力。
參考文獻(xiàn):
[1]石樂天.數(shù)據(jù)挖掘技術(shù)在軟件工程中的應(yīng)用[J].信息與電腦(理論版),2018(04).
[2]張勇.軟件工程行業(yè)中數(shù)據(jù)挖掘的應(yīng)用探討[J].中國新通信,2018(05).