摘要:通過將領域工程、領域框架、面向對象技術、軟件構件技術及數據挖掘相結合,提出了一套面向領域的數據挖掘系統開發模型及一個類似于OSI網絡參考模型的新型挖掘層次結構,并且設計了一個面向領域的數據挖掘系統框架,有效地解決了以上問題。
關鍵詞:領域工程; 領域框架; 軟件構件; 數據挖掘
中圖分類號:TP302文獻標志碼:A
文章編號:1001-3695(2008)05-1432-02
在過去的若干年時間里,各商業企業、科研機構或者政府部門都積累了海量的、以不同形式存儲的數據。人們早已淹沒在數據和信息的汪洋大海中。大量的數據被描述為“數據豐富,但信息貧乏”。這些數據十分繁雜,要從中發現有價值的信息或知識,達到為決策服務的目的非常困難,因此相繼產生了數據挖掘和數據倉庫等技術。
數據挖掘也叫數據庫中的知識發現(knowledge discovery in databases,KDD),是一個從數據集中識別出有效的、新穎的、潛在有用的以及最終可理解的模式的過程[1]。
數據倉庫(data warehouse,DW)是20世紀90年代初由W.H.Inmon首次提出的。他對數據倉庫的定義為:“數據倉庫是一個面向主題的、集成的、不可更新的且隨時間不斷變化的數據集合,用來支持管理人員決策。” [2]。
數據倉庫的產生和發展為數據挖掘提供了更廣闊的發展空間和應用前景。目前,數據挖掘的研究已與數據倉庫的研究結合起來。數據倉庫環境下的數據挖掘技術的研究已成為信息科學學術界的熱點問題之一。然而,在建立基于數據倉庫的數據挖掘系統過程中,各個領域人員對自己本領域的需求、知識和經驗非常精通,對其他領域則知之甚少。因此不同領域專家在開發過程中難以溝通和協作,使開發效率和軟件復用率低。而且由于系統的可擴展性差,當企業需求及信息模式頻繁變化時,原系統需要重建以滿足新的需求,造成了人力財力的極大浪費。為有效解決這些問題,本文簡要介紹了領域工程、領域框架相關技術,以及面向領域的數據挖掘系統開發模型和層次結構,重點討論了面向領域的數據挖掘系統的框架和相關實現。
1相關技術簡介
1.1領域工程
領域工程是為一組相似或相近系統的應用工程建立基本能力和必備基礎的過程,它覆蓋了建立可復用的軟件構件的所有活動。其中領域是指一組具有相似或相近軟件需求的應用系統所覆蓋的功能區域[3]。
領域工程是創建可復用構件的過程。其核心思想是應用模式領域化、問題抽象通用化、軟件元素重用化、開發過程工程化[4]。實施領域工程的過程一般分為三個主要階段:
a)領域分析。目標是獲得領域模型。
b)領域設計。目標是獲得DSSA(特定領域軟件體系結構)。
c)領域實現。主要任務是依據領域模型和DSSA開發、組織可重用構件。
領域工程的三個基本階段所描述的過程是一個反復的、逐漸求精的過程。在實施領域工程的每個階段中都可能返回到以前的步驟,對以前得到的結果進行修改和完善,再回到當前步驟,在新的基礎上實施本階段的過程。
1.2領域框架
框架是構成一類特定軟件可復用設計的一組相互協作的類和接口。這些類通常是抽象的,類的實現細節放到具體子類中構成一個抽象設計,不同的子類和接口實現構成對設計的不同實現。它不是一個完全的系統,而是一個特定領域內的應用程序的部分設計和實現。
根據擴展技術,軟件框架還可以分為白盒、灰盒和黑盒框架[5]。白盒框架其抽象的類集向用戶公開,用戶生成抽象類的子類,經過修改擴充后使用。OOF就是白盒框架。黑盒框架提供基本完成的軟構件,用戶組合這些構件,修改其界面,構筑自己的應用系統。構件框架就是典型的黑盒框架。灰盒框架是白盒與黑盒框架的混合。在灰盒框架中,既可以使用繼承和動態綁定進行擴展,也可以通過定義接口進行擴展[6]。
為了成功構建數據挖掘系統,需要不同行業人員有效地溝通協作,因此結合領域工程的方法論提出一套面向領域數據挖掘系統的開發模型和設計一種可靠的體系結構非常關鍵。
2面向領域的數據挖掘系統開發模型和層次結構
面向領域的數據挖掘系統開發模型與以前軟件開發模型相比具有自身的特點。面向領域的數據挖掘系統開發模型更加關注系統的較高重用粒度、可擴展性、開放性和通用性。此開發模型在分析、研究挖掘系統涉及的相關領域活動后,發現和提取各個領域中公共特性,識別各個領域中的公共的、基本的對象和操作,定義不同領域之間模型的關系和統一訪問接口。
在分析研究各種挖掘軟件系統后不難發現:數據是企業的重要信息資源,是數據挖掘系統的處理對象。為了使挖掘的結果更有價值,系統應當選擇合適的挖掘數據,結合行業的特點、對象的屬性和行為、行業指標等來選擇合適的挖掘算法,配置有效的挖掘模型及方案。
2.1面向領域的數據挖掘系統開發模型
本文結合領域工程中的技術,提出了一套新型開發模型。新型開發模型分為領域需求分析、公共領域模型分析、領域框架設計和可變性部分構件開發、系統組裝集成、系統部署、系統維護和擴展獲取新需求這幾個階段,如圖1所示。該開發模型充分考慮了開發過程中不同領域人員的專業知識、領域需求和他們之間的交流。開發模型的具體過程如下:
a)企業高層決策領導層提出決策需求,即在哪些方面需要相關系統的支持,如客戶分析、質量監控等。
b)相關行業領域專家根據高層決策需求結合本行業領域的專家知識經驗和有關標準規范分析、生成行業領域通用的業務流程模型、業務數據對象模型及相關的重要屬性和指標。
c)數據挖掘領域專家根據b)的結果結合挖掘領域的挖掘算法、模型、解決方案生成挖掘系統所需的該行業領域通用的挖掘對象模型、挖掘算法模型、挖掘流程模型及挖掘專家解決方案。
d)數據倉庫領域專家根據c)的結果結合數據倉庫中維度、事實、數據立方體、聚集等模型生成該行業領域通用的相關數據對象模式。
e)數據庫領域專家根據原有的企業信息資源抽取元數據,生成本企業具體的信息視圖,并且結合相關領域的信息、編碼、術語的標準規范建立本企業信息集成統一標準視圖。生成的信息集成統一標準視圖既有行業領域的通用信息又結合了本企業的具體特有信息。
f)數據倉庫領域專家根據d)e)的結果,優化行業領域通用的數據對象模式,以及生成本企業特有的可變性行業領域數據對象模式。這兩種數據對象模式對應了領域分析的目標領域模型的共性和可變性部分,同時結合了行業領域中通用規律和本企業的特殊要求。
g)數據挖掘領域專家與行業領域專家共同根據f)的結果分析建立本企業具體環境下的挖掘對象、挖掘算法、挖掘流程模型。
h)系統開發人員結合以上分析得出的公共領域模型設計領域框架和可變性部分構件開發。
i)系統組裝人員結合具體環境進行系統組裝集成。
j)系統維護人員對系統進行維護和擴展獲取新需求。
面向領域的數據挖掘系統的開發模型是一個循環往復、逐步精化的遞進過程。該過程既有效利用了領域專家知識又考慮了具體企業環境,實現了領域數據挖掘系統中共性和可變性部分的有效分離,支持粗粒度的軟件復用,并使軟件復用的程度有很大的提高。
2.2面向領域的數據挖掘系統層次結構
一個穩定可靠開放的系統離不開設計一個良好的體系結構。筆者借鑒網絡的OSI七層體系結構的思想,提出了面向領域的數據挖掘系統的新型邏輯層次結構。在該邏輯層次結構中,每層之間均通過接口進行訪問,這使得每一層的具體實現可以動態變化,從而屏蔽了由于業務數據模式的頻繁變化對挖掘系統造成的影響,如圖2所示。
3面向領域的數據挖掘系統的框架和相關實現
筆者將數據挖掘系統中共性的部分實現一個框架。這樣在開發新的挖掘系統時,這些共性的部分就可以直接拿來使用,因此設計一個通用可靠開放的挖掘系統框架將會顯著提高系統開發效率并實現軟件的粗粒度復用。有了該框架,在進行系統開發和部署時,就可以在框架的基礎上定制實現具體的系統功能。
為了提高系統的可擴展性,本文采用灰盒框架進行挖掘框架的設計,定義一組相互協作的抽象類和接口。通過從構件庫中選取適合企業具體環境的構件進行系統的組裝進而生成具體的應用系統。如圖3所示,該框架又具體細分成各個小框架,小框架內具有高內聚的特點,而小框架之間具有低耦合的特點。
在實現該面向領域的數據挖掘系統時,采用Java抽象類和接口技術定義系統各個小框架之間的數據訪問和系統調用。利用面向對象中的類組合、Java接口技術以及模式來實現系統中的各個小框架。對于領域中可變部分采用EJB技術實現為構件。通過讀取有關的XML文件進行清洗轉換過程和挖掘模型配置的動態編輯和控制。利用JDBC接口技術來獲取企業信息系統中的信息模式和數據。
4結束語
本文將領域工程技術、面向對象技術、領域框架和數據挖掘技術結合在一起,提出了一套基于面向領域的數據挖掘系統開發模型和新型邏輯層次結構,設計了一個面向領域的數據挖掘系統的框架。 目前,筆者正在將研究成果應用到東北某特鋼集團的決策信息系統的項目中。下一步,準備將框架進一步完善,并向構件庫添加更多高效的構件,豐富挖掘模型使得挖掘出來的結果更加有價值。
參考文獻:
[1]FAYYAD U M, et al. Advances in knowledge discovery and data mining, cambriage[M]. MA: AAAI/MIT Press,1996.
[2]INMON W H. Building the data warehouse[M]. New York: John Wiley Scons Inc, 1992.
[3]李克勤,陳兆良,梅宏,等.領域工程概述[J].計算機科學,1999,26(5):21-25.
[4]孫少波,王忠民. 基于構件的領域分析方法與建模研究 [J] .電子技術應用,2006,2:43-46.
[5]JOHNSON R E, FOOTE B. Designing reusable classes[J]. Joural of Object-Oriented Programming,1988,1(2):22-35.
[6]高芳青.構件框架研究與應用[D].蘭州:蘭州大學,2005.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”