《2022年2022年客户管理系统需求分析 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年客户管理系统需求分析 .pdf(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、汽车销售客户关系管理系统一:系统简述客户关系管理系统是一个集中管理企业、公司客户信息的系统。实际应用中, 企业的客户信息来自四面八方,不同的联系人他们的客户网也不同,客户关系管理系统为各个公司、个人集中管理其客户信息提供了一个良好的操作空间。二:系统功能模块客户关系管理系统从功能上看主要分为:联系人管理、 客户管理、 订单管理和生日提醒4 大部分。联系人是企业的员工,企业通过联系人这一群体保持与所有客户的关系。客户是与企业业务相关的公司、团体或者个人。联系人与客户在业务上的来往可能需要签订各种合同,我们将这些业务来往统称为订单。1.联系人管理系统用户包括一般联系人和系统管理员,系统管理员同时具
2、有一般联系人的各种权限功能。一般联系人的个人管理包括登录注销和修改个人信息两个部分。系统管理员除具备这些基本功能外,还包括创建一般联系人用户,查看、修改和删除所有一般联系人等功能。如表1-1 所示是联系人管理的功能列表。表 1-1 联系人管理一般联系人系统管理员修改个人信息登陆和注销创建一般联系人用户查看一般联系人信息修改一般联系人信息删除一般联系人2.客户管理客户管理主要包括客户信息的创建、查看、修改、删除与列表。为了一定程度上的保密,所有的客户信息由系统管理员统一管理,各个联系人不具有操作所有客户信息的权限,只能使用部分客户信息。如表1-2 所示是客户管理中的功能列表。名师资料总结 - -
3、 -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 表 1-2 客户管理系统管理员添加客户信息查看客户信息修改客户信息删除客户信息客户列表3.订单管理订单管理分一般联系人和系统管理员两种角色的订单管理。一般联系人可以添加订单、修改和删除自己创建的订单。系统管理员还具有管理系统中所有订单的权限。订单根据所处的状态不同可以分为进行中的订单和已关闭的订单。当联系人与客户谈成一笔生意签订一份合同后,联系人需要在客户关系管理系统中创建该订单,此订单就属于进行中的
4、订单。当合同结束时联系人需要关闭该订单,那么订单的属性也将转变为已关闭状态。如表 1-3 所示是订单管理中的功能列表。表 1-3 订单管理一般联系人系统管理员添加订单修改订单删除订单关闭订单个人订单列表添加订单修改订单删除订单关闭订单个人订单列表所有订单列表三 系统目录结构本系统使用MyEclipse 来开发客户关系管理系统,在新建工程时将整个系统的根目录命名为 spring。在网站程序spring 目录下有 WEB-INF 目录、 META-INF目录、 webroot 页面和图片目录。下面先来看一下根目录下的文件和文件夹。注意,凡是带有“/“符号都表示一个目录或文件夹,其他的都是文件。We
5、broot/ | addCustomer.jsp 添加客户页面| addOrders.jsp 添加订单页面| addUser.jsp 添加一般联系人页面| addCar.jsp 添加汽车信息| cusomers.jsp 所有客户列表名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - | editCustomer.jsp 修改客户列表| editMyInfo.jsp 修改用户个人信息页面| editOrders.jsp 修改订单信息页
6、面| editUser.jsp 修改一般联系人信息页面| addCar.jsp 添加汽车信息| error.jsp 系统信息提示页面| global.css CSS 格式文件| global.jsp 安全控制页面| index.jsp 主页面| aa.jsp 主页面顶部部分| login.jsp 登录页面| main.jsp 主页面右侧部分| orders.jsp 订单列表页面| cars.jsp 汽车表页面| title.jsp 各页面导航栏页面| userOrder.jsp 一般联系人个人订单列表页面| users.jsp 一般联系人列表页面| viewCustomer.jsp 查看客户信
7、息页面| viewOrder.jsp 查看订单信息页面| viewUser.jsp 查看用户信息页面| ocscript.js 导航条 JS | selectDate.js 时间选择 JS | imenus0 导航条 CSS | images/ 用户见面图片目录|-/META-INF / META-INF配置目录|-/WEB-INF / WEB-INF 配置目录然后,再来看一下比较重要的网站配置目录。WEB-INF 目录存放网站程序所需的所有class文件以及必要的配置文件,例如 web.xml 和 DBConfig 。Properties 文件等。 下面是 WEB-INF目录下的详细内容。|
8、-/WEB-INF/ 网站配置与资源目录|-web.xml 网站部署配置文件| classes/ | |-DBConfig.properties 数据库连接配置文件|-jsp.mysql.bean/ | Car.class 汽车 JavaBean | Customer.class 客户 JavaBean | Orders.class 订单 JavaBean | User.class 用户 JavaBean |-jsp.mysql.database/ 数据库访问与连接类| DBConnect.class | DBConnectionManager.class |-jsp.mysql.servle
9、t/ Servlet 目录| AdminServlet.class 用户管理 Servlet | CarServlet.class 汽车管理 Servlet 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 7 页 - - - - - - - - - | CustomerServlet.class 客户管理 Servlet | OrdersServlet.class 订单管理 Servlet |-util/ | CharsetFilter.class 字符编码过滤类| MD
10、5.class 密码加密类| Signal.class Servlet 辅助类|-lib/ 库文件和Jar 包目录四 系统界面设计界面基本上分为两部分:上面部分是页面的导航,显示页面导航条。下面部分显示具体页面内容。上面导航点击后显示的地方。五 数据库设计在了解客户关系管理系统的功能模块后,进行数据库设计。系统,从功能模块来看,主要集中了联系人管理,客户管理和订单管理这3 大类。因此,从数据库设计角度出发,共需要创建 3 个表,分别是联系人表crmuser、客户表 customer、汽车表car 和订单表order。1 联系人表 crmuser 联系人表crmuser 负责存储企业员工联系人的
11、个人信息,主要字段(或属性)包括用户名、用户密码、 联系人姓名、 性别、电子邮件、 电话和是否为管理员。下表是联系人表crmuser所有属性的详细列表,包括属性的数据类型、是否为空和注释。序号列名数据类型是否为空注释1 username varchar2(50) N 用户名2 userpwd varchar2(50) N 用户密码3 name varchar2(50) Y 联系人姓名4 gender varchar2(10) Y 联系人性别5 useremal varchar2(50) Y 联系人 E-mail 6 userphon varchar2(50) Y 联系人电话7 usermpho
12、ne Varchar2(50) Y 联系人手机8 isadmin number(1) Y 是否是管理员在确定了人表crmuser 的结构后, 再对照各属性编写适合Oracle 数据库的SQL 语句。在mysql 数据库下,使用jsp/jsp 用户创建联系人表crmuser 的 SQL 语句如下所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 7 页 - - - - - - - - - create table crmuser( userName varchar2(50
13、) constraint PK_crm_userName PRIMARY KEY, userPwd varchar2(50) not null, name varchar2(50), gender varchar2(10), userEmail varchar2(50), userPhone varchar2(50), userMphone varchar2(50), isAdmin number(1) ); 2 客户表 customer 客户表 customer 负责存储企业所有客户信息,包括客户ID 、客户名称、地址、邮编、电话、传真、备注和添加时间等。其中,客户名称是必填属性,添加时间表
14、明客户信息进入系统的时间。如下表所示是客户表customer 所有属性的详细列表,包括属性的数据类型、是否为空和注释。序号列名数据类型是否为空注释1 customerId number(6) N 客户 ID 2 name varchar2(50) N 客户名称3 address varchar2(300) Y 客户地址4 zipCode varchar2(50) Y 客户邮编5 phone varchar2(50) Y 客户电话6 fax varchar2(50) Y 客户传真7 comment varchar2(4000) Y 备注8 addTime date Y 添加时间根据上表中的属性列
15、表编写创建客户表的SQL 语句。create table customer( customerId number(6) constraint PK_customerId PRIMARY KEY, name varchar2(50) not null, address varchar2(300), zipCode varchar2(25), phone varchar2(50), fax varchar2(50), comments varchar2(4000), addTime date ); 由于 customerId 属性需要自动增长,使用前面介绍过的序列sequence来实现这个功能。使
16、用 jsp/jsp 用户创建如下序列,它从 1 开始增长, 增长幅度为1,没有最大值限制且不循环,并使用大小为10 的缓存。这样,在调用时就可以用customer-seq.nextval 和 customer-seq.currval分别获得序列的下一个值和当前值。3 汽车表 car 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 7 页 - - - - - - - - - 汽车表car 负责存储企业所有汽车信息,包括汽车ID 、汽车品牌、汽车型号、汽车价格、汽车图片地址、
17、汽车图片名称。其中,汽车ID 是必填属性,添加汽车图片地址是指向上传图片的位置。如下表所示是汽车car 所有属性的详细列表,包括属性的数据类型、是否为空和注释。序号列名数据类型是否为空注释1 caridinteger N 汽车 ID 2 namevarchar2(50) y 汽车品牌3 typevarchar2(20) Y 汽车型号4 priceinteger Y 汽车价格5 picaddvarchar2(100) Y 图片地址6 picnamevarchar2(20) Y 图片名称根据上表中的属性列表编写创建客户表的SQL 语句。create table car( carid integer
18、 constraint PK_carId PRIMARY KEY, name varchar2(20) not null, type varchar2(20), price integer, picadd varchar2(100), picname varchar2(20) ); 4 订单表 orders 订单表 orders 存储企业业务中联系人和客户之间的关系信息。订单表包含的属性有订单 ID 、联系人用户名、客户ID 、订单时间、订单金额以及订单状态等,用户还可以根据实际应用添加其他属性。如下表所示是订单表order 所有属性的详细列表,包括属性的数据类型、是否为空和注释。序号列名数据
19、类型是否为空注释1 orderID number(6) N 订单 ID 2 userName varchar2(50) Y 联系人用户名3 customerID number(6) Y 客户 ID 4 orderTime date Y 订单时间5 Price number(10) Y 订单金额6 fax order_status number(1) Y 订单状态创建订单表order 的 SQL 语句如下。create table orders( orderID number(6) constraint PK_orderID PRIMARY KEY, userName varchar2(50)
20、constraint FK_order_crmuser references crmuser(userName) on delete cascade, customerID number(6) constraint FK_order_crmuser references crmuser(customerID) on delete 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 7 页 - - - - - - - - - cascade, orderTime date, p
21、rice number(10), order_status number(1) ); 由于 orderId 属性需要自动增长,同样使用序列sequence来实现这个功能。使用jsp/jsp用户创建如下序列,它从1 开始增长,增长幅度为1,没有最大值限制且不循环,并使用大小为 10 的缓存。这样,在调用时就可以用customer-seq.nextval 和 customer-seq.currval 分别获得序列的下一个值和当前值。另外,order 表中有两个外键, 分别是 userName和 customerId两个属性, userName 是联系人表的主键,而customerId 是客户表cu
22、stomer 的主键,在向订单表 order 中插入记录时需要确定要插入的订单是哪个联系人与客户之间的关系描述。5 序列号 SQL 语句1.客户表序列号create sequence customer_seq increment by 1 start with 1 nomaxvalue nocycle cache 10; 2.订单表序列号create sequence order_seq increment by 1 start with 1 nomaxvalue nocycle cache 10; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 7 页 - - - - - - - - -