呼叫中心CRM系统服务端的研究与设计
2016-12-15陈立文詹舒波
陈立文,詹舒波
(北京邮电大学网络与交换国家重点实验室,北京 100876)
呼叫中心CRM系统服务端的研究与设计
陈立文1,詹舒波2
(北京邮电大学网络与交换国家重点实验室,北京 100876)
论文主要从功能层面和系统层面介绍呼叫中心CRM系统的设计思路。近年来,随着呼叫中心业务的迅速发展,一个完善的客户关系管理系统不但可以帮助企业更好的管理外部客户关系,同时可以帮助企业实现更高效的内部管理。呼叫中心CRM业务系统软件采用B/S架构,提供基于Web的工作界面,支持浏览器登录访问。系统采用Java语言开发,后台采用J2EE企业版Tomcat平台,具有跨平台特性。呼叫中心与CRM系统的结合对于改善客户服务质量和提高企业竞争能力具有重要意义。
呼叫中心;客户关系管理;J2EE;MVC
本文著录格式:陈立文,詹舒波. 呼叫中心CRM系统服务端的研究与设计[J]. 软件,2016,37(11):68-72
0 引言
呼叫中心是以计算机电话集成(CTI)技术系统为基础,将计算机的信息处理能力,数字程控交换机的电话接入和智能分配,自动语音处理技术,Internet技术,网络通信技术,商业智能技术与业务系统紧密结合在一起,将公司的通信系统,计算机处理系统,人工业务代表,信息等资源整合成统一,高效的服务工作平台。具体地说,是指用户拨打一个电话号码接入呼叫中心后,就能收到呼叫中心任务提示音(通过自动语音应答系统或者人工的坐席代表实现),按照呼叫中心的语音提示,就是接入数据库,获得所需的信息服务,并可进行存储、转发、查询、交换等处理,还可以通过呼叫中心完成交易。呼叫中心是CRM系统与外部客户建立联系的核心渠道,提供的是一种沟通手段。同时作为获取客户信息的重要途径,呼叫中心是CRM系统进行信息整合的基础。CRM系统提供的是包括业务流程、内外部资源乃至运营状况分析的综合管理手段,是更为全面的一体化解决方案。
1 呼叫中心CRM系统研究
1.1 关键技术介绍
1.1.1 Struts
Struts是目前开发Java web应用时普遍采用的一个开源web框架,采用了JSP、Servlet和标签库等多种技术[1]。Web应用不同于传统的只能发送静
态页面的网站,其可产生动态响应,并且Web应用可与数据库和业务逻辑交互来自定义响应。
基于JSP的Web应用会包含数据库代码、网页设计代码和控制流程代码,可读性差、同时对于复杂的应用维护起来也很困难。Struts框架采用了基于MVC的设计思想,将应用的业务逻辑和用户展示视图相分离,很好的解决了以上问题。自定义标签库也是Struts的主要特征之一,实现JSP显示页面中动态逻辑和静态页面代码的剥离,优化了系统结构的同时增强了代码可读性,降低了系统复杂度,改进了web开发中存在的诸多不足。
1.1.2 Spring
Spring 是依靠分层架构来解决应用程序开发的复杂性问题的,该架构可以使用户可以自由选择组件,采用不同的组合方式为J2EE应用程序开发提供集成方案。Spring的两个主要模块为面向切面编程(AOP)和基于JavaBean的IOC(控制反转)容器,提供了包括业务管理、框架集成等多个基础功能。Spring不同于Struts等的单层框架,重点放在了将众多单层架构进行组合,重构整个应用,从而使开发更加的高效。
1.1.3 iBATIS
iBATIS是基于Java的持久层框架,与Hibernate的不同点在于它允许用户自定义SQL语句,灵活度更高,还可以使用数据库对标准SQL语句进行扩展[2]。iBATIS将使用JDBC的细节全部抽象并隔离,在SQL层面上进行持久化操作,除了这种直接SQL映射,还可以采用缓存策略,缓存查询结果。
1.1.4 MySQL
MySQL 数据库是一个开源数据库,由于开源的特性,大量应用在各种中小型的项目上。MySQL是一个跨平台的数据库,可以使用在windows、linux等操作系统上。MySQL数据库使用C/C++编写,使用多种编译器测试,具有良好的可移植性。使用MySQL的项目很多,有很庞大的社区支持,在使用过程中遇到任何问题都可以从网上寻找答案。MySQL支持unicode编码,在需要使用中文的项目中使用MySQL数据库不会有太大的困难。MySQL数据库支持分布式的部署,在很多项目中需要应用到,本课题就需要使用相关的功能。MySQL可配置项很多,可以根据自己需要在配置文件中修改相应的配置项来满足使用上的需求,使用方便自由。
1.2 功能模块设计
呼叫中心是充分利用现代通讯与计算机技术,如IVR(交互式语音应答系统)、ACD(自动呼叫分配系统)等等,可以自动地梳理大量各种不同的电话呼入、呼出业务和服务的运营操作场所[3]。目前呼叫中心已经广泛地应用在市政、公安、交管、邮政、电信、银行、保险、证券、电力、IT和市场行销等行业、以及所有需要利用电话进行产品行销、服务于支持的大中小型企业,使企业的客户服务与支持得以实现,并极大地提高了响应行业的服务水平和运营效率。
呼叫中心CRM系统主要包括人工服务子系统、自动服务子系统、客户资料管理子系统、工单管理子系统和计算机辅助电话调查子系统、统计报表管理子系统等。
人工服务子系统是坐席人工进行服务的系统。用户拨打企业的接入码后,系统会直接将用户电话转接到服务组内的空闲坐席,如果此时所有坐席都在接电话,则系统向用户播放等待提示音,并将用户放到该服务的排队队列中进行等待(每个服务都会有自己独立的排队队伍)。当用户等待时间太长,或正在排队的客户太多时,系统会按照预先的设定进行异常/意外情况的处理。
自助服务子系统提供IVR业务流程,实现语音导航、自动业务处理与信息查询。自动服务是通过呼叫中心系统中的IVR子系统实现的。自动服务由IVR系统按照事先编写的流程脚本(VXML脚本文件),通过“向用户播放提示音”和“收取用户的电话按键”的交互方式,来为用户提供某些信息服务。
客户资料管理子系统提供客户资料管理功能,包括定制化的客户信息、添加客户资料、修改客户资料等。客户资料是指在系统数据库中所记录的企业最终用户信息,客户资料在呼叫中心应用中是非常重要的,在客户来电前,能主动地在弹屏中显示客户资料信息和客户的服务记录、之前的服务内容,坐席根据客户信息可以更好地了解客户情况,从而可以更好地为客户提供服务。
工单管理子系统提供工单管理功能,包括工单记录、自动工单填写等。工单是指在系统数据库中,坐席所记录的与用户每次沟通的情况,记录诸如用户来电询问的事项、用户是否愿意订购推销的产品、用户委托的送货地址等内容。
CATI(Computer Assisted Telephone Interview,计算机辅助电话调查系统)作为一种先进的调查方法和技术,是有电话、计算机、坐席三种资源组成一体的访问系统,主要工作原理是利用计算机来导
入已经设计好的问卷,选取一定的受访者样本,通过计算机拨打所需的号码。
作为业务平台的数据收集和整理部分,统计报表可以更直观的反映业务运营状况,员工工作情况等,是企业进行管理的基本方法和途径,是一切后续数据分析、制定相关战略的基础。报表以安全可靠的方式展现数据信息,可以企业管理者深度洞察企业的经营状况,是企业发展的强大推动力。
2 呼叫中心CRM系统的设计
2.1 系统架构
系统的架构依据MVC的思想进行划分,同时根据其功能和实际情况又进行了细分,分位web表现层,业务层,DAO接口层,持久化对象描述,这些通过spring整合在一起,使层次更加鲜明,职责更加明确。Web表现层负责转发消息和返回相应到视图层。业务层主要是负责一些业务逻辑的处理,实现各种具体的服务。DAO接口层描述实现了一些持久化所需要做的操作,如增删改查。持久化对象进行一个对象到数据库的映射,完成最后的数据与数据库的交互。系统架构如图1所示。
Spring提供业务逻辑的操作,以容器的方式管理整个架构中的Bean,同时负责其他开源框架的整合。Struts负责接收转发用户的消息并在相应模块进行处理后给出对应的相应,同时负责管理着一些实用的标签库,进行JSP页面的展示。Ibatis负责数据的一些基本操作,并提供一些数据相关的接口,实现数据的持久化。
图1 系统架构图Fig.1 System architecture
呼叫中心CRM系统按分层架构设计,整个系统分为五层,分别是数据层、服务层、应用层、表示层和用户层。数据层要负责提供CRM系统所需的数据库和文件存取能力,采用关系型数据库,文件包括日志和录音文件等。服务层提供CRM系统的基础框架,包括角色权限、资源体系、与CTI整合的电话服务、安全服务等。应用层基于服务层的定制能力,通过二次开发的工作,提供针对行业用户的客户化系统解决方案。表示层提供CRM系统的展示界面,基于Web页面的方式。用户层是页面访问系统的客户端,通过标准的浏览器软件接入。
2.2 基础类设计
为了使开发更加便捷,逻辑更加清楚,通过面向对象的开发方法,在系统设计中开发了一些基础类,这些基础类负责基本功能的实现,有的以接口形式实现,这样系统可以根据功能的需求,通过继承基础类或实现基础类中的接口来根据需求进行扩展开发,这样可以大大地减少开发人员的工作量,避免不必要的重复的劳动量,且有助于代码的管理。
基础类及其关系如图2所示。
BaseDispatchAction:这是位于控制层的一个类,它负责接收JSP传来的消息,根据消息内容执行对应的方法,这些方法主要是增删改查(insert,delete,update,search)。这些方法的具体实现是通过分层思想交给Service层来做的,所以每个Base-DispatchAction中都会有getService这个方法。在系统设计中,如果需要新加针对某种消息的控制层的类都可以继承此基础类,然后针对有必要修改的方法稍作调整进行重写即可,不需要改动的方法继承BaseDispatchAction类的即可不用再去重写。
IDomainService:是业务逻辑的接口。BaseDispatchAction会调用具体的服务来处理业务逻辑,而
通过面向接口的编程方式,设计一个IdomainService接口,负责基础的一些服务,增删改查等等。通过Spring的依赖注入(亦称反转控制),我们可以动态调用实现此接口的具体的业务类来实现业务的逻辑处理。这样大大的降低了系统的耦合性,通过声明一些基本的增删改查(insert,delete,update,search)的接口实现了多态,使程序更加灵活健壮。系统中所有业务层接口类均继承自该接口。
DomainService:是业务逻辑的基础接口的实现类,它实现了IDomainService接口最基本最通用的方法增删改查批量删除等等。呼叫中心外呼模块中的所有业务类都继承此类,这样就可以充分利用继承的特性,减少开发人员的工作量。同时针对一些需要特殊处理的类可以重写对应的方法。利用分层的思想,业务层只负责具体的业务逻辑,涉及到一些持久层的事情,比如存储数据到数据库,删除指定数据或者是修改某数据库中的数据,使用IdomainDao来完成。这个会有一个getIDomainDao的方法来获取。
IDomainDao:这是数据持久层的接口类。业务层只涉及到业务逻辑的处理,最终与数据库进行交互实现数据的持久化,根据分层的思想,仍需要特定的持久层的基础类来完成。根据面向接口的编程方法,充分利用Spring的依赖注入这项基本特点,实现低耦合,持久层首先设计出一个接口类,声明持久层所要实现的基本方法,如增删改查等等。
DomainDao:IDomainDao接口类的基础实现类。IDomainDao接口声明了与数据库持久层的一些要实现的方法,而具体实现是在DomainDao中进行的,它实现了持久化数据所需的各种基本的方法,这样其他具体的持久层的类就可以继承它实现持久化,对于一些特殊的需要实现的功能,可以根据需求重写方法,大大提高了工作人员的工作效率。它实现持久化的原理是依靠Ibatis的一些类,比如SqlMapClientDaoSupport实现的,通过描述数据源和命名空间,调用SqlMapClientDaoSupport的指定方法对数据源的数据进行持久化方面的操作。本系统中所有的DAO层的类均直接继承自DomainDao。
通过这些基础类的设计,可以大大提高代码的复用性,通过接口和继承等实现重载和重写,大大提高了系统的健壮性和灵活性,同时大大的减少了开发人员的工作量,提高了开发效率。
图2 基础类及其关系图Fig.2 base class and diagram
3 结论
根据呼叫中心CRM系统服务端的研究与设计思路,按照需求分析将系统的主要功能模块进行拆分,最终设计了一个功能较完善的呼叫中心CRM系统。通过对CRM系统设计进行测试,从功能角度
看,系统与原有呼叫中心平台实现了很好的集成,具备了一个呼叫中心CRM系统的基本功能,如:语音呼入、客户资料的记录与管理、工单与客户资料的关联、员工管理和统计报表展示等。从业务流程角度,该系统依托原有的呼叫中心平台,完成了业务从受理、处理、后期反馈流程的整合,达到了预期目标,是一个较为实用的CRM系统。目前该系统运行良好,未来需要在可扩展性和性能方面进行完善。
[1] 崔解宾. 基于J2EE的企业资质管理系统的研究与实现[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] 蔡奕群. 浅谈呼叫中心的规划和部署[J]. 计算机光盘软件与应用, 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技术的呼叫中心的设计与实现[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] 徐庆征. 呼叫中心技术及其发展浅述[J]. 江西蓝天学院学报, 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] 李少辉. 面向对象与MVC框架的融合[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] 高玉军. 面向对象分布式Web自动化实现[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-),硕士生导师,主要研究方向:电信增值系统,基于智能网及其相关技术在电信网络的应用研究与开发。