可可簡歷網

位置:首頁 > 書信 > 申請書

論資料倉庫和資料探勘技術的構件庫管理系統

申請書1.61W
摘要】:通過較為成熟的資料倉庫和資料探勘技術儲存和檢索構件資訊。資料倉庫中不僅儲存了構件實體,還存放有構件的描述資訊、構件的複用歷史資訊、構件的使用者反饋資訊。通過資料探勘技術在構件倉庫中查詢構件,為使用者提供高效、準確的構件查詢和輔助選擇方案,為構件複用成功提供了有效的技術保障。【關鍵詞】構件;
構件倉庫;
資料探勘;
反饋;
決策樹  作者簡介:陳文,23歲,男,四川南充人,軟體工程師,重慶西南大學計算機與資訊科學學院2005級碩士研究生,研究方向:軟體測試,軟體複用。 引言   軟體構件技術是軟體複用的一種重要手段,是近年來軟體複用研究的熱點,目前出現了大量的基於構件的應用軟體開發,取得了良好的效果。要使用基於構件的軟體開發技術,發揮構件在軟體重用方面的優勢,就必須要有支援整個軟體生命週期幷包含有大量可用構件的構件庫系統,有效的構件管理和高效的構件查詢是構件庫系統成功的關鍵。本文研究的重點是將資料倉庫,資料探勘技術應用到構件庫系統中,為構件庫管理員提供切實有效的構件管理方法和為使用者提供高效的構件查詢方法和構件選擇的輔助決策支援。資料倉庫與資料探勘技術2.1  資料倉庫技術   著名的資料倉庫專家在其著作《Building Data WareHouse》一書中給出瞭如下的資料倉庫的定義:資料倉庫是面向主題的(Subject-Oriented),整合的(Interated),時變的(Time-Variant),非違約的(Non-volatile)一系列用於管理和決策制定的資料集。   面向主題是資料倉的重要特徵,這是與傳統資料庫面向應用相對應的。主題是一個在較高層次將資料歸類的標準。基於主題組織的資料,被劃分為各自獨立的領域,每一個領域有自己的邏輯內涵,互不交叉,資料只是為具體處理而組織在一起。傳統的E-R型資料模式能較好的執行聯機事務處理(OLTP),但不適應決策支援分析,而資料倉庫則是為決策管理提供支援資訊,根據業務需求從使用者的角度基於主題來組織資料,並形成相應的資料檢視,彙總表等,因此適於聯機分析處理(OLAP)。    資料倉庫的第二個特點是整合化,資料從面向應用的操作環境中,提取到資料倉庫中時,都要經過整合化,統一原始資料中的所有矛盾如命名衝突,資料結構轉換等,最終達到:一致的命名,變數度量,編碼結構,物理屬性等。    資料倉庫的另一個特點是非違約性。因為資料倉庫中的資料是歷史資料,資料經整合進入資料倉庫後,一般不需要改變。針對資料進行的基本操作只是裝資料和訪問資料,因此不存在傳統資料庫中的資料恢復,資料同步,修復死鎖等複雜問題.2.2  資料探勘技術概述   資料探勘(Data Mining)就是從大量的、不完全的、有噪聲的、模糊的、隨機的資料中,提取隱含在其中的、人們事先不知道的、但又是潛在有用的資訊和知識的非平凡過程,這些資訊的表現形式為:規則、概念、規律及模式等。它可幫助決策者分析歷史資料及當前資料,並從中發現隱藏的關係和模式,進而預測未來可能發生的行為。當前構件庫系統應用中的困難   隨著構件庫系統的發展,當構件數目逐漸增多時,使用者在查詢和選取構件時會碰到以下一些困難:  (1)在查詢的過程中,可能有多個滿足使用者查詢條件的構件,如何快速有效地從眾多的候選構件中,準確的判斷並選取所需的構件,這是一個複雜的決策過程,一般都依賴於使用者的複用經驗,以及對構件的理解和主觀判斷。  (2)通常使用者都是通過刻面、屬性、關鍵詞、關係等表示式, 根據所需構件的特徵,進行構件的查詢。然而訪問構件的使用者具有不同的層次,可能不熟悉構件的刻面分類模式,對構件的理解比較困難。  (3)使用者查詢前並沒有一個明確的目標,只是想通過查詢構件庫,找到能夠利用和複用的構件,因而,如何通過構件的複用歷史和其它使用者的覽勝經驗,為使用者提供一定程度的複用幫助是很必要的。  (4)對需求規約、設計、模式、測試計劃等文件知識的構件複用屬於間接複用,需要複用者首先進行分析和理解。在大多數複用情況下,對構件的複用是白盒複用,也是就根據構件複用者的反饋,對構件進行適應性修改。如何跟蹤軟體複用的經驗和構件的使用歷史,輔助使用者選取相應的分析,設計及改動最小的構件是關鍵。   綜上所述,由於當前的構件描述多是基於構件某一方面特徵,如構件介面、構件屬性、執行環境等進行描述,而缺乏對構件的功能及非功能屬性的精確的,形式化的語義描述,這將導致某一候選構件與需求構件在構件的描述匹配中完全一致,但該構件並不一定能完成需求的功能。例如,使用者試圖尋找一個計算兩數相加輸出和的加法構件,但候選的是一個計算兩相乘輸出積的乘法構件,需求構件與候構件在構件介面引數描述、環境依賴等方面完全匹配,但功能上卻大相徑庭。因為缺乏非功能屬性上描述,當前的構件匹配也存在著即使候選構件與需求構件在功能上一致但由於在非功能屬性上不合要求仍不能完成使用者需求的問題。特別是當用戶應用程式在總體的非功能屬性上,例如使用者介面、程式安全性、適時性、可靠性等,有特殊要求時,構件的非功能屬性一致性就更加重要。   構件描述必須具有完全性、完備性、易解理性。構件描述完全性指能夠描述構件各個方面的特性,不存在構件的某一特性不能描述的情況,完備性是指所有的構件都能描述,不存在某一構件不能描述的情況。理論的構件描述方法是語義描述,即以形式化手段描述構件的功能或行為語義,系統可以通過定理證明及基於知識的推理過程來尋找語義上等價或相近的構件。遺憾的是這種基於語義的描述方法涉及許多人工智慧難題,目前難於支援大型構件庫工程實現。當前基於不同構件模型的較為成功的構件描述語言CORBA IDL,DCOM IDL和EJB IDL以及被認為是最好的通用構件描述語言XML,它們都能夠描述構件多方面的特性,並且具備編譯和瀏覽工具的支援,但是在描述構件介面語義和構件間複雜的互動協議方面缺乏進一步的支援,因此都不能很好的滿足構件描述的完全性、完備性、易理解性三個方面的要求。例如CORBA IDL不能描述符合CORBA標準以外的構件,也不能精確的描述構件的功能及非功能性特點。因此基於當前的各類構件描述語言,它們的描述只能讓使用者獲得構件某些方面的,抽象的認識,尚不能讓使用者對整個構件有全面清楚的認識,故勢必影響構件選取,構件複用。而構件的複用歷史,早期使用者對構件的使用結果,使用評價,修改意件等複用經驗會對後期使用者對構件的認識,選取決策起到重要的輔助作用。因此有效的管理構件的複用歷史記錄,先期使用者的複用反饋資訊非常重要。基於資料倉庫技術的構件管理   傳統的基於聯機事處理理(OLTP)的E-R資料庫並不適於歷史資料的長期存放與管理,而資料倉庫技術正是用於存放歷史資料資訊,並對使用者提供決策支援的系統,適宜於聯機事務分析(OLAP),故建立基於資料倉庫技術的使用者反饋資訊庫以支援構件的儲存和檢索是可行的。在使用者反饋資訊庫中,對反饋資訊進行一定程式的量化處理,主要包括七個維度:時間維度Time,製作者維度Provider,使用者維Userinfo,組裝維Compositeinfo,測試維Testinfo,描述維Descripinfo,評價維Valuatinoinfo;
兩類反饋事實:細節事實Freedbackfact,聚集事實AggregrateFact。其多維模式如圖1所示:   Feedback Fact                    圖1  使用者反饋為資料模式                     使用者反饋通過收集工具捕獲使用者提交的反饋資訊,並對使用者反饋資訊進行篩選、分類,整合存入資料倉庫。由於使用者反饋庫採用多維資料模式,當需要查詢和分析的主題不斷增加時,可以通過為新增的主題建立相應的事實表和維表(可以共享原來的很多維表),資料庫結構不變,整合到原來的資訊庫中,逐步完善軟體企業資訊倉庫。這是符合資料倉庫開發的原則,即先從某一主題入手不斷加以完善。基於決策樹的分類發現在軟體構件查詢中的應用    資料探勘所能發現的知識有如下幾種:廣義型知識,反映同類事物共同性質的知識;
特徵型知識,反映事物各方面的特徵知識;
差異型知識,反映不同事物之間屬性差別的知識;
關聯型知識,反映事物之間依賴或關聯的知識;
預測型知識,根據歷史的和當前的資料推測未來資料;
偏離型知識,揭示事物偏離常規的異常現象。所有這些知識都可以在不同的概念層次上被發現,隨著概念樹的提升,從微觀到中觀再到巨集觀,以滿足不同使用者、不同層次決策的需要。至於發現工具和方法,常用的有分類、聚類、減維、模式識別、視覺化、決策樹、遺傳演算法、不確定性處理等。本文在基於前述建立的構件倉庫上,使用決策樹分類法對構件進行檢索。

