论文导读:建设客户管理系统,整合客户信息及客户反馈信息,是实现企业客户关系管理的一个重要环节。Struts是基于SunJ2EE平台的MVC(模型—视图—控制器)的框架,提供了对开发MVC系统的底层支持。Struts对Model、View和Controller都提供了对应的实现组件。
关键词:客户关系,MVC,Struts
一、引言
随着计算机技术与通讯技术为代表的信息技术高速发展,以客户为中心的经营模式是新一代企业的标志。客户是企业的战略资源,及时掌握客户的消费变化情况,准确了解客户的需求,已成为市场竞争的焦点。实施客户系统为客户提供高质量服务,从而获取较高的客户满意度和忠诚度,是企业最重要的核心竞争力,是企业在竞争中立于不败之地的根本保证。建设客户管理系统,整合客户信息及客户反馈信息,是实现企业客户关系管理的一个重要环节。
二、关键技术介绍
1、 客户关系管理
客户关系[1]管理是现代管理理念与计算机为代表的高科技相结合的产物,是实现“以客户为中心的管理”的实战策略和方法。特别是计算机网络的飞速发展,使客户信息在销售和服务部门之间出现了共享,为实施客户关系管理系统奠定了良好的基础。
客户关系是从以产品为中心到客户为中心的转变,因此我们必须做到以下六点:
1)留住老客户
2)发现新客户
3)提高客户的忠诚度
4)加强竞争对手的分析
5)了解客户的需求,降低运营风险
6)对客户进行细分,针对性服务
客户关系管理系统是对销售、客户服务、市场、生产制造、库存等分散在企业内部各部门有关面向客户的信息和活动进行收集、整理,采用计算机编程和网络技术组建起一个以客户为中心的信息平台,以实现对客户活动的全面管理[2]。
2、 Struts框架[3]
Struts是基于Sun J2EE平台的MVC(模型—视图—控制器)的框架,提供了对开发MVC系统的底层支持。Struts对Model、View和Controller都提供了对应的实现组件。因此Struts和MVC一样都是利用控制器来分离模型和视图,达到一种松散耦合的效果。图1显示了Struts中的MVC实现。

图1 Struts中的MVC实现示意图
控制器(Controller)的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端。在Struts中控制器功能是由Action和ActionMapping对象共同实现。其中Action用来接受客户端的请求并完成这些操作,处理完毕,再由ActionServlet转向到JSP页面,将处理结果返回给客户端。ActionMapping对象实现一个请求到一个具体的Model部分中Action处理器对象之间的映射。
视图(View)是通过JSP技术实现的。Struts提供了自定义的标记库,主要包括:Bean标记、Logic标记、 HTML标记和模板标记。科技论文。通过使用这些标记创建的JSP表单,可以实现和Model部分中的ActionForm的映射,非常好地和系统的业务逻辑部分交互。
模型(Model)中有Actiont和ActionForm两个对象。Actiont处理器对象封装了具体的处理逻辑,调用业务逻辑模块,并且把响应提交到合适的View组件以产生响应。ActionForm对象通过定义属性描述客户端表单数据实现了对View和Model之间交互的支持。
Struts-config.xml配置文件用于配置Struts系统中的各个模块之间的交互。通过完成这个配置,我们可以把Struts框架中MVC的各个部分联系起来,实现一个真正的MVC[5]系统。
三、客户关系管理系统设计
1、结构设计
随着软件技术和互联网的飞速发展,移动办公越来越普及,传统的C/S结构已经不能满足客户关系管理系统的需求,因此我们选择了B/S结构来开发,用户通过Web浏览器访问本系统。开发语言选用Java配合网页标记语HTML和JSP,并在配置文件中采用XML格式。在开发过程中严格遵守MVC模式,系统分为表现层、业务层和模型层。表现层和业务层应用了Struts框架,而模型层采用了Hibernate技术连接数据库。本系统服务器采tomcat-5.5而没有使用EJB。数据库系统采用的是MySQL5.0,使用其3.1的My SQL JDBC驱动。
2、系统功能模块设计
本系统主要分为系统管理、客户信息管理、客户服务管理、客户联系人管理、客户回访管理五大块,其功能结构如图2所示:

图2 系统功能结构图
2.1系统管理
系统管理是系统管理员级用户使用部分,只有系统管理员才有权限使用。系统管理员可以添加和删除用户,并授予和调整非系统管员级用户权利。
该管理模块主要管理内容包括组织管理、权限和用户管理、系统参数管理、数据库管理、系统日志管理。
2.2客户资料管理
客户信息管理模块主要用于新老客户信息管理。本系统支持用户通过EXCEL的形式批量导入导出客户信息,而不用在系统中逐个新建录入,导入的EXCEL规范格式可以在本系统下载。
2.3 客户联系人管理
可按拼音A-Z列出客户联系人,也可模糊查询联系人,通过联系人资料界面可以关联查到相应的客户。
2.4 客户服务管理
客户服务模块用于管理为客户提供的服务工作,各用户通过新建、编辑及删除客户服务记录进行客户服务的管理。
客户服务的记录包括:服务主题、服务类型,服务方式、开始时间、结束时间、客户联系人、执行人、服务内容、客户反馈和备注。
2.5 客户回访管理
客户回访用于管理客户的回访情况。用户通过新建、编辑及删除客户回访记录进行客户回访的管理。
客户回访的记录包括:回访主题,客户应答和备注。客户回访主界面显示头20条客户投诉处理的记录
3 系统的活动图
客户管理最主要的业务是客户信息管理和客户回访信息,为了更好地发现业务过程,捕获业务过程的步骤,更好的理解系统的需求和为下一阶段领域分析做准备,我们对这部分作了细化,并用活动图描述了整个业务的过程,部分活动图见图3。

