張獻忠
(常州工學院計算機信息工程學院,常州213032)
隨著社會經濟的發展和人們生活水平的提高,旅游已經成為人們享受節假日時光的一種很重要的方式。因為旅游不僅能夠讓人們親密接觸大自然,欣賞江山河川帶來的自然美景,而且也是人們遠離工作壓力、享受休閑時光的大好機會。正因為如此,旅游公司的數量也在逐年增長,規模也越來越大。每個旅游公司都希望能抓住這良好的發展機會,取得更好的經濟效益。然而,一個行業從事的人多了自然就會產生競爭,旅游公司之間也不例外。旅游公司的競爭關鍵還是在于對客戶的競爭,客戶是決定旅游公司發展前景的核心因素。因此,旅游公司只有搞好和客戶的關系,想客戶之所需,就能獲得客戶的信任和青睞。同時,旅游公司要想持續地獲得更多的利益,需要保持一個穩定的客戶群體。因為,只有穩定的客戶群體才會給旅游公司帶來穩定可靠的收入。但實際情況是,旅游公司營銷團隊在發掘新客戶時,沒有充分考慮不同客戶之間的差異性,而是盲目地向其推銷旅游產品。有些客戶雖然參與了其中,但很難成為該公司的忠誠客戶。因此,旅游公司需要從客戶的角度出發,通過旅游公司CRM系統和客戶建立良好的合作機制。
數據挖掘是一種針對眾多數據的處理和分析活動過程,從這個分析過程中得到對人們的行為有用的結果。數據挖掘對象是具有各種表現形式的數據,這些數據之間從表面上看沒什么不同,但其實在其內部之間可能會存在某種不為人知的規則或知識。目前幾乎可以對任何類型的數據進行數據挖掘工作,這需要通過不同的技術和處理手段才能完成。例如,對于文本型數據的挖掘和對于數值型數據的挖掘肯定存在較大的區別。數據挖掘從學科的角度看,它是一種集統計學、運籌學、計算機科學與一體的綜合性學科。數據挖掘已經從傳統的服務于科研機構外,現在已經服務于社會經濟建設的各個領域,而且正發揮著越來越大的作用。
決策樹是一種根據對象若干屬性特征來判斷其所屬類別的分類技術。屬性是表示對象某一個方面的特征,一般而言,只要是對象都會擁有多個屬性。不同的是,這些屬性各自的地位和重要性卻各不相同。在基于屬性的分類過程中,不同的屬性所起作用也大不相同。對于決策樹而言,如何確定對象的主要屬性就顯得十分重要。事實上,決策樹算法本身的實現過程就是和找出對象在分類過程中的主要屬性有關。為了更好地發現對象的主要屬性,一般使用信息增益的方法來找出最主要的對象屬性。這就是產生決策樹根節點處對應的屬性項目的由來。而決策樹ID3算法可以找出根節點對應地屬性項目,同時也可以進一步找出屬于不同分支中的屬性項目。
(1)ASP.NET技術。ASP.NET是屬于典型的面向對象開發工具,它繼承了所有的面向對象開發的優點。使用ASP.NET構建一個Web應用系統的過程就像是一個搭積木的過程,系統的模塊化特征明顯。ASP.NET技術可以很好地實現業務功能邏輯和顯示邏輯的分離,它通過一個網頁包含兩個文件(ASPX文件和ASPX.CS文件)的方式實現。
(2)SQLServer2008數據庫。SQLServer系列數據庫產品是目前使用最多的Web數據庫系統。它存儲規模適中,管理功能強大,因此很受中小企業的青睞,也成為許多中小企業架構數據庫服務器的首先產品。對于本系統來說,旅游公司CRM系統中信息規模并不龐大,使用SQLServer 2008數據庫已經可以滿足旅游公司管理人員的管理需要。
(3)RUP和UML
UML是一種通用的、可視化的統一建模語言。在面向對象開發時代,一個好的建模過程可以大大降低系統的開發難度和復雜性。在面向對象開發中,主要使用Rational統一過程(RUP)方法。RUP方法有一個很重要的特征就是需要在軟件的各個開發階段建立合適的開發模型。由于軟件的開發過程涉及到需求分析、系統設計、代碼編寫等諸多過程,因此,使用RUP方法都需要為其建立相應的模型。UML在建模方面可以說是博采眾長,它集中了許多建模工具的優點,把建模工作的可視化和文檔化體現得淋漓盡致。可視化的建模效果可以幫助軟件設計人員更好地把握系統的總體特征。文檔化也可以幫助軟件開發人員便于閱讀和保存建模結果,以便今后的重復利用。
在進行功能需求分析之前,首先要找出系統的參與者。知道了參與者才能進一步確定系統應該給其提供的功能。經過對系統業務的初步了解后得知,系統的參與者有普通員工和經理(相當于系統管理員)。用例模型由系統用例和用例描述組成。系統用例是把業務用例經過細化之后的具體用例,其描述的用例也更精確且具體,用例圖最終都需要借助系統用例才能進行表達。以經理這個參與者為例,經理用例圖如圖1所示。

