CRM(Customer Relationship Management)客戶關(guān)系管理系統(tǒng)是企業(yè)為增加客戶滿意度,提高忠誠度、拓展市場,增強其核心競爭力的重要手段。基于Internet的CRM系統(tǒng),將市場拓展、維系客戶與企業(yè)的品牌創(chuàng)建有機結(jié)合,實現(xiàn)企業(yè)與客戶聯(lián)系的信息化與網(wǎng)絡(luò)化。
現(xiàn)代企業(yè)信息系統(tǒng)多數(shù)以ERP(Enterprise resource plan)為核心構(gòu)建綜合平臺,銷售與客戶支持服務(wù)大多是通過內(nèi)部網(wǎng)服務(wù)企業(yè)職能部門,而面向社會開放式服務(wù)則很少。資源信息化、信息共享化及系統(tǒng)平臺化已成為企業(yè)信息化建設(shè)的基本條件。新環(huán)境下的CRM系統(tǒng)開發(fā)必須滿足企業(yè)信息化的這些要求,這樣系統(tǒng)在功能規(guī)模建設(shè)、開發(fā)效率與質(zhì)量、系統(tǒng)組織管理、復(fù)雜性控制等方面就面臨著新的挑戰(zhàn)。
雖然一些國外軟件開發(fā)商在面對上述挑戰(zhàn)時,提出了一些針對性的解決方法,如RUP、XP,Catalysis方法,UML構(gòu)件方法,Kobra方法及業(yè)務(wù)構(gòu)件工廠方法等,不過,在處理遺留系統(tǒng)、控制復(fù)雜性、提高復(fù)用和解決變化的需求等問題上,缺乏一致的解決方法。對此,本文在對已有解決方案分析消化的基礎(chǔ)上,給出一種基于業(yè)務(wù)構(gòu)件化設(shè)計的面向CRM系統(tǒng)的開發(fā)方法,解決在系統(tǒng)開發(fā)中存在的一系列問題。
1 基于信息整合的構(gòu)件化系統(tǒng)開發(fā)思想
實現(xiàn)企業(yè)營銷過程、銷售過程和客戶業(yè)務(wù)流程中的信息整合與集成問題是應(yīng)用CRM的關(guān)鍵。在現(xiàn)有信息系統(tǒng)中,大量的業(yè)務(wù)數(shù)據(jù)還是散列在企業(yè)不同位置的服務(wù)器上,共用的客戶信息和需求信息分散在部門級的應(yīng)用數(shù)據(jù)庫中,難以實現(xiàn)企業(yè)整體數(shù)據(jù)共享與業(yè)務(wù)的一體化。其原因主要是由于不同渠道的信息匯集與調(diào)用缺乏統(tǒng)一的集成標準和應(yīng)用服務(wù)接口。
構(gòu)件化軟件設(shè)計思想是解決信息整合和接口服務(wù)的理想選擇。企業(yè)業(yè)務(wù)處理可以通過信息收集處理并封裝為構(gòu)件化的模塊,建立可供各種業(yè)務(wù)復(fù)用的功能構(gòu)件模塊庫,按照業(yè)務(wù)層次和粒度的不同要求,完成軟件復(fù)用與系統(tǒng)功能的重構(gòu),實現(xiàn)統(tǒng)一的業(yè)務(wù)信息輸入和輸出接口規(guī)范,達到整合來自企業(yè)不同渠道信息融合與共享的能力,以提高整個企業(yè)信息系統(tǒng)的應(yīng)用能力。
所以,在開發(fā)集成的CRM系統(tǒng)時,可把系統(tǒng)業(yè)務(wù)處理與客戶數(shù)據(jù)的收集、存儲、加工及傳遞等事務(wù)性活動抽象為對企業(yè)不同業(yè)務(wù)功能單元的執(zhí)行過程,不同事務(wù)的處理單元經(jīng)過集成后,對應(yīng)不同業(yè)務(wù)的功能模塊,它由低層向模塊拼裝組合應(yīng)用,實現(xiàn)業(yè)務(wù)處理的功能化與業(yè)務(wù)流程重構(gòu)的模塊化和便利化,從而實現(xiàn)CRM系統(tǒng)開發(fā)過程在業(yè)務(wù)、功能、事務(wù)上的高效率,也很好地解決了系統(tǒng)集成與信息集成問題。層次劃分如圖1所示。
2 面向業(yè)務(wù)的構(gòu)件化設(shè)計
面向業(yè)務(wù)的構(gòu)件化設(shè)計核心思想是以事務(wù)層構(gòu)件為基礎(chǔ),構(gòu)建完成不同事務(wù)的功能,通過組裝功能層構(gòu)件,再封裝為業(yè)務(wù)層構(gòu)件,形成業(yè)務(wù)構(gòu)件庫,再動態(tài)組合復(fù)用這些構(gòu)件,整個構(gòu)件體系結(jié)構(gòu)是一個層次型迭代遞進的關(guān)系架構(gòu)。在這個框架中,通過組裝自治功能的各個業(yè)務(wù)構(gòu)件,實現(xiàn)構(gòu)件的大粒度復(fù)用,使不同粒度的構(gòu)件,在應(yīng)用管理與控制上更加安全可靠。
如何實現(xiàn)“關(guān)注點”分離是上面構(gòu)件化設(shè)計的關(guān)鍵,主要包括三點:一是產(chǎn)品和過程相分離,也就是生產(chǎn)什么和如何生產(chǎn)分開處理,以此簡化開發(fā)過程;二是業(yè)務(wù)與細節(jié)相分離。業(yè)務(wù)概念和實現(xiàn)業(yè)務(wù)細節(jié)處理相分離,盡量抽象出系統(tǒng)需求。三是設(shè)計與實現(xiàn)相分離。高層抽象設(shè)計與具體實例化相分離,按責(zé)任分解問題域,依賴問題的抽象分析共性和可變性,了解所有對象后再考慮對象的實例化問題。
開發(fā)集成的CRM系統(tǒng),對企業(yè)業(yè)務(wù)流程和事務(wù)處理的整體支持是極其重要的功能。該功能的實現(xiàn),取決于對“關(guān)注點”的分離,以形成獨立的自治構(gòu)件,包括縱向分離和橫向分離這兩大類,形成面向技術(shù)的功能構(gòu)件。在系統(tǒng)集成時,構(gòu)件化設(shè)計是通過構(gòu)件封裝標準信息,依據(jù)過程組織大粒度業(yè)務(wù)構(gòu)件應(yīng)用,依據(jù)實際需要組裝和運行對應(yīng)的構(gòu)件模塊來實現(xiàn)系統(tǒng)集成和信息集成。分割矩陣如圖2所示,圖2中X軸為面向服務(wù)業(yè)務(wù)的橫向分離,即業(yè)務(wù)構(gòu)件系統(tǒng);y軸為面向技術(shù)功能的橫向分離,也就是功能構(gòu)件;C為分割出的業(yè)務(wù)構(gòu)件。
(1) 業(yè)務(wù)構(gòu)件和構(gòu)件類型
所謂業(yè)務(wù)構(gòu)件指的是實現(xiàn)自治業(yè)務(wù)概念或業(yè)務(wù)過程的軟件載體。業(yè)務(wù)功能模塊具有在問題空間內(nèi)相對自治且不分離的特點。在CRM系統(tǒng)問題空間內(nèi)的業(yè)務(wù)構(gòu)件并不是獨立存在的,需要與其他自治的業(yè)務(wù)構(gòu)件保持關(guān)聯(lián)和互操作,只有這樣,才能完成每個具體的業(yè)務(wù)處理。
業(yè)務(wù)構(gòu)件是由功能構(gòu)件組合而成的,功能構(gòu)件實現(xiàn)業(yè)務(wù)構(gòu)件中相對自治的具體事務(wù),功能構(gòu)件處理業(yè)務(wù)邏輯中劃分更細的事務(wù)邏輯。不同的功能構(gòu)件可被拼裝成為完成不同業(yè)務(wù)邏輯的業(yè)務(wù)構(gòu)件,并可封裝到業(yè)務(wù)構(gòu)件庫,被系統(tǒng)復(fù)用。
而功能構(gòu)件則能進一步分解細化為多個完成某項具體操作的事務(wù)構(gòu)件, 具有關(guān)聯(lián)業(yè)務(wù)的不同業(yè)務(wù)構(gòu)件可 組成實現(xiàn)具體服務(wù)業(yè)務(wù)的構(gòu)件系統(tǒng),業(yè)務(wù)構(gòu)件系統(tǒng)之問聯(lián)合組成系統(tǒng)級構(gòu)件聯(lián)邦,以滿足不同的用戶對系統(tǒng)的信息需求。
基于業(yè)務(wù)構(gòu)件化的系統(tǒng)開發(fā)根據(jù)構(gòu)件的類型,將設(shè)計好的構(gòu)件封裝在對應(yīng)粒度層次的標準構(gòu)件庫中,再按照業(yè)務(wù)和系統(tǒng)重構(gòu)的需求,從構(gòu)件庫中挑選合適的構(gòu)件,在構(gòu)件虛擬機上進行組裝和運行,完成整個構(gòu)件系統(tǒng)的開發(fā)應(yīng)用。
(2) 關(guān)鍵問題的解決
第一是遺留系統(tǒng)接口。通過尋找分離點、封裝和重構(gòu)系統(tǒng)等工作,實現(xiàn)對構(gòu)件的應(yīng)用和管理,以解決老系統(tǒng)遺留的接口問題。
第二是復(fù)雜性控制。對于開發(fā)者和用戶而言,只需要關(guān)注自己負責(zé)的部分,將“關(guān)注點”分離好,理清各自的處理邏輯和控制目標。對于系統(tǒng)維護和管理來說,當某個構(gòu)件出現(xiàn)問題的時候,只需替換或者修復(fù)對應(yīng)的構(gòu)件,就可以輕松實現(xiàn)控制。而通過對標準構(gòu)件庫中不同粒度構(gòu)件的統(tǒng)一管理與應(yīng)用,開發(fā)人員和客戶則可以非常方便地通過構(gòu)件虛擬機所提供的開發(fā)功能和管理機制,完成對構(gòu)件的組合、拼裝、運行、管理和應(yīng)用。
第三是應(yīng)變適應(yīng)能力。通過對需要改造的構(gòu)件適當?shù)奶鎿Q、重構(gòu),能夠?qū)崿F(xiàn)系統(tǒng)的快速更新與升級,以適應(yīng)新業(yè)務(wù)、新需求對系統(tǒng)的應(yīng)變要求。
(3)系統(tǒng)構(gòu)建開發(fā)過程模型
面向業(yè)務(wù)的構(gòu)件化開發(fā)過程模型吸取了軟件工程的設(shè)計思想的優(yōu)點,為重新安排整個軟件生命周期的活動內(nèi)容的建模提供了便利,具體表現(xiàn)在:①交流。識別業(yè)務(wù)構(gòu)件,業(yè)務(wù)構(gòu)件系統(tǒng),系統(tǒng)級構(gòu)件聯(lián)邦。②計劃和設(shè)計。識別功能構(gòu)件并歸納功能構(gòu)件。③分析和構(gòu)件選擇。選擇事務(wù)構(gòu)件,功能構(gòu)件和業(yè)務(wù)構(gòu)件組建業(yè)務(wù)構(gòu)件系統(tǒng)。④工程和測試。開發(fā),測試,提交功能和業(yè)務(wù)構(gòu)件。⑤應(yīng)用管理和維護。對運行的構(gòu)件進行管理和替換。
上一篇:
移動CRM重要的四大理由下一篇:
中國物流企業(yè)建立重點客戶關(guān)系管理的實施保障