0 引言
客户关系管理(Customer Relationship Management,CRM)是一种企业经营的商业策略和管理理念,现今得到广泛认可,并且其越来越多地借助于信息技术来实现。它通过将最佳的商业实践(销售自动化)与先进的信息技术(例如数据挖掘、商业智能等)进行组合,为企业的销售、服务和决策等领域提供业务一体化的解决方案。我国民航企业,尤其是民航旅客运输行业中,客户数量、业务量巨大,建立CRM系统具有重要意义。
本文CRM系统主要帮助解决一下问题:
(1)有效管理客户信息。客户的概念不仅限于旅客,更应该包括对企业有贡献(现实的或潜在的)的任何人,例如员工、合作伙伴等。因此,客户关系管理也就包含了员工信息管理、企业业务流程管理等内容,它的应用将有效提高企业工作效率、优化企业管理方式。
(2)通过信息处理技术,对客户价值、贡献进行分析,避免花费过多精力和财力无目标地发开新客户,并为这些最优可能创利的客户及时提供个性化服务,使企业有效地降低成本,提高收益。
本系统考虑采用B/S架构,利用ExtJS这种AJAX框架开发富有互联网应用(RIA,Rich Internet Applications),利用S2SH(Struts2+Spring+Hibernate)框架简化开发过程,增强系统的可维护性和可扩展性。该平台给用户提供了更高、更全方位的网络体验,满足了用户的应用需求,从而达到CRM管理的目的。
1 系统功能
该CRM软件系统主要包括五个功能模块,如表1所示,系统中的用户通过角色和权限进行管理,不同部门不同角色的用户具有不同权限。系统管理员完成用户角色和权限的分配和管理。
表1 系统功能模块及说明书
由此可见,民航企业可以完成从各业务部门到各级分支机构的管理、统计分析等功能,相关的业务功能包括:实时录入、及时处理、统计分析等,帮助决策者、管理者在最短的时间内找到决策者所需要的数据报表和分析报告,大大缩短决策时间,对行业的发展做出正确的判断,抢占市场先机。
2 系统结构
该系统的逻辑视图分为三层,分别是表示层、控制层和业务逻辑层。为了提高系统的移植灵活性以及扩展性,设计尽量把每一层的功能主题设计成子系统,之间使用接口进行通信。
图1 系统框架
(1)表示层。用户表示层指负责客户端页面的显示工作,即用户看到的应用程序界面的部分工作。该层使用各种Web页面技术,例如Struts2标签技术,JavaScript技术以及ExtJS技术等。该层依赖于控制层和系统服务层。系统服务层提供了表示层的一些基本的帮助显示的服务。
用ExtJS可以开发出具有丰富内容的显示页面,因此用来开发RIA。它用JavaScript编写。是创建前端用户界面的UI框架。该框架与系统后台所使用的开发技术独立,因此,可以把ExtJS与使用Java、.NET或其他开发语言开发的应用系统集成在一起。
(2)控制层
该层根据界面的操作完成对程序数据的更新,将程序数据的改变及时反映到用户界面,从而控制用户界面和程序数据之间的同步。表示层的请求服务通过该层来协调业务逻辑层来提供。
(3)服务层
服务层主要是组织业务逻辑中的业务逻辑组件,包括表示应用程序领域内所有实体类。
(4)数据访问层(持久层)
该层提供了需要持久化实体对象的方法、逻辑。用于对业务逻辑层实体对象进行持久化。该层主要基于Hibernate技术进行设计,减少编写、维护SQL语句的工作量。
(5)系统服务层
该层的主要提供所有通用的、与业务无关的工具集包或类,为分层结构中其他各层提供所需的服务。
3 系统框架设计
在Web程序的开发过程中,开发人员过度地注重服务和持久化的开发,导致在客户端与服务器端的交互技术方面已经严重滞后。如何提高Web响应速度,减少传输带宽已经成为Web开发的一个值得关注的问题。本项目开发的CRM 系统基于Struts2、Spring、Hibernate和ExtJS技术开发。能够解决这一问题,并且使该系统具有良好的可维护性、扩展性。
为提高系统的开发效率,使开发更注重于业务逻辑设计,本系统采用J2EE轻量级框架技术,即Struts2、Spring和Hibernate的框架组合 Struts2是以WebWork的设计思想为核心,吸收了MVC框架Struts1的部分优点。它由核心控制器(FilterDispatcher)、业务逻辑控制器(Action)、拦截器(Interceptor)、结果类型(Result)和视图(View)等核心组件组成。Struts2采用一种松耦合的设计,增强了单元的测试性。Struts2具有强大的标签库,不仅提供了表现层的数据处理, 同时还提供了AJAX、上传下载的功能。限于篇幅,下文仅列出了本软件的系统类图、序列图以及用户请求的活动图。
3.1 类图
类图(如图2所示)说明具有主要意义的类、接口、子系统、包和层相互之间的关系。
3.2 序列图
序列图(如图3所示)展示了用户请求的系统处理过程。
3.3 活动图
如图4所示的活动图展示了各分层的职责。
3.4 系统实现
本系统开发语言:Java;开发平台:MyEclipse;数据库:DB2 9.0。系统采用Hibernate进行数据持久层的开发,通过MyEclipse提供的Hibernate反转工程,为数据库中的数据表生成相应的POJO(Plain Object Java Object)类和映射文件。同时,借助了Spring,通过依赖注入、AOP应用,面向接口编程,来降低业务组件之间的耦合度。增强系统的扩展性。
图2 类图
图3 序列图
在项目开发中,对象的调用流程是:JSP→Action→Sewice→DAO→Hibernate 数据的流向是ActionForm,Bean 接受用户的数据,Action将数据从Action,FromBean中取出,封装成VO或PO,再调用业务层的Bean类,完成各种业务处理后再foward。而业务层Bean收到这个PO对象之后,会调用DAO(Data Access Object:数据访问对象)接口方法,进行持久化操作。
图4 活动图
系统运行环境如下:
(1)服务器端。操作系统:Windows 2000 Server、Windows 2003 Server:数据库服务器:DB2 9.0系列:Web服务器:Tomcat 6.0;JDK环境:JDK 6.0系列。
(2)客户端。操作系统:Windows ME、Windows XP、Windows 2000、Windows NT;浏览器:IE 6.0以上。
4 结语
本文介绍了B/S结构的民航CRM系统整体设计与实现。该CRM系统开发快捷,方便,易维护、升级,同时。AJAX技术的采用使得系统响应速度快、交互效果好。如何在系统中采用数据挖掘技术提高系统对数据的分析获取能力。是该系统今后努力的方向。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:基于AJAX与S2SH的民航企业CRM系统设计与实现
本文网址:http://www.toberp.com/html/consultation/1083932632.html