客户关系管理系统.docx
《客户关系管理系统.docx》由会员分享,可在线阅读,更多相关《客户关系管理系统.docx(29页珍藏版)》请在冰豆网上搜索。
![客户关系管理系统.docx](https://file1.bdocx.com/fileroot1/2023-7/5/5be89e91-a446-42aa-b982-722571c93e4e/5be89e91-a446-42aa-b982-722571c93e4e1.gif)
客户关系管理系统
课程名称网页设计与网站建设
课题名称客户关系管理系统
目录
1系统分析1
1.1需求分析1
1.1.1系统实现的目标及功能1
1.1.2功能需求1
1.2可行性分析1
1.2.1技术可行性1
1.2.2经济可行性2
1.2.3操作可行性2
1.2.4运行可行性2
1.3流程分析2
1.3.1业务流程分析2
1.3.2数据流分析3
2系统设计7
2.1系统体系架构设计7
2.2系统目标7
2.3数据库设计8
2.3.1数据库概念设计8
2.3.2数据库逻辑结构设计10
2.4系统功能模块设计13
3系统实现15
3.1系统登录模块15
3.2职工信息模块16
3.2客户信息模块18
3.3邮件模块21
总结24
参考资料25
1系统分析
1.1需求分析
需求分析是系统开发工作中最重要的环节之一,是系统分析的基础。
全面调查是分析与设计的基础,需求分析工作量很大,所涉及的业务和人、数据、信息都非常多。
因此,如何科学地组织和适当地着手展开这项工作是非常重要的。
1.1.1系统实现的目标及功能
通过计算机对客户信息以及商品信息进行管理,使得客户的信息增添以及删除、商品信息的增加以及删除、客户订单的增加以及删除等相关的管理更加方便、快捷。
该软件提供了一个简单的人机界面,管理员可以根据提示输入操作项并进行一系列对客户信息的管理操作。
通过调查分析研究,本系统主要实现以下目标及功能:
1.系统架构清晰,界面友好美观。
2.详细全面记录并管理客户信息和联系人信息。
3.方便实用的数据查询功能。
4.对企业进行分类,方便管理。
5.对与客户有关的产品信息、产品销售记录进行全面管理。
6.设置系统登录,提高系统安全性。
1.1.2功能需求
客户管理系统需要满足来自两方面的需求,这两方面分别是销售部门和管理员。
销售部门的需求是处理与自己部门有关的信息,系统管理员的功能包括对客户信息、产品信息等进行管理及系统状态的查询、添加、修改、删除等维护。
用户可以根据本人用户名和密码登录系统,可修改密码。
1.2可行性分析
1.2.1技术可行性
本系统的开发采用JavaWeb技术和数据库开发技术,采用的开发工具为myEclipse、MySq、tomcal服务器。
以上知识技术是开发本系统所需要用到的,技术上是可行的。
1.2.2经济可行性
开发此软件不需要大量的经费,由于是个人独立设计完成,可以节省许多费用。
同时,开发该系统所需的相关资料可以通过已存在的相关系统进行调查和采集,所需的其他应用软件、硬件工具也易于获得。
因此,降低了系统的开发成本。
该系统针对的用户是中小型企业客户信息管理,企业引进使用本系统可以给企业带来很好的企业利益和社会效益,系统运行后可以为用户提高工作效率,提高保密性,节省劳动力。
因此客户信息管理系统的开发是可行的。
1.2.3操作可行性
开发此软件不需要大量的经费,由于是个人独立设计完成,可以节省许多费用。
同时,开发该系统所需的相关资料可以通过已存在的相关系统进行调查和采集,所需的其他应用软件、硬件工具也易于获得。
因此,降低了系统的开发成本。
该系统针对的用户是中小型企业客户信息管理,企业引进使用本系统可以给企业带来很好的企业利益和社会效益,系统运行后可以为用户提高工作效率,提高保密性,节省劳动力。
因此客户信息管理系统的开发是可行的。
1.2.4运行可行性
在现今社会,顺着信息化和计算机技术的高度发展,越来越多的公司意识到信息化是提升管理效率不可缺少的重要步骤。
他们深知现代化的管理方法对公司的重要性。
而对于将要代替手工管理客户信息的客户信息管理系统,配备现代化的管理思想更是必不可少的。
所以企业的领导者在给予系统充分的开发资金的基础上,更是将现代化的管理思想融入其中,使其最终成为具有现代化管理方法的管理系统。
经过以上分析,运行方面是可行的。
1.3流程分析
1.3.1业务流程分析
该系统的业务流程图如图1-1所示
图1-1业务流程图
1.3.2数据流分析
数据流程分析的工具是数据流图(DataFlowDiagram),通过数据流图进一步分析系统将实现哪些功能,这些功能之间是如何通过数据流相互关联的。
如图所示:
(1)数据流图
顶层数据流图,如图1-2示:
图1-2顶层数据流图
第二层数据流图,如图1-3示
图1-3第二层数据流图
第三层数据流图
客户基本信息管理模块数据流图,如图1-4示:
图1-4客户基本信息管理模块数据流图
销售记录统计管理模块数据流图,如图1-5所示:
图1-5销售记录统计模块数据流图
销售记录管理模块数据流图,如图1-6所示:
图1-6销售管理模块数据流图
2系统设计
系统设计包括两个方面:
首先是总体设计,其次是具体设计。
系统设计的主要目的就是为下一阶段的系统实现制定蓝图。
信息系统设计阶段的主要任务是从信息系统的总体目标出发,根据系统分析阶段对系统逻辑功能的要求,并考虑到经济、技术和运行环境等方面的条件,确定系统的总体结构和系统各组成部分的技术方案,合理选择计算机和通信的软、硬件设备,提出系统的实施计划。
系统设计阶段的工作是一项技术性强、涉及面广的活动。
它主要包括系统总体设计,详细设计,系统实施进度与计划的制订,“系统设计说明书”的编写。
2.1系统体系架构设计
系统建设的关键在于其所使用的架构。
基于浏览器B/S架构则是目前WEB应用程序的主流。
它将大量的数据处理工作交给服务器处理,无论是管理人员还是系统使用者都可以通过浏览器实现所有操作。
这种方式的优点是方便快捷,有利于系统的更新和维护。
图2-1为基于B/S的三层体系结构图:
图2-1B/S三层体系结构图
2.2系统目标
根据需求分析及用户的需求可以得出,客户管理系统实施后,应达到以下目标:
(1)系统运行稳定、安全可靠。
(2)网站整体结构和操作流程合理顺畅,实现人性化设计。
(3)规范、完善的基础信息设置。
(4)系统管理员包括超级管理员和普通管理员,超级管理员可以对普通管理员进行管理,可以根据需要添加以及删除普通管理员,也可以对普通管理员的登录密码进行修改,普通管理员没有此功能。
(5)对所有客户信息进行集中管理。
(6)对商品信息进行集中管理。
(7)实现客户对于各种商品的购买以及退订。
(8)提供快速的搜索客户信息功能,在输入商品时也可以利用检索功能[11]更快速的输入。
(9)实现增加客户信息,删除客户信息,增加商品信息,删除商品信息,等相关的管理。
(10)实现快速查询,根据客户的姓名、手机、座机、QQ、邮箱亦或者是地址都可以查询出该客户的基本信息,根据订单号、客户姓名、商品名就可以查询出该客户的订单详情,由商品名称、简介或者品牌可以查询出该商品的基本信息等相关的操作。
(11)商品的基本信息中包含有进价,这样可以更容易的使得管理人员可以更好地应对客户讨价还价。
(12)增加订单时有该订单创建的时间,可以避免一些不必要的麻烦。
(13)当一个订单生成时,从订单管理详情可以直接看出该订单的总金额。
(14)使得管理员的工作效率有了更大的提高,方便其工作。
(15)能够适应如今快节奏的生活模式,减轻管理员在客户管理方面的压力。
2.3数据库设计
客户管理系统是一个数据库开发的Web网站,现对该图书馆使用的数据库进行设计。
2.3.1数据库概念设计
概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合,归纳与抽象,形成一个独立于具体DBMS的概念模型。
概念结构是各种数据模型的基础,比数据模型更独立于机器、更抽象,从而更加稳定。
描述概念模型的有力工具是E-R模型。
客户信息实体如图2-3-1所示:
图2-3-1客户信息实体E-R图
产品信息实体如图2-3-2所示:
图2-4-2产品信息实体E-R图
实体间E-R图如图2-3-3所示:
图2-4-3实体间E-R图
整体ER图
2.3.2数据库逻辑结构设计
逻辑结构设计的任务是把概念机构设计阶段设计好的基本E-R图转换成语选用DBMS产品所支持的数据模型相符合的逻辑结构。
1.用户信息:
用户信息(账户名,密码,用户类型)
2.客户信息:
客户信息(客户编号,客户名称,客户等级,负责人,邮箱,电话,地址,邮编,简介)
3.产品信息:
产品信息(产品编号,产品名称,产品简介,产品价格,类型,包装)
4.销售记录:
销售记录(编号,日期,客户编号,产品编号,数量)
5.销售记录统计:
销售记录统计(客户编号,产品编号,销售记录编号,销售金额总计)
本系统使用数据库名称为client,其中包含5个数据表,sa-statistics表存放产品销售统计信息,cl-sale表存放销售记录,cl-Khgrade表存放客户等级信息,product表存放产品信息,client表存放客户信息,users表存用户信息。
销售记录统计表如表2-1所示:
表2-1sa_statistics(销售记录统计)表
字段
字段名
数据类型
宽度
说明
1
Client-id
文本
10
客户编号,主键
2
Product-id
文本
10
产品编号,非空
3
Sale—id
文本
10
销售记录编号,非空
4
Total
数字
双精度型
销售金额总计,非空
销售记录表如表2-2所示:
表2-2cl-sale(销售记录)表
字段
字段名
数据类型
宽度
说明
1
Id
文本
10
编号,主键,非空
2
Sa-data
日期/时间
-
日期
3
Client-id
文本
10
客户编号,非空
4
Product-id
文本
10
产品编号,非空
5
Sa-num
数字
长整型
数量
客户等级信息表如表2-3所示:
表2-3cl-Khgrade(客户等级)表
字段
字段名
数据类型
宽度
说明
1
GradeID
文本
2
等级编号
2
Aclass
数字
长整型
VIP用户
3
Bclass
数字
长整型
高级用户
4
Cclass
数字
长整型
普通用户
产品信息表如表2-4所示:
表2-4Product(产品信息)表
字段
字段名
数据类型
宽度
说明
1
Id
文本
10
产品编号,主键,非空
2
Product-name
文本
20
产品名称,非空
3
Product-introduce
文本
400
产品简介
4
Product-price
数字
双精度型
产品价格
5
Produce-type
文本
20
类型
6
Produce-pack
文本
20
包装
客户信息表如表2-5所示:
表2-5client(客户信息)表
字段
字段名
数据类型
宽度
说明
1
Id
文本
10
客户编号,主键
2
Client-name
文本
20
客户名称,非空
3
Client-grade
文本
10
客户等级
4
Client-charge
文本
10
负责人,
6
Client-email
文本
20
邮箱
7
Client-tell
文本
15
电话
8
Client-adress
文本
40
地址
9
Client-postcard
文本
10
邮编
10
Client-introduce
文本
400
简介
用户信息表如下表2-6所示:
表2-6users(用户信息)表
字段
字段名
数据类型
宽度
说明
1
Users
文本
10
账户名,主键,非空
3
Password
文本
10
密码,非空
4
Branch
文本
10
用户类型
2.4系统功能模块设计
系统将进入登陆界面的用户设置为两种用户权限,分别为:
系统管理员登陆和销售人员登陆;不同用户登陆后的操作的实现不同。
客户信息管理系统包括对系统管理、客户信息管理、客户等级管理、产品信息管理、销售记录管理等五个子模块,功能分别如下:
1.系统管理模块
在系统管理模块系统管理员可进行各用户的密码等信息的查询,可进行数据库的备份和还原系统日常运营产生的信息绝大部分是存储在硬盘上的,硬盘可能损坏,从而导致硬盘上的数据丢失,因此,为了避免这种情况给公司带来损失,系统管理员必须每隔一段时间对系统中的数据进行备份。
当硬盘损坏后,硬盘上的数据就可能无法使用,所以就必须将以前备份的数据重新导入到系统中,这就是数据库还原所做的工作。
2.客户信息管理模块
在该模块中记录了客户的有关信息,系统管理员进入该模块可进行对客户的查询、修改、删除、添加操作。
而销售人员只可进行客户信息的查看。
3.客户等级管理模块
在该模块中记录了如何划分客户等级的有关信息,系统管理员进入该模块可进行对客户等级划分的查询、修改、删除、操作。
而销售人员只可进行客户划分等级信息的查看。
4.产品信息管理模块
在该模块中记录了产品的详细信息,系统管理员进入该模块可实现对产品的查询、修改、删除、添加等操作。
而销售人员只能进行产品信息的查看。
5.销售记录管理模块
销售记录管理模块分销售记录查询和销售记录统计两个模块。
(1)销售记录查询子模块
在该模块中记录了产品销售的具体记录,记录了哪位顾客在什么时候购买了什么产品。
销售人员进入该模块负责记录产品的具体销售情况。
管理员可进入该模块进行销售记录的查询。
(2)销售记录统计子模块
销售人员进入该模块可以管理产品销售的具体信息。
对产品的销售情况进行相应的统计,按照不同的类别进行管理,做出相应的对策。
本系统的功能结构如图2-2所示:
图2-2功能结构图
3系统实现
3.1系统登录模块
系统的管理员均可以登录该系统,系统管理员是由超级管理员和普通管理员两个部分组成,只要是由超级管理员增加的普通管理员都可以凭借其登录名和登录密码登录该系统。
1.使用者在浏览器中输入http:
//localhost:
8080/crm_sys/login.jsp便可进入系统的登录界面如图3-1所示:
图3-1系统登录界面
该页面核心代码如下:
servlet/LoginCheckServlet"method="post"onsubmit="returnvalidator(this)">
<用户
|
密码
|
2.用户点击登录后,利用javascrip语言判断用户名和密码是否合法,代码如下:
functionisNumberOrLetter(s){//判断是否是数字或字母
varregu="^[0-9a-zA-Z]+$";
varre=newRegExp(regu);
if(re.test(s)){
returntrue;
}else{
alert("账号只能是字母或数字!
");
returnfalse;
}
}
3.跳转到LoginCheckServlet,获取用户名密码,利用javabean,jdbc等技术连接数据库判断用户名和密码是否正确。
代码如下
request.setCharacterEncoding("utf-8");
//获取用户名和密码
StringuserNum=request.getParameter("userNum");
StringuserPw=request.getParameter("userPw");
LoginServiceservice=newLoginServiceImpl();
UserInfouserInfo=newUserInfo();
userInfo.setUserNum(userNum);
Listlist=service.query(userInfo);
list.add(userInfo);
UserInfouserInfo2=service.getAllList(userNum);
request.getSession().setAttribute("userInfo2",userInfo2);
if(userPw.equals(list.get(0).getUserPw())){
request.getRequestDispatcher("/view/frame/main.jsp").forward(request,response);
}else{
response.sendRedirect("../login.jsp?
error=yes");
}
3.2职工信息模块
1.查看职工信息
核心代码如下:
servlet/UserQueryServlet"method="post">
请输入查询内容:
290px"/>
请选择查询方式:
100px">
员工姓名
部门名称
角色名称
员工学历
2修改职工信息
根据id去修改对应职工信息核心代码如下:
145px">
<%ListconditionList=(List)request.getAttribute("conditionInfo");%>
<%
for(inti=0;iCustomerConditionInfoconditionInfo=conditionList.get(i);
%>
"
<%if(customerInfo.getConditionId()==conditionInfo.getConditionId()){%>
selected="selected"<%}%>
>
<%=conditionInfo.getConditionName()%>
<%}
%>
3.2客户信息模块
1.查询客户信息
代码如下:
servlet/CustomerQueryServlet"method="post">
<%UserInfouserInfo=(UserInfo)request.getSession().getAttribute("userInfo2");
%>
请输入查询内容:
290px"/>
请选择查询方式:
100px">
客户姓名
客户状态
客户来源
客户类型
所属员工
客户公司
2增加职工信息
代码如下:
<%ListsourceList=(List)request.getAttribute("sourceInfo");%>
<%for(inti=0;iCustomerSourceInfosourceInfo=sourceList.get(i);
%>
"><%=sourceInfo.getSourceName()%>
<%}%>
3.修改职工信息
代码如下:
//获取客户信息
intcustomerId=Integer.parseInt(request.getParameter("customerId"));
CustomerServiceservice=newCustomerServiceImpl();
CustomerInfocustomerInfo=service.getAllList(customerId);
request.setAt
展开阅读全文
相关搜索
|