圖1 經理用例圖
系統活動圖是為了配合用例來進行說明的。用例描述無法說明這個用例在執行中與對象之間的交互關系,或者說可能會出現的一些并發活動無法在用例描述中給出。活動圖可以解決用例描述中的不足問題,因為它可以清晰地反映出不同對象在同一個用例中的執行關系。以客戶管理用例為例,其活動圖如圖2所示。

圖2 客戶管理活動圖
系統功能模塊結構如圖3所示。

圖3 系統功能結構圖
(1)客戶管理模塊
客戶管理模塊執行流程如圖4所示。

圖4 客戶管理執行流程圖
(2)客戶分析模塊
客戶分析模塊執行流程如圖5所示。

圖5 客戶分析模塊執行流程圖
系統E-R圖如圖6所示。

圖6 系統E-R圖
分類預測就是根據確定的分類特征,把客戶劃分到相應的類別中。為了便于說明問題,這里的類別就引用表1中的兩種類別情況。對客戶進行分類預測時,需要了解客戶具體的特征。這里選擇了年齡、性別、文化程度和消費檔次四個屬性。客戶類別分為兩類:好(H)和差(C)。為了便于處理,年齡用三個字母表示,A 代表"<=30"的青年人,B代表"30-50"之間的中年人,C代表">50"的老年人。性別男用M表示,女用W表示;表示文化程度時,用BK代表本科,ZK代表專科,GZ代表高中)。消費檔次高用G表示,Z表示中,D表示低。分類預測的目的就是要找出什么樣的客戶需要提供什么樣的服務,這樣就可以減少向客戶介紹旅游項目時的盲目性。因此,做好對客戶的分類預測工作具有十分重要的意義。在本系統中,隨機挑選了如下的客戶資料作為訓練樣本。具體內容如表1所示。

表1 訓練樣本集

圖7 決策樹
獲取了分類規則后,就可以預測客戶屬于的類別。例如,對于下屬客戶 U(age="<=30",edu="本科",cost="高",sex="男")而言,決策樹的判斷結果為“好”。這就說明對于如樣本U中所示的客戶而言,旅游公司應該向其推薦中等旅游消費項目,這樣才能最大化的發掘客戶價值。
本系統在建模工具選擇上,系統使用了UML建模方法,強化了系統開發的邏輯性,同時也提高了系統開發的效率和準確性。軟件架構采用基于B/S模式的三層架構,每個層的功能明確,且只能進行單向調用,確保了軟件系統的層次結構不被打亂。本文設計的CRM系統既具有傳統操作型CRM的特點,又具有分析型CRM系統的優勢,能把決策樹技術運用到CRM系統的設計之中,并使其服務于公司的營銷策略。