陳立文,詹舒波
(北京郵電大學(xué)網(wǎng)絡(luò)與交換國家重點實驗室,北京 100876)
呼叫中心CRM系統(tǒng)服務(wù)端的研究與設(shè)計
陳立文1,詹舒波2
(北京郵電大學(xué)網(wǎng)絡(luò)與交換國家重點實驗室,北京 100876)
論文主要從功能層面和系統(tǒng)層面介紹呼叫中心CRM系統(tǒng)的設(shè)計思路。近年來,隨著呼叫中心業(yè)務(wù)的迅速發(fā)展,一個完善的客戶關(guān)系管理系統(tǒng)不但可以幫助企業(yè)更好的管理外部客戶關(guān)系,同時可以幫助企業(yè)實現(xiàn)更高效的內(nèi)部管理。呼叫中心CRM業(yè)務(wù)系統(tǒng)軟件采用B/S架構(gòu),提供基于Web的工作界面,支持瀏覽器登錄訪問。系統(tǒng)采用Java語言開發(fā),后臺采用J2EE企業(yè)版Tomcat平臺,具有跨平臺特性。呼叫中心與CRM系統(tǒng)的結(jié)合對于改善客戶服務(wù)質(zhì)量和提高企業(yè)競爭能力具有重要意義。
呼叫中心;客戶關(guān)系管理;J2EE;MVC
本文著錄格式:陳立文,詹舒波. 呼叫中心CRM系統(tǒng)服務(wù)端的研究與設(shè)計[J]. 軟件,2016,37(11):68-72
呼叫中心是以計算機電話集成(CTI)技術(shù)系統(tǒng)為基礎(chǔ),將計算機的信息處理能力,數(shù)字程控交換機的電話接入和智能分配,自動語音處理技術(shù),Internet技術(shù),網(wǎng)絡(luò)通信技術(shù),商業(yè)智能技術(shù)與業(yè)務(wù)系統(tǒng)緊密結(jié)合在一起,將公司的通信系統(tǒng),計算機處理系統(tǒng),人工業(yè)務(wù)代表,信息等資源整合成統(tǒng)一,高效的服務(wù)工作平臺。具體地說,是指用戶撥打一個電話號碼接入呼叫中心后,就能收到呼叫中心任務(wù)提示音(通過自動語音應(yīng)答系統(tǒng)或者人工的坐席代表實現(xiàn)),按照呼叫中心的語音提示,就是接入數(shù)據(jù)庫,獲得所需的信息服務(wù),并可進行存儲、轉(zhuǎn)發(fā)、查詢、交換等處理,還可以通過呼叫中心完成交易。呼叫中心是CRM系統(tǒng)與外部客戶建立聯(lián)系的核心渠道,提供的是一種溝通手段。同時作為獲取客戶信息的重要途徑,呼叫中心是CRM系統(tǒng)進行信息整合的基礎(chǔ)。CRM系統(tǒng)提供的是包括業(yè)務(wù)流程、內(nèi)外部資源乃至運營狀況分析的綜合管理手段,是更為全面的一體化解決方案。
1.1 關(guān)鍵技術(shù)介紹
1.1.1 Struts
Struts是目前開發(fā)Java web應(yīng)用時普遍采用的一個開源web框架,采用了JSP、Servlet和標(biāo)簽庫等多種技術(shù)[1]。Web應(yīng)用不同于傳統(tǒng)的只能發(fā)送靜
態(tài)頁面的網(wǎng)站,其可產(chǎn)生動態(tài)響應(yīng),并且Web應(yīng)用可與數(shù)據(jù)庫和業(yè)務(wù)邏輯交互來自定義響應(yīng)。
基于JSP的Web應(yīng)用會包含數(shù)據(jù)庫代碼、網(wǎng)頁設(shè)計代碼和控制流程代碼,可讀性差、同時對于復(fù)雜的應(yīng)用維護起來也很困難。Struts框架采用了基于MVC的設(shè)計思想,將應(yīng)用的業(yè)務(wù)邏輯和用戶展示視圖相分離,很好的解決了以上問題。自定義標(biāo)簽庫也是Struts的主要特征之一,實現(xiàn)JSP顯示頁面中動態(tài)邏輯和靜態(tài)頁面代碼的剝離,優(yōu)化了系統(tǒng)結(jié)構(gòu)的同時增強了代碼可讀性,降低了系統(tǒng)復(fù)雜度,改進了web開發(fā)中存在的諸多不足。
1.1.2 Spring
Spring 是依靠分層架構(gòu)來解決應(yīng)用程序開發(fā)的復(fù)雜性問題的,該架構(gòu)可以使用戶可以自由選擇組件,采用不同的組合方式為J2EE應(yīng)用程序開發(fā)提供集成方案。Spring的兩個主要模塊為面向切面編程(AOP)和基于JavaBean的IOC(控制反轉(zhuǎn))容器,提供了包括業(yè)務(wù)管理、框架集成等多個基礎(chǔ)功能。Spring不同于Struts等的單層框架,重點放在了將眾多單層架構(gòu)進行組合,重構(gòu)整個應(yīng)用,從而使開發(fā)更加的高效。
1.1.3 iBATIS
iBATIS是基于Java的持久層框架,與Hibernate的不同點在于它允許用戶自定義SQL語句,靈活度更高,還可以使用數(shù)據(jù)庫對標(biāo)準(zhǔn)SQL語句進行擴展[2]。iBATIS將使用JDBC的細節(jié)全部抽象并隔離,在SQL層面上進行持久化操作,除了這種直接SQL映射,還可以采用緩存策略,緩存查詢結(jié)果。
1.1.4 MySQL
MySQL 數(shù)據(jù)庫是一個開源數(shù)據(jù)庫,由于開源的特性,大量應(yīng)用在各種中小型的項目上。MySQL是一個跨平臺的數(shù)據(jù)庫,可以使用在windows、linux等操作系統(tǒng)上。MySQL數(shù)據(jù)庫使用C/C++編寫,使用多種編譯器測試,具有良好的可移植性。使用MySQL的項目很多,有很龐大的社區(qū)支持,在使用過程中遇到任何問題都可以從網(wǎng)上尋找答案。MySQL支持unicode編碼,在需要使用中文的項目中使用MySQL數(shù)據(jù)庫不會有太大的困難。MySQL數(shù)據(jù)庫支持分布式的部署,在很多項目中需要應(yīng)用到,本課題就需要使用相關(guān)的功能。MySQL可配置項很多,可以根據(jù)自己需要在配置文件中修改相應(yīng)的配置項來滿足使用上的需求,使用方便自由。
1.2 功能模塊設(shè)計
呼叫中心是充分利用現(xiàn)代通訊與計算機技術(shù),如IVR(交互式語音應(yīng)答系統(tǒng))、ACD(自動呼叫分配系統(tǒng))等等,可以自動地梳理大量各種不同的電話呼入、呼出業(yè)務(wù)和服務(wù)的運營操作場所[3]。目前呼叫中心已經(jīng)廣泛地應(yīng)用在市政、公安、交管、郵政、電信、銀行、保險、證券、電力、IT和市場行銷等行業(yè)、以及所有需要利用電話進行產(chǎn)品行銷、服務(wù)于支持的大中小型企業(yè),使企業(yè)的客戶服務(wù)與支持得以實現(xiàn),并極大地提高了響應(yīng)行業(yè)的服務(wù)水平和運營效率。
呼叫中心CRM系統(tǒng)主要包括人工服務(wù)子系統(tǒng)、自動服務(wù)子系統(tǒng)、客戶資料管理子系統(tǒng)、工單管理子系統(tǒng)和計算機輔助電話調(diào)查子系統(tǒng)、統(tǒng)計報表管理子系統(tǒng)等。
人工服務(wù)子系統(tǒng)是坐席人工進行服務(wù)的系統(tǒng)。用戶撥打企業(yè)的接入碼后,系統(tǒng)會直接將用戶電話轉(zhuǎn)接到服務(wù)組內(nèi)的空閑坐席,如果此時所有坐席都在接電話,則系統(tǒng)向用戶播放等待提示音,并將用戶放到該服務(wù)的排隊隊列中進行等待(每個服務(wù)都會有自己獨立的排隊隊伍)。當(dāng)用戶等待時間太長,或正在排隊的客戶太多時,系統(tǒng)會按照預(yù)先的設(shè)定進行異常/意外情況的處理。
自助服務(wù)子系統(tǒng)提供IVR業(yè)務(wù)流程,實現(xiàn)語音導(dǎo)航、自動業(yè)務(wù)處理與信息查詢。自動服務(wù)是通過呼叫中心系統(tǒng)中的IVR子系統(tǒng)實現(xiàn)的。自動服務(wù)由IVR系統(tǒng)按照事先編寫的流程腳本(VXML腳本文件),通過“向用戶播放提示音”和“收取用戶的電話按鍵”的交互方式,來為用戶提供某些信息服務(wù)。
客戶資料管理子系統(tǒng)提供客戶資料管理功能,包括定制化的客戶信息、添加客戶資料、修改客戶資料等。客戶資料是指在系統(tǒng)數(shù)據(jù)庫中所記錄的企業(yè)最終用戶信息,客戶資料在呼叫中心應(yīng)用中是非常重要的,在客戶來電前,能主動地在彈屏中顯示客戶資料信息和客戶的服務(wù)記錄、之前的服務(wù)內(nèi)容,坐席根據(jù)客戶信息可以更好地了解客戶情況,從而可以更好地為客戶提供服務(wù)。
工單管理子系統(tǒng)提供工單管理功能,包括工單記錄、自動工單填寫等。工單是指在系統(tǒng)數(shù)據(jù)庫中,坐席所記錄的與用戶每次溝通的情況,記錄諸如用戶來電詢問的事項、用戶是否愿意訂購?fù)其N的產(chǎn)品、用戶委托的送貨地址等內(nèi)容。
CATI(Computer Assisted Telephone Interview,計算機輔助電話調(diào)查系統(tǒng))作為一種先進的調(diào)查方法和技術(shù),是有電話、計算機、坐席三種資源組成一體的訪問系統(tǒng),主要工作原理是利用計算機來導(dǎo)
入已經(jīng)設(shè)計好的問卷,選取一定的受訪者樣本,通過計算機撥打所需的號碼。
作為業(yè)務(wù)平臺的數(shù)據(jù)收集和整理部分,統(tǒng)計報表可以更直觀的反映業(yè)務(wù)運營狀況,員工工作情況等,是企業(yè)進行管理的基本方法和途徑,是一切后續(xù)數(shù)據(jù)分析、制定相關(guān)戰(zhàn)略的基礎(chǔ)。報表以安全可靠的方式展現(xiàn)數(shù)據(jù)信息,可以企業(yè)管理者深度洞察企業(yè)的經(jīng)營狀況,是企業(yè)發(fā)展的強大推動力。
2.1 系統(tǒng)架構(gòu)
系統(tǒng)的架構(gòu)依據(jù)MVC的思想進行劃分,同時根據(jù)其功能和實際情況又進行了細分,分位web表現(xiàn)層,業(yè)務(wù)層,DAO接口層,持久化對象描述,這些通過spring整合在一起,使層次更加鮮明,職責(zé)更加明確。Web表現(xiàn)層負責(zé)轉(zhuǎn)發(fā)消息和返回相應(yīng)到視圖層。業(yè)務(wù)層主要是負責(zé)一些業(yè)務(wù)邏輯的處理,實現(xiàn)各種具體的服務(wù)。DAO接口層描述實現(xiàn)了一些持久化所需要做的操作,如增刪改查。持久化對象進行一個對象到數(shù)據(jù)庫的映射,完成最后的數(shù)據(jù)與數(shù)據(jù)庫的交互。系統(tǒng)架構(gòu)如圖1所示。
Spring提供業(yè)務(wù)邏輯的操作,以容器的方式管理整個架構(gòu)中的Bean,同時負責(zé)其他開源框架的整合。Struts負責(zé)接收轉(zhuǎn)發(fā)用戶的消息并在相應(yīng)模塊進行處理后給出對應(yīng)的相應(yīng),同時負責(zé)管理著一些實用的標(biāo)簽庫,進行JSP頁面的展示。Ibatis負責(zé)數(shù)據(jù)的一些基本操作,并提供一些數(shù)據(jù)相關(guān)的接口,實現(xiàn)數(shù)據(jù)的持久化。
圖1 系統(tǒng)架構(gòu)圖Fig.1 System architecture
呼叫中心CRM系統(tǒng)按分層架構(gòu)設(shè)計,整個系統(tǒng)分為五層,分別是數(shù)據(jù)層、服務(wù)層、應(yīng)用層、表示層和用戶層。數(shù)據(jù)層要負責(zé)提供CRM系統(tǒng)所需的數(shù)據(jù)庫和文件存取能力,采用關(guān)系型數(shù)據(jù)庫,文件包括日志和錄音文件等。服務(wù)層提供CRM系統(tǒng)的基礎(chǔ)框架,包括角色權(quán)限、資源體系、與CTI整合的電話服務(wù)、安全服務(wù)等。應(yīng)用層基于服務(wù)層的定制能力,通過二次開發(fā)的工作,提供針對行業(yè)用戶的客戶化系統(tǒng)解決方案。表示層提供CRM系統(tǒng)的展示界面,基于Web頁面的方式。用戶層是頁面訪問系統(tǒng)的客戶端,通過標(biāo)準(zhǔn)的瀏覽器軟件接入。
2.2 基礎(chǔ)類設(shè)計
為了使開發(fā)更加便捷,邏輯更加清楚,通過面向?qū)ο蟮拈_發(fā)方法,在系統(tǒng)設(shè)計中開發(fā)了一些基礎(chǔ)類,這些基礎(chǔ)類負責(zé)基本功能的實現(xiàn),有的以接口形式實現(xiàn),這樣系統(tǒng)可以根據(jù)功能的需求,通過繼承基礎(chǔ)類或?qū)崿F(xiàn)基礎(chǔ)類中的接口來根據(jù)需求進行擴展開發(fā),這樣可以大大地減少開發(fā)人員的工作量,避免不必要的重復(fù)的勞動量,且有助于代碼的管理。
基礎(chǔ)類及其關(guān)系如圖2所示。
BaseDispatchAction:這是位于控制層的一個類,它負責(zé)接收JSP傳來的消息,根據(jù)消息內(nèi)容執(zhí)行對應(yīng)的方法,這些方法主要是增刪改查(insert,delete,update,search)。這些方法的具體實現(xiàn)是通過分層思想交給Service層來做的,所以每個Base-DispatchAction中都會有g(shù)etService這個方法。在系統(tǒng)設(shè)計中,如果需要新加針對某種消息的控制層的類都可以繼承此基礎(chǔ)類,然后針對有必要修改的方法稍作調(diào)整進行重寫即可,不需要改動的方法繼承BaseDispatchAction類的即可不用再去重寫。
IDomainService:是業(yè)務(wù)邏輯的接口。BaseDispatchAction會調(diào)用具體的服務(wù)來處理業(yè)務(wù)邏輯,而
通過面向接口的編程方式,設(shè)計一個IdomainService接口,負責(zé)基礎(chǔ)的一些服務(wù),增刪改查等等。通過Spring的依賴注入(亦稱反轉(zhuǎn)控制),我們可以動態(tài)調(diào)用實現(xiàn)此接口的具體的業(yè)務(wù)類來實現(xiàn)業(yè)務(wù)的邏輯處理。這樣大大的降低了系統(tǒng)的耦合性,通過聲明一些基本的增刪改查(insert,delete,update,search)的接口實現(xiàn)了多態(tài),使程序更加靈活健壯。系統(tǒng)中所有業(yè)務(wù)層接口類均繼承自該接口。
DomainService:是業(yè)務(wù)邏輯的基礎(chǔ)接口的實現(xiàn)類,它實現(xiàn)了IDomainService接口最基本最通用的方法增刪改查批量刪除等等。呼叫中心外呼模塊中的所有業(yè)務(wù)類都繼承此類,這樣就可以充分利用繼承的特性,減少開發(fā)人員的工作量。同時針對一些需要特殊處理的類可以重寫對應(yīng)的方法。利用分層的思想,業(yè)務(wù)層只負責(zé)具體的業(yè)務(wù)邏輯,涉及到一些持久層的事情,比如存儲數(shù)據(jù)到數(shù)據(jù)庫,刪除指定數(shù)據(jù)或者是修改某數(shù)據(jù)庫中的數(shù)據(jù),使用IdomainDao來完成。這個會有一個getIDomainDao的方法來獲取。
IDomainDao:這是數(shù)據(jù)持久層的接口類。業(yè)務(wù)層只涉及到業(yè)務(wù)邏輯的處理,最終與數(shù)據(jù)庫進行交互實現(xiàn)數(shù)據(jù)的持久化,根據(jù)分層的思想,仍需要特定的持久層的基礎(chǔ)類來完成。根據(jù)面向接口的編程方法,充分利用Spring的依賴注入這項基本特點,實現(xiàn)低耦合,持久層首先設(shè)計出一個接口類,聲明持久層所要實現(xiàn)的基本方法,如增刪改查等等。
DomainDao:IDomainDao接口類的基礎(chǔ)實現(xiàn)類。IDomainDao接口聲明了與數(shù)據(jù)庫持久層的一些要實現(xiàn)的方法,而具體實現(xiàn)是在DomainDao中進行的,它實現(xiàn)了持久化數(shù)據(jù)所需的各種基本的方法,這樣其他具體的持久層的類就可以繼承它實現(xiàn)持久化,對于一些特殊的需要實現(xiàn)的功能,可以根據(jù)需求重寫方法,大大提高了工作人員的工作效率。它實現(xiàn)持久化的原理是依靠Ibatis的一些類,比如SqlMapClientDaoSupport實現(xiàn)的,通過描述數(shù)據(jù)源和命名空間,調(diào)用SqlMapClientDaoSupport的指定方法對數(shù)據(jù)源的數(shù)據(jù)進行持久化方面的操作。本系統(tǒng)中所有的DAO層的類均直接繼承自DomainDao。
通過這些基礎(chǔ)類的設(shè)計,可以大大提高代碼的復(fù)用性,通過接口和繼承等實現(xiàn)重載和重寫,大大提高了系統(tǒng)的健壯性和靈活性,同時大大的減少了開發(fā)人員的工作量,提高了開發(fā)效率。
圖2 基礎(chǔ)類及其關(guān)系圖Fig.2 base class and diagram
根據(jù)呼叫中心CRM系統(tǒng)服務(wù)端的研究與設(shè)計思路,按照需求分析將系統(tǒng)的主要功能模塊進行拆分,最終設(shè)計了一個功能較完善的呼叫中心CRM系統(tǒng)。通過對CRM系統(tǒng)設(shè)計進行測試,從功能角度
看,系統(tǒng)與原有呼叫中心平臺實現(xiàn)了很好的集成,具備了一個呼叫中心CRM系統(tǒng)的基本功能,如:語音呼入、客戶資料的記錄與管理、工單與客戶資料的關(guān)聯(lián)、員工管理和統(tǒng)計報表展示等。從業(yè)務(wù)流程角度,該系統(tǒng)依托原有的呼叫中心平臺,完成了業(yè)務(wù)從受理、處理、后期反饋流程的整合,達到了預(yù)期目標(biāo),是一個較為實用的CRM系統(tǒng)。目前該系統(tǒng)運行良好,未來需要在可擴展性和性能方面進行完善。
[1] 崔解賓. 基于J2EE的企業(yè)資質(zhì)管理系統(tǒng)的研究與實現(xiàn)[J].軟件, 2014, (12): 36-41. DOI: 10.3969/j.issn.1003-6970. 2014.12.008. Cui X B. Based on the J2EE enterprise qualification management system research and implementationy[J]. Software, 2014, (12): 36-41. DOI: 10.3969/j.issn.1003-6970.2014.12. 008. (in Chinese).
[2] 蔡奕群. 淺談呼叫中心的規(guī)劃和部署[J]. 計算機光盤軟件與應(yīng)用, 2010, (8): 119-120. Cai Y Q. Introduction to the call center planning and deployment[J]. Computer CD software and application, 2010, (8): 119-120. (in Chinese).
[3] 徐雅斌, 張云帆. 基于CTI技術(shù)的呼叫中心的設(shè)計與實現(xiàn)[J]. 計算機工程, 2007, 33(5): 232-233, 236. DOI: 10.3969/ j.issn.1000-3428.2007.05.082. Xu Y B, Zhang Y F. The design and implementation of the call center based on CTI technology[J] Computer engineering, 2007, 33(5): 232-233, 236. DOI: 10.3969/j.issn.1000-3428. 2007.05.082. (in Chinese).
[4] 徐慶征. 呼叫中心技術(shù)及其發(fā)展淺述[J]. 江西藍天學(xué)院學(xué)報, 2006, 1(4): 49-51. Xu Q Z. call center technology and its development[J]. Jiangxi blue sky college journals, 2006, 1(4): 49-51.
[5] 李少輝. 面向?qū)ο笈cMVC框架的融合[J]. 軟件, 2013, 34(1): 82-84. Li S H. The fusion of the MVC framework and object-oriented [J]. software, 2013, 34(1): 82-84.
[6] 高玉軍. 面向?qū)ο蠓植际絎eb自動化實現(xiàn)[J]. 軟件, 2013, 34(11): 86-88. Gao Y J. Object oriented distributed Web automation implementation[J]. software, 2013, 34(11): 86-88.
[7] Jon Anton, Natalie L. Petouhoff and Lisa M. Schwartz, Integrating People with Processes and CRM Technology, The Anton Press, 2002, 2: 27-38.
[8] Geurt, Jongbloed, Ger. Koole. Managing uncertainty in call centers using Poisson mixtures[J]. Applied Stochastic Models in Business and Industry, 2001, 17: 307-318.
Research and Design of Call Center CRM System Server
CHEN Li-wen, ZHAN Shu-bo
(State Key Laboratory of networking and switching, Beijing University of Posts and Telecommunications, Beijing 100876, China)
This paper mainly presents the design idea of call center CRM system from the function level and system level. Nowadays, with the rapid development of call center services, It can help enterprises manage the external customer relations, and achieves internal management more efficiently. The call center CRM business system software adopts B/S architecture, work provide Web based interface, support the browser login access. It uses Java language development, the background uses the J2EE enterprise edition Tomcat platform, cross-platform characteristics. The combination of call center and CRM system is of great significance to improve customer service quality and improve enterprise competitive ability.
Call center; CRM; J2EE; MVC
TP311
A
10.3969/j.issn.1003-6970.2016.11.016
陳立文(1989-),女,碩士研究生,主要研究方向: 通信軟件。
詹舒波(1965-),碩士生導(dǎo)師,主要研究方向:電信增值系統(tǒng),基于智能網(wǎng)及其相關(guān)技術(shù)在電信網(wǎng)絡(luò)的應(yīng)用研究與開發(fā)。