論資料倉庫和資料探勘技術的構件庫管理系統

5.1  決策樹分類方法   分類在資料探勘中是一項非常重要的任務,目前在商業上應用最多。分類的目的是學會一個分類函式或分類模型(也常常稱作分類器),該模型能把資料庫中的資料項對映到給定類別中的某一個。給出一個數據集中的一些屬性,分類器可以預測出某一個特定的屬性。被預測的屬性叫做標籤(label),用於預測的其他屬性叫做描述屬性(descriptive attributes)。在生成分類器後,則可以利用它來對資料集中不包含標籤屬性的記錄進行分類,標籤的值可以用分類器來預測。要構造分類器,需要有一個訓練樣本資料集作為輸入。訓練集由一組資料庫記錄或元組構成,每個元組是一個由有關欄位(又稱屬性或特徵)值組成的特徵向量,此外,訓練樣本還有一個類別標記。一個具體樣本的形式可為:(v1,v2,...,vn;
c);
vi表示欄位值,c表示類別。從訓練集中自動地構造出分類器的演算法叫做生成器(inducer),在生成分類器後,可以利用它來對資料集中不包含標籤屬性的記錄進行分類,標籤屬性的值也可以用分類器來預測。    決策樹分類方法屬於分類方法的一種,該方法的輸入是一組帶有類別標記的資料,構造的結果是一棵二叉樹或多叉樹。二叉樹的內部節點(非葉子節點)一般表示為一個邏輯判斷,如形為(ai=vi),基中ai 是屬性,vi是該屬性的某個屬性值;
樹的邊是邏輯判斷的分支結果;
多叉樹(ID3)的內部節結點是屬性,邊是該屬性的所有取值,有幾個屬性值,就有幾條邊,樹的葉子節點都是類別標記。5.2  決策樹方法與構件分類檢索   決策樹分類演算法通常包括兩部分:一是樹的生成,開始時所有資料都在根結點,然後根據設定的標準選擇測試屬性,用不同的測試屬性遞迴的進行資料分割;
二是樹的修剪,就是去掉一些可能是噪音或者異常的資料。構造一棵決策樹就是形成一個訓練集的分類,在分類過程中完成對目標的獲取策略與規則提取。   構件倉庫中構件資訊包構件描述資訊,複用歷史資訊及使用者反饋資訊。構件描述資訊如下表1所示,複用歷史資訊如表2所示,使用者反饋資訊如表3所示。 表1  構件描述資訊表 

