本站小編為你精心準備了數據挖掘技術的軟件工程論文參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
1數據挖掘技術
常見數據挖掘技術包括:分類樹技術、關聯發現技術、聚類技術、人工神經網絡、最優集合規約技術以及可視數據挖掘技術等。軟件度量數據往往具有多維度、高耦合性,軟件工程數據挖掘中會采用一些特殊處理技術,包括統計分析、回歸建模、分類樹以及神經網絡等。在具體軟件工程實踐中,選擇何種挖掘技術,其決定性因素為想要達成的目標。
2數據挖掘實現過程
通常,數據挖掘過程包括4個步驟,即選擇數據、預處理、實施挖掘以及吸收數據。數據挖掘整個過程具有交互性,有時數據需要重新選擇,有時也要對數據預處理進行改進,也可能出現算法反復被調整現象,基于這種特征,數據挖掘時要設置反饋環。挖掘數據第1步是將管理和目標反映到1個(或多個)挖掘任務中,整個過程可主要劃分成為六種:1)評估、預測。評估包括對軟件產品、過程以及資源的屬性進行相應檢查就是整個評估過程,同時也需要根據這些屬性,賦值給未知屬性,當然這些未知屬性需要進行量化。評估工作完成后,要對屬性值進行預測。2)分類。檢查1個特定實體屬性,根據結果將其劃分到另1個類別或范疇(事先定義好)中。3)關聯發現。關聯發現能夠識別出特定內容中互相存在關聯某些屬性。如,可將找出在軟件開發屬性和產品屬性相互關聯的內容找出來。4)聚類。將1個結構不相同的群體劃分到另1個具有相同結構的子群集合中,這個過程叫做聚類,它的劃分依據是成員之間具有高度相似性。5)數據可視化。數據可視化是利用可視化描述方法來定義復雜信息。6)可視數據探察??梢暬瘮祿讲焓菍γ枋龉ぷ鞯南鄳卣?,可利用數據可視化交互控制來分析和檢視海量數據[3]。它應用具有可視化功能和數據挖掘技術來對數據進行處理。
3挖掘技術在軟件工程中應用
上文提及到軟件工程度量,部分可利用信息已在海量數據中被提取出來,但普遍認為更為有效且數量眾多的數據依然在軟件工程相關數據庫中隱藏,而沒有被發現。實際上,數據挖掘就是1種被公認為提升軟件工程度量的技術。圖1為數據挖掘在軟件工程中的應用。
3.1數據挖掘繁榮原因1)計算機硬件系統和軟件系統的基礎設施建立具備發現驅動、分析數據等功能;2)每種技術都在實際應用中不斷得到改進,其使用能力不斷提升。如,模式識別、神經網絡等有明顯進步趨勢;3)數據存儲、貯藏、集成成本不高,海量數據可輕松獲得。數據挖掘技術被人們認識,并在實踐中逐漸被重視,同時也給研究和進一步提高數據挖掘技術提供了便利條件。
3.2面臨挑戰軟件工程自身存在很多數據上的特殊性,給數據挖掘領域研究工作帶來制約和影響,主要表現在以下三個方面:1)數據復雜。軟件工程數據主要分為兩個組成部分,即結構化數據、非結構化數據。結構化數據主要包括缺陷報告、版本信息等內容,而非結構化數據則包含數據代碼、相應注釋以及文檔等內容。結構化數據、非結構化數據并不能同時適用一種算法,而且兩種數據間還存在對應聯系。如,1個缺陷報告中往往包括缺陷代碼段。而結構化數據里常常涵蓋部分非結構化信息,非結構化數據中亦是如此,這也是今后工作中需要重點解決的問題之一。2)非傳統分析存在局限。數據挖掘最終想實現的目標就是將轉化而來的信息傳達給用戶,實現信息共享。傳統數據挖掘技術在使用過程中,信息手段比較單一,如文字、圖表等表達形式。其實,軟件開發商對信息的要求很高,1個統計結果根本不能滿足其工作需求。為促進軟件開發不斷向上發展,開發人員需要相關信息作為參考依據,包括開發實際案例、編程所需模板、系統缺陷定位以及軟件結構設計等。研究數據挖掘技術,提升其實際使用功能,需要不斷提交新信息、新知識,并改進相應手方法。3)挖掘結果評價標準不夠具體。軟件工程數據挖掘尚未形成完善的結果表示體系,其評價體系也有待加強。人員在軟件開發過程中需要大量信心,這些信息非常具體且復雜,表示方法不盡相同,互相之間難以做出對比,也很難用定量方法去分析挖掘結果。
4結束語
“數據挖掘”是在發展過程中被人們定義的,但軟件工程中對此類數據的研究早就存在。數據挖掘技術能夠為研究軟件工程數據提供方便,具有重要應用價值。因此,筆者認為將兩者充分結合是計算機信息技術發展的必然趨勢。若以過程角度來看,軟件工程涉及到數據挖掘各個周期、階段,甚至是具體實施步驟;以技術角度看,數據挖掘在軟件工程中應用廣泛。數據挖掘技術雖然在實踐中取得一定應用效果,但還有更廣闊的空間沒有內充分挖掘出來,為廣大從業人員提供創新空間。
作者:賀瑋單位:同濟大學軟件學院