毕业论文--基于JAVA技术的客户关系管理系统Word文档格式.doc
《毕业论文--基于JAVA技术的客户关系管理系统Word文档格式.doc》由会员分享,可在线阅读,更多相关《毕业论文--基于JAVA技术的客户关系管理系统Word文档格式.doc(68页珍藏版)》请在冰点文库上搜索。
但是那是很重要的客户关系管理不仅仅是一个技术,客户关系管理可以更好地界定为一种方法,一个公司将实现自己的目标的方法,它应该是直接和公司的理念相关联,有许多原因企业应该拥有客户关系管理系统。
客户关系管理系统能够帮助公司找到最适合客户的因素。
一个公司必须认识到,如果他们不满足欲望和需求的客户,他们也不可能获得成功,而客户关系管理是一个功能强大的系统将允许他们这样做,实现企业的目标。
本系统的设计理念就是帮助企业对客户进行有效的管理,可以用来研究用户、管理用户、开发用户。
代替了之前的手工记录和传统记忆方式,避免了客户数据的遗漏和丢失,同时可以对客户进行一系列的需求和分类操作,添加新客户,对新客户进行操作,对即将流失的客户进行了解和分析,不断完善流失客户的需求,同时对客户提出的问题加以改进;
通过计算机进行登录和管理,操作简单易懂,更符合公司的发展需要。
2系统方案论证
2.1系统可行性研究分析
在进行系统开发之前,需要确定系统开发方案,可行性分析的目的是在系统开发之前,经过详细的阅读需求文档以及各个功能模块的设计要求以及实现要求,明确系统开发的可行性,而可行性则取决于现实应用系统的资源和条件,对系统开发条件不成熟的地方加以讨论。
通过对系统实现目标以及对四个功能模块的初步了解和分析,提出可行性的方案并进行论证,本文在这里主要从技术可行性、经济可行性和操作可行性三方面进行分析和对比论证,寻找出在各个方面都适合系统开发的条件。
2.1.1技术可行性论证
就技术而言,技术可行性分析是根据讨论和研究的客户关系管理系统需求分析所得到的对系统开发所需要的软件和技术支持。
通过讨论和论证,本系统主要采用MVC设计模式,选用WindowsXP作为服务器端的操作系统,主要采用面向对象的设计方法进行系统设计,在软件开发中选择MyEclipse9.0软件为开发工具;
前台系统操作界面采用J2EE网页制作静态页面技术和JSP实现动态网页技术开发的;
后台数据库采用MySQL设计完成,安装简单,实用,并采用JDBC、Servlet、Hibernate等技术实现数据库的连接;
同时采用Tomcat7.0应用服务器,安装以后可以直接运行,采用火狐浏览器作为主浏览窗口;
同时也采用CSS、JAVASCRIPT脚本语言实现网页不布局和表单提交的验证功能,系统具有界面美观、操作方便、可扩充性强等特点,给用户带来不一样的体验。
2.1.2经济可行性论证
软件的经济可行性论证是指进行客户关系管理系统开发所投入的人力与资金的论证,以及将来是否能达到所需要的效益,主要是指对客户关系管理系统开发的成本进行估算,而本系统的应用开发软件、硬件系统也易于获得。
所需要的软件开发工具均可以从互联网和导师处获取,开发成本相对较低。
而在一些小型企业引进使用本系统后,与传统的手工记录方式和操作相比,具有高效率、低成本的特点,可以节省人力和物力。
所以从经济可行性的角度来看,该客户关系管理系统可以进行开发。
2.1.3操作可行性论证
操作可行性论证主要是在客户关系管理系统开发过程中对四个功能模块的实现是否存在可行性,以及对系统完成后的操作是否被企业用户容易接受等方面进行论证。
首先,通过详细的阅读了系统的需求规格说明书,明确了该系统的功能需要,确定可行。
同时该客户管理系统对操作人员专业要求比较低,具有一定的计算机知识便可以对系统进行操作。
3系统开发技术及思想介绍
3.1J2EE网页制作技术
首先,网页制作技术分为静态网页部分和动态网页部分二部分,静态页面部分主要包括HTML,CSS,JAVASCRIPT三部分;
其中HTML字面上翻译就是超文本标示语言,通过其基本元素的操作可是实现网页界面的完整性;
通过定义CSS样式表,能让网页具有美观一致的画面,一个样式文件可以作用于多个界面,其中<
STYLE>
和<
/STYLE>
标签之间的所有内容都是样式规则;
JAVASCRIPT即是一种描述语言,也是一种基于对象和事件驱动,通常JAVASCRIPT代码使用<
SCRIPT>
/SCRIPT>
标记嵌入HTML文档中,通过使用JAVASCRIPT可以实现基本的表单提交验证功能。
动态页面部分主要包括Servlet和JSP二部分,其中Servlet允许用户在服务器上运行JAVA代码和生成动态内容。
在本系统中,通过详细的阅读系统需求文档,在系统的设计过程中也运用了以上的知识,首先利用HTML和CSS样式表基本知识进行开发,实现了基本的系统操作界面的静态网页;
为了方便统一开发,利用页面框架技术将网页设计开发部分分为三个部分来实现,利用HTML实现基本网页内容,利用JAVASCRIPT技术实现表单的验证,利用CSS布局实现界面的美观修饰,给用户呈现出一个美观易懂的画面。
3.2数据库技术
数据库是存储在一起的相关数据的集合,这些数据是结构化的,并为多种运用服务,数据的存储独立于使用它的程序。
而在数据库中,SQL语句是一种通用的数据库查询语言,SQL一般有数据定义语言、数据操纵语言和数据控制语言组成,数据定义功能包括对基本表、视图、索引的创建、删除和修改操作。
而在系统中,数据查询是数据库的核心操作,SQL语言的数据查询只有一条SELECT语句,查询有单表查询、多表连接查询、嵌套查询和集合查询几个部分组成。
SQL的数据更新包括数据的插入、修改和删除等三种情况。
在本系统中,运用了MySQL数据库管理系统,对系统的数据库进行设计,对于不同模块的不同需求,通过设计在数据库中创建了多张相对应的表,对于用户表和职位表是在系统运行之前就插入,其余各个表数据的存储和操作是等系统完成之后运行用户自己插入存储。
3.3J2SE技术介绍
在J2SE技术当中,JSP是一种JAVA服务器端技术,它主要用来产生动态网页内容,JSP页面使用HTML表示网页上的静态内容,而在其中添加JAVA代码表示动态内容JSP是一种实现普通静态HTML和动态HTML混合编码的技术。
JDBC(JAVA数据库连接)是一种用于执行SQL语句的JAVAAPI,可以为多种关系数据库提供统一访问,它有一组用JAVA语言编写的类和接口组成。
而JDBC当中定义像DriverManager等一系列的类和接口,利用以上类和接口,程序员很容易实现与数据库的连接,传递SQL语句和处理检索结果。
在系本统中,运用了该技术实现了前台静态网页和后台数据库的连接功能,实现了数据的交换、插入、修改和存储,是客户关系管理系统中关键的技术。
3.4MVC设计思想
MVC设计思想是将程序分成相对独立,而又能协同工作的三个部分。
MVC是Model、View、Controller三个词的缩写,三个词分别代表应用的三个组成部分:
模型、视图与控制器。
Model有JavaBean来控制;
View就是视图,由JSP等等构成,用途包括数据的呈现和收集用户的数据,Controller是控制器,由Servlet来控制完成,作用包括接受客户端的请求,调用模型完成业务逻辑和将下一个页面呈现给用户。
设计思想如图4.4MVC模式图例所示。
Client
Controll
View
Model
DB
Pojo
Dao
图4.1MVC模式图例
MVC模型工作流程是由客户端发出一个请求,首先给控制器Controll,之后控制器调用模型层Model,就是访问Pojo和Dao,Pojo的作用是传递参数,Dao是用来连接和访问数据库的,当有数据进行返回交换时,先返回给Dao,再返回给控制器,控制器在完成业务逻辑之后,通过视图将界面呈现给用户。
4系统开发软件介绍
4.1DreamWeaver软件概述
DreamWeaver是一款网页开发工具,是可视化的网页编辑软件,它能快速地创建网页,还提供了强大的网站管理和维护功能。
Dreamweaver还提供了开放的编辑环境,它可以协同相关软件和编程语言共同工作。
而且可以有多种视窗模式,提供了代码视图、设计视图、代码与设计视图3种视窗模式,运用所学习的静态网页的基本知识,可以完成基本网页的编写。
实现系统操作的界面要求。
软件使用如下图4.1所示:
图4.1DreamWeaver软件运行图
4.2MySQL数据库软件概述
MySQL是一个数据库管理系统,与其他数据库像DB2、Oracle、SQLServer等相比,规模小而且功能有限,但是对于客户关系管理系统来说,简单且易于安装和操作,MySQL数据库能够很好的完成开发任务,实现系统功能需求。
MySQL数据库运行截图如图4.2所示:
图4.2MySQL数据库运行图
4.3MyEclipse软件概述
MyEclipse是一种集成开发环境,利用它我们可以在数据库和网页上的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
MyEclipse也是一种基于JAVA的可扩展的开源的开发平台。
就其本身而言,它仅仅只是一个框架和一组服务,主要用于通过插件组件构建开发环境。
尽管MyEclipse是使用JAVA语言开发的,但它的用途并不限于JAVA语言;
例如,支持诸如C/C++等编程语言的插件已经可用。
MyEclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础。
同时我们可以用MyEclipse来开发JAVA应用程序,在本系统中就是运用该技术实现系统的功能。
MyEclipse软件运行图如图4.3所示:
图4.3MyEclipse软件运行图
5系统总体开发
5.1系统概述
该客户关系管理系统共分为营销管理模块、客户管理模块、服务管理模块和统计报表四个功能模块。
为了更好的发掘老客户的价值和作用,并开发更多的新客户,通过这个系统完成对客户基本信息、联系人信息、交往信息、客户服务信息的数字化记录,进行充分共享和对企业进行规范化的管理提供帮助;
通过对销售机会的创建、客户开发过程的追踪和记录,提高新客户的开发能力;
在客户将要流失时系统及时预警,以便公司企业人员及时采取相关措施,降低公司损失;
同时系统能够提供相关有关客户的报表,以便公司高层随时了解公司客户情况,帮助制定公司下一阶段的发展方向。
5.2系统需求分析
整个客户关系管理系统都需要以客户为中心,从而简化各类与客户相关操作的信息,如销售、服务和查询等等,在构建系统的时候,应当考虑与公司其他系统之间的协调,但是本系统仅仅局限于进行对企业客户的一些基本管理,假设现在系统的使用者是某小型企业,那么,企业对该系统提出了如下需求:
首先系统需要包括营销管理模块、客户管理模块、服务管理模块和统计报表模块。
系统需要提供权限管理,以便于更好的管理,对于不同的角色能够赋予不同的权限,但是由于为了更好的有利于公司企业的发展,均设置为最高权限,即客户经理权限;
同时为了更好的和企业客户交流,系统还需要提供一个客户联系人功能,用来管理和编辑存储客户的联系人信息;
为了更好的统计企业目前的销售情况,系统还需要提供一个销售管理的功能,为公司下一步制定销售计划提供帮助;
还需要提供一个服务反馈管理功能,能够及时的记录和操作顾客反馈的信息,对信息进行研究与分析,对公司发展所出现的问题进行分析和改正,最大限度的维护与老客户之间的关系,实现企业发展目标。
功能需求如图2.1客户关系管理系统功能图所示。
销售主管
客户经理
高管
管理销售机会和客户开发计划
管理客户基本信息
管理将流失的客户
管理客户服务
查看产品、订单数据
查看统计报表
图2.1客户关系管理系统功能图
客户关系管理系统要求实现营销管理模块中的销售机会管理和客户开发计划功能;
实现客户管理模块中的客户信息管理功能;
实现服务管理模块中的服务创建、服务分配、服务处理、服务反馈和服务归档功能;
实现统计报表模块中的客户构成分析和客户服务分析功能。
5.3系统功能分析
5.3.1系统营销管理模块
在系统的营销管理模块中,该模块用来处理公司企业的营销信息,包括销售机会管理和客户开发计划二个子模块功能。
客户经理在企业的发展过程当中扮演了一个重要的角色,客户经理有开发新客户的任务,在客户经理发现对于公司有利的销售机会时,应在该系统中录入该销售机会的信息,以便对该销售机会进行更好的开发。
同时销售主管也可以在客户管理管理系统中创建销售机会。
创建的销售机会由销售主管进行分配,以便更好的开发,每个销售机会分配给一个客户经理。
客户经理对分配给自己的销售机会制定相应客户开发计划,在制定完客户开发计划后,客户经理按实际实际当中的开发效果填写计划中每个步骤的执行效果进行比较和确认,同时在开发计划结束的时候,根据开发的结果不同,设置该销售机会为“开发失败”或“开发成功”,如果开发客户成功,系统自动创建新的客户记录。
功能需求如图3.1营销管理模块功能图所示。
编辑销售机会
创建销售机会
删除销售机会
指派销售机会
制定开发计划
执行开发计划
开发失败,结束开发
开发成功
创建新客户
图3.1营销管理模块功能
5.3.2系统客户管理模块
系统中的客户管理模块用来管理客户的信息,包括客户基本信息、联系人信息、客户交往记录信息、历史订单信息等功能。
客户是公司发展的构成部分之一,而客户的信息是企业发展的重要因素,应对企业所有的客户信息进行妥善保管、充分分析和利用,在客户的开发过程当中,每个客户经理有责任维护和保护自己负责的客户信息,随时更新。
在本系统中,客户信息将得到充分的共享,从而发挥最大的价值。
功能需求如图3.2客户管理模块功能图所示。
管理客户的联系人
编辑客户基本信息
管理客户的交往记录
查看客户的历史订单
查看历史订单明细
客户流失预警
确认客户流失
暂缓客户流失
图3.2客户管理模块功能
5.3.3系统服务管理模块
服务管理模块用来处理客户服务信息,包括服务创建、服务分配、服务处理、服务反馈和服务归档等功能模块。
在服务创建模块中,客户服务是客户管理的重要工作,通过客户服务所获取的信息企业可以帮助客户更好的解决问题,进而提高客户满意度,更好的利于公司的发展。
同时还可以随时了解客户最新的动态,对于公司提供服务的要求,以便采取应对措施。
在服务分配模块中,销售主管对状态为“新创建”的服务进行分配,收到处理请求的客户经理对服务进行处理。
在服务处理模块中,被分配处理服务的客户经理负责对服务请求做出相应的处理,需要在客户管理管理系统中录入处理的结果。
在服务反馈模块中,对状态为“已处理”的服务主动联系客户进行反馈,填写处理结果,尽可能的挽留客户,提高客户对公司的满意度,系统可以对已归档的服务进行查询、查阅。
便于参考和解决类似的客户问题。
为更好的发展客户打下坚实的基础。
功能需求如图3.3服务管理模块功能图所示。
分配服务
创建服务
处理服务
查看归档服务
反馈服务
图3.3服务管理模块功能
5.3.4系统统计报表模块
统计报表模块用来生成报表数据信息,包括客户构成分析和客户服务分析二个功能模块。
在该模块中,企业可以了解客户对企业的贡献以及了解某种类型的客户有多少及所占比例;
根据服务类型对服务进行统计;
查看已经确认流失的客户流失记录,功能需求如图3.4统计报表模块功能图所示。
查看客户流失记录
查看每个客户的订单总额
分析客户构成
分析服务构成
查看按等级划分的客户
查看信用度划分的客户
查看按满意划分的客户
图3.4统计报表模块功能
6数据库逻辑设计
本系统中采用MySQL数据库作为系统开发数据库,在仔细阅读了系统的需求文档之后,对于不同模块的不同需要,需要对数据库进行逻辑设计,实现功能完成系统需要建立如下17张表,当模块需要传输和存储数据的时候,可以运用数据库技术对表进行连接查询,得到所需要的数据资料,将查询所得到的结果返回给客户端。
1.用户职位表
该表用来创建企业系统操作员工的权限问题而设置的,主要包括的职位的ID和所对应的职位名称,其中表中的职位ID设置成为主键,用来和其他表中数据的关联查询,这里需要特别注意的是,用户表里面的职位ID必须和用户职位表中的职位ID相对应。
用户职位表的定义如表6.1和图6.1所示:
表6.1用户职位表tabletbl_position
字段名
数据类型(数据范围)
是否可空
说明
positionId
int
notnull
职位id(主键)
positionName
varchar(50)
职位名称
图6.1用户职位表tabletbl_position
2.用户表
该表为用户表,包含和存储了用户的一些基本的信息,其中用户ID设置成为主键,其中包含了用户设置的用户名和密码,这也是系统登录时所需要输入的用户名和密码,是在系统运行之前设置,因为系统登录需要和数据库内部的用户表数据进行对比,对比成功方可进入操作系统,在创建数据的时候,需要注意和用户职位表当中的职位ID相对应。
用户表的定义如表6.2和图6.2所示:
表6.2用户表tabletbl_user
id,
用户id(自增)
name
varchar(20)
用户姓名
pwd
notnull,
用户密码
sex
DEFAULT0,
性别0男1女
phone
char(11),
手机号码
int,
职位id,参照用户职位表的id
图6.2用户表tabletbl_user
3.客户等级表
在客户等级表中包含了客户等级ID字段和客户等级名称字段,在数据库设置的时候,一般将客户分为战略合作伙伴、合作伙伴、大客户、普通客户和重点开发客户五个级别,同时他们和设定的用户等级ID相对应,须将客户等级ID设置成为主键。
客户等级表的定义如表6.3和图6.3所示:
表6.3客户等级表tabletbl_grade
id
客户等级的id(自增)
varchar(30)
客户等级的名称
图6.3客户等级表tabletbl_grade
4.联系人表
联系人表中包含了联系人的一些基本信息,包含了姓名、性别、联系方式等字段,通过联系人数据的插入,可以迅速的在系统查询联系人的信息。
联系人表的定义如表6.4和图6.4所示:
表6.4联系人表tabletbl_contact
contactId
联系人id(自增)
联系人姓名
DEFAULT0
联系人性别0男1女
contactPosition
联系人职位
telephone
联系人办公电话
char(11)
联系人手机
customerId
联系人所属的客户id(参照客户表的Id)
remark
char(100)
备注
图6.4联系人表tabletbl_contact
5.客户表
客户表的定义中包含了客户的一些基本信息,将客户ID设置成为主键,通过客户ID可以查询到客户的基本信息,其中客户所对应的客户经理需要连接用户表来查询,而客户的等级则需要参照客户等级表来查询。
客户表的定义如表6.5和图6.5所示:
表6.5客户表tabletbl_customer
客户id(自增)
customerName
客户名称
area
客户所处的地区
userid
客户所对应的客户经理(参照用户表的Id)
grade
客户等级的id(参照客户等级表的id)
pleased
客户满意度
credit
客户信用度
address
varchar(200)
客户地址
zip
char(6)
邮政编码
varchar(15)
电话号码
fax
传真号码
website
网址
licenseNum
营业执照注册号
corporation
varcha