時間:2022-11-19 09:38:59
序論:在您撰寫軟件工程中數據挖掘技術的作用時,參考他人的優秀作品可以開闊視野,小編為您整理的1篇范文,希望這些建議能夠激發您的創作熱情,引導您走向新的創作高度。
本文即圍繞數據挖掘技術,就其在軟件工程中的具體應用,進行了分析和探討,具體內容如下:
1數據挖掘技術概述
數據挖掘(Datamining),也稱為數據采礦,是數據庫知識發現的一個基礎環節,是在海量數據中自動完成隱藏特殊關系數據搜索的過程,數據挖掘技術就是這一過程應用的相關技術。一般來說,數據挖掘過程可以分為四個環節進行,分別是選擇軟件庫保存的數據、完成選擇數據的預處理、對預處理得到的格式化數據進行挖掘、以及最終獲得目標數據。軟件工程是數據挖掘技術的重要應用領域,具體的數據挖掘工作普遍分為三個層次進行,分別是交互式可視數據探查、自動模式提取和建構模型。三個層次之間存在著直接的關聯聯系,其中可視數據探查是后兩者的基礎,而建構模型又是前兩者的指導。軟件工程領域應用數據挖掘技術的目的,主要是借助聚類、分析、預測、統計等技術手段,在海量數據資源中快速分辨、尋找符合人們應用需求的數據信息,并自動將檢索到的信息反饋至軟件系統。此外,為保障數據挖掘的科學性和有效性,數據源還應盡可能達到龐大、真實的要求。
2數據挖掘技術的應用分析
2.1開源軟件開發中的應用分析
所謂開源軟件,就是源代碼處于開放狀態的軟件,一般來說,開源軟件普遍對客戶免費開放,也正由于開源軟件的這一特性,導致對開源軟件的管理和控制變得相對困難。在這種環境背景下,在開源軟件開發階段引入數據挖掘技術,可有效提高開源軟件的開發質量。以大阪大學設計的分布式數據挖掘系統為例,該系統就可以在實現大規模系統挖掘的同時,完成對不同開源軟件的挖掘;再以牛津大學設計的數據挖掘系統為例,該系統實現了系統開發者和使用者的持續跟蹤管理,從而大幅度地提高了開源軟甲的使用率。
2.2軟件項目管理中的應用分析
數據挖掘技術在軟件項目管理中的應用,主要表現在以下兩個方面:(1)版本控制信息挖掘包含的對組織關系的挖掘;(2)對版本控制信息的挖掘。就軟件項目管理而言,其本身具有鮮明的系統性和復雜性特征,對組織關系的挖掘,是實現各類資源科學分配和協調的重要前提。以整個軟件項目管理過程中產生的電子郵件、共享文檔為例,對此進行數據挖掘就可以有效區分不同工種人員的組織關系,避免秩序混亂問題的發生,從而保障軟件項目管理工作的順利進行。另一方面,版本控制可以實現對文件內容變化的詳細記錄,并作為用戶了解版本修訂情況的依據和基礎。針對版本控制信息應用數據挖掘技術可進一步降低系統維護成本,同時可起到一定的警示作用,及時反映系統修復記錄中存在的紕漏,最終達到提高軟件項目管理水平的目的。
2.3程序代碼中的應用分析
本文涉及的程序代碼,主要是指克隆代碼,即通過簡單的“復制、粘貼”操作獲得并再次進行使用的代碼。數據挖掘在克隆代碼檢測中的應用,是數據挖掘技術應用的早期形式之一,目前應用較為普遍的方法包括基于標識符對比方法、基于文本對比方法等幾類。總的來說,數據挖掘在克隆代碼檢測中的應用還有待進一步的發展和完善,尤其是關于語法信息和語義挖掘的考慮,以提高檢測的科學性和準確性。對橫切關注點進行挖掘,也是數據挖掘技術的重要應用,主要是由于部分關注點在程序中的代碼具有極高的相似度,甚至是使用相同代碼導致的。目前,應用于Aspect的挖掘方法眾多,根據不同方法的具體特點,可以分為形式概念分析方法、本文和類型分析方法、聚類分析方法、以及自然語言分析方法等等。在對執行模式進行數據挖掘時,應優先選擇方法執行關系挖掘和形式概念分析法兩種方法。此外,數據挖掘技術還可用于對數據庫目標構件或代碼的挖掘應用,在數據挖掘技術的支持下,可大幅度提高檢索速度、效率和準確度。
2.4故障檢測中的應用分析
從故障檢測的角度分析,對程序執行記錄進行數據挖掘,可提供程序的交互模式和說明,而以上信息均可以作為軟件故障定位和檢測的依據。對程序說明的數據挖掘過程,就是對信息的跟蹤和逆向建模的過程,該過程對于加深對程序的理解,以及優化程序后續的維護管理,具有重要的作用和意義。目前,基于規則的挖掘方法是應用較為普遍的方法,其主要通過對程序行為的挖掘發現對應的規則,進而借助時態邏輯完成表達。
3數據挖掘技術的主要應用方法
3.1分類
數據挖掘技術涉及的相關分類方法,大致等同于某種預測分類標號的執行動作。在實際應用過程中,通常需要建構相應的分析模型,并提前根據相應規則輸入概念集或數據類集,以作為分析模型的應用基礎。目前,數據挖掘技術應用于軟件工程領域的分類方法中,主要的分類方法包括神經網絡分類法、判斷樹法、貝葉斯分類法、以及支持向量機等幾類。其中,判斷樹法在分類計算過程中主要借助貪心算法作為邏輯基礎,根據從上而下遞歸的模式完成判定樹的構造,而判定樹包含的各個子節點,就分別表示不同的軟件類別標號。
3.2聚類
聚類具體是指將研究涉及的大量數據,按照一定標準細分為不同簇或類的過程,從而在保障相同簇的對象之間擁有較好相似度的同時,不同的簇的對象之間有著較明顯的差異度。聚類和分類有著本質上的差異,聚類過程劃分的類對象具有不可預知性,即無指導的學習方法。聚類分析方法在其他算法的預處理范疇中有著大范圍的應用,尤其在數據分布信息獨立性分析方面有重要應用,不僅可更好地挖掘孤立點,同時可提高欺詐行為檢測的效率和準確性。
4結語
綜上所述,信息時代背景下,數據挖掘技術是快速處理海量信息、準確尋找目標信息的關鍵。就軟件工程而言,數據挖掘技術在開源軟件開發、軟件項目管理、程序代碼、以及故障檢測等方面,均有著重要的應用,相關人員必須提高對數據挖掘技術的重視和關注,切實加強數據挖掘技術的實際應用,以促進我國軟件工程行業的進一步發展。