構件號入庫時間提供者功能描述非功能描述應用領域其它
0012006-1-1微軟XP升級視窗介面PC使用者。。。
0022006-1-2瑞星防毒安全性好PC使用者。。。
0032006-1-2金算盤財務結算計算精度高金融領域。。。
0042006-1-5創業軟體CT機控制適時性好醫療領域 。。。
。。。。。。。。。。。。。。。。。。 。。。
         表2  複用歷史資訊表                                        
構件號複用時間複用者複用結果複用領域其它
0012006-11-7張三成功PC使用者。。。
0012006-10-2李四成功PC使用者。。。
0032006-7-2金軟d 411      金達軟體   失敗財務軟體公司。。。
0042006-9-19創業軟體部分成功醫療軟體公司 。。。
。。。。。。。。。。。。。。。 。。。
                                 表3使用者反饋資訊表 
構件號反饋時間反饋者複用結果複用評價修改意件其它
0012006-11-9張三成功良好需要更好的易操作性。。。
0012006-10-3李四成功升級時間更短。。。
0032006-7-12金軟d 411      金達軟體   失敗需更高計算精度及安全性。。。
0042006-9-20創業軟體部分成功一般更快的響應時間 。。。
。。。。。。。。。。。。。。。。。。 。。。
                                    

構件分類模型


