1、客户资源管理系统(论文) 作者: 日期:2 个人收集整理 勿做商业用途摘 要随着科技的发展、时代的进步,市场经济的竞争也越来越激烈与残酷,在竞争中客户作为市场的最为重要的资源,早已成为市场营销的核心,企业间谁拥有的客户多,那么谁就会在竞争中占有绝对的优势。在市场经济竞争如此激烈的环境之下,企业要想立于不败之地,就必须和与之生存发展息息相关的客户,建立起良好的关系,在现有客户资源的基础之上,维护好和老客户的关系,并且不断的发展新的客户,用企业高品质的产品、优质的服务、良好的信誉树立企业在客户心目中的良好形象;并以客户需求为己任,不断的创新与发展自身的产品,以满足客户的新需求,并规范企业内部的客户
2、资源的管理方式、提升企业的客户服务质量。客户资源管理系统满足了企业对自身客户资源管理的新要求,减少了客户资源管理过程中浪费的大量人力、物力和财力等.本论文正是以客户资源管理系统的开发过程为例,从需求分析、设计方案、系统设计、详细设计等方面来对该系统进行全面的阐述和总结。关键词:客户资源管理系统;系统设计 AbstractWith development of science and technology , the times progress, the market economy competition is also more and more fierce and cruel, be
3、most important resource being a marketplace in the customer who competes for middle , the core becoming marketing and sales long ago, the customer who owns among enterprise is many , who is therefore likely then in occupying absolute advantage in competition。 And under so fierce environment of marke
4、tplace economic competition, enterprise needs to want to base self on sure ground , must draw existing with that to develop the vitally interrelated customer right away , build up fine relation, the relation defending the nice and old customer, develops the new customer ceaselessly , uses high-quali
5、ty product of enterprise , the high grade service , fine credit to set up enterprise in fine image in customer mental view above the basis now having customer resource,; And and regard customer need as selfs own responsibility, selfs product being innovative and developing ceaselessly, to satisfy cu
6、stomers new need, standard internal enterprise customer resource supervisor mode , lifting enterprise customer service quality。 The customer resource management system has satisfied the enterprise to own customer resource management new request, reduced the massive manpower, the physical resource an
7、d the financial resource which in the customer resource management process wastes and so on.文档为个人收集整理,来源于网络本文为互联网收集,请勿用作商业用途This thesis is based on customer customer resource management system as an example of the development process, from needs analysis, design, system design, detailed design of th
8、e system to conduct a comprehensive exposition and summary。Key words: Customer resource management system; System Design目 录III中文摘要IIII英文摘要 目 录 引 言11 系统分析2 1。1 需求分析2 1。1。1 系统实现功能2 1.1.2 工能模块分析2 1.2 可行性分析3 1。2.1 可行性分析目的3 1。2。2 技术可行性3 1。2.3 经济可行性3 1。2.4 操作可行性3 2 系统设计 4 2。1 设计思想4 2。2 设计目标4 2。3 系统结构设计5 2
9、。4 开发及运行环境设计6 2。4.1硬件平台 6 2.4.2软件平台 6 2.5 数据库设计63 详细设计 10 3.1 详细设计概要 10 3.2 系统整体界面设计 10 3。3 系统框架设计 12 3.4 系统模块详细设计 16 3。4。1 系统模块详细设计概要 16 3。4。2 录入模块详细设计 16 3。4.2。1 录入模块功能 16 3。4.2.2 录入模块流程 16 3。4.2.3 录入模块界面设计 17 3.4.3 查询模块详细设计 18 3。4.3.1 查询模块功能18 3。4.3。2 查询模块流程18 3.4.3.3 查询模块界面设计18 3。4。4 修改模块详细设计 19
10、 3。4.4.1 修改模块功能20 3.4。4.2 修改模块流程20 3。4.4。3 修改模块界面设计20 3.4.5 删除模块详细设计 21 3.4。5.1 删除模块功能21 3.4。5。2 删除模块流程21 3.4.5。3删除模块界面设计 224 系统使用说明 23 4.1 系统运行环境 23 4.1.1 服务器配置 23 4.1.2 客户端配置 234.2 系统安装指南 23 4.3 系统发布 23 4。4 系统帮助 25结 语 28参考文献 29附 录 30后 记 35IV引 言客户资源管理(Customer Resource Management 简称CRM)简单的说就是对客户的一些
11、资料进行有效的管理,以前我们是人工来管理客户的信息,但如今已是信息化时代,我们需要通过计算机技术来对其进行高效的管理才能有利于一个企业更好的发展。客户管理系统是一个智能化的信息处理系统,它将企业的经营、管理以客户为中心,通过系统管理员就可以轻松有效的对客户的信息进行操作管理。如今的信息技术飞跃发展,各个公司、企业都在不断的提高自己的信息化管理水平,他们也都认识到,高效的信息化管理对公司、企业的不断发展起到决定性的作用,也特别是对于所经营的客户群的信息管理显得尤为重要。由此,如今的绝大多数公司、企业都抛弃了以往的人工管理方式,转而使用高效的信息化管理方式.正是在于此背景之下,客户资源管理系统必然
12、的诞生了,它也成为了各个公司、企业的必然选择。如今的客户资源管理系统可以说的层出不穷,不同规模和性质的公司、企业根据其具体情况而选择不同的客户资源管理系统来对其客户信息进行高效的管理,但是不管它怎么变,它的核心还是一样的,都是对客户的信息进行管理和维护。由此我们可知,客户资源管理系统的市场潜力是非常之大的,而对于此系统的开发,可以使用不同的开发语言如C+、VB、Java等,而开发出来的系统表现形式主要为Web网站形式和桌面窗口软件形式。为了实现本系统,我以Web网站开发形式和面向对象的Java编程语言为基础,通过Java集成开发工具MyEclipse6.0来整合当前最为流行的SSH框架(Str
13、uts、Hibernate和String三个开源框架的整合框架)以及较为轻量级的Ajax框架Jquery进行有效的开发。数据库用MySQL5。0来开发实现,在系统开发过程中以面向对象的思想来对数据库进行操作和管理。整个系统,界面虽然简洁,但各个功能基本都很好的得以实现,操作上显得很容易。1 系统分析1.1 需求分析111 系统实现功能通过调查分析研究,本系统主要实现以下功能:1不同的员工类型,具有不同的职权来对系统进行相关的操作;不同的客户信息具有不同的级别。并对其进行分组管理.2系统的客户管理,销售管理,合同管理功能齐全。3实现客户的关系维护功能,合作关系的加深或决裂。4根据本公司的业务需求
14、,添加自定义数据内容.5系统要有审批的工作流设置。6新建产品的一些基本信息资料,即产品信息管理。112 功能模块分析1、系统管理系统管理模块主要是用来实现对整个系统的一些设置和管理,其中又分为了几个小的模块,即员工管理、权限管理和部门管理三个小模块.员工管理也就是对系统的用户进行管理,它记录了系统用户的信息,包括用户名、密码等,在这个模块中可以对系统用户信息进行查询、修改、删除以及添加新的用户操作;权限管理是用来设计系统用户的权限,对不同的用户分配不同的权限;部门管理则是用来对企业的部门进行有效管理,可以对部门进行增、删、改、查操作.2、客户管理客户管理模块是整个系统的重点,该模块主要用于对客
15、户信息进行管理并将客户信息作为连接其余系统模块的主线.此模块下设置了客户信息管理和级别管理两个小模块。客户信息管理模块的主要功能就是将企业掌握的客户信息进行详细的管理,并可以方便的对客户信息进行添加、修改以及查询和删除操作;级别管理模块则是用来设置不同的客户具有不同的级别,也可对其进行增、删、改、查操作。3、产品管理该模块主要是为了对公司的产品进行一个有效的管理,在此模块下又分为了产品信息管理和类别管理两个小模块。产品信息管理是对公司产品进行详细管理,根据公司的具体情况,可以新建产品,并对产品进行修改、查询和删除操作;类别管理则是用来设置公司经营的产品类别,当公司经营范围扩大,增加了新类型在产
16、品时,我们就可在系统中增设新的产品类别等. 4、合同管理此模块是用来管理公司与客户之间或者公司与供应商之间签订的有效合同。5、销售管理销售管理模块是为了对公司产品的销售情况做一个详细的管理,公司可以根据此模块来查询其产品在市场中的销售量等信息,公司以此来做出经营抉择。6、流程管理该模块用于对公司的业务对象进行审批的工作流设置。1.2 可行性分析 121 可行性分析目的进行可行性分析是为了用最小的代价在尽可能很短的时间里,来确定我们所面对的问题是否可以解决,其目的不是为了来解决问题,而是为了来确定问题是不是可以被我们解决,从而为以后的工作起一个决定性的作用。在可行性分析阶段我们要搞清问题的定义,
17、能清楚的列举出目标系统存在的一些约束和限制,从而对技术可行性以及经济可行性和操作可行性三个方面进行分析研究。 122 技术可行性进行本系统的开发需要用到的知识技术有:1、Java程序开发语言以及Jsp和Servlet开发技术。2、HTML网页制作知识和Dreamweaver软件工具的使用。3、Struts框架技术、Hibernate框架技术和Spring框架技术,并能使用Java集成开发工具MyEclipse对这三个框架进行整合开发。5、MySQL数据库开发知识.6、Web开发知识,并能使用Tomcat服务器进行开发。以上的这些知识技术是开发本系统所需要用到的,而我现在已经较好的把这些知识点和
18、技术掌握了,在指导老师的精心指导之下我可以对该系统进行开发了。 123 经济可行性经济可行性研究的是对开发软件的成本估算和成本效益分析,以确定待开发软件是否有开发的价值。对于本系统的开发,能帮助公司对客户的信息管提高工作效率,并且能非常方便的对其进行一系列的管理和维护,是以前的手工管理不能做到的。而且如今的信息化管理显得尤为重要,公司要想更好的发展就得花费一定的资金来购买此系统产品,而开发此系统并不需要投入多大的人力和物力,只需掌握相关的知识和技术就能很快的得以实现,因此在经济上是可行的. 124 操作可行性本系统乃是一个人机交互式的网站系统,系统的界面简洁友好,不需要深入的对其进行研究,很容
19、易让人操作。系统用户只需登陆到系统中,根据自己的权限和公司的具体要求就可对系统的一些相应信息进行操作了,如果在系统操作过程中实在还存在某些不解,可查找系统帮助信息进行理解。2 系统设计 2.1 设计思想其实一个系统的总体设计一般都是由两个阶段组成:系统设计,用来确定系统的具体实施方案;结构设计,用来确定系统软件的具体结构。系统设计是从系统的总体目标出发,根据我们在需求分析阶段对系统逻辑功能的要求来考虑系统所要用到的技术以及经济开销和系统的运行环境等方面的条件,确定系统的总体设计方案,从而确保系统的总体目标的实现。本系统的结构图采用的是数据流程图映射方法,该方法结合数据流程图以及其各级的细化图,
20、按照自顶向下的原则依次将数据流程图中的那些逻辑处理映射到结构图中去,从而成为一个个的模块.此方法简单、方便,它使数据流程图与结构图建立起了对应统一的关系,使设计达到一致的效果。系统分为多个模块,各个模块之间没有过多的相互作用,每个模块完成一个相应的子功能,从而实现模块的独立化。由于模块的独立程度又由内聚和耦合两个标准来进行衡量,因此要做到模块的独立化就得尽量使模块的划分做到高内聚和低耦合。耦合是对一个软件结构内不同模块之间互连程度的度量.耦合强弱取决于模块之间接口的复杂程度,进入或访问一个模块的点,以及通过接口的数据,在软件设计中应该追求尽可能低耦合的系统。由此可知影响软件复杂程度的一个重要因
21、素就是耦合,所以我们在开发系统时应该采取以下的设计原则:尽量使用数据耦合,少用控制耦合,限制公共环境耦合的范围,完全不用内容耦合。22设计目标系统的总体设计目标就是为了建立一个统一的信息管理平台,以公司经营的客户群为中心来对客户的详细信息进行有效的管理,加强同客户的交流和感情的建立,从而提高客户对公司的满意程度,也为公司的不断发展起到推动性的作用。其实本系统要实现的一系列操作都是在对数据进行操作,也主要就是对数据进行增加、修改、查询和删除四项操作。那么对数据如何去实现有效的管理,则需要对其进行认真的分析和设计。通过对本系统的分析后,本系统需要达到的主要设计目标有:1、首先我们应该确定,系统的最
22、终效果要达到一个友好的人机交互模式,系统界面简洁友好,信息的查询要灵活、方便、快捷和准确。2、系统的管理员对系统的不同用户要分配不同的权限。3、系统用户可随时修改自己的口令。4、对系统用户的输入数据要作严格的验证,尽可能排除可能出现的错误。5、系统各个模块的增、删、改、查要设计得当.6、系统要有相应的帮助信息,以便用户在操作过程中查看。7、系统运行要稳定,而且也要安全可靠。23系统结构设计结构化设计方法就是把数据流图表示的逻辑模型用结构图层次的方式表现出来。结构化设计的核心其实就是把模块分解设计,采用自顶向下、逐层分解的方法,从而把整个系统划分成多个子模块,使其完成不同的功能,这样也就使得模块
23、具有了一定的独立性,最终降低了系统的复杂性.本系统的功能结构如图21所示:客户资源管理系统系统管理客户管理产品管理销售管理流程管理合同管理部门管理权限管理客户信息管理级别管理产品信息管理类别管理添加新用户查询用户信息添加新的部门查看部门信息添加权限查看权限增加新客户查找客户信息添加客户级别查看客户级别添加产品信息查找产品信息员工管理添加新类别查看类别信息销售信息查看添加销售信息订单信息查询公文维护添加公文合同查询添加合同订单信息修改销售信息管理订单管理工作流管理公文管理流程维护图21:功能结构图24开发及运行环境设计 241 硬件平台1、CPU:CPU233MHZ以上;2、内存:256MB以上
24、;3、硬盘:40G以上;4、显示器:17英寸。 242 软件平台1、操作系统:Windows XP;2、数据库:MySQL Server5.0;3、数据库第三方管理软件:Navicat8。0Lite for MySQL;4、Java开发工具包:JDK Version1.6。0;5、Web服务器:Tomcat6。0;6、Java开发集成工具:MyEclipse6。5;7、可视化网页编辑工具:Dreamweaver8;8、浏览器:IE6.0;9、分辨率:最佳效果为1024768。25数据库设计在系统设计时,我们应该考虑如何用数据模型来描述数据的结构和语义,用以实现对现实世界的抽象。在目前广泛使用的
25、数据库模型分为两种类型,一种是独立于计算机系统的“概念数据模型”(如“实体联系模型”);另一种是直接面向数据库逻辑结构的“结构数据模型”。在本系统中我所采用的是“实体联系模型(ER模型)来描述数据库的结构和语义,实现对现实世界的抽象。本系统使用的数据库是MySQL数据库,系统数据库名称为crm,数据库crm中所包含的数据表如下所示:(1) client_info(客户信息表)客户信息表主要用来保存公司经营的客户资料信息。表client_info的结构如表2-1所示: 字段名数据类型长度是否主键描述client_idint5是主键rade_idint5否外键dept_idint5否外键namev
26、archar15否客户姓名sexvarchar4否客户性别emailvarchar30否客户邮箱gradvarchar15否客户级别telephonevarchar15否客户电话addressvarchar200否客户地址postcodeint10否客户邮编remarkvarchar200否客户备注表2-1:表client_info的结构 (2) system_user(系统用户信息表)系统用户信息表用来存储整个系统用户的信息,在本系统中系统用户信息其实就是公司的员工信息。表system_user的结构如表22所示:字段名数据类型长度是否主键描述user_idInt5是主键userNameva
27、rchar15否用户账号trueNamevarchar15否真实姓名sexvarchar4否性别ageInt3否年龄 passwordvarchar15否密码 idCardvarchar20否身份证 telephonevarchar15否电话deptInt5否外键limitsInt5否外键表22:表system_user的结构(3)product_info(产品信息表)产品信息表是用来存储公司经营的产品的基本信息。表product_info的结构如表2-3所示:字段名数据类型长度是否主键描述prod_idint5是主键type_idint5否外键prod_namevarchar50否产品名称P
28、rod_typevarchar10否产品类别Pricedouble10否产品单价buyPricedouble10否购买价 rebateint11否折扣Sale_pricedouble10否销售价getTimevarchar15否上架时间prodImagevarchar50否产品图片synopsisvarchar1000否产品概述remarkvarchar1000否备注Sale_numberInt11否销售量First_stockint11否原库存now_stockInt11否现库存表2-3:表product_info的结构 (4) product_type (产品类别表)产品类别表用来存储产品
29、的类别信息.表product_type的结构如表24所示:字段名数据类型长度是否主键描述type_idint5是主键type_namevarchar20否类别名称type_gradevarchar10否类别级别表2-4:表product_type的结构(5) dept_info(部门信息表)部门信息表是用来存储公司部门信息的.表dept_info的结构如表2-5所示:字段名数据类型长度是否主键描述dept_idint5是主键deptnamevarchar15否部门名称表2-5:表dept_info的结构(6)client_grad(客户级别表)客户级别表用来存储客户的级别信息.表client_
30、grad的结构如表26所示:字段名数据类型长度是否主键描述rade_idint5是主键rade_namevarchar15否级别名称表2-6:表client_grad的结构(7)user_role(权限表)权限表是用来存储权限的相关信息。表limit的结构如表2-7所示:字段名数据类型长度是否主键描述limit_idint5是主键Limit_namevarchar15否权限名称表27:表user_role的结构(8) contract(合同表)合同表是用来存储合同信息的数据表。表contract的结构如图28所示:字段名数据类型长度是否主键描述idint5是主键cont_namevarchar
31、20否合同名称client_namevarchar20否客户名称Ctypevarchar20否合同类别write_timedate15否签约时间begin_timedate15否生效时间 over_timedate15否失效时间productvarchar50否产品名称表2-8:表contract的结构(9) sell_info(销售表)销售信息表示用来存储销售的信息表.表sell_info的结构如表29所示:字段名数据类型长度是否主键描述idint5是主键Sellman_idint5否外键Type_idInt5否外键productvarchar50否销售产品sellnumint10否销售数量
32、sell_timedate15否销售时间 all_sell_moneydouble15否销售总额perpricedouble 15否产品单价表29:表sell_info的结构3 详细设计3.1 详细设计概要详细设计的目的是为了确定应该怎样具体地实现符合要求的系统,在这个阶段的设计中我们应该对所要开发的系统有一个更加详细的描述,以方便在编码的过程中能把它直接翻译成程序语言书写的程序。3。2 系统整体界面设计经过需求分析和系统设计之后,我们就可以对系统的界面进行详细的设计。首先我们应该设计好系统界面布局的整体框架,不错,要想进入本客户资源管理系统,前提条件你必须是该系统的用户,进入系统前必须经过系
33、统用户登陆界面进行验证之后才可进入,进入系统后就可以看到系统的整体框架了.系统登陆界面和进入系统后的显示界面分别如图31和图32所示:图31:系统登录界面图3-2:系统主界面登陆进系统后可清晰的看到,整个系统界面由框架分为了三个部分,其功能说明如表31所示: 区 域名 称说 明对应文件1系统头部主要起一个辅助和显示美化的作用headnav。jsp2导航显示主要用于显示导航模块中的功能navbar.jsp3内容显示主要用于显示系统各功能模块中的内容main。html表3-1:系统首页界面说明整个网站的布局使用到的是HTML中的一个框架,框架内容分别由headnav、navbarh和main这3个
34、jsp页面组成,最后再由HTML代码在index.jsp页面中组合起来.框架代码如下:/*index。jsp*/html xmlns=”http:/www.w3.org/1999/xhtml”headmeta http-equiv=ContentType content=”text/html; charset=gb2312” /title客户资源管理系统首页/titleframeset rows=130,* framespacing=”0 frameborder=”noframe src=”headnav.jsp noresize=”noresize/frameset rows=” cols=
35、193,” framespacing=2 frameborder=”yes border=”2”frame src=”navbar。jsp” name=”menu” id=menu” noresize=noresize / /frameset3.3 系统框架设计由于本系统是在Java语言的基础上使用SSH框架技术来进行的开发,在开发本系统编码之前,首先我们要在MyEclipse集成开发工具中整合好Struts、Hibernate和Spring这三个框架,并对其相应的环境和配置进行设置。同时我们也要把网站中可能使用到的文件夹创建出来,放到整个系统的相应路径之下,这样可以方便以后的开发工作,规范网
36、站的整体架构。本系统在MyEclipse中开发的项目名称为:LqmCrm,在MyEclipse中的系统项目结构如图33所示:图33:系统项目结构各包和文件夹的使用功能说明如下:1、在src路径下存放的是系统开发的所有程序代码。com。Genius。base:存放基础公共类(如过滤器等);com。Genius.dao:定义dao接口;com.Genius.daoImpl:dao的实现类;com。Genius。manager:业务类接口;com.Genius.managerImpl:manager的实现类;com。Genius。po:数据库表的映射类;com.Genius。action:存业务逻辑
37、类;com.Genius。form:存放系统交互式页面对应的Java bean对象。2、在WebRoot路径下中存放的是系统开发的整个界面文件及配置文件等。css文件夹:存放页面的css样式文件;images文件夹:存放系统需要用到的所有图片文件;js文件夹:存放javaScript脚本;jsp文件夹:存放系统的所有jsp页面.系统中还有四个极为核心的配置文件,它们分别是:hibernate。cfg.xml:hibernate配置文件,里面配置了连接数据库的一些信息(如数据库名、用户名、密码、数据库url等);applicationContext-action.xml:实现action的跳转配置文件;applicationContextbeans。xml:管理所有业务类的配置文件;applicationContextcommon.xml:事务管理配置文件。其中后面三个配置文件存放在WEB-INF目录下,这三个配置文件的使用使开发的过程变得非常的有逻辑性,使表现层、事务层和实现层更加的分明,我们只需在配置文件中对其进行配置设置,然后在需要用到某类的对象时,再通过配置文件对它进行注入即可,这样很大的降低了各个类之间的耦合度。以上四个配置文件的代码如下:!- hibernate