1、客户关系管理系统的设计与实现 作者: 日期:22 个人收集整理 勿做商业用途客户关系管理系统系统分析报告 系 (部): 计算机学院 专 业: 计算机科学与技术班 级: 学 生: 学 号: 指导教师: 2013年 12月摘 要随着市场经济的深入发展,市场竞争、行业竞争越演越烈产品和服务的差异越来越小。以生产为中心、以销售产品为目的的市场战略逐渐被以客户为中心、以服务为目的的市场战略所取代.谁能掌握客户的需求趋势、加强与客户的关系、有效发掘和管理客户资源,谁就能获得市场竞争优势,在激烈的竞争中立于不败之地.企业、供应商、分销商及客户连成一片的价值链成为企业之间竞争的核心.为房地产企业开发一套客户关
2、系管理系统(Customer Relationship Management:CRM)成为必然趋势.该系统所面向的对象为房地产企业的管理和销售人员。整个系统从符合操作简便、界面友好、灵活、使用安全的要求出发,采用ASP。NET作为前台开发工具,SQL Server2005作为后台数据库平台,基于B/S的三层模式的客户关系管理系统。旨在实现利用数据库来存储、管理大量数据信息。设计并完成对其各种数据的分类、查询和统计,尽可能实现友好的操作界面。房地产公司客户关系管理系统将大大提高客户满意度和忠诚度,工作效率,发掘客户价值,从而提高企业盈利。该系统将给房地产企业整个的信息化建设带来深远而有意义的影响
3、.关键词:CRM;客户关系管理;ASP。NET;数据库绪 论1。1课题设计的目的和意义使用CRM概念和技术,企业能快速搜集、追踪和分析每一个客户的信息,进而了解整个市场走势,并确切地知道谁是客户、什么是客户的需要、客户需要什么样的产品和服务、如何才能满足客户的要求,以及满足客户要求的一些重要限制因素。CRM还能观察和分析客户行为对企业收益的影响,使企业与客户的关系及企业盈利都得到最优化。因此为企业开发一套客户关系管理系统成为必然趋势。客户关系管理系统要提高管理的效率以及质量,完成对客户基本信息、联系人信息、交往信息、客户服务信息的充分共享和规范化管理;希望通过对销售机会、客户开发过程的追踪和记
4、录,提高新客户的开发能力;希望在客户将要流失时系统及时预警,以便销售人员及时采取措施,降低损失.并希望系统提供相关报表,以便公司高层随时了解公司客户情况。最终实现房地产企业的盈利最大化。1.2 课题主要的研究工作本论文主要介绍客户关系管理系统的设计思路及实现方法,开发工具使用Microsoft Visual Studio 2005,数据库采用Microsoft SQL Server 2005 ,服务器采用IIS。在Windows XP平台上开发基于B/S模式的房地产客户关系管理系统。该系统主要业务功能划分为以下几个功能模块:营销管理(包括销售机会的管理,客户开发计划的管理,订单信息管理)、客户
5、管理(包括客户信息的管理和客户流失的管理)、服务管理(包括服务创建,服务分配,服务处理,服务反馈,服务归档的管理)、基础数据(包括数据字典管理,地产信息查询)共四个模块。该系统主要完成对客户基本信息、联系人信息、交往信息、客户服务信息的充分共享和规范化管理;通过对销售机会、客户开发过程的追踪和记录,提高新客户的开发能力;在客户将要流失时系统及时预警,以便销售人员及时采取措施,降低损失.课题中涉及的关键技术2。1 ASP.NET的简介ASP即Active Server Pages的缩写,意为“活动服务器网页.它是一种包含了使用VBScript或JavaScript脚本程序代码的网页.当浏览器浏览
6、ASP网页时,Web服务器就会根据请求生成相应的HTML代码,然后再返回给浏览器。这样浏览器端看到的就是动态生成的网页。如下图2.1所示为ASP的工作原理.用户给出已知的网页地址(URL),通过浏览器向远程服务器请求ASP页面。服务器接收请求并读取服务器上相应的ASP文件,并将该文件传递到服务器上的脚本引擎;脚本引擎解释ASP文件,并生成HTML页面,然后服务器将该HTML页面传回到用户的浏览器。浏览器解释并显示HTML页面,这个页面就是用户看到的网页.因为脚本是在服务器端运行的,所以Web服务器完成所有的处理后,将标准的HTML页面送往浏览器。这意味着ASP只能在可以支持的服务器上运行。让脚
7、本驻留在服务器端的好处是用户不可能看到原始的脚本代码,看到的仅仅是最终产生的HTML内容。服务器浏览器4.浏览器将收到的HTML文件显示在屏幕上2.服务器读取并运行ASP程序,然后将结果转换为HTML文件1.浏览器向服务器请求运行ASP程序3.服务器将HTML文件传送给浏览器ASP 的工作原理图2。1 ASP的工作原理ASP.NET不仅仅是 Active Server Page (ASP) 的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序.ASP。NET提供许多比现在的Web开发模式强大的优势。2.2 Microsoft SQL Serve
8、r 2005简介2。2.1 ADO简介 ADO(ActiveX Data Objects)是一组用于和数据源进行交互的面向对象类库.它提供了平台互用性和可伸缩的数据访问.ADO.NET增强了对非连接编程模式的支持,并支持RICH XML。由于传送的数据都是XML格式的,因此任何能够读取XML格式的应用程序都可以进行数据处理.事实上,接受数据的组件不一定要是ADO。NET组件,它可以是基于一个Microsoft Visual Studio的解决方案,也可以是任何运行在其它平台上的任何应用程序。 ADO.NET是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文
9、本文件、Excel表格或者XML文件。 ADO.NET允许和不同类型的数据源以及数据库进行交互。然而并没有与此相关的一系列类来完成这样的工作。因为不同的数据源采用不同的协议,所以对于不同的数据源必须采用相应的协议.一些老式的数据源使用ODBC协议,许多新的数据源使用OleDb协议,并且现在还不断出现更多的数据源,这些数据源都可以通过。NET的ADO。NET类库来进行连接。 ADO。NET提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为Data Providers,并且通常是以与之交互的协议和数据源的类型来命名的。2.2.3 SQL简介SQL(Struc
10、tured Query Language,译为结构化查询语言)是它是关系型数据库的标准语言.利用它,用户可以用几乎同样的语句在不同的数据库系统上执行同样的操作.SQL语言的功能如下:(1)数据定义 数据定义主要通过数据库定义语言DDL (Date Definition Language )来实现,利用它可以实现数据库的表、视图及索引的定义、修改和删除等操作。(2)数据操作 数据操作主要通过数据操纵语言DML(Data Manipulation Language)来实现,实现对数据的查询、插入、更新和修改等操作。(3)数据控制 数据控制是指对数据的安全性和完整性的控制,主要通过数据控制语言DCL
11、(Data Contronl Language)来实现,实现对于用户对用户权限、数据完整性约束的定义。2.3 C#简介C是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。并且C成为ECMA与ISO标准规范。C#看似基于C+写成,但又融入其它语言如Delphi、Java、VB等。2。4 B/S模式介绍 随着Internet技术的
12、发展,管理系统的开发正逐步采用一种全新的技术模式:B/S(Browser/Server)模式(见图2.2)。B/S本质上也是一种C/S结构,它是传统的两层C/S结构在Web上的发展.相对于C/S结构而言,B/S结构是把原来在客户机一侧的应用程序模块与显示功能分开,将应用程序模块单独作为一层放在Web服务器上,客户端只需要安装浏览器就可以了,这样将系统的业务处理部分统一放在Web服务器上,客户端只起到与用户交互的作用.图2.2 B/S(Browser/Server)模式B/S结构的工作原理是:Web服务器接收浏览器的Web请求,并处理Web页请求,同时将数据请求通过数据库接口转换成数据库服务器能
13、接受的形式(如SQL),之后送到数据库服务器,数据库服务器根据数据请求执行相应的数据库操作(如查询、修改、统计等),并将结果通过数据库接口的转换送回Web服务器,Web服务器将结果处理成Web浏览器能够接受的形式(HTML),送回发出请求的Web浏览器,由浏览器将其显示在客户端。3 系统功能分析本系统开发的是房地产公司客户关系管理系统,实现对老客户价值的发掘,更多新客户的开发,通过因特网完成服务的处理和记录,并且用Web进行发布。系统主要需求有:1. 营销管理功能 客户资源是一个公司的重要资源,我们只有合理有效的利用这些资源才能为公司创造更多的财富.当我们了解到有公司或个人有意向购买我们公司的
14、产品时,这时公司就会拥有一个潜在的销售机会,就要抓住设个销售机会来为公司争取更多的利润,结合对订单信息的管理,达到吸引客户,最终使公司盈利的目的。通过本系统,管理员能够进行销售机会的管理和客户开发计划的管理,和对订单信息的管理.2. 客户管理功能 系统有不同的功能模块,管理员登陆系统后台后就可以对客户的基本信息对客户信息的查询删除,修改,联系人信息的管理(对联系人进行添加,修改和删除操作 ),交往记录的管理(包括添加修改和删除操作)。3。 服务管理功能 服务的管理能够更好的使客户资源在售前或售后在信息的回馈问题上得到很好的解决,是一个公司的信息回馈重要资源,我们只有合理有效的利用这些资源才能为
15、公司创造更多的财富。当我们了解到有公司或个人有意向购买我们公司的地产时,这时公司就会拥有一些用户的咨询、建议、投诉等信息的处理,就可以通过:创建服务服务分配服务处理服务反馈服务归档的流程完成一个服务的。4. 基础数据 每一个系统都必须拥有他自己的一些基础数据,而这些基础数据主要用于今后在系统中使用。使系统信息的来源有一定的根据.通过该模块,管理员可以完成数据字典管理,地产信息查询的功能。5。 软硬件环境需求 系统应可运行于Windows平台(数据库服务器运行于Windows平台)。系统采用B/S架构,可通过浏览器访问,使用IE6.0或更高版本可顺利完成全部系统操作。系统数据库使用MS SQL
16、Server 2005(或更高版本).6。 性能需求 为了保证系统运行的长久稳定,需要满足以下的性能需求: (1)数据处理的准确性和及时性 本系统主要是对输入数据的处理,包括添加,修改和查询,因此系统处理的准确性和及时性是本系统的必要性能。在系统的设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足对信息处理的需求。(2)可维护性和可扩展性 本系统的应用平台设计中选择B/S结构,并采用三层架构,将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL),使系统具有良好的可维护性和可扩展性。(3)系统的标准性 系统在设计开发使用过程
17、中都要涉及到很多计算机硬件和软件。所有这些都要符合主流国际、国家和行业标准.例如在开发过程中使用的操作系统和开发工具都必须符合通用标准;同时,在开发系统时,要进行良好的设计工作,制定有效的软件工程规范,保证代码的易读性,可操作性和可移 植性.4 系统概要设计4。1 系统的数据库设计根据需求分析,本系统模块使用的数据库设计为11个表,分别介绍如下:各数据库表之间的关系图如图4.1所示: 图4。1 数据库表间关联图4.2 系统的功能模块设计根据系统的需求分析,确定该系统的功能模块图如下图4。2所示: 图4。2 功能模块图该系统实现的主要功能包括:(1)销售机会的编辑,指派,删除,查询;(2)制定开
18、发计划,执行计划,确定该销售机会是开发成功还是开发失败;(3)订单信息的查询,增加,删除;(4)客户信息的编辑,删除,查询;(5)客户流失信息的新建,暂缓流失,确认流失;(6)服务的新建;(7)服务的分配;(8)服务的处理;(9)服务的反馈。(10)服务的归档. (11)数据字典中基本信息的增加,删除,查询,修改。(12)地产信息的查询。4.3 系统用例图 4.3系统用例图4。4序列图 4.5活动图 系统详细设计与实现5。2 系统功能模块的设计与实现5.2。1系统登陆模块设计实现根据需求分析,现确定登陆模块的流程图为,见图5.2.1。1图5.2.1。1登陆模块流程图当用户登录时服务器会对其进行
19、检测,如果用户名或密码错误或为空,页面上会有相应的提示。如果正确则会进入系统主界面。当用户在登陆页面,输入用户名密码后,点击登录时,系统会得到用户输入的用户名和密码,然后去数据库表Sys_User中进行查找,如果有匹配的项则会返回正确信息,并且将用户信息存入Session中如果没有匹配项则会返回错误信息。5。2.2 营销管理模块的设计与实现营销管理模块包含销售机会的管理,对客户开发过程的管理,订单信息的管理。5。2.2.1销售机会管理模块的设计与实现 图5。2.2。1.1 销售机会管理流程图客户资源是一个公司的重要资源,我们只有合理有效的利用这些资源才能为公司创造更多的财富。当我们了解到有公司
20、或个人有意向购买我们公司的产品时,这时公司就会拥有一个潜在的销售机会,此时我们的管理员就要抓住这个机会(创建销售机会)。当我们点击“销售机会管理“时将进入以下功能界面,该界面将罗列出所有的销售机会记录,方便用户查看及管理。5。2.2.2客户开发计划模块的设计与实现在上一个功能的基础之上,当管理员将某一销售机会具体指派给公司某个员工进行负责时,该员工就应该根据实际情况有针对性的对某个销售机会进行跟踪处理。 图5.2。2。2.1 客户开发计划流程图当用户点击数型菜单上“客户开发计划”时,将进入以下功能界面,该功能界面将罗列出已经指派的销售机会记录。5。2。2.3订单信息管理模块的设计与实现图5。2
21、。2.3。1订单信息模块流程图 用户可也通过对订单信息管理模块的操作,实现对订单的增删查改的业务逻辑。5。2.3 客户管理模块的设计与实现5.2.3。1客户信息管理模块的设计与实现该模块的流程图如图5。2。3.1。1所示:图5。2.3.1.1客户信息管理模块流程图客户信息管理是客户管理下的一个子功能模块:包括对客户的基本信息对客户信息的查询删除,修改,联系人信息的管理(对联系人进行添加,修改和删除操作 ),交往记录的管理(包括添加修改和删除操作),历史订单的查询;5。2。3.2客户流失管理模块的设计与实现该模块的流程图如图5。2。3.2.1所示:图5.2.3。2.1客户流失管理模块流程图 用户
22、登录进入页面后,在客户管理下打开客户流失管理,框架的右边显示客户,客户经理,状态的查询输入项的文本框的向导,状态用下拉框显示。流失的客户信息包括编号,客户,客户经理,上次下订单的时间,确认流失时间,状态(状态包括暂缓流失,确认流失,和全部三个选项)。用户可以输入客户,客户经理,状态一个或多个条件查询与客户的相关信息。用户可以新建客户流失,填写相关的信息.一旦新建一条客户流失,默认状态为暂缓流失。一旦客户真正流失,用户可以把暂缓流失变为确认流失。5.2.4 服务管理模块的设计与实现该模块的流程图如图5。2.4.1所示:图5.2。4.1服务管理模块流程图 总 结客户关系管理是信息技术与传统的营销、
23、销售和服务管理想整合的产物,是一种旨在改善企业与客户之间关系的新型管理机制,其核心思想是“以客户为中心”,通过完善的客户服务和深入的客户分析来满足客户的需求,保证实现客户的终生价值,为企业创造最大利润。在系统的开发过程中,我对系统开发与实际应用有了更深了理解和认识,为我以后的学习和工作打下了坚实的理论与实际操作相结合的基础.同时,在开发过程中,我对ADO.NET、数据库、C#以及word的使用等相关技术知识也有了更多的认识.由于开发设计能力有限,开发经验不足,系统仍存在很多不足,与实际应用中还有很大差距。在调研阶段,搜集的信息不充足,对实际情况了解不足。因此,在开发过程中做出的需求分析不彻底,
24、系统的功能及工作流程不能在设计之初完整地确定下来,系统的某些功能是随着设计的进行逐步确定和修改的,在一些功能中仍存在不完善之处,页面需进一步美化。数据库方面,设计方面也存在也一些后期发现的错误,表与表的联系需进一步完善.用户输入容错设计方面需进一步加强.7.2存在问题及解决(1)在编写代码时,不会使用C#语言进行开发,自己通过不断的努力,基本掌握了C语言常用的知识。(2)在连接访问数据库时,不会运用ADO。NET技术,通过对资料的查阅,导师的帮助,基本掌握了对数据库的操作。(3)数据库设计方面,由于所学知识有限,不能实现更为灵活的功能。今后会不断的学习完善自己,提高自己的数据库设计能力。致 谢
25、值此论文完成之际,谨向所有给予我帮助和支持的人表示衷心的感谢!首先感谢导师卫红春老师的关心、指导和教诲。卫红春老师言以律己,宽以待人的崇高品质对我将是永远的鞭策和激励.本人在进行毕业设计以及撰写论文的过程中自始至终,卫红春老师都给予了全面,具体的指导。特别是在课题设计的前期准备阶段和本人的数据库的设计阶段,导师提出许多宝贵的设计意见,这样使得我们得以顺利的完成毕业设计开发工作,老师渊博的知识,敏锐的思路和实事求是的工作作风给我留下了深刻的印象,这将使得我终身受益.此外,在课题设计和论文撰写的过程中,本系的许多的同学也给予了我不少的帮助。因为以前的开发经验不足,系统开发过程中遇到了很多问题,很多同学给了我耐心的指导和建议,有了他们的帮助才使我顺利的解决设计中遇到的问题,客户关系管理系统才得以完善。