圖2  分類模型                                                  圖3  基於ID3演算法生成的決策樹    利用ID3演算法生成的決策樹可以用一組IF …THEN… ELSE… 的形式表達。例如:IF(應用領域=金融領域 AND 使用者反饋=總體良好 AND 複用歷史)=200次)THEN(評價=推薦)   以上只是對構件倉庫中的構件決策樹的簡單介紹,實際應用中還包括更多構件特徵資訊如:構件介面,依賴環境,非功能屬性等,這樣就能為使用者提供更全面更仔細的描述,確保對使用者選擇構件的輔助決策作用的有效發揮。   最後還應對決策結果進行驗證和評價。結果的驗證和評價是資料探勘中不可或缺的環節。這是一個反覆實驗的過程,可以運用構件庫中其它的樣本進行驗證,也可以選擇新安的樣本集進行評價,直到復得出使用者滿意的結果為止。結束語   隨著構件化軟體開發的普及,構件庫系統作為支援軟體開發的基礎設施的作用將越來越重要,構件的有效管理和高效檢索直接關係到基於構件的軟體複用的成功。資料倉庫技術適宜於存放構件及構件複用歷史資訊這類變化較少,相對穩定的資料;
同時基於資料倉庫的資料探勘技術也有較為成熟的技術。本文嘗試將資料倉庫,資料探勘技術就用於構件庫管理系統,使用資料倉庫儲存構件資訊,使用決策樹的方法進行構件挖掘,輔助使用者進行構件的檢索和選取,為構件複用成功提供了有效的技術保障。 參考文獻[1] 郭景峰,米浦波,劉國華.決策樹演算法的並行性研究[J].計算機工程,2002,28(8):77-78.[2]楊東青,唐世渭.應用的深化推動資料庫技術發展.電腦科學[J],1997,24(2):15-31.[3]王希辰.資料倉庫技術與可複用構件庫系統研究.中國傳媒大學學報自然科學版,2006,13(2):73-77.[4]徐建民,卲豔華,王靜紅.決策樹方法在軟體構件查詢中的應用研究.微機發展.2004.14(9):125-128.[5]徐建民,卲豔華,王靜紅,劉進波.決策樹分類方法在軟體構件檢索中的輔助決策支援研究.計算機應用.25(5):120-125.[6]朱明.機器學習與資料探勘:方法與應用[M].北京:電子工業出版社,2004,19(2):59-64.