數據挖掘在軟件工程技術中的應用畢業論文
摘要 計算機技術在發展,軟件也發展的越來越復雜,而系統開發工作也顯得更加重要。信息技術的廣泛應用會產生大量數據,通過對數據進行挖掘,分析其存在的規律,對實現數據資源的有效利用意義重大。本文就數據挖掘技術在軟件工程中的應用作簡要闡述。
關鍵詞 數據挖掘技術;軟件工程中;應用軟件技術
隨著信息技術發展而快速發展,但是其可控性並不是特別強。軟件在應用過程中會產生大量數據,數據作為壹種寶貴的資源,有效的利用可以帶來價值增值。作為軟件開發行業,數據挖掘技術應用則實現了數據資源的有效利用,通過對其中規律進行研究,為軟件工程提供相應指導,並且對於系統故障能夠有效處理,成本評估的有效性也能夠提升。
1數據挖掘技術應用存在的問題
1.1信息數據自身存在的復雜性
軟件工程所包含的數據可以分為兩個類別,結構化與非結構化。在非結構化數據中軟件代碼發揮著重要作用。而對結構化數據產生影響的則是軟件版本信息。結構與非結構化數據二者之間聯系非常密切。實現數據有效利用就需要通過壹定技術找出其中的規律。數據挖掘技術則剛好滿足需求。利用該技術對結構與非結構化數據進行整合,提升其使用的有效性。
1.2在評價標準方面缺乏壹致性
數據挖掘技術在生活中的應用比較廣泛,通過該技術應用能夠更好的對實際情況進行評價,從而對結果進行優化。但是由於沒有統壹標準,導致了軟件信息復雜。而在表述方式方面自身又存有差異性。信息獲取者無法有效的對信息進行應用及對比。而信息缺乏統壹標準的原因就在於評價方式不壹致。
2數據挖掘技術在軟件工程中的應用
2.1數據挖掘執行記錄
執行記錄挖掘主要是對主程序的路徑進行分析,從而發現程序代碼存有的相關關系。其實質是通過對相關執行路徑進行分析,並進行逆向建模,最終達到目的。作用在於驗證,維護,了解程序。記錄挖掘的過程通常是對被分析的系統進行初步插裝,之後是記錄過程,該過程在執行上壹步程序後,對應用編程接口,系統,模塊的狀態變量記錄,最後是對所得到的信息進行約簡,過濾,聚類。最終得到的模型能夠表達系統的特征。
2.2漏洞檢測
系統或是軟件自身都會存在漏洞,漏洞自身具壹定的隱蔽性,由於人的思維存在某些盲區,無法發現漏洞的存在,就需要借助於某些軟件。檢測漏洞的目的就在於找出軟件中存在的漏洞及錯誤,並對其進行修復,從而保證軟件質量與安全。將數據挖掘技術應用於軟件檢測,首先要確定測試項目,結合到用戶需要,對測試內容進行規劃,從而確定測試方法,並制定出具體方案。測試工作環節主要是對數據進行清理與轉換,其基礎在於漏洞數據收集,通過對收集與采集的信息進行清理,將與軟件數據有關聯同時存在缺陷的數據篩選出來,而將剩余無數據清理,對丟失項目采取相應措施補充,將其屬性轉換為數值表示。之後是選擇適當的'模型進行訓練與驗證,該環節要結合到項目實際的需要選擇挖掘方式,通過對不同數據結果進行分析與比較找到最適合的方式。之後則是重復應用上述方法,對軟件存在的漏洞進行定位與檢測。並將與之對應的數據收集於軟件庫,在對漏洞進行描述的基礎上分類,最後將通過挖掘得到的知識應用到測試的項目中.
2.3開源軟件
對於開源軟件的管理由於其自身的開放,動態與全局性,需要與傳統管理軟件進行區別對待,壹般情況下,成熟的開源軟件對於軟件應用記錄較為完整,參與的內容包括了錯誤報告,開發者活動。參與開發的工作人員會處在動態變化之中,存在動態變化的原因就在於軟件的開放性。同時對於軟件中動態性特征的挖掘,可達到對開源軟件進行優質管理的目標。
2.4版本控制信息
為了保證參與項目人員所***同編輯內容的統壹性,就需要對系統應用進行控制。軟件開發工程應用中,開發工作管理與保護都會通過版本控制系統來實施。並且其應用方式主要是對變更數據挖掘,找出不同模塊及系統存在關系,並對程序中可能會存在的漏洞進行檢測。此類技術的應用,使得系統後期維護成本被有效的降低,而對後期變更產生的漏洞也有壹定的規避作用。
3數據挖掘在軟件工程中的應用
3.1關聯法
該方法作用在於尋找數據中存在的相關聯系與有趣關聯。而體現的關聯規則有兩個明顯的特征。①支持度;②信度。前者表示在某個事物集中,兩個子集出現的概率是相同的。而後者則表明了某事物在事物集中出現的概率,而另壹事物也會出現。
3.2分類方法
該方法主要是應用於分類標號與離散值的操作。該方法的操作步驟是,首先要建立相應的模型,對數據進行描述,並利用模型對其進行分類。在分類方法選擇方面,常用的有判定樹法,貝葉斯法,支持項量機法等。判定樹法應用的基礎是貪心算法。
3.3聚類方法
該方法常用的有劃分方法,基於密度,模型,網格的方法與層次方法。聚類分析輸入的是壹組有序對,有序對中的數據分別表示了樣本,相似度。其基本的應用理論是依據不同的對象數據予以應用。
4數據挖掘在軟件工程中的應用
4.1對克隆代碼的數據挖掘
在軟件工程中最為原始的是對克隆代碼的檢查測試。就其方式而言有文本對比為基礎,標識符對比為基礎。前者是利用系統中程序代碼包含的語句進行判斷。該方法在後期改進過程中主要是對字符串匹配效率進行提升。實際應用過程中是通過相關函數匹配對效率進行優化。
4.2軟件數據檢索挖掘
該方法同樣是軟件工程中原始的挖掘需求之壹。該方法在應用時主要有以下三個步驟。
①數據錄入。其實質是對需要檢索的信息錄入,並結合到使用者需要在數據中查找使用者需要的數據。
②信息查找過程。確認了用戶需要查找的信息後,系統將依據信息內容在數據庫中進行查找,並分類羅列。
③信息數據導出與查看。用戶可以依據自身需要將數據導出或者是在線查看。數據在導出時會形成相應的記錄,客戶再次進行查找時就會更加的方便與快捷。而將數據導出則需要利用到相關的軟件。
4.3應用於設計的三個階段
軟件工程有許多關於軟件的資料,資料通常是存放於代碼庫中。數據運用可以提升工作效率。軟件工程每壹次循環都會產生大量的數據。基於軟件工程生命周期可以將其分為分析設計,叠代的開發,維護應用三個階段。
4.4面向項目管理數據集的挖掘
軟件開發工作到目前已經是將多學科集中於壹體。如經濟學,組織行為學,管理學等。對於軟件開發者而言,關註的重點除過技術方面革新外,同時也需要科學規範的管理。除過對於版本控制信息挖掘外,還有人員組織關系挖掘。對於大規模的軟件開發工作而言,對人力資源的有效分配與協調也是軟件工作領域需要面對的問題。例如在大型系統開發過程中,往往會有許多人參與其中,人員之間需要進行溝通交流。交流方式包括了面對面溝通,文檔傳遞,電子信息等。通過對人員之間的關系進行挖掘,有利於管理工作開展。員工群體存在的網絡是社會網絡。通過人員合理組織與分配,將會影響到項目進度,成本,成功的可能性。而對該方面實施研究通常采用的是模擬建模。
5結束語
軟件工程技術在生活中許多領域都有廣泛的應用,數據挖掘作為其中的壹項技術,其重要性及作用隨著技術發展而表現的越加明顯。為了保證挖掘技術的可靠性與高效,與其它工程技術有壹定融合性。數據挖掘在實際應用工作中體現出了巨大的經濟效益,因此應該大力推進其應用的範圍,並拓展其應用的深度與層次。
參考文獻
[1]李紅蘭.試論數據挖掘技術在軟件工程中的應用綜述[J].電腦知識與技術,2016(34).
[2]雷蕾.關於數據挖掘技術在軟件工程中的應用綜述究[J].電子測試,2014(02).
[3]孫雲鵬.數據挖掘技術在軟件工程中的應用綜述[J].中國新通信,2015(15).
;