ASP.NET集成客户关系管理的企业网站的设计与开发

企业要在激烈的市场竞争中立于不败之地,就必须找一种全新的管理理念和管理手段,对其内部和外部资源进行有效的整合。新一代ERP产品正在向客户端和供应端延伸,客户端的延伸即是客户关系管理。对于每个企业来说客户管理的完善程度将直接影响企业的经济效益。本文介绍了客户关系管理系统(CRM)的基本概念,通过具体实例介绍了客户关系管理软件(CRM)结合企业网站的设计和开发方法。实现了采用B/S模式的客户关系管理系统的基本模块,即客户管理,产品管理,销售管理,服务管理,合同管理,分析管理,报表管理等。着重讨论了用动态服务器页面(ASP)与SQL Server开发信息管理软件的方法及一些相关技术。
关键词 **:**客户关系管理;ASP;企业网站;SQL Server

2.1 B/S模式结构简介

B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。它的客户端就是浏览器,当系统需要升级,就不需要为每个现有的客户端应用程序升级,而只需对服务器上的服务处理程序进行修改。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。B/S架构管理软件更是方便、快捷、高效。B/S架构一般模式如下图所示:

图1 B/S架构一般模式

2.2 ASP技术简介

2.2.1 ASP概述

Microsoft Active Server Pages即我们所称的ASP,它是一套微软开发的服务器端脚本环境,通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。有了ASP就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。ASP是在Web服务器端解释执行的,它不需要编译。

2.2.2 ASP工作原理

ASP是一套服务器端的脚本运行环境,具体来说它是嵌在HTML网页面中以<%...%>符号括起来的一段代码,它支持VBScript,JScript两种脚本语言。当用户从浏览器向Web服务器请求.asp文件时,ASP脚本开始运行,然后Web服务器解释执行所请求的文件中的VBScript或JavaScript代码,并将转换为标准的Web页后再传送给浏览器,所以客户端浏览器是不会包含所写的脚本命令的.对于Web服务器来说,ASP与HTML有着本质的区别,HTML不经任何处理送回浏览器,而ASP的每一个命令都首先被用来生成HTML文件,因此ASP允许生成动态内容。

2.2.3 ASP开发网络应用程序的优势

ASP做为一种专门的动态网业开发技术,当然在开发网络应用程序方面肯定有明显的优势,总的来说有以下几点:

(1)对服务器要求低。支持ASP的Web服务器有Microsoft公司的Personal Web Server和Internet Information Server两种,他们是Microsoft公司出品的Windows 98、Windows NT、Windows 2000及以上操作系统自带的,不需要单独花钱购买服务器,这比较适合中小型企业的需求,而且PWS和IIS的使用都比较简单,只需要简单的配置一下就可以使用。

(2)从技术实现上来说,ASP程序使用VBScript,Jscript等简单易懂的脚本语言,结合HTML代码可以快速的完成网络应用程序;它使用普通的文本编辑器,如记事本就可以编写设计,也无需编译,可以在服务器端直接执行。此外,它还与客户端浏览器无关,客户端浏览器只要可执行HTML代码即可,易于维护。

2.3 常用的网络数据库-SQL Server

SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它是一个客户机/服务器关系型数据库管理系统(RDBMS)使用Transact-SQL(一种结构化查询脚本语言-SQL)在客户机和SQL Server 之间发送请求。SQL Server使用客户机/服务器体系结构把工作划分成在服务器计算机上运行的任务和在客户机上运行的任务。客户程序负责业务逻辑和给用户显示数据,SQL Server管理数据库和在多个请求之间分配可用的服务器资源。RDBMS负责增强数据库的结构,包括:维护数据库中数据之间的关系;保证数据被正确存放,不违反定义数据之间的关系的规则:在系统故障的情况下,恢复所有数据到己知的一点。SQL Server 2000是Microsoft公司于2000年推出的最新版本,也是使用最广的一个版本。SQL Server 特点:

