1、1客户关系管理信息系统课程设计报告书第一章 引言1.1 研究背景随着电子计算机和通信技术的发展,人类已经逐渐地进入信息化社会。信息和材料、能源一样成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成为各行各业的必要和必需了,客户关系管理系统作为一门边缘学科,集管理科学、信息科学、系统科学、现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对内来看,可以提高工作效率;对外来看,获得竞争优势。 客户关系管理(Customer Relationship Manag
2、ement,CRM)主要含义就是通过对客户详细资料的深入分析,提高客户满意程度,从而提高企业竞争力的一种手段。随着我国经济的持续增长,企业竞争日趋激烈,客户资源成为企业的宝贵财富。企业客户关系管理系统可以有效地管理企业的客户资源,记录企业与客户之间的商业活动,这对于现代企业是非常重要的。MIS(Management Information System,管理信息系统 )是在计算机与互联网相结合下的信息化的产物。它广泛应用与个行业部门的信息化管理中。2008 年美国的次贷危机引起的全球性金融风暴,许多企业深受金融危机影响,损失惨重。一批批的企业配破停产倒闭。挺过金融危机的企业在全球经济不景气的情
3、况下也面临着更加激烈的市场竞争。为了在竞争日趋激烈的市场上赢得筹码,为客户提供优质的服务,提高客户的忠诚度和满意度,企业建立良好的客户资源变得非常重要。通过利用现代网络技术、计算机技术和 visual foxpro 计算机变成语言等设计基于 b-c 模式的客户关系管理信息系统。 1.2 研究目的客户关系管理系统是根据某企业所属客户的实际管理情况进行编写的,主要目的是为了方便企业对客户来往业务及客户关系信息情况进行集中的查询与管理工作。在社会主义经济高速发展的今天,如果企业对客户关系信息的各项管理运做仍然停滞在以纸、笔为主要工具的阶段,就会因为信息量的快速增长而无法迅速、准确的完成各项管理工作,
4、这样,必将成为企业各方面发展的一个瓶颈。而在当代这个以信息时代为主题的社会里,将信息技术应用于对现代企业的管理,不但可以提高信息的处理速度和提高信息处理的准确性,更重要的是,可以解放劳动力,将他们分配到更需要人力资源的岗位上去,从而加快其现代化、综合化的建设步伐。这样,不但为企业管理部门节省了不必要的开支,更重要的是提高了它的工作效率。本客户关系管理信息系统开发要实现的功能模块: 录入个人客户记录 查询个人客户记录 企业客户管理 客户等级分类管理(普通客户管理,潜力型客户管理,VIP 客户管理) 客户反馈信息 客户投诉与处理 系统维护2本次客户管理关系管理信息系统为物流管理信息系统的课程设计。
5、通过已学过的计算机语言 Visual Basic 和 Visual Foxpro 等进行信息系统开发。系统实现的功能主要为数据输入和基本查询修改等。1.3 可行性分析(1)技术可行性本系统要求能熟练掌握 vf 计算机编程语言。我们在大二已经学过了 vb 和 vf 计算机编程语言。并且需要有计算机。学院的计算机房有充足的计算机设备,并且装有非常多的程序可供使用。(2)时间可行性本课程设计提前启动,相关书籍的借阅,案例的查找可在元旦期间完成。系统分析,设计的主要内容可在 1 月 4 日后开始。学校安排两周的时间来完成所开发的系统的实现和设计报告书的撰写,时间基本是够用的。(3)经济可行性学院的计算
6、机室提供各种管理信息系统开发的软件,学校的图书馆也有丰富的图书资料可供借阅。并且学院给每个管理信息系统课程设计的学生都赠送 40 个小时的上机操作时间。(4)组织安排可行性本次管理信息系统的课设题目和要求在做物流工程的课程设计时老师已经给出。有不同的课设题目,学生在征求老师的同意后可换更适合自己的课设题目。每个同学独立完成一个课设。虽然任务有点重,但还是可以完成的。1.4 开发进度与方法(1)开发进度 (开发时间:2009 年元月 4 日-元月 14 日) A.资料查找阶段: 元月 4 日B.系统规划分析阶段: 元月 5 日-7 日C.系统设计测试阶段: 元月 7 日-11 日D.撰写设计报告
7、书: 元月 12 日-13 日 (2) 开发方法A.利用 Visual Foxpro 进行系统开发;B.利用 visio 画图工具,word 里附带的简单画图工具进行流程图,实体图的输出;C.利用面向对象的系统开发方法(对象,类,实例,方法 ,消息,继承,多态性) ;第二章 系统需求分析2.1 客户关系管理的特点现行的 CRM 软件还处于起步阶段,功能模块结构不尽相同,但是其基本的需求是一样的,其主要技术需求应包括六个方面:(1) 信息分析能力CRM 有大量客户和潜在客户的信息,企业应该充分的利用这些信息进行分析,使得决策者掌握的信息更加完全,从而能及时的作出决策。良好的商业情报是企业成功的一
8、半。(2) 对客户互动渠道进行集成的能力。对多渠道进行集成与 CRM 解决方案的功能部件的集成是同等重要的。不管客户是与企3业联系还是与销售人员联系,于客户互动都应该是无缝的、统一的、高效的。同一的渠道还能带来内部效益的提高。(3) 支持网络应用的能力在支持企业内外的互动和业务处理方面,Web 的作用越来越大,这使得 CRM 得网络功能越来越重要。如,网络可以为电子商务渠道提供支持。为了使客户和企业雇员都能方便应用 CRM,需要提供标准化的网络浏览器,使得用户几乎不需训练就能使用系统。另外,如果通过网络为客户提供在线反馈的话并能有专人及时传达信息给公司的售后服务部门,这将为公司留住客户(尤其是
9、距离较远的)并使业绩添砖加瓦。(4)建设集中的信息仓库的能力采用集中化的信息、实时的客户信息,可使各业务部门和功能模块间的信息能统一起来。(5)对工作流进行集成的能力工作量是指把相关文档和工作规则自动化安排给负责特定业务流程中特定步骤的人。CRM 解决方案应具有较强的功能,为跨部门工作提供支持,使这些工作能动态的、无缝的集成。(6)与 ERP 功能的集成如果 CRM 与 ERP 和财务、库存、制造、分销、物流和人力资源等连接起来,使之成为一个客户互动循环,这种集成能使企业在系统间搜集商业情报,而不是低水平的数据同步。22 功能需求分析CRM 作为管理企业与客户关系的主要管理系统平台,不仅要处理
10、企业与客户之间的业务,还要处理企业内部相关部门的业务。CRM 中不仅包含客户的信息资料,而且涉及市场竞争对手的情报资料,还包括了企业进行营销、销售及支持服务所需的各种数据。信息数据的来源是多种多样的,可以是本地数据库,也可以是异地数据库,甚至可以是 E-mail、文本文件等。客户与企业、部门与部门、业务与业务、销售与市场及服务间复杂关系,导致 CRM 中的数据不论是结构、类型还是彼此间的关联都是复杂多变的;对这种数据进行的处理也是多种多样的。因此,要实现对 CRM 数据的及时、准确的处理和有效利用,就需要:(1) 建立统一的信息编码系统;(2) 设计能够良好反映事务特性的数据模型;(3) 划分
11、数据库类型,在分布式数据库管理系统和网络平台基础上,设计全局共享及局部 共享数据库,以支持分布式数据处理,实现各分系统之间及其内部各功能模块之间的信息集成;(4) 提供强大的数据库管理系统,并在此基础上敬爱拿过来完善的客户销售数据库、客户 市场数据库、客户支持与服务数据库、企业综合信息数据库等。由于 CRM 是以客户为整个管理的中心,不同于其它管理系统,其数据库管理有自己的特性。因此,需要建构自己的 CRM 数据库。在构建 CRM 数据库时,应注意 CRM 的特性,同时也要注意 CRM 系统与企业其它管理系统的协调。本系统假设针对的是虚拟的公司,本系统将有助于其改善对现有客户的管理混乱状态,加
12、强企业与客户的联系,并且提高工作效率。该虚拟的公司有如下需求:(1) 系统设系统管理员,管理员拥有对基本系统资料的操作权限。客户经理等层次更4高的人员负责对公司 VIP 客户的管理。(2) 客户管理模块,基本资料的添加、修改、删除和查询功能;与客户相关的联系人资料的添加、修改、删除和查询功能。(3) 将该企业的客户管理分类,分为个人客户管理和企业客户管理。企业客户管理模块拥有基本资料的添加,修改,删除和查询功能。(4) 公司重视对不同客户的管理,需要系统将输入的客户信息根据其与公司业务量与业务额的动态数据自动分类。并且用不同的客户管理方法实施对不同等级客户的管理。(5) 同时,公司也需要建立对
13、客户反馈信息和客户投诉的信息汇总机制,来加强公司对客户需求的了解和通过客户对公司的投诉来进一步提高改善公司自身的工作和服务。(6) 公司还需要建立客户管理系统维护模块,通过系统维护来使该系统正常运行。2.3 业务流程分析(1)公司的销售部门将客户的信息资料送到客户服务部门;客户服务部门将客户的信息资料输入公司的客户管理系统中;系统管理员将报表的信息和输入的信息进行校核,无误后将信息存入客户关系管理系统,形成客户信息数据库;客户服务部门对公司的客户信息数据库进行查询修改和管理。客户向客户服务部门进行反馈和投诉,客户服务部门对客户的反馈信息回复并答谢,对普通客户的投诉进行处理。客户服务部门的领导层
14、对潜力型客户和 VIP 客户的投诉进行处理。客户服务部门对客户的反馈和投诉信息汇总并做成报表,经客户经理审核后提交给公司领导层。(2)根据公司的业务流程,做出业务流程图如下:5销售部客户基本信息 客服部门输入客户信息系统管理员查询、管理客户反馈、投诉回复、处理客服部门领导层客户反馈投诉处理报表客户经理审 核公司领导层处理(VIP客户)客户信息数据库流程图符号说明:处理 报表,单据数据存储或文档符号业务处理参与人或部门信息流2.4 数据流程分析6销售部门 P1编辑客户信息P2客户信息核实信息员 系统管理员P3系统自动将客户按等级分类客户信息文件客户信息数据库普通客户数据库潜力型客户数据库VIP
15、客户数据库客户 反馈和投诉信息客户服务部门 P4答谢处理客户反馈与投诉处理报告 公司领导层管理第三章 系统设计3.1 系统功能设计本客户管理信息系统涉及的信息包括;a. khb(客户表):包括编号,姓名,性别,出生日期,单位,单位电话,住址,手机,爱好和背景信息。b. 企业客户客户表:包括编号,企业名称,负责人,联系方式,与企业的商务往来建立时间,商业往来信息。c. yhb(用户表):包括用户名,密码。根据系统需求分析和系统功能模块结构图来看,该系统应具备如下基本功能: 客户信息联系人信息的查询、添加、修改和删除功能 联系人信息添加、修改和删除功能 客户等级分类管理:普通客户管理,潜力型客户管
16、理,VIP 客户管理。系统会根据输入的客户信息记录,依据已设定的客户等级标准(客户与公司的业务额,增长率)来自动将客户分类,并反映到客户分类管理系统上。公司对不同的客户实行细致的,不同的管理方式。*由于编程知识水平有限,我没能将这部分功能开发出来。 客户反馈信息管理。系统可以将反馈的内容显示在该页面上。管理操作员可以根据客户反馈的内容提取一些有益的建议。 客户投诉与处理。对不同等级的客户,系统的设置不同等级的人进行处理。操作员拥7有对普通客户的处理权,客户服务部门领导层负责对潜力型客户可 VIP 客户的投诉处理。 操作管理员的信息查询、添加、修改和删除功能 客户管理系统的维护功能其功能模块结构
17、图如下:客户关系管理查询客户记录 企业客户管理 系统维护客户信息修改客户信息删除按编号查询按姓名查询查询首末记录客户信息添加修改删除浏览客户数据转入客户数据转出设置系统用户数据初始化客户等级管理 反馈投诉处理.32 客户关系管理系统数据库设计3.2.1 实体关系图根据对数据流图和数据字典的分析,可以将这个数据库抽象为一个 E-R 图(1)个人客户信息实体图个人客户信息实体编号 姓名性别 爱好背景信息(2)企业客户信息实体图客户信息添加录入客户记录8企业客户信息实体编号企业名称 负责人 联系方式商务往来建立时间业务往来记录(3)用户信息实体图用户使用登陆信息实体用户名密码3.2.2 数据表设计*
18、 在本系统中使用的表都为自由表(1)khb(客户表)设计khb(客户表)结构序号 字段名 字段类型 字段宽度 序号 字段名 字段类型 字段宽度1 编号 C 10 2 姓名 C 103 性别 C 2 4 出生日期 Date 85 单位 C 30 6 职务 C 109续表:(2) 企业用户表结构序号 字段名 字段类型 字段宽度 序号 字段名 字段类型 字段宽度1 编号 C 10 2 企业名 C 203 负责人 C 10 4 商务往来建立时间 DATE 205 联系方式 C 16 6 业务往来记录 C 100 (3)yhb(用户表)结构序号 字段名 字段类型 字段宽度 序号 字段名 字段类型 字段宽
19、度1 用户名 C 10 2 密码 C 10第四章 系统实现4.1 系统开发与运行环境本系统的开发平台为 Windows XP ,数据库管理系统和编程语言均为 Visual Foxpro7.0。Visual Foxpro7.0 是 Microsoft 推出的 Visual Foxpro 系列的产品。在原有版本的基础上增加了许多功能。进一步改进了系统功能,为数据库开发提供了更快捷更灵活的软件开发环境。系统的使开发和实践则是在 Visual Foxpro7.0 的开发环境中利用各种操作命令实现各种系统功能。4.2 数据库的创建和连接1.首先要创建一个项目,项目名称为:客户关系管理信息系统.pjx2.
20、表的创建按照表所需要的字段和字段类型建立相应的数据表:khb.dbf yhb.dbf 企业客户表.dbf在创建好的表中输入相应信息数据,以便做系统测试。序号 字段名 字段类型 字段宽度 序号 字段名 字段类型 字段宽度7 客户类型 C 10 8 手机 C 209 单位电话 C 14 10 住址 C 3011 爱好 C 20 12 背景信息 C 8013 业务往来记录 meno 4103.建立数据库把已经创建好的表放入同一个文件夹中。在这个文件夹中创建一个数据库:客户基本信息.dbf;然后在数据库中单击右键,点击弹出菜单栏中的“添加” ,将创建好的表添加到数据库中;将已经建好的数据库添加到项目选
21、项中的“数据”中。由于客户表和企业客户表作分开来管理,因此,两者之剑不需要建立索引。在数据库的创建和连接中,可以先把表和数据库都建立好最后在项目中添加导入;或者在先建好的项目中在相应的菜单中点击“新建”来在项目中新建表和数据库。4.3 主窗体界面的创建1.欢迎主界面2.pass 进入识别界面113.menu 主页面4.录入客户记录窗体界面125.点击“录入客户记录”的“添加”控件弹出的编辑“客户记录”的窗体6.“查询客户记录”窗体137.“企业客户管理”模块的“浏览窗体”148.客户分类等级管理(1)普通客户管理页面15(2)潜力型客户管理页面(3)VIP 客户管理页面169.客户信息反馈页面
22、1710客户投诉与处理页面11.“系统维护”主界面184.5 主要功能模块的实现1.欢迎主界面A.“开始”控件代码:对象:command1 过程:clickdo form pass 表单B.“关闭”控件代码:对象:command2 过程:clickThisform.release2.pass 进入识别界面A.“确定”控件代码:对象:command1 过程: clickuse yhbLOCATE for 用户名=bo1.Value IF thisform.text2 .value=密码do form menu 表单ELSE=MESSAGEBOX(“密码错误,请重新输入!“,0+64+0,“警告“
23、)thisform.text2 .value=“thisform.text2 .setfocusENDIFB.“取消”控件代码:对象:command1 过程: clickThisform.release3.menu 主页面表单A.“录入客户记录”控件代码:对象:command1 过程: clickdo form form1 表单设计B.“查询客户记录”控件代码:对象:command2 过程: clickdo form form2 表单C.“企业客户管理”控件代码:对象:command3 过程: clickdo form form3 表单D.“系统维护”控件代码:对象:command5 过程:
24、clickdo form liulanE.“退出”控件代码:对象:command5 过程: clickQuit 4.“录入客户记录”页面A.“添加”控件代码:对象:command1 过程: clickdo form form11B.“修改”控件代码:19对象:command2 过程: clickSELECT khb cno=RECNO()flag1=2SET FILTER TO .T.GO cnoC.“删除”控件代码:对象:command3 过程: clickSELECT khbif messagebox(“真的要删除“+alltrim(姓名)+“吗?“,4+32,“信息提示“)=6DELET
25、Ethisform.refreshENDIFD “返回”控件代码:对象:command5 过程: clickThisform.release5.“编辑客户记录”控件代码:A.“确定”控件代码:对象:command4 过程: clickappend blankthisform.text1.setfocusthisform.refreshB.“返回”控件代码:对象:command5 过程: clickThisform.release6.“客户查询”页面A.事件“combo1”,过程“interactivechange”local mycursor select 编号,姓名,性别,职务,单位,单位电
26、话,手机,住址,爱好,背景信息 from khb:where 查询条件=bo1.value into cursor mycursorif eof()messagebox(“查无此客户!“,0+64+0,“警告“)returnendifthisform.grid1.recordsourcetype=0thisform.grid1.recordsource=mycursorthisform.grid1.refreshB.“返回”控件代码:对象:command1 过程: clickThisform.release7.“企业客户表”页面“具体操作”控件代码:对象:command1 过程: click2
27、0do form qykhgl8. “企业客户表”页面 2A.“首记录”控件代码:对象:command1 过程: clickGo topB.“上一条”控件代码:对象:command2 过程: clickskip-1thisform.refreshC. “下一条”控件代码:对象:command3 过程: clickskipthisform.refreshD.“末记录”控件代码:对象:command4 过程: clickgo bottomthisform.refreshE.“添加”控件代码:对象:command5 过程: clickappend blankthisform.text1.setfoc
28、usthisform.refreshF.“删除”控件代码:对象:command6 过程: clickif messagebox(“确实要删除本记录吗“,1+64+25,“提示“)=1deletethisform.refreshendifG.“退出”控件代码:Thisform.release9.“系统维护”界面A.“客户数据转入”控件代码:对象:option1 过程: clickPROCEDURE test1ok=.T.oldp=SYS(5)+SYS(2009)ON ERROR ok=.F.SET DEFAULT TO A:SET DEFAULT TO 企业客户表use in 企业客户表MESS
29、AGEBOX(“数据传输完毕!“,48+0,“信息提示“)PROCEDURE opg1.option2.mousemoveLPARAMETERS nButton, nShift, nXCoord, nYCoordthis.MousePointer = 99this.MouseIcon =“POINT.CUR“B. A.“客户数据转出”控件代码:对象:option2 过程: clickIF thisform.test1() =.F.MESSAGEBOX(“请将要转入数据的软盘插入到 A 驱动器中后再使用本选项“,48,“提示信息“)RETURNENDIFh=FOPEN(“A:khb.dbf”)I
30、F (h=-1)MESSAGEBOX(“你的软盘不包含要转入数据,请插入正确的软盘后再选择本选项“,48,“提示信息“)ReturnEndif =FCLOSE(h)22use khb IN 0SELECT khbCOPY to A:khbuse in khbuse yhb IN 0COPY TO A:yhbuse in yhbuse 企业客户表 IN 0SELECT 企业客户表COPY To A;企业客户表use in 企业客户表MESSAGEBOX(“数据转入完毕!“,48+0,“信息提示“)PROCEDURE opg1.option2.mousemoveLPARAMETERS nButto
31、n, nShift, nXCoord, nYCoordthis.MousePointer = 99this.MouseIcon =“POINT.CUR“C.“设置系统用户”控件代码:对象:option3 过程: clickdo form setuser 表单D.“系统初始化”控件代码:对象:option3 过程: click?CHR(7)IF MESSAGEBOX(“进行系统初始化,删除所有数据!“,4+32, “信息提示“)=6SET EXCLUSIVE ON use khb IN 0SELECT khbZAPuse in khb use zwb IN 0SELECT zwbZAPuse i
32、n zwbuse lxb IN 0SELECT lxbZAP use in lxbuse user IN 0SELECT userZAPAPPEND BLANK replace 用户名 with “1234“,密码 with “1234“,级别 with “系统管理员“23use in userMESSAGEBOX(“系统初始化完毕,下次只能以 1234/1234 进入系统!“,48,“信息提示“)ENDIF10.“系统用户设置”页面A.“添加”控件代码:对象:command1 过程: clickappend blankthisform.text1.setfocusthisform.refre
33、shB “删除”控件代码:对象:command1 过程: clickif messagebox(“真的要删除“+alltrim(用户名)+“吗?“,4+32,“信息提示“)=6DELETEthisform.refreshENDIFC.“返回”控件代码:对象:command3 过程: clickThisform.release第五章 总结与展望经过反复测试,系统完成后运行添加、修改、查询、报表等功能多数正常,但也有一些功能没有按照预定的设想和编程实现。程序有些错误,但限于能力和编程语言知识有限没能改正过来。 此系统仍存在许多缺陷,但是通过该系统设计达到了系统设计目的意义,基本掌握了管理信息系统开
34、发的主要步骤,了解了各环节在开发时要注意的问题,从方便用户的角度出发,去考虑开发出好的信息系统。另外,在设计过程中也逐渐提高了信息系统开发技能和编程技能。因此本设计虽然较粗糙,但是从学习的角度上看,非常有意义。客户管理信息系统的实现,将减轻中小企业管理人员的负担。并能为公司领导的决策提供支持。如果每个企业可以很好的吸收 CRM 理念,会看到在利润、客户忠诚度和客户满意度多方面的提高,对未来的整体性的电子商务时代的来临也就更有准备,也就向网络经济靠近了一步。最后非常感谢我们的 XXX 老师,给予我在系统开发过程中的指导,以及我的同学对我在 vf 程序编程上的帮助。参考文献【1】 李建元 熊刚 主
35、编,Visual FoxPro 程序设计教程,中国铁道出版社【2】 李春葆编著,Visual FoxPro 7.0 数据库系统设计与开发清华大学出版社【3】 晏争农主编, Visual FoxPro 应用基础及程序设计,电子工业出版社【4】 余文芳主编, Visual FoxPro 数据库应用,人们邮电出版社241.含义:是只会计核算软件中能够相对独立完成会计数据输入、处理和输出功能的各个部分。 2.划分功能模块:以会计软件的职能划分。 3.账务处理子系统是会计核算软件的核心模块。 一个完整的会计核算软件必定包含账务处理模块,其他职能模块也将直接或间接与账务处理模块发生联系。会计核算软件的功能
36、模块一般可以划分为账务处理、应收/应付款核算、工资核算、固定资产核算、存货核算、销售核算、成本核算、会计报表生成与汇总、财务分析等。会计核算软件的主要功能模块也经常被称为子系统或系统。 4.各模块简介: (1)账务处理功能模块。作为整个会计核算软件的核心,账务处理模块是以会计凭证为原始数据,通过凭证的输入和处理,完成 记账、算账、对账、转账、结账、账簿查询及账务数据管理 等功能。 考试大与你同行(2)应收/应付款核算功能模块。在会计业务活动中,应收/ 应付账款均为往来业务科目。 (3)固定资产核算功能模块。固定资产核算功能模块主要用来反映单位固定资产增减变动及折旧计提情况。 (4)存货核算功能
37、模块。存货核算功能模块主要是对存货的收、发、存业务进行会计核算。 (5)销售核算功能模块。销售核算功能模块是根据有关销售凭证及销售费用等数据,完成产品销售收入、销售费用、销售税金、销售利润的核算;合同的辅助管理;生成产成品收发结存汇总表等表格;生成产品销售收入、销售成本明细账;可灵活地查询、统计和打印各种销售报表。 (6)工资核算功能模块。工资核算功能模块主要用来计算职工应发工资和实发工资,并根据工资用途进行分配。 (7)成本核算功能模块。成本核算子系统的基本任务是归集和分配各种成本费用,及时计算产品的总成本和单位成本,计算和结转成本差异,输出成本核算的有关信息,并自动编制机制转账凭证传递给账务处理子系统。 考试大伴你成长(8)会计报表生成与汇总功能模块。 (9)财务分析功能模块。财务分析功能模块是能够利用会计核算数据进行会计管理和分析的功能模块