图3 客户管理活动图
4 应用UML建模进行系统设计
根据客户管理实现新增合同、修改合同、删除合同、合同续约、合同导出和合同信息查询等。科技论文。它们之间一系列交互关系用顺序图描述如图4所示。

图4 客户信息管理顺序图
四、系统的实现
本系统在Windows2000/XP采用Eclipse3.1+MyEclipse作为集成开发环境,选用apache-tomcat-5.5绿色版作为WEB服务器。作操步骤有:(1)首先把apache-tomcat-5.5.rar文件到C盘根目录,为了后操作方便改名为tomcat。(2)在C: omcatwebapps目录用于存放项目部署文件。(3)数据库连接文件路径:webappsthyWEB-INFhibernate.cfg.xm。(4)c: omcatconfserver.xml主要用于存放端口号等配置,在本系统中端口号采用8111端口。(5)c: omcatinstartup.bat为启动WEB服务器。只有打开此文件后才可使用,使用过程中不能关闭。科技论文。(6)采用c: tomcatin shutdown.bat关闭WEB服务器。
1用户登录模块实现
在用户登录界面中有分别是登录(login.jsp)、成功登录(index.jsp)和登录失败(msgDlg.jsp)三个jsp页面。为了更好的适应系统的B/S结构,本项目在login.jsp中还采用了JavaScript技术编写了OnLocalSubmit()函数在客户端进行用户是否输入用名和密码作较验。
functionOnLocalSubmit(form)
varf=document.loginForm;
varsMsg = '';
if(f.userCode.value==''){
sMsg='请输入用户名称!';
f.userCode.focus();
}elseif (f.password.value==''){
sMsg='请输入用户密码!';
f.password.focus();
}
if(sMsg != ''){
alert(sMsg);
returnfalse;
}else{
returnform;
}
在用户输入用户和密码后,由文件LogingAction.java根据用户输入的参数变量将参数存取并验证。
2客户信息管理模块实现
客户资料管理共设计了六个JSP页面,分别是客户查询(queryCustomer.jsp)、选择客户(selectParent.jsp)、添加客户(addCustomer.jsp)、客户基本信息(customerInfo.jsp)、成功操作(success.jsp)、操作失败(msgDlg.jsp)页面。
1)客户查询(queryCustomer)调用public ActionForwardexecute(ActionMapping mapping, ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception进行查询。使用function exportPage()导出当前查询到的记录。
2)添加新客户:先要对新客户进行较验,看新客户名是否存在,由checkCustomerName()完成的。这函数直接返回字符串'名称不存在!'或 '名称已经存在'。如果不存在用户可以继续填写新客户其它相关信息,最后调用函数saveNewCustomer()保存客户信息,客户详细信息可以参看上一章的数据库设计的客户表。本系统还支持excel格式的客户资料导入,系统调用了getPreCustomerInfo()函数来完成。
3)删除客户:每个客户后面都有“删除”接接。选中客户后,单击此链接时,系统提示是否真的删除,如果是,则调用deleteCustomer()来实现删除用户信息的功能。成功系统提示“删除成功”并让用户自己点击“返回”按钮返回查询结果界面。
五、结束语
本系统是在充分研究客户关系管理学的基础上,采用J2EE平台进行开发的。本系统采用了J2EE、JSP技术及MySQL关系型数据库技术,具有跨平台、安全可靠、移植性强、多样化、功能强大的特点。
本系统是基于Internet的管理信息系统。安全性是Internet网络资源最重要的问题。虽然本系统在设计时已经采取了一定的安全防范措施,但是由于Internet网络及操作系统等各种各样的安全漏洞的存在,加上网络上的各种恶性攻击手段的多样性,而系统数据的重要性,因此系统的安全性是作为一个基于Internet系统重点要考虑的问题,有必要进一步加强安全措施确保数据的安全。
参考文献:
[1]麦凯恩.客户关系管理的秘密.上海交通大学出版社,2001
[2]宝利嘉.客户关系管理解决方案:CRM的理念方法与软件.中国经济出版社,2002
[3]孙卫琴.精通Struts:基于MVC的Java Web设计与开发.电子工业出版社.2004:13-17
[4]何成万.余秋惠.MVC模型2及软件框架Struts的研究[J] .计算机工程.2002.28(6):274-281
|