1.真正的客户机/服务器体系结构。

2.图形化用户界面,使系统管理和数据库管理更加直观、简单。

3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。

4.SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。

5.具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。

6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。

7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。

5.1 开发及运行环境

软件平台:

  1. 操作系统:Windows xp/ Windows 2000。
  2. 数据库:SQL Server 2000。
  3. 浏览器:IE5.0,推荐使用IE6.0。
  4. Web服务器:IIS5.1。

开发工具:

  1. Macromedia Dreamweaver 8.
  2. SQLServer 2000。
  3. Windows Xp + IIS 5.1。

5.2 系统前台实现

前台系统关键部分是对产品展示的处理,以及客户对产品的在线订购和询价。可以在网站上做如下处理:在产品列表,和产品详细信息中为每个产品项增加一个询价按钮和一个订购按扭,客户在找到感兴趣的产品后,只要点击询价按钮就可以向销售人员询价或者订购了。我们为每个浏览网站的客户维护一个询价(订购)车,只要客户不关闭浏览器该询价(或订购)车一直存在,客户只要对他感兴趣的产品点击询价(或订购)按钮,该产品也会自动加入询价(或订购)车。在如果客户不需要继续询价(或订购)了,就可以在页面里点击提交。然后进一步填写客户资料。完成后,该询价单(或订单)就被提交到后台数据库里了,相应的客户资料也同时保存下来。销售人员在后台获得该询价单(或订单)后,就可以做相应的处理。产品展示相应页面效果如下图:

图7 网站前台产品展示效果图

5.3 系统后台实现

后台包括对前台的网站的管理,以及内部的客户管理系统,主页面左边为功能菜单部分,右边是个内嵌的iframe框架,用于显示具体的各个功能页面。效果如下图:

图8 后台系统主菜单

客户管理模块主要是对客户集中统一的管理,界面效果如下图:

图9 客户管理主页面---客户列表

分析管理模块是对一些数据的统计分析,主要是客户与销售之间的数据分析:

图10 销售数据统计

报表管理是自动生成一些报表供打印或下载

图11 报表生成

结 论

通过本次课题的研究,加深了对ASP开发网络应用程序的理解。经过对系统进行需求分析、概要设计、详细设计、编码,现已基本满足了用户需求,实现了系统的基本功能,如客户的管理和销售的管理以及信息的统计、信息的查询和客户的反馈,其他方面也做了必要的工作,基本体现出了CRM系统对企业信息化建设所带来的好处,达到了系统的既定设计目标;体现出了ASP开发中小型企业信息管理系统的优势。系统经过初期测试,该系统操作方便,系统容错性良好。当然,这里面还有一些不足之处待改进。

相关推荐
小_太_阳27 分钟前
Scala_【1】概述
开发语言·后端·scala·intellij-idea
智慧老师36 分钟前
Spring基础分析13-Spring Security框架
java·后端·spring
搬码后生仔2 小时前
asp.net core webapi项目中 在生产环境中 进不去swagger
chrome·后端·asp.net
凡人的AI工具箱2 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite
Lx3523 小时前
Pandas数据重命名:列名与索引为标题
后端·python·pandas
小池先生3 小时前
springboot启动不了 因一个spring-boot-starter-web底下的tomcat-embed-core依赖丢失
java·spring boot·后端
百罹鸟3 小时前
【vue高频面试题—场景篇】:实现一个实时更新的倒计时组件,如何确保倒计时在页面切换时能够正常暂停和恢复?
vue.js·后端·面试
小蜗牛慢慢爬行4 小时前
如何在 Spring Boot 微服务中设置和管理多个数据库
java·数据库·spring boot·后端·微服务·架构·hibernate
wm10435 小时前
java web springboot
java·spring boot·后端
龙少95436 小时前
【深入理解@EnableCaching】
java·后端·spring