客户关系管理系统的设计与实现Word文档格式.docx
《客户关系管理系统的设计与实现Word文档格式.docx》由会员分享,可在线阅读,更多相关《客户关系管理系统的设计与实现Word文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
![客户关系管理系统的设计与实现Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/4/c1adcefe-8171-464f-87ab-b70867b3894f/c1adcefe-8171-464f-87ab-b70867b3894f1.gif)
客户关系管理(customerrelationshipmanagement,以下简称CRM)是一种源于"
以客户为中心"
的商业模式,它是一种基于与网络为平台﹐旨在改善企业与客户之间关系的管理机制。
本文给出了客户关系管理系统基本的模块--客户基本信息管理的体系结构及主要功能﹐并用ASP.NET和ACCESS开发工具实现了该模块功能。
﹐
关键词:
.NET;
客户关系;
数据访问服务;
数据库;
ACCESS;
SQL
1引言
21世纪是信息技术迅猛发展的一个时代。
而在世纪之交,网络技术的发展以及对传统产业的冲击更是让人们感受到信息时代的到来。
网络正在逐步改变人们的工作和生活,通过网络不但可以足不出户地获取遍布全球的各种信息,而且可以得到各种各样的日常服务。
正是由于网络的交互﹐出现了一种基于与网络为平台﹐旨在改善企业与客户之间关系的管理机制﹐即客户关系管理(customerrelationshipmanagement,以下简称CRM)﹐它是一种源于"
的商业模式﹐实施于企业的市场、销售、技术支持等与客户有关的工作部门。
目标在于通过提供快速、周到、优质的服务来吸引和保持更多的客户,通过优化面对客户的工作流程以减少获取客户和保留客户的成本。
CRM作为一种管理现象早就存在,但作为一种成熟的管理思想和管理技术,则是这几年才兴起的。
在国外,CRM已经在银行、电讯、航空、证券、保险、电子等行业得以广泛应用,目前我们成功实施应用CRM的企业还较为鲜见。
成功的CRM实施所关注的不仅是CRM系统的安装、调试、培训等工作本身,而是把更多的精力放在理念贯彻、思想融合,即企业文化体系的改造及贯彻上,当然实施的前提是要有一个比较完善的CRM系统。
2相关技术介绍
2.1Microsoft的.NET
2.1.1Microsoft.NET的综述
Microsoft.NET平台包括用于创建和操作新一代服务器的.NET基础结构和工具,可以启用大量的客户机.NETUserExperience;
用于建立新一代高度分布式的数以百万记的.NET积木式组建服务:
用于启用新一代智能互联网设备的.NET设备软件。
Microsoft.NET平台的侧重点从连接到互联网的单一网站或设备上,转移到计算机、设备和服务组上,使其通力合作,提供更广泛更丰富的解决方案。
用户将能够控制信息的传送方式、时间和内容。
计算机、设备和服务将能够相辅相成,从而提供丰富的服务,而不是像孤岛那样由用户提供唯一的集成。
企业可以提供一种方式,允许用户将他们的产品和服务无缝的嵌入自己的电子构架中。
Microsoft.NET产品和服务——包括Windows.NET,连同建立积木式服务的核心集成套件:
MSNTM.NET;
个人订购服务;
Office.NET;
VisualStudio.NET;
用于.NET的bCentralTM。
2.1.2.NET重要开发技术
1.革新的ADO.NET数据库技术
ADO.NET是在ADO的基础上发展起来的,但又和ADO有很大区别,最重要的一点区别是ADO.NET遵循更通用的原则,不在专门面向数据库。
ADO.NET集合了所有的允许数据处理的类,这些类中拥有典型数据库功能(如索引、排序和视图)的数据容器对象,可以说ADO.NET是.NET数据库应用程序的权威解决方案,尽管如此,但从总体设计上来看,它不像ADO模型那样以数据库为中心,这是ADO.NET的一大特点。
同时,ADO.NET又保持着与以前的ADO模型有关的一些主要的概念,不过这些概念在ADO.NET中都已经得到了更好的完善,并且将不同的数据源统一成同一种结构化的数据,然后从数据管理系统获得相关数据或者是分级的XML数据。
可以说,在ADO.NET中,所有数据库连接都按照一个兼容的、标准化的设计模型来执行,这就使得数据处理简单得多。
2.全新的ASP.NET技术
ASP.NET是使用.NET框架提供的类库构建而成的,它提供了一个Web应用程序模型,该模型由一组控件和一个基本结构组成。
有了它,Web应用程序的构件变得非常容易。
开发人员可以直接使用ASP+控件集,该控件集封装了公共的、用于超文本标记语言(HTML)用户界面的各种小组件(如文本框、下拉菜单等)。
ASP+还提供一些基本机构服务(如会话状态管理和进程循环),这些服务进一步减少了开发人员要编写的代码量,并使应用程序的可靠性得到大幅度提高。
ASP+还允许开发人员将软件作为一项服务进行传送。
通过使用ASP+Web服务功能,ASP+开发人员只需要进行简单的业务逻辑编程,而由ASP+基本结构负责通过SOAP传送服务。
3.其它重要技术(CTS、CAS、线程技术)
.NET体系中还包含了许多其它关键技术,例如CTS(CommonTypeSystem,CLS的超集)、CAS(CodeAccessSecurity)。
这些技术和上面提到的技术互相配合构成了现在可以看到的.NET框架。
2.1.3.NETFramework的层次结构
传统的ASP是操作系统的一个附件,而ASP.NET则是Windows中所创建的各种应用程序的基础[2]。
ASP.NET实际上是一个新的运行时间框架的一部分,这个框架(.NETFramework)支持Windows中所有的应用程序。
.NETFramework包括了两个最基本的组成部分,即通用语言运行库(Runtime)环境和.NET类库。
.NETFramework的层次结构如图2-1所示:
(图2-1).NET框架的基本层次
几乎所有的网络服务都需要查询和更新永久性数据,不论是简单的文件,还是以相关数据库,或是以其它的存储类型存在。
为了提供对数据的访问,服务框架包括ActiveXDataObjects+(ADO.NET)类库。
ADO.NET为连接的指针风格的数据访问,同时也为更适合于把数据返回到客户端应用程序的无连接的数据模板提供高新性能的API流。
2.2ASP.NET
2.2.1ASP.NET的发展历史
对于专业开发人员而言,客户端程序的最重要的一点是通用性,而服务器端的则强调功能和效率。
对于Client端程序的开发,JavaScript无疑是最佳的,因为当今两大主流浏览器IE和Netscape都宣称支持该标准;
而VBScript则只有IE才能支持。
但是对某些JavaScript的标记,IE或IE的某些版本并不一定会支持,这必导致我们不得不把一部分程序移到服务器端去执行,因为服务器端的程序会先解释生成html(或含ActiveX)文本,再送到客户端,因此不存在兼容问题。
自从微软推出了ActiveServerPage以后,程序员编写网上程序就方便和容易了很多。
但这种Script类的语言有一个共同的缺点,那就是由于是解释执行的,故速度不会太快。
最近,微软建议采用三层模型,中间层可以不用asp,而直接采用VB6.0生成的ActiveX控件,因为是编译执行的,故速度较快。
有了前面的这些ASP技术基础,2000年6月,微软公司在论坛2000上发布了名为Microsoft.NET的新一代平台[1]。
Microsoft.NET是为了简化在第三代因特网的高分布式环境下的应用程序开发,基于开放的互联网标准和协议实现异质语言和平台的高度交互性而构建的新一代计算和通信平台,而ASP.NET(也称ASP+)正是Microsoft.NET的一部分。
ASP.NET不是对ASP在一般意义上的版本更新,而是对ASP如何提供动态Web开发环境这一概念的跳跃性发展,其文件名的后缀为aspx。
虽然从“外表”上看它们的界面非常相似,但ASP.NET几乎完全是基于组件和模块化的,用户使用的每一页面、对象和HTML单元都是一个运行时间的组件对象。
这个新的运行环境实现了管理自动化,使ASP.NET变得更加面向对象,开发者可以一种更规范和易管理的方式使用这些组件对象来创建更强大的应用程序。
ASP.NET的面向对象功能使开发者可以通过创建新组件或者继承基础类,为整个环境提供延展性。
2.2.2ASP.NET的特性
ASP.NET提供了许多增强的新特性,使它更适用于创建强大的、交互式的基于网络的分布式应用程序。
概括起来,其主要特性有[3]:
1.页面使用了新的服务器端控件,使页面的状态管理自动化,并减少所写代码的数量,ASP.NET页面有一个与VB表单类似的编程模型,提供了在服务器上执行组件的可能,而且这些组件可以生成页面的某一部分并返回给用户。
2.HTML服务器端控件可以用来在页面输出中生成HTML组件,并允许在运行时间中使用代码设置这些控件的属性。
它们还允许检测由这些组件激发的事件,允许在服务器上执行适当的代码来响应这些事件。
3.丰富的控件可以在服务器上执行,可以用来在页面输出中生成更复杂的HTML组件和对象。
ASP.NET包括一个日历控件和许多网格、表格和列表控件。
这些控件还可以利用服务器端的数据连接进行赋值。
4.Web服务允许开发者创建不生成可视输出的类,但是为客户机提供了一些服务。
例如,可以调用函数并在对请求的响应中返回特定的值。
也就是说,Web服务使ASP.NET开发者可快速方便地创建自定义的商务服务对象。
客户机可以使用HTTP-GET,HTTP-POST或者HTTP-SOAP程序同步或异步地访问它们。
5.错误处理、调试和跟踪特性有了很大的扩展和改进。
ASP在错误处理和调试方面一直不如其它开发环境(VisualBasic),现在ASP.NET的每一个页面都有自己的“错误页面”,在执行的时候还可以显示页面代码中使用的值,从而提供了一个“跟踪”工具;
调试也可以在不同语言之间执行,从而使用户可以无间隙地从一种语言到另一种语言进行单步调试。
6.ASP.NET提供了许多有用的组件,如SendMail组件、加密/解密组件、定义用户性能计数器的组件、读写NT事件日志的组件、网络访问组件、数据访问组件等,这些类库可以使Web应用程序的编写变得更容易。
2.2.3ASP.NET的几项关键技术
1.WebForm(网络窗体)
ASP.NET的窗体模型用来根据特定的信息生成动态的页面。
为了提高代码的可重用性,将ASP.NET代码和页面的一般脚本分割开来。
这些分割成块的代码可以像组件一样被重复使用,从而提高开发的效率。
网络窗体把基于VisualBasic窗体的高生产性优点带到了网络应用程序的开发中来。
网络窗体支持传统的将HTML内容与脚本代码混合的ASP语法,但是它提出了一种将应用程序代码和用户接口内容分离的更加结构化的方法。
引入的网络窗体控件用于未封装通用用户接口元素提供了一种机制。
2.WebServices(网络服务)
ASP.NET网络服务体系架构为用ASP.NET建立网络服务提供了一高级可编程模板。
开发人员用ASP.NET生成一个扩展名为.asmx的文件,并把此文件配置为网络应用程序的一部分,就建立起了一个网络服务。
用户可通过SOAP、HTTPGET和HTTPPOST提交请求。
ASP.NET网络服务模型假定了一个无状态服务结构,每次收到一个服务请求后,就生成一个新对象,请求被转化为一个方法调用,当方法调用返回时,对象被取消。
如果这些服务需要跨请求维护状态,那幺他们将使用ASP.NET状态管理服务。
3.WebApplication
ASP.NET提供的网络应用则更进一层,只要用户将ASP.NET应用程序放置到服务器主机上面,那你就可以控制服务器调用和运行这些应用程序,而且不同的应用程序可以通过分割内存运行和沙箱运行的方式保证其安全性。
4.其它技术
●CacheServices(缓存)
●Configuration(配置)
●Deployment(发布)
●Security(安全)
●Localization(本地化)
●Tracing(跟踪)
●Debugging(调试)
2.2.4ASP.NET与后台数据库的连接
作为一个完整的管理系统,其中必然有很多的各种信息,这就必须用到后台数据库。
数据库开发系统是微软的SQLServer2000,而ASP.NET与该数据库的连接是整个系统比较关键的一部分,同时也是ASP.NET的一个重要内容。
公共语言运行时为数据密集的应用程序开发提供了一套丰富的管理数据访问API。
这些API帮助提取数据并且用统一的方式显示数据,不管它们的真正数据源(如SQLSERVER、OLEDB、XML等)是什幺。
其中开发者会经常用到Connection(连接)、Commands(命令)和DataSet(数据集)3个基本的对象[6]。
●Connection代表到某个数据存储的一个物理连接,如到SQLServer或XML文件。
●Command代表指令,用来从数据存储获得(选择)数据或对数据存储进行数据处理(如插入、更新、删除等)。
●DataSet代表应用程序使用的真正数据。
DataSet总是与它们的源Connection和数据模型(DataModel)相分离,能够独立进行修改。
然而,DataSet的变化能容易地与源数据模型相协调。
同时为了使用这些类对象,也为了执行相关地SQL数据操作,必须引入下面两个名字空间,即System.Data和System.Data.SQL到页面中去。
具体格式为
<
%@ImportNamespace=”System.Data”%>
%@ImportNamespace=”System.Data.SQL”%>
引入了名字空间之后就可以与后台数据库建立连接。
ASP.NET与后台数据库的连接主要通过Connection对象来完成,对于不同的语言和不同的数据库其代码也有所不同。
1通过sqlconnection进行与SQLServer数据库的链接[11]
[VB]
DimsqlconasSqlConnection=NewSqlConnection(“server=zs;
database=xiaoyou;
uid=xiaoyou;
pwd=xiaoyou);
Sqlcon.Open();
[C#]
SqlConnectionsqlcon=NewSqlConnection(“server=zs;
2通过OleDbConnection链接到支持ADOManagedProvider的数据来源
[VB]
DimoleconasOleDbConnection=NewOleDbConnection(“server=zs;
olecon.Open();
OleDbConnectionolecon=NewOleDbConnection(“server=zs;
[7]
其中括号里的参数分别表示如下:
●server数据库所在的服务器名
●database数据库的名称
●uid数据库系统中建立的授权用户名
●pwd数据库系统中建立的授权用户密码
open是数据库链接对象的属性,它表示打开具体的数据库链接对象。
3方案论证
目前比较流行的两种网络开发模式分别是Client/Server模式与Browser/Server模式。
Client/Server模式主要是在以局域网为基础的环境下展开应用的,它受到地域的限制。
而Browser/Server模式通过Internet进行通信,可以不受到地域的限制,但是它不能够进行联机事务处理,并且在大量数据处理的情况下,速度较慢。
从目前的开发技术来看,Browser端作为信息收集源,特别是大量数据录入工作还不能完全取代Client端的用户界面。
在这方面,Client端的各种开发工具的功能更加强大也更加灵活,而Browser端却由于其功能结构的限定过于“瘦小”。
对于本系统,其功能目标仅实现客户基本信息管理,系统数据收集的实时性要求并不高,因此采用Browser/Server模式结构开进行设计。
目前,绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。
Access是一个数据库管理系统,它被集成到OFFICE中,它与其它的数据库管理系统(如VisualFoxPro)相比更加简单易学。
Access的功能十分强大,利用它可以方便的实现对信息的保存、维护、查询、统计、打印、交流、发布,足以应付一般的数据管理及处理需要。
Access数据库本身并不是一个数据库服务器,它不能用服务器来运行查询。
对与数据庞大的情况,Access本身不是一个好的选择。
另一个要考虑的是数据库的安全性问题。
Access比起SQLServer而言,总体的安全性能要差。
由于本客户管理系统不大,本系统没有使用ODBC这种形式的数据库,而是直接采用了Access文件的相对路径来实现读取数据库的功能。
在开发过程中,我只用到了数据库的设计、表格的创建、Access的编辑操作功能。
4客户关系管理的实现
4.1系统设计
系统所设计的客户管理只实现对客户的基本信息管理模块﹐为了更好的了解客户﹐客户信息管理主要包括客户级别管理﹐客户类别管理和客户基本信息管理。
基本管理可以实现对客户的基本资料(如:
客户的基本信息、交易次数、交易总量、信誉情况信息等等。
)的全方位、多层次的合理的管理。
4.1.1目标设计
客户基本信息管理的功能如下
<
1>
客户级别管理主要功能:
客户级别信息的录入、查询、修改和删除
2>
客户类型管理主要功能:
客户类型信息的录入、查询、修改和删除
3>
客户基本信息管理主要功能:
客户基本信息的录入、查询、修改和删除
4.1.2系统功能设计
本文提供了客户基本信息管理的功能框图、业务流程图、数据流图。
其中功能框图给出了客户基本信息管理的功能结构以及各个子模块间的相互联系和相对关系。
业务流程图则给出了客户基本信息管理的整个过程。
通过它可以看到客户管理的执行过程。
而数据流图给出了客户基本信息管理所涉及到的处理、文件存储和数据流以及其相互间的联系。
各个图的详细资料件如下。
客户信息管理的功能框图如图4-1所示:
图4-1客户基本信息管理的功能框图
客户信息管理的业务流程图如图4-2所示:
图4-2客户基本信息管理的业务流程图
其数据流图如图4-3所示:
图4-3客户基本信息管理的数据流图
4.2数据库设计与实现
4.2.1数据库的逻辑设计与结构创建
根据系统功能设计以及功能模块的划分,对于本客户关系管理系统的数据库可以列出以下数据项和数据结构:
客户级别管理信息如表4-1所示
序号
项目
数据类型
长度
说明
1
客户类型编码
字符型
10
人工编号(主码)
2
战略、价值和一般
40
3
下限
浮点型
4
客户累计交易额
货币型
5
上限
6
预定访问频率
整型
20
(间隔天数)
7
备注
文本型
表4-1客户基本信息表
客户类别管理信息如表4-2所示
预期、忠诚客户
详细说明
时间或次数
表4-2客户类型信息表
客户基本信息管理信息如表4-3所示
客户编号
客户姓名
客户类别
客户级别
营业执照
税号
电话
8
传真
9
负责人
区域
11
行业
12
经营项目
13
信息来源
14
业务员
15
需求意见
16
地址
60
17
Email
18
网址
19
表4-3客户基本信息表
4.3后台服务器和数据库配置
4.3.1后台服务器配置
本系统使用了Microsoft的IIS5.0作为系统服务器。
如果使用的是Windows2000以上版本的操作系统,那幺添加IIS5.0服务器非常简单,只需要打开“控制面板”里面的“添加/删除程序”选项,然后选择“添加/删除Windows组件”,最后选中弹出对话框的“Internet信息服务(IIS)选项”,按照系统提示进行安装即可。
4.3.2后台数据库配置
本系统直接采用了Access文件的相对路径来实现读取数据库的功能。
4.4前端网络页面的开发与设计
4.4.1欢迎页面
如图4-4所示的页面就是客户管理系统的欢迎页面。
该页面的功能非常简单,全是HTML代码,所以实现的功能也比较有限,就是给访问用户直观清晰的印象。
图4-4欢迎页面
简单的HTML代码示例:
html>
head>
metahttp-equiv="
Content-Language"
content="
zh-cn"
>
metahtt