《2022年2022年客户管理管理系统》由会员分享,可在线阅读,更多相关《2022年2022年客户管理管理系统(33页珍藏版)》请在金锄头文库上搜索。
1、本科毕业设计说明书(论文)第 1 页共 33 页1 引言客户是公司最宝贵的资源,为了更好的发掘老客户的价值,并开发更多新客户,XX公司决定实施客户关系管理系统。希望通过这个系统完成对客户基本信息、联系人信息、营销信息、客户服务信息的充分共享和规范化管理;希望通过对销售机会、客户开发过程的追踪和记录,提高新客户的开发能力;希望在客户将要流失时系统及时预警,以便销售人员及时采取措施,降低损失。并希望系统提供相关图表,以便公司高层随时了解公司客户情况。1.1 研究背景客户资源决定企业的核心竞争力1。任何一家企业, 有钱就可以买到最好的设备、尖端的技术,但却买不到强大的客户资源。面对着竞争对手不断截留
2、我们的客户,各企业商家所关心的不再局限于自身的产品质量、生产设备、员工的素质,更多的是关心自己的销售群体 ( 客户群 ) ,关心他们的想法、需求、购买目的,并与客户建立好良好的、长期的客户关系,强化与客户的沟通,帮助企业留住老客户的同时,更好地拓展新客户,提升客户价值,从而全面提升企业竞争能力和盈利能力,为企业的发展壮大保驾护航。客户管理系统,通过企业管理技术、电子商务和信息技术的高度集成,帮助企业在全球经济一体化的激烈市场竞争环境中,建立以市场、客户为中心的管理体系,有效管理企业与客户之间的关系,提高客户忠诚度, 实现客户价值的最大化2,3。从而提高企业的核心竞争力。企业要想生存发展,就必须
3、和与之息息相关的客户建立起良好的关系,不断发展新客户,以企业高质量的产品、优质的服务、良好的资信吸引新客户;经常维系与老客户的关系,以规范的客户管理方式、温馨的客户关怀、高效的客户服务来提升老客户的忠诚度。由此,客户管理系统应运而生。1.2 技术平台1.2.1 MVC MVC(Model-View-Controller)三层架构是一种经典的设计模式,它强制性地把应用程序的输入、处理和输出分开。使用了MVC 的应用程序被分成 3个核心部件:模型、视图、控制器。它们各司其职,既分工明确又相互协作。首先,控制器接受用户的请求,然后调用某个模型来处理用户的请求,在控制器的控制下,再将处理的结果交给名师
4、资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 2 页共 33 页某个视图进行格式化输出给用户。1.2.2 Struts Struts 是基于MVC 的Web 应用框架,具有组件的模块化、灵活性和重用性等优点。在Struts 框 架中 ,模 型由实 现业 务逻辑 的 JavaBean或EJB组件 构成, 控制 层由ActionServlet和Action 来实现,视图由一组 JSP 文件和Action
5、Form Bean 组成。1.2.3 Hibernate Hibernate 是一个面向 Java环境的对象 / 关系数据库映射工具,它不仅提供了从Java类到数据表之间的映射,还提供了数据查询和数据恢复机制。与使用JDBC 和SQL来手工操作数据库相比,使用Hibernate 实现了持久层功能,通过使用Hibernate 来封装底层的数据操作细节,为业务逻辑层提供了面向对象的API,它的意义: (l) 使代码重用性高,能够完成所有的数据访问操作;(2) 具有相对的独立性,底层数据库改变,只需要修改持久层代码,只要对上提供的API不变,则上层的业务逻辑层可以不用修改。1.2.4 Spring
6、Spring 是一个开源框架,它由Rod Johnson 创建。它是为了解决企业应用开发的复杂性而创建的。Spring 使用基本的 JavaBean来完成以前只可能由EJB完成的事情。然而, Spring 的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java 应用都可以从Spring 中受益。1.3 可行性分析现行的 CRM 软件还处于起步阶段, 功能模块结构不尽相同, 但是其基本的需求是一样的,其主要技术需求应包括六个方面:1.3.1 信息分析能力CRM 有大量客户和潜在客户的信息,企业应该充分的利用这些信息进行分析,使得决策者掌握的信息更加完全,从而能及时的作出
7、决策4。良好的商业情报是企业成功的一半。1.3.2 对客户互动渠道进行集成的能力对多渠道进行集成与CRM 解决方案的功能部件的集成是同等重要的。不管客户是与企业联系还是与销售人员联系,于客户互动都应该是无缝的、统一的、高效的5。同一的渠道还能带来内部效益的提高。1.3.3 支持网络应用的能力名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 3 页共 33 页在支持企业内外的互动和业务处理方面,Web
8、的作用越来越大,这使得CRM 的网络功能越来越重要。如,网络可以为电子商务渠道提供支持。为了使客户和企业雇员都能方便应用 CRM ,需要提供标准化的网络浏览器,使得用户几乎不需训练就能使用系统。另外,建设集中的信息仓库的能力,采用集中化的信息、实时的客户信息,可使各业务部门和功能模块间的信息能统一起来6,7。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 4 页共 33 页2 系统需求说明2.1
9、设计目标本系统在设计时应满足以下目标:采用人机对话的操作方式,界面友好、美观,信息查询灵活,数据库存储及时且安全可靠。 系统用于管理与客户相关的信息与活动,实现客户管理、营销管理、反馈管理等功能。系统将最大限度地实现易维护性和易操作性。保证系统运行稳定,且安全可靠。2.2 功能需求基础信息管理:管理客户的基础信息,增、删、查、改;客户信息管理:用户对客户详细信息进行管理,增、删、查、改;联系人信息管理:用户对联系人详细信息进行管理,增、删、查、改;营销信息管理:用户对销售机会和开发计划进行管理,增、删、查、改;客户服务:用户对客户反馈信息和客户投诉信息进行管理,增、删、查、改;系统管理:管理用
10、户的信息,包括添加、修改、删除用户和对用户权限的管理。图 2.1 系统功能结构图客户关系管理系统基础信息模块客户管理模块营销管理模块客户服务模块统计分析模块系统管理模块添加基础信息更新基础信息客户信息管理联系人信息管理销售机会管理开发计划管理客户反馈管理客户投诉管理客户构成分析客户服务分析用户信息管理个人信息管理名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 5 页共 33 页2.3 运行需求2.
11、3.1 最低硬件环境CPU :主频 1.8GHZ以上内存: 512M 硬盘: 5G以上可用空间2.3.2 软件环境操作系统: Windows XP 数据库平台: SQL Server 2000 Web服务器: Tomcat 5.5 集成开发环境: My Eclipse 7.0.1 Java 环境: JDK 1.5 浏览器及分辨率要求: IE 5.0以上版本,最佳效果1024768 像素。2.4 安全需求(1) 只有特定的管理人员才能对系统的用户进行管理,才能对数据库进行维护和修改;(2) 每一个功能模块都有权限设置,进入之前需要有相应的权限;(3) 普通用户只能修改或删除受理人为自己的相应客户
12、服务信息。2.5 其它需求系统需要能够对客户构成和客户服务满意度的比例进行分析,以饼图形式表现出来。2.6 数据描述2.6.1 数据词典用户信息表 =ID 号+用户名 +密码+权限 ID 权限信息表 =ID 号+权限名+基础信息模块权限 +营销管理模块权限 +客户信息管理模块权限 +客户服务模块权限 +统计分析模块权限 +系统管理模块权限客户信息表 =ID 号+客户名称 +企业性质 ID+企业类型 ID+企业资信 ID+客户级别ID+地址+所在省份 +所在城市 +邮编+法人代表 +客户银行 ID+银行卡号 +公司电话 +传真+主要联系人 ID+客户状态 +备注联系人信息表 =ID 号+联系人姓
13、名 +客户 ID+性别+职务+联系电话 +住址+邮件地址 +名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 6 页共 33 页备注客户反馈 =ID号+反馈标题 +客户 ID+反馈内容 +反馈日期 +反馈受理人 +客户满意度+反馈状态 +备注客户投诉 =ID 号+客户 ID+投诉人 +投诉主题 +投诉内容 +投诉日期 +投诉受理人 +处理办法 +客户满意度 +投诉状态 +备注销售机会 =ID 号+客
14、户 ID+机会名称 +联系人 ID+机会日期 +机会来源 +业务员 +机会状态+备注开发计划 =ID 号+机会 ID+计划日期 +业务员 +计划状态 +备注2.6.2 数据采集用户信息记录、客户信息记录、营销信息记录、客户服务信息记录等。2.6.3 数据流图本系统所涉及的数据流如图2.2 、图 2.3 、图 2.4 和图 2.5 所示。图 2.2 顶层数据流图图 2.3 0层数据流图营销信息联系人信息客户信息客户服务信息生成饼图客户记录录入维护客户信息管理联系人信息管理营销信息管理客户服务信息管理图表生成查询统计信息个人基本信息客户信息管理员用户客 户 关系 管 理系统用户信息名师资料总结 -
15、 - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 7 页共 33 页图 2.4 1层数据流图图 2.5 2层数据流图验证用户信息修 改 个人信息查 询 客户信息维 护 客户信息设置权限管理员信息用户信息权限审查客户信息管理录入修改删除名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 33 页 -
16、 - - - - - - - - 本科毕业设计说明书(论文)第 8 页共 33 页管理管理基础信息管理客户信息管理营销信息管理客户服务统计分析用户登陆管理用户添加用户修改权限客户关系管理系统用户系统管理员管理员登录图 2.6 系统用例图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 9 页共 33 页3 系统设计3.1 系统架构系统采用三层架构,即分为表示层、业务层、数据层,其中:表示层:作为用户
17、的接口层,负责与整个系统交互。业务层:作为业务逻辑的封装层,负责接受用户请求,从数据层获取数据,并对数据进行处理,将处理结果交给表示层显示。数据层:作为数据的存储与维护层,负责数据的管理。本系统数据层采用Hibernate 框架来实现。采用分层设计的体系架构, 能够实现分离关注、 松散耦合、逻辑复用和标准定义。3.2 数据库设计3.2.1 概念结构设计本系统数据库采用SQL Server 2000 数据库,下面先使用实体关系图进行概念模型设计,客户关系管理系统的实体关系图如图3.1 、图 3.2 、图 3.3 、图 3.4 、图 3.5 、图 3.6 、图 3.7 、图 3.8 和图 3.9
18、所示。图 3.1 用户实体及其属性图 3.2 权限实体及其属性用户用户 ID 用户名密码权限 ID 权限权限 ID 权限名称基础信息模块权限营销管理模块权限客户信息模块权限客户服务模块权限统计分析模块权限系统管理模块权限名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 10 页共 33 页图 3.3 客户实体及其属性图 3.4 客户反馈实体及其属性图 3.5 客户投诉实体及其属性客户客户 ID 客户
19、名称类型 ID 级别 ID 资信 ID 性质 ID 银行 ID 联系人 ID 客户地址公司电话传真法人代表邮编客户反馈反馈 ID 反馈标题客户 ID 反馈内容受理人反馈状态满意度客户投诉投诉 ID 投诉主题投诉人客户 ID 投诉内容受理人处理办法满意度投诉状态名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 11 页共 33 页图 3.6 联系人实体及其属性图 3.7 销售机会实体及其属性图 3.
20、8 开发计划实体及其属性联系人联系人 ID 姓名客户 ID 性别联系电话职务住址邮箱地址销售机会机会 ID 机会名称机会来源客户 ID 产品名称业务员机会状态邮箱地址机会日期开发计划计划 ID 机会 ID 计划日期计划状态业务员备注名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 12 页共 33 页图 3.9 客户关系管理系统实体关系图3.2.2 逻辑结构设计根据客户关系管理系统中的数据信息特点
21、,将数据的概念模型转换为关系模型。其中主键以下划直线标注,外键以下划波浪线标注。(1) 用户( 用户 ID、用户名、密码、权限ID) (2) 权限( 权限 ID、权限名称、基础信息管理模块权限、营销管理模块权限、客户信息管理模块权限、客户服务模块权限、统计分析模块权限、系统管理模块权限) (3) 客户( 客户 ID、客户名称、企业性质ID、企业类型 ID、企业资信 ID、客户级别 ID、地址、所在省份、所在城市、邮编、法人代表、客户银行ID、银行卡号、公司电话、传真、主要联系人ID、客户状态、备注 ) (4) 联系人 ( 联系人 ID、联系人姓名、客户ID、性别、职务、联系电话、住址、邮件地址
22、、备注 ) (5) 客户反馈 ( 反馈 ID、反馈标题、 客户 ID、反馈内容、 反馈日期、反馈受理人、客户满意度、反馈状态、备注) (6) 客户投诉 ( 投诉 ID、客户 ID、投诉人、投诉主题、投诉内容、投诉日期、投诉受理人、处理办法、客户满意度、投诉状态、备注) (7) 销售机会 ( 机会 ID、客户 ID、机会名称、联系人ID、机会日期、机会来源、n 1 n 1 n 1 n 1 n 1 n 1 1 n 用户服务客户拥有权限客户反馈属于客户投诉来源联系人销售机会开发计划隶属关联属于名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
23、 - 名师精心整理 - - - - - - - 第 12 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 13 页共 33 页业务员、机会状态、备注 ) (8) 开发计划 ( 计划 ID、机会 ID、计划日期、业务员、计划状态、备注) 本系统设计的部分关系模式如下列表所示:表 3.1 用户表列名数据类型可否为空说明user_id varchar2(30) NOT NULL PK user_name varchar2(30) NOT NULL 用户名user_pwd varchar2(30) NOT NULL 密码right_id varchar2(30) N
24、ULL 权限 (外键 ) 表 3.2 权限表列名数据类型可否为空说明right_id int NOT NULL PK r_name varchar2(30) NOT NULL 权限名称r_jcxx varchar2(2) NOT NULL 基础信息管理模块权限r_yxgl varchar2(2) NOT NULL 营销管理模块权限r_khxx varchar2(2) NOT NULL 客户信息管理模块权限r_khfw varchar2(2) NOT NULL 客户服务模块权限r_tjfx varchar2(2) NOT NULL 统计分析模块权限r_xtgl varchar2(2) NOT N
25、ULL 系统管理模块权限表 3.3 客户表列名数据类型可否为空说明cust_id int NOT NULL PK cust_name varchar2(50) NOT NULL 客户名称qyxz_id varchar2(30) NOT NULL 企业性质 (FK) qyzx_id varchar2(30) NOT NULL 企业资信 (FK) qylx_id varchar2(30) NOT NULL 企业类型 (FK) khjb_id varchar2(30) NOT NULL 客户级别 (FK) lxr_id varchar2(30) NOT NULL 主要联系人 (FK) cust_ad
26、dr varchar2(60) NOT NULL 客户地址cust_dh varchar2(30) NOT NULL 公司电话名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 14 页共 33 页表 3.4 联系人表列名数据类型可否为空说明lxr_id varchar2(30) NOT NULL PK lxr_name varchar2(30) NOT NULL 联系人姓名lxr_xb varch
27、ar2(2) NOT NULL 性别cust_id varchar2(30) NOT NULL 客户编号 (FK) lxr_dh varchar2(20) NOT NULL 联系电话lxr_zw varchar2(30) NOT NULL 职位lxr_bz varchar2(30) NULL 备注表 3.5 客户反馈表列名数据类型可否为空说明fk_id varchar2(30) NOT NULL PK fk_bt varchar2(30) NOT NULL 反馈标题fk_nr varchar2(2) NOT NULL 反馈内容cust_id varchar2(30) NOT NULL 客户编号
28、 (FK) fk_rq varchar2(20) NOT NULL 反馈日期fk_slr varchar2(20) NOT NULL 受理人fk_myd varchar2(10) NOT NULL 满意度fk_status varchar2(10) NOT NULL 状态fk_bz varchar2(30) NULL 备注表 3.6 客户投诉表列名数据类型可否为空说明ts_id varchar2(30) NOT NULL PK kh_id varchar2(30) NOT NULL 客户编号 (FK) ts_tsr varchar2(20) NOT NULL 投诉人ts_zt varchar2
29、(50) NOT NULL 投诉主题ts_nr varchar2(200) NOT NULL 投诉内容ts_slr varchar2(20) NOT NULL 受理人ts_myd varchar2(10) NOT NULL 满意度名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 15 页共 33 页ts_status varchar2(10) NOT NULL 状态ts_bz varchar2(3
30、0) NULL 备注表 3.7 销售机会表列名数据类型可否为空说明ch_id varchar2(30) NOT NULL PK kh_id varchar2(30) NOT NULL 客户编号 (FK) ch_mc varchar2(50) NOT NULL 机会名称lxr_id varchar2(30) NOT NULL 联系人编号 (FK) ch_rq varchar2(20) NOT NULL 机会日期ch_ly varchar2(50) NOT NULL 机会来源ch_ywy varchar2(20) NOT NULL 业务员ch_status varchar2(10) NOT NUL
31、L 状态ch_bz varchar2(30) NULL 备注表 3.8 开发计划表列名数据类型可否为空说明pl_id varchar2(30) NOT NULL PK ch_id varchar2(30) NOT NULL 机会编号 (FK) pl_rq varchar2(20) NOT NULL 计划日期pl_ywy varchar2(20) NOT NULL 业务员pl_status varchar2(10) NOT NULL 状态pl_bz varchar2(30) NULL 备注名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
32、 - 名师精心整理 - - - - - - - 第 15 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 16 页共 33 页4 系统实现4.1 登录模块登录页面直观地给出了系统的着重点是客户,管理你的客户就是管理你的财富。图4.1 给出了系统登录页面的运行效果图。图4.1 登录页面运行效果图用户输入用户名和密码后, 点击 “登录”。 页面将表单信息提交给 UserAction.java进行处理, UserAction 通过自身的 userCheck() 方法对用户输入的用户名和密码的正确性进行检查,该方法的实现代码如下。public ActionForwa
33、rd userCheck(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest servletRequest, HttpServletResponse servletResponse) UserForm userForm = (UserForm) actionForm; TbUserDAO dao = new TbUserDAO(); String name = servletRequest.getParameter(name); String mm = servletRequest.getParamete
34、r(pwd); if (dao.check(name) = null) return actionMapping.findForward(checkFail); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 17 页共 33 页 else if (!dao.check(name).getUserPwd().equals(mm) return actionMapping.findForward(
35、checkFail); userForm.setUserItem(dao.check(name); servletRequest.setAttribute(form, userForm); return actionMapping.findForward(checkSuccess); 4.2 客户管理模块4.2.1 客户信息管理模块客户信息管理模块作为客户管理模块的子模块,负责管理客户的详细信息,提供对客户信息的查看、添加、更新和删除等操作,方便用户更好地管理其客户信息。用户通过正常登陆进入系统主页,点击主页上方导航栏中的“客户管理”( 进入该模块前需要验证用户是否有操作该功能模块的权限) ,
36、此时框架左页面显示客户管理模块的子菜单。点击子菜单中的“客户信息管理”,系统通过超链接跳转到KhxxAction ,并通过其中的 khxxSelect()方法调用 TbKhxxDAO.java的方法来访问数据库,逐行取出每一条客户信息。相应代码如下所示。public ActionForward khxxSelect(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) List list
37、 = null;/用于输出到页面的记录集合 int totalRows;/记录总行数 TbKhxxDAO dao = new TbKhxxDAO(); totalRows=dao.getCount(); System.out.print(总行数 =+totalRows); Page page=PageHelp.getPager(httpServletRequest,totalRows); try list= dao.list(page.getPageSize(), page.getStartRow(); catch (HibernateException ex) 名师资料总结 - - -精品资
38、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 18 页共 33 页 System.out.print(action里的错误 =+ex.getMessage(); httpServletRequest.setAttribute(page,page); httpServletRequest.setAttribute(khxxlist,list); return actionMapping.findForward(khxxSel
39、ect); 系统响应后进入客户信息管理子模块,如图4.2所示。图4.2 客户信息管理用户可以通过点击每一行的“查看客户全部信息”来浏览该客户的详细信息,如图4.3 所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 19 页共 33 页图4.3 客户详细信息在每个客户的详细信息页面的底部,可以通过点击“修改这个客户信息”来更新该客户的详细信息,如图 4.4 所示。当修改客户详细信息时,输入的信
40、息需符合规范。系统使用了 Ajax的一种校验框架来对输入数据进行校验。例如公司的电话号码必须是number型的数据且长度符合要求,在Jsp页面中的部分代码如下。 input type=text name=khxxItem.khxxGsdh id=dh value= 请填写公司电话号码! 请输入有效的电话号码! 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 20 页共 33 页图4.4 修改客户
41、详细信息在客户信息管理页面, 可以通过点击 “添加客户信息” 来添加新的客户详细信息,如图4.5 所示。所录入的信息同样需要符合规范,并会对输入信息进行校验。图4.5 添加客户详细信息用户可以在客户信息管理页面点击对应行的“删除”来进行对该客户详细信息的删除操作,如图 4.6 所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 21 页共 33 页图4.6 删除客户详细信息4.2.2 联系人信
42、息管理模块联系人信息管理模块负责管理客户的联系人的详细信息,给用户通过了查看联系人信息、添加联系人信息、更新联系人信息和删除联系人信息等操作。其具体实现过程与客户信息管理模块类似,这里就不在赘述。4.3 营销管理模块4.3.1 销售机会管理模块营销管理功能模块拥有两个子模块:销售机会管理模块和开发计划管理模块。销售机会管理模块的作用是帮助用户更好地管理销售机会信息,为客户开发提供准备,发掘潜在的客户。用户登录后通过点击首页上方的导航栏中的“营销管理”链接,当用户拥有该功能模块的权限时,即进入营销管理模块。此时框架左页面显示的是营销管理模块的子菜单,点击子菜单中的“销售机会管理”链接进入销售机会
43、管理子模块,如图4.7 所示。图4.7 销售机会管理点击销售机会管理页面下方的“添加销售机会记录”链接可以添加新的销售机会名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 22 页共 33 页信息,如图 4.8 所示。图4.8 添加销售机会记录用户输入正确的销售机会信息后,点击“确认”按钮后,系统将页面中的表单信息提交给 SalChanceAction ,该 Action 通过自身的 salCha
44、nceInsert()方法调用 DAO 层的insert()方法将信息录入到数据库中相应的表中,其中 salChanceInsert()和insert()方法的代码如下。public ActionForward salChanceInsert(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) SalChanceForm chanceForm = (SalChanceForm )act
45、ionForm; TbSalChanceDAO dao=new TbSalChanceDAO(); dao.Insert(chanceForm.getSalChanceItem(); return actionMapping.findForward(salChanceInsert); public void Insert(TbSalChance tb) Transaction tx=session.beginTransaction(); session.save(tb); mit(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
46、 - 名师精心整理 - - - - - - - 第 22 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 23 页共 33 页 用户可以点击销售机会管理页面的表中每一行的“详细”链接来查看该销售机会的详细信息,如图 4.9 所示。销售机会详细中的阶段和状态信息需要及时更新。在销售机会详细表中,可以点击产品名称来查看该产品的详细信息。图4.9 销售机会详细通过点击销售机会详细表下方的 “修改该记录”链接可以更新该销售机会的信息,如图4.10所示。图4.10 修改销售机会记录名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
47、 - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 24 页共 33 页4.3.2 开发计划管理模块开发计划管理模块是负责管理客户的开发计划信息,该开发计划信息是以销售机会为前提的,即先有销售机会,后有开发计划。开发计划是针对某一销售机会所制定的,目的在于开发潜在客户。用户通过点击营销管理功能模块的子菜单中的“客户开发计划”链接,当验证用户权限后,即进入开发计划管理模块,如图4.11 所示。图4.11 开发计划管理用户点击开发计划表中的 “详细”链接可以查看该开发计划的详细信息,如图4
48、.12所示。在开发计划详细表中,通过点击机会主题、客户名称和产品名称的链接可以查看相应的详细信息。图4.12 开发计划详细名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 25 页共 33 页4.4 客户服务模块4.4.1 客户反馈信息管理模块客户服务功能模块包括两个子模块:客户反馈信息管理模块和客户投诉信息管理模块。客户反馈信息管理模块是帮助用户管理客户的反馈信息,及时了解和掌握客户的最新反馈,
49、从而更好地维护好客户。用户登录后,点击首页导航栏中“客户服务”链接,在验证用户拥有该访问权限后,框架左页面显示为客户服务功能模块的子菜单。点击子菜单中的“客户反馈”链接进入客户反馈信息管理模块,如图4.13 所示。图4.13 客户反馈信息管理在客户反馈信息管理页面中,用户可以通过选择不同的选项,根据所选属性的关键字进行查询,使用户的查询更加便利。通过点击“添加反馈信息”链接可以添加新的客户反馈信息,如图 4.14 所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 3
50、3 页 - - - - - - - - - 本科毕业设计说明书(论文)第 26 页共 33 页图4.14 添加客户反馈信息用户在添加客户反馈信息时,需要选择对应客户反馈的满意度,以便进行统计分析、更好地服务客户。在完成新反馈信息添加后,此时反馈信息状态为“未回复”,接下来需要指派相应的受理人受理该反馈(即回复客户 ),如图 4.15 所示。图4.15 指派反馈受理人用户选择受理人后,点击 “提交”按钮, 将表单信息提交给 KhfkAction , 然后Action通过自身的 updateSlr()方法调用 DAO 层中的 updateSlr()方法将受理人插入到相应的元组中, Action 层
51、和DAO 层中updateSlr()方法的实现代码分别如下。public ActionForward updateSlr(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest servletRequest, HttpServletResponse servletResponse) String id = servletRequest.getParameter(khfkId); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -
52、- - - - - - 第 26 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 27 页共 33 页 String slr = servletRequest.getParameter(slr); khfkService.updateSlr(id, slr); return actionMapping.findForward(updateSlrSuccess); public void updateSlr(String fkId, String slr) Session session = getSession(); Transaction trans=se
53、ssion.beginTransaction(); String hql = update TbClientKhfk set khfkFkslr=+slr+ where khfkId=+fkId+; Query queryupdate=session.createQuery(hql); queryupdate.executeUpdate(); mit(); 当“指派受理人”操作完成后,由相应的受理人进行受理。在回复客户以后,受理人需要登录系统进行确认操作,即完成“受理反馈”操作,如图4.16 所示。图4.16 确认受理反馈已经确认受理的反馈可以通过点击“删除受理”链接删除受理信息,如图4.17
54、 所示,但是只有反馈对应的受理人才能执行该操作。同时用户也可以点击“删除全部”链接将相应的反馈信息全部删除。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 28 页共 33 页图4.17 删除受理信息4.4.2 客户投诉信息管理模块客户投诉信息管理模块帮助用户对客户的投诉信息进行管理,用户首先添加客户投诉信息,然后分配受理人,由受理人处理该投诉,并将处理信息录入系统。其基本原理与客户反馈信息管理
55、模块类似,这里就不再赘述。4.5 统计分析模块4.5.1 客户构成分析客户构成分析是帮助用户统计所有客户的构成比例,并以直观的立体饼图形式呈现出来,客户共由开发中的客户、 一般客户、 VIP客户和高级客户四类组成, 如图4.18所示。图4.18 客户构成饼图客户构成饼图生成的过程: 首先调用 AnalysisAction中的khgcAnalysis()方法来名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(
56、论文)第 29 页共 33 页创建一个名为 piedata.xml 的XML 文件,该文件作为生成饼图的 flash 文件的参数文件,负责向 flash 文件传递参数。相应代码如下。public ActionForward khgcAnalysis(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) TbKhxxDAO khxx = new TbKhxxDAO(); TbSalChan
57、ceDAO salC = new TbSalChanceDAO(); int j = khxx.getJCount(); int v = khxx.getVCount(); int a = khxx.getACount(); int s = salC.getCount(); try FileOutputStream fileout = new FileOutputStream(C:Documents and SettingsAdministratorWorkspacesMyEclipse 7.0crmsWebRootchartpiedata.xml); char r = r; String t
58、est = + + + amu+ 1+ 客户构成分析 ,200,40,16,true,0xFFFFFF+ onRelease,onRollOver,onRollOut+ +j+,+v+,+a+,+s+ 一般客户 ,VIP 客户, 高级客户 , 开发中的客户 + 0x0D8ECF,0x04D215,0xFF0000,0xF8FF01+ true,true,true,true+ false,false,false,true+ 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 29 页,共
59、33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 30 页共 33 页1.43+ 260+ 200+ 150+ 90+ 150+ 20+ 15+ 100+ 50+ true+ 470+ 140+ 6+ 0x000000+ 0x000000+ 100+ 20+ 0xFF0000+ font+ + ; byte names = test.getBytes(UTF-8); fileout.write(names); fileout.close(); catch(Exception e) e.printStackTrace(); return actionMapping.fi
60、ndForward(khgcAnalysis); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 30 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 31 页共 33 页 4.5.2 客户满意度分析客户满意度分析是帮助用户对客户服务信息( 即客户反馈信息和客户投诉信息)中的满意度进行统计分析,以饼图的形式呈现出来,如图4.19所示。图4.19 客户满意度饼图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
61、- - - - - - 名师精心整理 - - - - - - - 第 31 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 32 页共 33 页5 系统测试5.1 测试方案设计(1) 用划分等价类法进行输入有效性测试:主要测试程序中各种输入数据的语法是否符合其规范定义,即是否有效。例如:用户输入的用户名、密码等,只有字符组成、字符数等符合一定规则,才可存入数据库或用作程序中的合法变量等等。(2) 用边界值分析法对输入有效性测试进行补充:在1 的基础上,使输入为边界条件进行测试。(3) 用错误推测法进行功能健壮性测试:主要测试程序中各种功能性操作是否正确。例如
62、:用户注册成功或修改信息后,其信息是否正确存入数据库;非受理人是否可以执行受理操作或者删除受理信息等等。5.2 编写测试用例5.2.1 登录模块表 5.1 登录测试项输入条件模块测试项用户登录1、能在数据库中正确查找该用户名2、若用户名存在且密码正确,允许登录3、若用户名不存在或密码错误,给错误提示用户修改信息4、数据库相应信息应更新为用户的输入表 5.2 登录测试用例编号测试用例用例覆盖的测试项11 用不存在的用户名SAM 登陆;或存在用户“sam”,密码为“ 123”,而所使用的密码不是“123”。(3)12 用已注册的用户“sam ”和其密码“ 123”登录。(1)(2) 13 用户信息
63、数据库中已存在用户“sam ”,密码为“123”, 用该用户名和密码登陆后,修改某些信息,(4) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 32 页,共 33 页 - - - - - - - - - 本科毕业设计说明书(论文)第 33 页共 33 页并修改密码为“456”。5.2.2 客户管理模块表 5.3 客户管理测试项输入条件模块测试项用户浏览客户信息1、用户浏览到的客户应在数据库中有记录用户添加客户信息2、用户添加的客户信息应在数据库中有正确的记录用户修改客户信息3、用户
64、修改过的信息在数据库中应当已经更新用户删除客户信息4、数据库中应该不存在用户已删除的客户信息表 5.4 客户管理测试用例编号测试用例用例覆盖的测试项21 点击“客户信息管理”链接。(1)22 点击“添加客户信息”链接,完成新客户信息的输入并确认提交。(2) 23 点击某客户的“修改”链接,完成客户信息的更新并确认提交。(3) 24 点击某客户的“删除”链接,并确认删除。(4) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 33 页,共 33 页 - - - - - - - - -