1、北 京 青 年 政 治 学 院毕 业 论 文题 目:企业短信群发系统系 别:计算机系专 业:计算机应用技术姓 名:学 号:指导教师:二 O 一零 年 五 月 十一 日摘 要经济全球化和客户需求的变化使电子商务得到了突飞猛进的发展,计算机硬件和软件的发展也促进在线购买图书趋势的发展。本研究课题的主要的目的是设计一个友好的 Web 应用程序,以便反应客户的需求,把交易变得更方便,使图书的购买变得容易。在线书店是基于因特网在线图书销售过程设计的,利用 ASP.NET 技术开发了一个网上书店系统。以期达到功能强大、费用低廉、通用性强的目的。客户可以通过因特网登陆书店,浏览相关图书信息,将图书放在购物车
2、里。根据自己的购买意向,顾客可以发送订单,网上书店系统管理员定期处理客户发来的订单。文中着重论述了该系统的功能与实现、数据流程与存储、网上购物、后台管理等。并对关键的有关技术作了较详细的介绍。关键词:ASP.NET;B/S 结构;网上书店;购物车AbstractEconomic globalization and customer demand changes make e-commerce got breakneck development, computer hardware and software development and promote the development of o
3、nline purchases books trend. This research topic mainly aimed to design a friendly Web applications, so that reaction customer demand, trade to become more convenient, made between enterprises message is more efficient, convenient. Online messaging system is based on the Internet online design, usin
4、g technology developed an online bookstore system. In order to attain powerful, cheap and practical purpose. Customers can shop by SMS platform system, browse relevant user information, will the user data and information transfer. According to their own convey intention, customers can communicate r
5、elevant information, SMS freedom of information system administrators periodically return receipt requested information from dealing with customers. This paper focuses on the function of the system and the realization, the data flow and storage, online information transmission, background management
6、, etc. The relevant technology and the key is introduced in detail. Keywords: ; B/S structure; SMS platform store;目 录1 引言 11.1 课题背景 12 相关理论基础 22.1 相关技术 22.1.1 B/S 结构 .22.1.2 ASP.NET 简介 .22.1.3 SQL Server 2000 简介 .32.1.4 ADO.NET 简介 .32.2 问题分析 42.2.1 三种技术 42.2.2 系统体系结构 43 短信平台系统实现 53.1 系统体系 53.1.1 系统体
7、系结构 53.1.2 电话本系统 83.1.3 收发系统 93.1.4 常用短语系统 214 总结 22参考文献 23致谢 24网上图书系统的设计与实现 1 1 引言1.1 课题背景随着信息技术在国际贸易和商业领域的广泛应用,利用计算机技术、网络通信技术和 Internet 来实现商务活动的国际化、信息化和无纸化,已成为各国商务发展的大趋势。 电子商务(Electronic Commerce)正是为了适应这种以全球为市场的变化而出现和发展起来的。它可以使销售商与供应商更紧密地联系起来,以更快地满足客户的需求,也可以让商家在全球范围内选择最佳供应商,在全球市场上销售产品。电子商务基于网络技术网络
8、技术提供了实现电子商务的技术平台,而电子商务是网络技术的最新应用和最终目标。国内外研究现状在当前电子商务的实际用用过程中,有两个主流应用,一类是B2B(Business to Business),一类是 B2C(Business to Customer)。其中 B2B主要面向的是企业与企业,或是大宗单子,这种平台对性能、安全和服务要求比较高。B2C 离我们比较近,它直接面向大众消费者,不过它的经营一般也有两种方式,一种是同现在的大超市一样,里面提供大量的货物商品,消费者可以自由的浏览挑选商品,然后付款购买,典型例子有亚马逊网上书店等;另一种形式就是像淘宝一样的大商城,在这个商城里有很多的柜台或
9、店铺,每个都卖自己的东西,商城按柜台经营的商品的类别把这些柜台安排在不同的地方,而用户可以根据自己的需要到相应的地方去浏览挑选自己想要的商品,然后去商城的服务台付款。本课题研究的意义21 世纪网络信息时代的到来,现代社会都是利用快速高效率的 Internet来传播大量信息资源。人们通过 IE 浏览信息,当然这种方式也是最常用的,这种方式的需求形成了电子商务。它的是指利用简单、快捷、低成本的电子通讯方式,买卖双方不出面也可以进行各种商贸活动。电子商务真正的发展将是建立在 Internet 技术上。所以许多出版社也正是通过 IE 浏览或其它方式在网络进行书籍的宣传、销售。随着信息以 N 次方的速度
10、不断的增长。所以网络书店也变的极其重要。本毕业设计选择网上售书系统,通过设计和完成一个电子商务网站,把以往纯理论的教学和实践结合起来,因此将会牵涉到许多技术上的问题,如:动态网页制作技术,后台数据库的设计和管理,通过实际的制作一个网站,可以避免纸上谈兵,在实践中掌握上述技术的使用。 本课题的研究内容网上图书系统的设计与实现 2 网络书店系统是一个网上购买数据的系统,它是以 ASP.NET 和 SQL 2000 数据库作为开发平台。使用 C# 设计操作控件和编写操作程序,完成数据输入、修改、存储、调用查询等作用;并使用 SQL 2000 数据库形成数据表,进行数据存储。此系统可完成的功能有:用户
11、注册管理、管理员管理、订单管理、购物车管理等。实现了用户浏览察看商品,进行定购并下订单,双方确认然后付款交货,完成交易这一电子商务的主要流程。2 相关理论基础2.1 相关技术2.1.1 B/S 结构B/S(Browser/Server,浏览器/服务器)模式又称 B/S 结构。它是随着Internet 技术的兴起,对 C/S 模式应用的扩展。在这种结构下,用户工作界面是通过 IE 浏览器来实现的。B/S 模式最大的好处是运行维护比较简便。Web Service 简介Web Service 是自包含的、模块化的应用程序,它可以在网络中被描述、发布、查找以及调用。Web Service 是基于网络的
12、、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得 Web Service 能与其他兼容的组件进行交互操作,要实现互操作性,Web service 平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。Web Service 是一种可编程的应用程序,它使用一系列标准协议来对各种请求做出响应。作为传统计算机技术同互联网应用与创意的结晶,Web Service是使用标准技术在互联网网上运行的商务流程。Web Service 可以使用标准的互联网协议,例如 HTTP 和 XML,将功能纲领性的体现在互联网和企业内部网上。通过 Web Servic
13、e 集成的应用程序可以用标准的方法把功能和数据“暴露”出来,供其他应用程序使用,使公司内部的商务处理更加自动化。特别是在进行跨公司的商务交易即 B2B 集成时,Web Service 通过互联网进行互操作或远程调用最显功效。2.1.2 ASP.NET 简介ASP.NET 是 M 的一部分,作为战略产品,不仅仅是 Active Server Page (ASP)的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性网上图书系统的设计与实现
14、 3 和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。ASP.NET 是一个已编译的、基于.NET 的环境,可以用任何与.NET 兼容的语言(包括 Visual Basic.NET、C#和 JScript.NET)创作应用程序。另外,任何ASP.NET 应用程序都可以使用整个.NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET 可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括Microsoft V
15、isual Studio.NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。微软为 ASP.NET 设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出 Web应用,满足计算向 Web 转移的战略需要。2.1.3 SQL Server 2000 简介SQL Server 2000 是 Microsoft 公司 2000 年推出的 SQL Server 数据库管理系统的版本。它是一个杰出的数据库平台,可用于大型
16、联机事务处理、数据仓库、以及电子商务等。 其特点有如下几点: 1.真正的客户机/服务器体系结构。 2.图形化用户界面。 3.丰富的编程接口工具。 4.SQL Server 与 Windows NT 完全集成。 5.具有很好的伸缩性。 6.对 Web 技术的支持。 7.SQL Server 提供数据仓库功能。2.1.4 ADO.NET 简介ADO.NET 是由.NET Framework 为与数据库中的数据进行交互而提供的一组对象类的名称。我们知道,面向对象编程的有关主要优点是可以把各种复杂的功能封装在一个自包含的单元中,接着要处理的就是个定义好的接口中,它由一些方法和属性组成在 ADO.NET
17、 中,我们将处理断开连接的数据集,在网站的访问者请求数据时,就要建立连接,传送数据,之后关闭连接。接着,访问者就可以修改数据,但这些修改不会在数据源中立即更新,在用访问者所做的修改更新数据库之前,必须重新打开连接。其优点是效率高,可伸缩性好。如果不使用这种断开连接的模型,就意味着必须一直打开连接,直到每个用户的会话结束为止。在 Web 上,有上千个并行用户,给每个用户打开连接在系统资源上是非常昂贵的。使用断开连接的数据可以使应用程序的效率高得多,并能处理更网上图书系统的设计与实现 4 多的工作负载,即它们的伸缩性更好。技术开发环境我们根据应用系统的有关规范标准和具体业务需求,结合软件开发技术发
18、展状况,选择了以下相应系统软件或工具软件,以确定科学、合理的开发方案。具体如下表所示:表 2-1 相关软件工具类别 名称 用途数据库 SQL Server 2000 进行数据存储WEB 服务IIS 提供网站服务器开发工具Microsoft Visual Studio .NET 2005编码,页面设计2.2 问题分析2.2.1 三种技术直接接入运营商短信网关,这种方法的实现不需要附加新的硬件,但是需要到运营商申请网关,适合于大型通信开发,如像移动、电信等公司申请,使用起来比较方便,但费用较高。通过一些网站上提供的短信发送功能来实现,如腾讯、网易等都是提供这方面的服务,这种方法实现起来比较简单,所
19、需资源较少,但缺点是对网络得多依赖性太强,不利于继承到企业的 MIS 系统中。用 GSM MODEM 技术实现 PC 对手机收发信息,这是目前比较适合于小项目开发的一种方法,只需要对 AT 指令和串口变成的知识运用熟练就可以实现,但需要硬件 GSM MODEM 的支持。当当前,一些公司提供了短信开发的设备和配置的短信群发软件,用它可以在软件中继承相应的群发功能,虽然实现了发送短信的功能,但由于是单机版的,不利于远程操作和多用户的同时使用,也有一些基于 WEB 的短信系统开发出来了,实现了手机短信的发送,但在手机短信的接受方面仍存在不足:如很多系统都是通过不断刷新页面来判断是否接收到新的信息,这
20、种方式使得系统效率下降,需要改进。另外,在目前已开发的短信系统中,尚存在定时发送短信功能,此功能的实现,可以为用户的日程安排提供短信提醒服务。基于上述因素,一颗设计并实现一种 B/S 模式短信系统,此系统在一种能通过输入设备与服务器直接通信的 MVC 体系结构下构架,使用 GSM MODEM 以串口监听方式出发时间的方式接受短信以提高系统的性能,实现定时发送短信功能以满足更多的用户需求。网上图书系统的设计与实现 5 2.2.2 系统体系结构基于 J2EE 的 WEB 式信息管理系统技术现已比较成熟,如 STRUTS 框架、MODEL I 体系结构、MODEL II 体系机构都可实现。本文体系结
21、构基于 J2EE 的MVC 结构,实现一种能通过串口设备实现向系统进行输入输出的系统结构。3 短信平台系统实现3.1 系统体系3.1.1 系统体系结构在传统的 WEB 系统中,服务器的响应都是由客户端经 HTTP 协议传输的数据服务请求实现对 WEB 资源的使用。本文的系统体系结构构架 WEB 系统,出了能响应基于 HTTP 的数据请求外,还可通过与该服务器连接的 GSM MODEM 实现服务的请求,使得系统的信息传递更快捷,实现可移动性的特点。采用该体系结构构架 WEB 系统,用户可以通过 HTTP 协议向引用服务器请求数据处理,当服务器得到客户端的请求数据后,控制器(SERVLET)进行实
22、物处理,模型(JAVABEN)执行操作,如信息的查询和保存等操作,最后通过视图页面传回给客户。同时,用户也可以通过手机发送数据给服务器,实现数据的处理。用户发送信息向服务器请求服务,首先将信息给 GSM MODEM,然后服务器通过与该设备连接的窗口获得数据,实现时间的响应。实质上,GSM MODEM 就是服务器的一个输入设备,相相当于减半,起数据输入的作用。信息的接受,就是设计程序让服务器子哦那个检测这个输入设备是否“输入”了数据。同理,对该体系结构应用的推广,所有输入设备与服务器作为议题构架网络服务器,实现 WEB 服务,如应用于基于 WEB 的工业控制系统、电压测试系统等。系统功能短信系统
23、的主要功能有写信息、发件箱、收件箱、电话簿、常用短语等如图:网上图书系统的设计与实现 6 using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.OleDb;namespace SMSpublic partial class frmLogin : Formpublic frmLogin()Initial
24、izeComponent();private void frmLogin_Load(object sender, EventArgs e)txtLoginName.Focus();网上图书系统的设计与实现 7 private void btnLogin_Click(object sender, EventArgs e)tryif (txtLoginName.Text = “)MessageBox.Show(“用户名不能为空“);elseif (txtLoginPwd.Text = “)MessageBox.Show(“密码不能为空“);elseOleDbConnection conn = Ba
25、seClass.ConnClass.DataConn();conn.Open();OleDbCommand cmd = new OleDbCommand(“select count(*) from tb_Admin where AdminUserName=“ + txtLoginName.Text + “ and AdminUserPwd=“ + txtLoginPwd.Text + “, conn);int i = Convert.ToInt32(cmd.ExecuteScalar();if (i 0)网上图书系统的设计与实现 8 frmMain main = new frmMain();m
26、ain.adminname = txtLoginName.Text;main.admintime = DateTime.Now.ToShortDateString();main.Show();this.Hide();elseMessageBox.Show(“用户名或者密码错误“);catch (Exception ex)MessageBox.Show(ex.ToString();private void btnCancel_Click(object sender, EventArgs e)this.Close();private void txtLoginPwd_KeyPress(object
27、 sender, KeyPressEventArgs e)if (e.KeyChar = 13)btnLogin_Click(sender,e);网上图书系统的设计与实现 9 3.1.2 电话本系统电话本管理模块实现起来非常简单,基本原理是利用数据库的检索,插入和删除等功能,以及数据显示空间的数据绑定。控件类型 控件 ID 主要属性设置 用途txtName 无 输入联系人姓名TextBox txtNum 无 输入联系人电话号码GroupBox groupBox1 Text 属性设置为“天价联系人电话”控制布局ComboBox cbbSex Items 属性中添加“帅哥” “美女”属性选择联系人
28、性别pbSubmit Image 属性设置为 bg1 确定PitureBoxpbConcet Image 属性设置为 bg2 取消3.1.3 收发系统当期,采用的手法短信方法主要是在服务器端使用定时刷新页面或通过定时起来实现。次方法是在每隔一段时间,服务器扫描串口并读取串口的数据,然后确认是否接受到新数据。这虽然实现了信息的接收,但增加了服务器的开销,无论是串口有雾新数据,服务器都定时读取数据,这边增加系统的负担,从而降低了系统的性能。基于端口鉴定的方法接受数据,即当窗口有新数据接受时产生监时间,通过时间驱动来“统治”服务器,然后去的手机发过来的信息,从而进行处理和相应时间。这种方式的实现,其
29、优势主要体现在节省系统资源和数据接受的响应时间。网上图书系统的设计与实现 10 接收:namespace SMSpartial class frmResvice/ / 必需的设计器变量。/ private System.ComponentModel.IContainer components = null;/ / 清理所有正在使用的资源。/ / 如果应释放托管资源,为 true;否则为 false。protected override void Dispose(bool disposing)if (disposing base.Dispose(disposing);#region Window
30、s 窗体设计器生成的代码/ / 设计器支持所需的方法 - 不要/ 使用代码编辑器修改此方法的内容。/ private void InitializeComponent()this.dgvResvice = new System.Windows.Forms.DataGridView();this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();this.Column3 = new Sy
31、stem.Windows.Forms.DataGridViewTextBoxColumn();(System.ComponentModel.ISupportInitialize)(this.dgvResvice).BeginInit();this.SuspendLayout();/ / dgvResvice/ this.dgvResvice.AllowUserToAddRows = false;this.dgvResvice.AllowUserToResizeColumns = false;this.dgvResvice.AllowUserToResizeRows = false;this.d
32、gvResvice.BackgroundColor = System.Drawing.Color.White;this.dgvResvice.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;this.dgvResvice.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn 网上图书系统的设计与实现 12 this.Column1,this.Column2,this.Colum
33、n3);this.dgvResvice.Location = new System.Drawing.Point(12, 12);this.dgvResvice.Name = “dgvResvice“;this.dgvResvice.ReadOnly = true;this.dgvResvice.RowHeadersVisible = false;this.dgvResvice.RowTemplate.Height = 23;this.dgvResvice.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRow
34、Select;this.dgvResvice.Size = new System.Drawing.Size(475, 269);this.dgvResvice.TabIndex = 0;this.dgvResvice.CellDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView1_CellDoubleClick);/ / Column1/ this.Column1.DataPropertyName = “ID“;this.Column1.HeaderText = “;this
35、.Column1.Name = “Column1“;this.Column1.ReadOnly = true;this.Column1.Visible = false;this.Column1.Width = 30;/ / Column2/ this.Column2.DataPropertyName = “smsnum“;this.Column2.HeaderText = “电话号码“;this.Column2.Name = “Column2“;this.Column2.ReadOnly = true;this.Column2.Width = 80;/ / Column3网上图书系统的设计与实
36、现 13 / this.Column3.DataPropertyName = “smscontent“;this.Column3.HeaderText = “短信内容“;this.Column3.Name = “Column3“;this.Column3.ReadOnly = true;this.Column3.Width = 390;/ / frmResvice/ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);this.AutoScaleMode = System.Windows.Forms.AutoScaleMod
37、e.Font;this.BackColor = System.Drawing.Color.FromArgb(int)(byte)(231), (int)(byte)(225), (int)(byte)(204);this.ClientSize = new System.Drawing.Size(495, 293);this.Controls.Add(this.dgvResvice);this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;this.MaximizeBox = false;this.Minim
38、izeBox = false;this.Name = “frmResvice“;this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;this.Text = “已接收短信“;this.Load += new System.EventHandler(this.frmResvice_Load);(System.ComponentModel.ISupportInitialize)(this.dgvResvice).EndInit();this.ResumeLayout(false);#endregionpri
39、vate System.Windows.Forms.DataGridView dgvResvice;网上图书系统的设计与实现 14 private System.Windows.Forms.DataGridViewTextBoxColumn Column1;private System.Windows.Forms.DataGridViewTextBoxColumn Column2;private System.Windows.Forms.DataGridViewTextBoxColumn Column3;发送:namespace SMSpartial class frmSendSMS/ / 必
40、需的设计器变量。/ private System.ComponentModel.IContainer components = null;/ / 清理所有正在使用的资源。/ / 如果应释放托管资源,为 true;否则为 false。protected override void Dispose(bool disposing)if (disposing base.Dispose(disposing);#region Windows 窗体设计器生成的代码/ / 设计器支持所需的方法 - 不要/ 使用代码编辑器修改此方法的内容。网上图书系统的设计与实现 15 / private void Initi
41、alizeComponent()this.groupBox1 = new System.Windows.Forms.GroupBox();this.btnSelTel = new System.Windows.Forms.Button();this.lvInceptNum = new System.Windows.Forms.ListView();this.label1 = new System.Windows.Forms.Label();this.txtaddnum = new System.Windows.Forms.TextBox();this.btnDelIncept = new Sy
42、stem.Windows.Forms.Button();this.btnIncept = new System.Windows.Forms.Button();this.groupBox2 = new System.Windows.Forms.GroupBox();this.btnCancel = new System.Windows.Forms.Button();this.btnSend = new System.Windows.Forms.Button();this.txtSmsContent = new System.Windows.Forms.TextBox();this.btnInse
43、rt = new System.Windows.Forms.Button();this.ckbselect = new System.Windows.Forms.CheckBox();this.groupBox1.SuspendLayout();this.groupBox2.SuspendLayout();this.SuspendLayout();/ / groupBox1/ this.groupBox1.Controls.Add(this.btnSelTel);this.groupBox1.Controls.Add(this.lvInceptNum);this.groupBox1.Contr
44、ols.Add(this.label1);this.groupBox1.Controls.Add(this.txtaddnum);this.groupBox1.Controls.Add(this.btnDelIncept);this.groupBox1.Controls.Add(this.btnIncept);this.groupBox1.Location = new System.Drawing.Point(12, 12);this.groupBox1.Name = “groupBox1“;this.groupBox1.Size = new System.Drawing.Size(567,
45、151);this.groupBox1.TabIndex = 0;this.groupBox1.TabStop = false;this.groupBox1.Text = “短消息接收者 “;网上图书系统的设计与实现 16 / / btnSelTel/ this.btnSelTel.Location = new System.Drawing.Point(471, 118);this.btnSelTel.Name = “btnSelTel“;this.btnSelTel.Size = new System.Drawing.Size(50, 23);this.btnSelTel.TabIndex
46、= 8;this.btnSelTel.Text = “电话簿“;this.btnSelTel.UseVisualStyleBackColor = true;this.btnSelTel.Click += new System.EventHandler(this.btnSelTel_Click);/ / lvInceptNum/ this.lvInceptNum.Location = new System.Drawing.Point(12, 14);this.lvInceptNum.MultiSelect = false;this.lvInceptNum.Name = “lvInceptNum“
47、;this.lvInceptNum.Size = new System.Drawing.Size(549, 97);this.lvInceptNum.TabIndex = 7;this.lvInceptNum.UseCompatibleStateImageBehavior = false;this.lvInceptNum.View = System.Windows.Forms.View.SmallIcon;this.lvInceptNum.SelectedIndexChanged += new System.EventHandler(this.lvInceptNum_SelectedIndex
48、Changed);/ / label1/ this.label1.AutoSize = true;this.label1.Location = new System.Drawing.Point(10, 124);this.label1.Name = “label1“;this.label1.Size = new System.Drawing.Size(113, 12);this.label1.TabIndex = 4;this.label1.Text = “添加短消息接收者:“;/ / txtaddnum网上图书系统的设计与实现 17 / this.txtaddnum.Location = n
49、ew System.Drawing.Point(129, 119);this.txtaddnum.MaxLength = 11;this.txtaddnum.Name = “txtaddnum“;this.txtaddnum.Size = new System.Drawing.Size(173, 21);this.txtaddnum.TabIndex = 3;this.txtaddnum.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txtaddnum_KeyPress);/ / btnDelIncept/ this.btnDelIncept.Location = new System.Drawing.Point(389, 118);this.b