基于WEB的客户关系管理系统论文1.docx
- 文档编号:27288666
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:50
- 大小:629.63KB
基于WEB的客户关系管理系统论文1.docx
《基于WEB的客户关系管理系统论文1.docx》由会员分享,可在线阅读,更多相关《基于WEB的客户关系管理系统论文1.docx(50页珍藏版)》请在冰豆网上搜索。
基于WEB的客户关系管理系统论文1
基于WEB的客户关系管理系统论文
基于WEB的客户关系管理系统[crms]
计算机科学与技术专业林远全
[摘要]基于WEB的管理系统是目前网络化管理的发展的主要形式之一。
本文首先对客户关系进行了需求分析,对系统进行了总体设计,系统无前后台之分,采用先进的基于互联网(Internet)应用的B/S架构设计,应用J2EE技术的MVC三层架构开发,具有结构先进,部署简便,可跨平台,跨数据库操作。
利用struts2.0+hibernate3.2+spring3.0框架实现了营销管理、客户管理、客户服务、报表统计、基础数据和系统管理六个功能模块,实践结果表明该网站系统具有界面友好、结构合理、内容优秀,通过多种人性化的操作设计,无需专业培训,用户即可充分使用系统的所有功能,完成对客户资源信息的集成化管理等特点,有一定的实用价值和参考价值。
[关键词]WEB;客户关系系统;J2EE;hibernate;spring;struts
BasedontheWEBofcustomerrelationshipmanagementsystem
ComputerscienceandtechnologyprofessionalsLinYuanQuan
Abstract:
WEB-basedmanagementsystemisthenetworkmanagementoneofthemainformsofdevelopment.Inthispaper,therelationshipbetweencustomerneedsanalysis,theoveralldesignofthesystem,nofrontandbackofthesub-system,usingadvancedInternet-based(Internet)applications,B/Sarchitecturedesign,applicationoftheMVCthree-tierJ2EEtechnologydevelopment,withadvancedstructure,easeofdeployment,cross-platform,cross-databaseoperations.Usestruts2.0+hibernate3.2+spring3.0frameworktoachieveamarketingmanagement,customermanagement,customerservice,reports,statistics,sixbasicdataandsystemmanagementmodules,practicalresultsshowthatthesystemhasauser-friendlywebsite,reasonablestructure,excellentcontent,operatingthroughavarietyofhumandesign,withoutprofessionaltraining,userscanfullyuseallthefeaturesofthesystemtocompletetheintegrationofcustomerinformationresourcesmanagement,etc.,havesomepracticalvalueandreferencevalue.
Keywords:
WEB;customerrelationshipsystem;J2EE;hibernate;spring;struts
第一章引言
1.1研究的背景与意义
crms研究背景分为:
首先,随着科学技术的发展、经济水平的提升、企业管理理念和一种新经济背景下的营销理念,其核心是以客户为中心,以客户价值为导向手段的协同管理思想和效率营销方式的变化,加上一方面,很多企业在信息化方面已经做了大量工作,收到了很好的经济效益。
另一方面,一个普遍的现象是,在很多企业,销售、营销和服务部门的信息化程度越来越不能适应业务发展的需要,越来越多的企业要求提高销售、营销和服务的日常业务的自动化和科学化。
这就为客户关系管理系统应运而生的需求奠定了基础。
其次,在计算机、通讯技术、网络应用的飞速发展使得上面的想法不再停留在梦想阶段。
办公自动化程度、员工计算机应用能力、企业信息化水平、企业管理水平的提高都有利于客户关系管理的实现。
我们很难想象,在一个管理水平低下、员工意识落后、信息化水平很低的企业从技术上实现客户关系管理。
有一种说法很有道理:
客户关系管理的作用是锦上添花。
现在,信息化、网络化的理念在我国很多企业已经深入人心,很多企业有了相当的信息化基础。
电子商务在全球范围内正开展的如火如荼,正在改变着企业做生意的方式。
通过Internet,可开展营销活动,向客户销售产品,提供售后服务,收集客户信息。
重要的是,这一切的成本是那么低。
客户信息是客户关系管理的基础。
数据仓库、商业智能、知识发现等技术的发展,使得收集、整理、加工和利用客户信息的质量大大提高。
最后,管理理念的更新。
经过二十多年的发展,市场经济的观念已经深入人心。
当前,一些先进企业的重点正在经历着从以产品为中心向以客户为中心的转移。
有人提出了客户联盟的概念,也就是与客户建立共同获胜的关系,达到双赢的结果,而不是千方百计地从客户身上谋取自身的利益。
现在是一个变革的时代、创新的时代。
比竞争对手领先一步,而且仅仅一步,就可能意味着成功。
业务流程的重新设计为企业的管理创新提供了一个工具。
在引入客户关系管理的理念和技术时,不可避免地要对企业原来的管理方式进行改变,变革、创新的思想将有利于企业员工接受变革,而业务流程重组提供了具体的思路和方法。
在互联网时代,仅凭传统的管理思想已经不够了。
互联网带来的不仅是一种手段,它触发了企业组织架构、工作流程的重组以及整个社会管理思想的变革。
1.2论文的主要工作
在目前WEB应用程序解决方案里。
J2EE技术和.NET技术是两种主流的解决方案,二者各有其特点。
J2EE技术比较适合大型企业建站,而.NET比较适合中小企业平台的搭建,所以本文采用J2EE作为开发平台,以当下最新的Spring3.0作为主要框架结合hibernate,struts等进行开发,并结合客户关系管理系统的特点,提出了以下基于J2EE的Web应用设计方案:
(1)系统设计采用了目前比较流行的J2EE技术,基于组件的分层设计使系统框架结构清晰,脉络分明。
实现了视图、控制和模型的分离,提高了设计的规范性,实现了各层之间的松耦合性。
(2)设计了系统的总体框架,给出了客户关系管理系统的功能结构图
(3)重点研究了客户关系管理技术并设计了客户关系管理的流程图。
随着应用系统规模和复杂性的提高,系统体系结构和数据库设计越来越重要。
本系统基于J2EE技术,实现了视图、控制和模型的分离,可以为用户提供更加快捷、方便和易于维护的平台。
第二章系统设计的理论基础
随着Internet的发展,WEB应用软件系统的规模性和复杂性不断提高,基于WEB的软件和应用系统需要更为开放和灵活的体系结构。
“三层/多层”体系结构被广泛采用,也越来越被开发人员和客户认同。
2.1开发技术及开发模式
根据本系统的要求,考虑到系统的安全性、稳定性和高效性,准备采用如下几方面技术。
(1)操作系统windowsXP(WIN7);
(2)数据库Sqlserver2005;
(3)服务器ApacheTomeat6.0;
(4)系统开发技术:
struts2.0+Spring3.0+hibernate3.2+JavaScript+Jquery
(5)系统设计模式:
MVC;
(6)系统开发工具:
eclipse3.2,PhotoshopCS3,DreamweaverCS4。
系统建设的关键在于其所使用的架构。
基于浏览器B/S架构则是目前WEB应用程序的主流。
它将大量的数据处理工作交给服务器处理,无论是管理人员还是系统使用者都可以通过浏览器实现所有操作。
这种方式的优点是方便快捷,有利于系统的更新和维护。
Java在B/S方面的优点和其他语言相比更加突出,J2EE的出现使应用程序开发层次更加清晰、操作更加规范,更有利于处理复杂的事务。
2.2J2EE技术
Java最初是用在客户端机器的浏览器中,在它刚开始出现时很多人认为java不适合用在服务器端做开发。
但是时间证明当时这种想法是不对的,随着第三方对java的支持增多,现在java已经成为服务器端开发的首选。
J2EE是Java2平台企业版(Java2Platform,EnterpriseEdition)它是Sun公司推出的一种概念模型,J2EE与传统的互联网应用程序相比有很多优势。
它以组件的方式进行设计、部署应用程序,采用了分布、多层的体系结构。
有着“一次编写,到处运行”的特点。
J2EE技术有有如下几个优点:
(1)J2EE是基于JAVA技术,不依赖任何操作系统,与平台无关。
(2)标准开放,许多公司都支持对该规范。
(3)提供专业的通用软件服务。
(4)J2EE可以把一些通用的、繁琐的服务端任务交给中间件完成。
这样可以提高开发质量、提高开发效率。
2.2.1MVC模型结构体系
MVC(Model-View-Conrtollor),即模型-视图-控制结构,是目前比较流行的J2EE体系结构。
MVC总共分为三个层次,分别为表示层、中间层和数据层。
J2EE体系结构具有跨平台的特性,这三个层次可以处在不同的平台下进行协作应用。
因为表示层可以使用不同的客户端程序,所以表示层具有很好的分布性,可以采用分布式管理;在后台的系统中,可以把不同的应用系统集成到J2EE体系结构中,因此可以保护现有的资源不被破坏[1][2]。
MVC体系结系工作流程如图2.1所示
图2.1MVC工作流程图
(1)视图
视图主要指用户看到并与之交互的界面,即WEB应用程序的外观。
视图可以接收用户的输入,但并不包括实际业务的处理知识将数据转交给控制器。
同时视图还负责展现传递用户的数据,可以向模型查询业务状态,但不能改变模型。
视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。
(2)模型
模型代表了该WEB应用的核心功能。
它表示业务数据与业务逻辑同一个模型可以被多个视图所共用。
(3)控制器
控制器接受用户输入并调用模型和视图区完成用户的需求,当用户在WEB页面中提交HTML表单时,控制器接收并调用相应的模型组件去处理请求,之后调用相应飞视图来显示模型返回的数据。
2.2.2核心技术
(1)Spring[3][4][5]
Spring是一个开源框架,它由RodJohnson创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架[3][4][5]。
1)轻量——从大小与开销两方面而言Spring都是轻量的。
完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。
并且Spring所需的处理开销也是微不足道的。
此外,Spring是非侵入式的:
典型地,Spring应用中的对象不依赖于Spring的特定类。
2)控制反转(IoC)——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。
当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。
你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
3)面向切面(AOP)——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发。
应用对象只实现它们应该做的——完成业务逻辑。
Spring3.0新推出的@注释方法更是一种优越的编程方式,它大大减少了繁琐复杂的代码。
(2)hibernate3.2[6]
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有5个,分别为:
Session、SessionFactory、Transaction、Query和Configuration。
这5个核心接口在任何开发中都会用到。
通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。
下面对这五个核心接口分别加以介绍。
Session接口:
Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。
)。
但需要注意的是Session对象是非线程安全的。
同时,Hibernate的session不同于JSP应用中的HttpSession。
这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。
SessionFactory接口:
SessionFactory接口负责初始化Hibernate。
它充当数据存储源的代理,并负责创建Session对象。
这里用到了工厂模式。
需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。
Configuration接口:
Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。
在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。
Transaction接口:
Transaction接口负责事务相关的操作。
它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
Query和Criteria接口:
Query和Criteria接口负责执行各种数据库查询。
它可以使用HQL语言或SQL语句两种表达方式。
(3)struts2.0[7]
Struts2继承WebWork的血统,或者说WebWork衍生出了Struts2。
Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:
而且吸收了Struts1和WebWork两者的优势,因此,是一个非常值得使用的框架。
ApacheStruts2是一个优雅的,可扩展的JAVAEEweb框架。
框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。
ApacheStruts2即是之前大家所熟知的WebWork2。
在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts2。
Struts2Action类:
Struts2Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。
Struts2提供一个ActionSupport基类去实现常用的接口。
Action接口不是必须的,任何有execute标识的POJO对象都可以用作Struts2的Action对象。
Action对象为每一个请求产生一个实例,因此没有线程安全问题。
(实际上,servlet容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)。
Struts2Servlet依赖:
Struts2Action不依赖于容器,允许Action脱离容器单独被测试。
如果需要,Struts2Action仍然可以访问初始的request和response。
但是,其他的元素减少或者消除了直接访问HttpServetRequest和HttpServletResponse的必要性。
Struts2可测性:
Struts2Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”支持也使测试更容易。
Struts2捕获输入:
Struts2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。
输入属性可能是有自己(子)属性的rich对象类型。
Action属性能够通过web页面上的taglibs访问。
Struts2也支持ActionForm模式。
rich对象类型,包括业务对象,能够用作输入/输出对象。
这种ModelDriven特性简化了taglib对POJO输入对象的引用。
Struts2表达式语言:
Struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言--"Object-GraphNavigationLanguage"(OGNL对象图导航语言)。
绑定值到页面(view),Struts2使用"ValueStack"技术,使taglib能够访问值而不需要把你的页面(view)和对象绑定起来。
ValueStack策略允许通过一系列名称相同但类型不同的属性重用页面(view)。
Struts2类型转换:
Struts2使用OGNL进行类型转换。
提供基本和常用对象的转换器。
Struts2校验:
Struts2支持通过validate方法和XWork校验框架来进行校验。
XWork校验框架使用为属性类类型定义的校验和内容校验,来支持chain校验子属性。
Struts2Action执行的控制:
Struts2支持通过拦截器堆栈(InterceptorStacks)为每一个Action创建不同的生命周期。
堆栈能够根据需要和不同的Action一起使用。
(4)XML
XML被用来定义其它标记语言的语言,在不同的处理过程中共享数据。
XML和Java相互独立,通过Java和XML的组合可以得到更完美的具有平台独立性的解决方案[9]。
2.3数据库技术
数据库有平面文件数据库和关系型数据库两类,平面文件数据库是指包含一个数据表的数据库,关系型数据库是指包含了二个和二个以上的数据表,而且数据表之间存在一种或多种连接。
关系型数据库的优点是可以通过一个数据表中的“主关键字”字段与另一个数据表的一个字段连接起来,第一个数据表中的所有信息都可以由第二个表调用,这样可以避免重复输入,对大型数据库来说,具有非常重要的意义。
目前市场上数据库的主流产品有Oracle、SQLServer、MySQL等。
Oracle是以高级结构化查询语言SQL为基础的大型关系数据库,是目前最流行的客户服务器体系结构的数据库之一,比较适合专用的工作站或小型机作为服务器的大型网站。
SQLServer适合于Windowsserver2000/2003操作系统的中型网站。
MySQL是一个真正的多用户、多线程SQL数据库服务器。
SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。
SQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
SQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。
所以本项目使用SQLServer2005数据库[10][11]。
2.4系统环境的搭建
客户关系系统运行环境的搭建主要包括硬件设备和网络环境的搭建、系统软件的安装调试、JDK、Tomcat的安装和配置等。
(1)安装系统发布系统软件环境
安装windowsXP(WIN7)和SQLServer2005,并且设置好数据库访问的用户、口令和权限。
(2)JDK的安装和配置
·下载JDK1.6forwindows并且安装。
·配置系统环境变量JAVA_HOME、CLASSPATH和PATH。
·测试JDK是否安装成功。
(3)TOMCAT的安装和配置
在Apachetomcat官方网站上下载并且安装、配置tomcat。
第三章WBE客户关系管理系统的总体规划
3.1系统设计的可行性、目标和需求分析
可行性主要任务是确定问题是否值得去做。
研究包括三个方面:
·技术方面,主要是指设备、技术力量等;
·经济方面,主要是指费用估算、效益估算等;
·组织管理方面,主要是领导态度、法律法规、用户素质等。
在前期规划基础上,建立起以客户为核心的WEB客户关系管理系统,具体建设目标如下:
(1)建立以用户为中心的系统内容
系统内容是指系统将为使用者提供和处理哪些信息,这是系统建设实施的第一步。
根据客户关系系统的规模和行业特点进行栏目分类,进一步确定系统的重点内容及内容之间的关联,从而确定系统各栏目的内容,为下一步的视觉设计奠定基础。
(2)系统视觉设计
客户关系系统的视觉设计应该大方、庄重,操作简便,同时系统的视觉设计也应该为使用者感官视觉好的目标服务,力求使使用者与系统操作之间取得平衡。
努力设计出既能够满足客户使用需要又能够体现管理系统行业化的特点的视觉设计。
(3)用户流程体验为核心的功能定义开发
基于Web的应用系统功能丰富、实用、灵活性,如何合理的规划系统应用功能方案,开展以用户流程体验为核心的功能流程组织,从系统用户使用的角度出发,合理化功能流程,使系统方便、易用。
通过对WEB客户关系系统考察、分析以及实际的市场调查,并结合自己系统的特色,确定了系统当前及日后可能出现的功能需求:
(1)身份验证功能:
销售经理和客户经理经超级管理员添加后将拥有自己独立的账户每次登陆系统后台都将进行身份验证才能登陆对权限范围内的业务进行管理。
(2)栏目菜单管理:
具体操作有新建、修改、删除栏目等功能。
(3)系统查询管理:
信息查询是管理系统必不可少的功能,在系统界面进行输入查询条件,查询出来的信息可以进行查看详细,修改,删除操作。
3.2网站系统页面设计
一个好的网站系统页面设计应该美观、界面友好、结构合理、后台处理智能化、内容优秀以及优良快捷的交互性。
即网站的建设具有交互性与持续性、艺术与技术结合紧密的特点。
网站的可用性界面设计在e时代十分重要。
网站系统界面设计的三大原则是:
(1)置界面于用户的控制之下;
(2)减少用户的记忆负担;
(3)保持界面的一致性。
网站系统的可用性界面设计原则
(1)设计形式与网站系统内容统一。
什么样的网站系统,应该有什么样的设计,设计是为网站系统的主题服务的,二者要统一。
(2)注重网站系统的交互性和可持续性。
系统不是一个被动的媒体他的特殊性在于用户的选择和参与,保持用户的新鲜感。
另外构建合理的网站系统组织结构,让使用者对系统提供的巨量处理信息能力感到强大,建立完善的包括系统帮助页面、查询功能在内的系统都是页面设计需要考虑的因素。
3.2.1系统功能结构
客户关系管理系统主要是实现系统日常的各类管理和维护。
通过前面的分析设计了客户关系管理功能的框架图,通过这个系统使用人员(不用了解系统的具体架构)也可以进行系统信息的添加和管理,具体如图3.1所示。
图3.1Web客户关系管理系统功能结构流程图
3.2.2系统权限是获取登录者角色编号访问控制
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 WEB 客户关系 管理 系统 论文