毕业论文--网上书店系统的设计与实现

*********软件技术学院

毕业设计(论文)

题 目:

系 别:

专 业:

学 号:

姓 名:

指导老师:

完成日期: 网上书店系统的设计与实现 软件技术 ACCP 2009 年 3 月 5 日

目 录

目 录 .................................................... 2

前 言 .................................................... 2

需求分析 ................................................. 4 一、 用户需求分析 ..................................... 4

1.图书查询需求 ...................................... 4

2.购物车管理需求 .................................... 4

3.订单处理需求 ...................................... 4

4.管理员与客户的分类功能 ............................ 4

系统开发技术 ............................................. 6 一、 MVC模式简介 ..................................... 6

1.电子商务概况摘要 ..................................... 7

系统总体设计 ............................................. 9

1.UML活动关系图........................................ 9

2.系统组成 ............................................ 10

3.功能设计 ............................................ 10

(1)图书信息管理 ................................... 10

(2)购物车管理 ..................................... 10

(3)会员注册 ....................................... 10

(4)订单处理 ....................................... 11

数据库设计与实现 ........................................ 12 一、 数据库的需求分析 ................................ 12

1.数据库的逻辑设计 .................................... 12

2.数据表基本结构 ...................................... 14

3.创建数据表脚本 ...................................... 15

系统实现过程 ............................................ 17

开发平台 .............................................. 17

一、系统各组件实现 .................................... 17

用户表示层 .......................................... 17

系统测试与运行 .......................................... 26 一、 系统测试 ........................................ 26

二、测试结果 .......................................... 26

结 论 ................................................... 29

参考文献 ................................................ 30

谢 辞 ................................................. 31 毕业设计(论文)成绩评定表(理科)

错误!未定义书签。 ......

前 言

随着Internet信息技术的高速发展和个人、企业上网的迅速普及,企业的WWW网站在商业活动中发挥着越来越大的作用,在信息时代,建立一个功能强大、界面美观的电子商务网站,建立电子商务系统平台,对企业的发展是至关重要的。

所谓电子商务,是指各种具有商业活动能力的实体(生产企业、商贸企业、金融机构、政府机构、个人消费者等)利用网络和先进的数字化传媒技术进行的各项商业贸易活动。其中特别要强调的特点,一是其商业背景,二是网络化和数字化。简言之,电子商务就是通过电子网络渠道达成的商务活动。

电子商务是计算机网络的第二次革命,它通过电子手段建立新的经济秩序,不仅涉及电子技术和商业交易本身,而且涉及诸如金融、税务、教育等社会其他层面。对于电子商务的研究始于20世纪70年代末,而其实施要更晚些,实施又分为两步,其中电子数据交换(Electronic Data Interchange,EDI)始于20世纪80年代中期,Internet上的电子商务始于20世纪90年代初期。电子商务活动相应分成两大类:企业组织-企业组织(Business-Business,B2B)型和企业组织-消费者(Business-Consumer,B2C)型。根据统计,目前电子商务活动中80%的收属于B2B型商务活动,这由于企业组织的信息化程度和技术水平比个体消费者明显要高,主要面向的是企业与企业,为企业提供进行采购、销售和结算等业务的平台。B2C则是我们最熟悉的,它直接面向终端的大众消费者。它通常也有两种形式,一种是类似一个大的超市,里面摆放着大量的商品,提供给消费者直接去选择购买;而另一种形式则类似一个大商城,商城中有许多柜台,用户可以直接到柜台选择和购买自己中意的东西,然后去结算,这种商城只提供柜台和相关的服务,并收取相应的柜台使用费。

一般意义上,一个完整的电子商务系统包括信息流、资金流与物流三个要素,三者相辅相成。信息流就是通过电子网络向客户揭示所售商品的相关信息,引导客户通过网络进行购物。资金流就是使客户在选择商品后,能够通过网络支付相关费用,一般包括预付款支付、网上银行支付、货到付款

等多种形式。目前有些电子商务网站也可以接受邮局汇款。物流就是把客户所购买的商品通过物流配送系统送到客户手中,对于一些特殊行业和领域和电子商务,如证券、金融信息类商品,也可能不需要配送系统的支持就可以把商品送到客户手中(如股票、电子杂志、域名注册等)。在电子商务中,除了上述三个要素外,网络安全也是需要重点考虑的因素。据调查,有1/3的网民认为网络安全是影响其网上购物的因素,因此为了保证网络交易的安全,电子商务网站需要采用数据加密、电子签名等多种措施进行安全认证。

需求分析

网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态展示、购物车管理、客户信息注册登录管理、订单处理等模块。

一、 用户需求分析

本网上书店系统主要完成以下具体任务:

1.图书查询需求

当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者住处快速查询所需书目信息的功能。

2.购物车管理需求

当客户选择购买某图书产品时,应该能够将对应图书信息,例如:价格、数量记录到购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。

3.订单处理需求

对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货和处理。

4.管理员与客户的分类功能

为了能够实现管理员和用户各自的所享有的功能,特将他们分类处理。

网上书店系统的用例图

图2-1网上书店USE Case

系统开发技术

一、 MVC模式简介

MVC是Model(模型)——View(视图)——Controller(控制器)的缩写,它适用于大型可扩展的Web应用的开发,它强制性地将应用程序的输入、处理和输出分开,将其划分为模型、视图和控制器三个核心部分,使它们各司其职,各自完成不同的任务,其中任何一部分的修改都不会影响其它两部分。

在MVC模式中,模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了业务逻辑的处理过程。模型一方面被控制器调用,完成问题处理的操作过程,另一方面为视图获取显示数据提供了访问数据的操作。因为模型是与数据格式无关的,因此一个模型可以为多个视图提供数据,这样一个模型一次编写可以被多个视图重用,从而避免了代码的重复编写。

视图是MVC模式下用户看到的并与之交互的界面。视图从模型处获得数据,视图的更新由控制器控制。视图不包含任何业务逻辑的处理,它只是作为一种输出数据的方式。

MVC模式中,控制器主要起导航的作用,它根据用户的输入调用相应的模型和视图去完成用户的请求。控制器本身不输出任何东西,它接受用户请求并决定调用哪个模型构件去处理,以及由哪个视图来显示模型处理之后返回的数据。

MVC的处理过程是这样的:对于每一个用户输入的请求,首先被控制器接收,并决定由哪个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。图1-1所示为模型、视图、控制器这三个模块各自的功能以及它们之间的相互关系:

图1-1 MVC模式[3]

1.电子商务概况摘要

电子商务模式是目前互联网人士思考较多的一个话题,在有了B-C, B-B等模式之后,一些网站最近又在尝试一种全新的概念——B-B-C模式,而且看来这一模式已经被许多的网上书店所接受。在解释B-B-C模式时,书生科技公司总裁王东临先生认为:“该模式的意思是中间的 B直接面对客户,把订单交给第一个B来执行。这种模式看起来好像只是传统的渠道销售的翻版,在互联网时代根本不可行,因为互联网经济的一大特征就是压扁渠道,Amazon等大行其道的原因也正是基于这种“中间商死亡”的论调,他们抢占的正是原来中间商的利润。因此,B-B-C模式长期以来被认为是一种不可能成立的模式。其实,如果中间的B能够提供一种独特的服务,把消费者都吸引到它那里去,并通过它下订单,则该模式就是可行的。

EBook网络业务支持平台采用B/S结构,三层运行模式,同时适用于Intranet/Internet。浏览器为第一层,作为系统的应用界面;应用逻辑服务为第二层;数据链接为第三层,作为系统的数据存取服务。此架

构无须安装客户端软件,便于软件的分发和维护升级,适应了众多应用客户端分散环境下的运行和维护需求。本篇论文介绍了本系统开发环境和运行平台、ASP.NET、应用框架。而后台的数据库则使用Microsoft SQL Server 2000管理平台的数据。

EBook网络业务支持平台实现网上书店大型系统,添加独特的物流子系统、在线客服子系统、Wap子系统让客户能够有效的掌握,有效的处理各类所需相关信息,以及促进各个子系统管理的信息化、规范化和集成化,实现计算机的智能化管理,以提高工作效率和经济效益。

系统总体设计

1.UML活动关系图

下面是进入网上书店可以进行的操作。具体的UML活动如下图所示:

图3-1UML活动关系图

2.系统组成

表3-1构成网上书店系统的各个组件

3.功能设计 (1)图书信息管理

该模块实现图书书目信息的分类显示,也提供了新增,删除,修改和查询等功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便于客户了解所购商品。

(2)购物车管理

用于维护每一个进入网上书店的客户对应的购物车。即将客户所选购的图书商品信息记录到对应的购物车中,以便于到收银台进行结账处理。

(3)会员注册

实现网上书店客户信息的注册、及身份验证。由于目前网上商城普遍采

用的方式为送货上门或者邮寄,因此需要收集与客户相关的联系方式、通信地址等信息。

(4)订单处理

根据客户购物车中的信息,以及客户所选择的送货方式和付款方式,连同客户对应的个人信息生成订单,以便于后续进行送货处理。

数据库设计与实现

一、 数据库的需求分析

依据网上书店的处理需求,对应数据表的设计及功能如下: 一、图书基本信息表:存放网上书店所销售图书的基本信息。 二、图书分类基本信息表:存放网上书店所提供图书分类的信息。 三、客户基本信息表:存放书店客户的基本信息。 四、订单信息表:存放与客户相关的订单的基本信息。 五、订单条目详细信息表:存放订单中详细条目的基本信息。

1.数据库的逻辑设计

根据以上需求分析,在确定了各个表主键字段的基础上,依据表与表之间相关字段之间的联系建立了各表之间的关系,对应的关系图如图4-1所示:

图4-1数据库逻辑图

2.数据表基本结构

(1)图书信息表

图书信息表(bookinfo)是用来保存网上书店每一种图书基本信息的数据表,是维护管理图书数据的依据。

表4-1书图书信息表

(2)图书评论基本信息表

图书分类基本信息表(bookcomment)记录了与网上书店图书分类相关信息。

表4-2图书分类基本信息表

(3)客户基本信息表

客户基本信息表(account)存放了网上书店对应的客户信息,包括客户的姓名、联系方式等信息。

表4-3客户基本信息表

(4)订单信息表

表4-4订单信息表

3.创建数据表脚本

在基本的数据表的结构确定后,就可以在mysql中完成数据表的创建工作,下面给出建立对应数据表的SQL脚本。 (1)图书基本信息表:

CREATE TABLE `bookinfo` (

`id` int(4) NOT NULL auto_increment, `booktype` varchar(50) NOT NULL,

`bookname` varchar(50) NOT NULL default '', `price` double(15,3) NOT NULL default '0.000', `description` varchar(255) NOT NULL default '', `pubss` varchar(50) default NULL, PRIMARY KEY (`id`) )

(2)图书评论基本信息表:

CREATE TABLE `bookcomment` ( `id` int(4) NOT NULL default '0',

`commentTitle` varchar(50) default NULL,

`commentContent` varchar(50) default NULL, PRIMARY KEY (`id`) )

(3)客户基本信息表:

CREATE TABLE `storeuser` (

`AccountId` varchar(20) NOT NULL default '', `AccountPwd` varchar(20) NOT NULL default '', `truename` varchar(20) NOT NULL default '', `telephone` varchar(20) NOT NULL default '', `sex` varchar(100) NOT NULL default '', `email` varchar(50) default NULL, `balance` varchar(20) default NULL, `author` boolean(2) default 0,

PRIMARY KEY (`AccountId `) )

(4)订单信息表:

CREATE TABLE `orders` (

`orderid` int(11) NOT NULL auto_increment, `ordername` varchar(20) NOT NULL default '',

`ordertime` datetime NOT NULL default '0000-00-00 00:00:00', `isConfirm` boolean(2) NOT NULL default '', `price` varchar(20) NOT NULL default '', PRIMARY KEY (`orderid`) )

系统实现过程

开发平台

服务器:IIS;

数据库: Sql Server 2000; 平台:Microsoft Visual Studio 2005 操作系统:windows XP

一、系统各组件实现 用户表示层

在用户表示层中主要是一些相关的页面。该层对应的页面应该放在WEB应用目录根目录下。 1.网上书店首页:

本页面分为上下2个部分。

上面的部分是个万年历,从万年历上可以查询各种各样的时间,节日,农历,节气等信息,此晚年里是从网上找到的一段脚本script脚本代码,美观大方,非常使用。

下面的部分是登陆和注册页面,主要实现登陆和注册功能。

登陆有2种情况,一个是管理员登陆,另一个是客户登陆,管理员登陆后的页面是一些后台的操作,而客户登陆后的页面是图书列表及收藏夹和购物车还有1些评论。

注册有各种信息的输入,在用户名一栏中,比如数据库中已经存在了一个用户名,如果一位客户申请的时候写了一个一模一样的用户名,则在点击旁边的“检查用户名是否存在”的按钮后会出现“此用户名已经存在”,提示重新输入一个其他的用户名。 (1)注册的主要的代码如下

protected void btnAdd_Click(object sender, EventArgs e) {

Accountmod.AccountId = tbusername.Text.Trim(); Accountmod.AccountPwd = tbpwd.Text.Trim(); Accountmod.Auth =

Accountmod.Email = tbEmail.Text.Trim(); Accountmod.Logintimes = 0; Accountmod.LogIp

Request.ServerVariables[

Accountmod.Telephone = tbphone.Text.Trim(); Accountmod.TrueName = tbTruename.Text.Trim(); Accountmod.Sex = RadioButtonList1.SelectedValue; Accountmod.Balance = 0; lbshow.Text =

protected void btnCheck_Click(object sender, EventArgs e) {

DataSet

ds

=

Accountbll.GetList(

tbusername.Text.Trim() +

if (ds.Tables[0].Rows.Count == 0) {

lbshow.Text =

lbshow.Text =

=

+

}

}

2.图书详细信息显示:

本页面是客户登陆成功后的页面,上面会显示出各种图书的列表,本页面还包括加入购物车,加入收藏夹,查看购物车,查看收藏夹,图书详细信息以及图书评论等内容。

当用户对某本书感兴趣的时候,可以在对应的图书图片下点击图书

详细信息按钮,在弹出的页面上就会显示此图书的具体内容。具体代码如

下:LinkButton lb = (LinkButton)e.Item.FindControl(

可以看出,系统是根据书本id找到对应的详细信息的。

用户还可以把书放进购物车中,但只局限于下次找此书在此操作的电脑上,如果想在任何电脑上都能看见你的收藏的话,就将此书放入收藏夹中,以便下次可以很方便的找到你想要找到的图书信息。 (1)实现的主要代码如下:

protected

void

GridView1_RowDeleting(object

sender,

GridViewDeleteEventArgs e)

{

modbookinfo

=

bllbookinfo.GetModel(Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value));

lbsum.Text

=

(Convert.ToDecimal(lbsum.Text)

+

Convert.ToInt32(((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].FindControl(

EBook.BLL.OrderInfo bll= new EBook.BLL.OrderInfo(); EBook.Model.OrderInfo model=new EBook.Model.OrderInfo();

string

bookid=

GridView1.DataKeys[e.RowIndex].Value.ToString();

string

bookname=GridView1.Rows[e.RowIndex].Cells[0].Text.Trim();

int

bookNum

=

int.Parse(((TextBox)GridView1.Rows[e.RowIndex].Cells[3].FindControl(

if (ViewState[

orderid

=

Convert.ToInt32(DateTime.Now.ToString(

ViewState[

}

model.BookId = Convert.ToInt32(bookid); model.BookName = bookname;

model.OrderId = ViewState[

model.OrderIP = Request.ServerVariables[

EBook.BLL.OrderInfo blldingdan = new EBook.BLL.OrderInfo(); GridView2.DataSource ViewState[

= blldingdan.GetList(

GridView2.DataBind(); } protected EventArgs e)

{ }

protected void btnchakan_Click(object sender, EventArgs e) {

if (Session[

Response.Write(

}

GridView1.Visible = true;

string cart = Session[

DataSet ds = bllbookinfo.GetList(

GridView1.DataSource = ds; GridView1.DataBind(); }

protected void btnqingkong_Click(object sender, EventArgs e) {

Session.Abandon(); Session[

void DataList1_SelectedIndexChanged(object sender,

protected void DataList1_ItemDataBound(object sender,

DataListItemEventArgs e)

{

Label lbid = (Label)e.Item.FindControl(

LinkButton

(LinkButton)e.Item.FindControl(

lbk.Attributes.Add(

LinkButton

(LinkButton)e.Item.FindControl(

link.Attributes.Add(

LinkButton lb = (LinkButton)e.Item.FindControl(

} protected

void

GridView2_RowDeleting(object

sender,

+

link

=

lbk

=

GridViewDeleteEventArgs e)

{

EBook.BLL.OrderInfo dele = new EBook.BLL.OrderInfo();

string

dingdanid

=

GridView2.DataKeys[e.RowIndex].Value.ToString(); //订单的ID

dele.Delete(int.Parse(dingdanid));

GridView2.DataSource ViewState[

= dele.GetList(

GridView2.DataBind();

Response.Write(

protected void Button2_Click(object sender, EventArgs e) {

Session.Abandon(); Response.Write(

language='javascript'>window.location.href='Default.aspx';

}、

3.购物车订单计算功能

该功能存在于客户登陆后的图书列表页面,当用户点击加入购物车后,然后点击查看购物车,在这部分表格中会显示购买数量,客户可以自己输入数量,然后点击确认购买,系统会将计算的结果显示在页面上,而且会将其转发到后台的订单处理页面,以便管理员一目了然确认发货。 (1)实现主要代码如下: modbookinfo =

bllbookinfo.GetModel(Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value));

lbsum.Text

=

(Convert.ToDecimal(lbsum.Text)

+

Convert.ToInt32(((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].FindControl(

本功能是用户在点击购买后计算价格的时候,突然不想买了,则用户可以点击取消购买按钮,每个书本的后面都对应有取消购买按钮,点击了次按钮后,系统会自动将价格减去。

(1)关键代码如下:

EBook.BLL.OrderInfo dele = new EBook.BLL.OrderInfo();

string dingdanid =

GridView2.DataKeys[e.RowIndex].Value.ToString(); //订单的ID

dele.Delete(int.Parse(dingdanid));

GridView2.DataSource = dele.GetList(

Response.Write(

本页面是管理员登陆后台操作界面之后进行各种管理活动的页面,包括:用户管理(添加用户、查看用户),图书管理(新书上架、图书查看、图书统计),订单管理(订单查看、订单统计),评论管理(主要包括查看图书评论),最后一项是退出系统。

在树状列表上面,可以获取用户名所对应的真实姓名,主要代码为:lbtruename.Text = Session[

(1) 用户管理:

5.1.1添加用户,本功能不是添加普通客户,而是添加管理员,包括

管理员的权限,姓名,性别等一些信息。

5.1.2 查看用户,查看的是所有人的用户,包括客户和管理员,以表格

的形式方便管理员查看,并且进行分页显示。

5.2 图书管理

5.2.1 新书上架,发布新书的信息,包括书名,出版社,作者,图

片,图书介绍以及价格,这样就会在客户的页面显示新增的图书信息

5.2.2 图书查看,以表格形式展示了所有数据库存在的图书,以及他

们的各种信息,并且进行了分页显示

5.3 订单管理

5.3.1订单查看,以表格形式将客户的订单显示出来,并显示是否发

货,点击发货按钮,在是否发货一栏下就会自动改成已发货,这样,管理员就可以一幕了然的知道订单的信息了,此表格也进行了分页显示;

5.4 评论管理

5.4.1 查看评论,管理员可以查看用户所发表的评论,如果评论的

内容过于低俗和肮脏,管理员可以将之删除; 5.5 退出系统

退出管理员界面,重新回来登陆界面

系统测试与运行

一、 系统测试

正常情况下在visual studio 2005和sql server2000状态下能进行网页的操作就说明测试成功。

二、测试结果

测试结果如下各界面所示: 登陆界面:

万年历界面:

图6-1首页显示图

图6-2图书列表

图6-3购物车信息

图6-4图书详细信息

图6-5管理员登陆界面

图6-6订单收据

图6-7图书详细信息查看

图6-8用户详细信息查看

结 论

经过多日的开发,本网站的建设基本完成,各项功能也能够正常使用,但是由于毕业设计时间较短,所以该站点系统还有许多不尽如人意的地方,比如说功能不够丰富,没有对部分功能进行细化,对数据的安全性考虑不多等,这些都有待改进。经过这次毕业设计,我基本熟悉了网站开发的流程和基本技术,同时也提高了动手能力。

参考文献

[1]北大青鸟ACCP5.0《使用ASP.NET技术开发网上书店》;

[2][美]David Chappell著,荣耀 译,.NET大局观( 第2版),北京,电子工业出版社,2006

谢 辞

由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。

在这里首先要感谢我的指导老师***老师。

其次要感谢我们小组,在本次设计中,我们勤奋工作,克服了许多困难来完成此次毕业设计,并承担了大部分的工作量。如果没有大家的努力工作,此次设计的完成将变得非常困难。

然后还要感谢大学三年来所有的老师,为我们打下计算机专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励。此次毕业设计才会顺利完成。

最后感谢*******软件技术学院对我的栽培和教育。

*********软件技术学院

毕业设计(论文)

题 目:

系 别:

专 业:

学 号:

姓 名:

指导老师:

完成日期: 网上书店系统的设计与实现 软件技术 ACCP 2009 年 3 月 5 日

目 录

目 录 .................................................... 2

前 言 .................................................... 2

需求分析 ................................................. 4 一、 用户需求分析 ..................................... 4

1.图书查询需求 ...................................... 4

2.购物车管理需求 .................................... 4

3.订单处理需求 ...................................... 4

4.管理员与客户的分类功能 ............................ 4

系统开发技术 ............................................. 6 一、 MVC模式简介 ..................................... 6

1.电子商务概况摘要 ..................................... 7

系统总体设计 ............................................. 9

1.UML活动关系图........................................ 9

2.系统组成 ............................................ 10

3.功能设计 ............................................ 10

(1)图书信息管理 ................................... 10

(2)购物车管理 ..................................... 10

(3)会员注册 ....................................... 10

(4)订单处理 ....................................... 11

数据库设计与实现 ........................................ 12 一、 数据库的需求分析 ................................ 12

1.数据库的逻辑设计 .................................... 12

2.数据表基本结构 ...................................... 14

3.创建数据表脚本 ...................................... 15

系统实现过程 ............................................ 17

开发平台 .............................................. 17

一、系统各组件实现 .................................... 17

用户表示层 .......................................... 17

系统测试与运行 .......................................... 26 一、 系统测试 ........................................ 26

二、测试结果 .......................................... 26

结 论 ................................................... 29

参考文献 ................................................ 30

谢 辞 ................................................. 31 毕业设计(论文)成绩评定表(理科)

错误!未定义书签。 ......

前 言

随着Internet信息技术的高速发展和个人、企业上网的迅速普及,企业的WWW网站在商业活动中发挥着越来越大的作用,在信息时代,建立一个功能强大、界面美观的电子商务网站,建立电子商务系统平台,对企业的发展是至关重要的。

所谓电子商务,是指各种具有商业活动能力的实体(生产企业、商贸企业、金融机构、政府机构、个人消费者等)利用网络和先进的数字化传媒技术进行的各项商业贸易活动。其中特别要强调的特点,一是其商业背景,二是网络化和数字化。简言之,电子商务就是通过电子网络渠道达成的商务活动。

电子商务是计算机网络的第二次革命,它通过电子手段建立新的经济秩序,不仅涉及电子技术和商业交易本身,而且涉及诸如金融、税务、教育等社会其他层面。对于电子商务的研究始于20世纪70年代末,而其实施要更晚些,实施又分为两步,其中电子数据交换(Electronic Data Interchange,EDI)始于20世纪80年代中期,Internet上的电子商务始于20世纪90年代初期。电子商务活动相应分成两大类:企业组织-企业组织(Business-Business,B2B)型和企业组织-消费者(Business-Consumer,B2C)型。根据统计,目前电子商务活动中80%的收属于B2B型商务活动,这由于企业组织的信息化程度和技术水平比个体消费者明显要高,主要面向的是企业与企业,为企业提供进行采购、销售和结算等业务的平台。B2C则是我们最熟悉的,它直接面向终端的大众消费者。它通常也有两种形式,一种是类似一个大的超市,里面摆放着大量的商品,提供给消费者直接去选择购买;而另一种形式则类似一个大商城,商城中有许多柜台,用户可以直接到柜台选择和购买自己中意的东西,然后去结算,这种商城只提供柜台和相关的服务,并收取相应的柜台使用费。

一般意义上,一个完整的电子商务系统包括信息流、资金流与物流三个要素,三者相辅相成。信息流就是通过电子网络向客户揭示所售商品的相关信息,引导客户通过网络进行购物。资金流就是使客户在选择商品后,能够通过网络支付相关费用,一般包括预付款支付、网上银行支付、货到付款

等多种形式。目前有些电子商务网站也可以接受邮局汇款。物流就是把客户所购买的商品通过物流配送系统送到客户手中,对于一些特殊行业和领域和电子商务,如证券、金融信息类商品,也可能不需要配送系统的支持就可以把商品送到客户手中(如股票、电子杂志、域名注册等)。在电子商务中,除了上述三个要素外,网络安全也是需要重点考虑的因素。据调查,有1/3的网民认为网络安全是影响其网上购物的因素,因此为了保证网络交易的安全,电子商务网站需要采用数据加密、电子签名等多种措施进行安全认证。

需求分析

网上书店系统主要是实现网上选书、购书、产生订单等功能的系统。一个典型的网上商城一般都需要实现商品信息的动态展示、购物车管理、客户信息注册登录管理、订单处理等模块。

一、 用户需求分析

本网上书店系统主要完成以下具体任务:

1.图书查询需求

当客户进入网上书店时,应该在主页面中分类显示最新的书目信息,以供客户选择所需图书,同时也应该提供按照图书名称,或者作者住处快速查询所需书目信息的功能。

2.购物车管理需求

当客户选择购买某图书产品时,应该能够将对应图书信息,例如:价格、数量记录到购物车中,并允许客户返回书目查询页面,选择其他商品,并添加到购物车中,当对购物订单生成后,应该能够自动清除以生成订单的购物车中的信息。

3.订单处理需求

对应客户购买图书商品信息的需求,在确定了所购图书商品的价格、数量等信息后,提示用户选择对应的送货方式及付款方式,最终生成对应的订单记录,以便于网站配货人员依据订单信息进行后续的出货、送货和处理。

4.管理员与客户的分类功能

为了能够实现管理员和用户各自的所享有的功能,特将他们分类处理。

网上书店系统的用例图

图2-1网上书店USE Case

系统开发技术

一、 MVC模式简介

MVC是Model(模型)——View(视图)——Controller(控制器)的缩写,它适用于大型可扩展的Web应用的开发,它强制性地将应用程序的输入、处理和输出分开,将其划分为模型、视图和控制器三个核心部分,使它们各司其职,各自完成不同的任务,其中任何一部分的修改都不会影响其它两部分。

在MVC模式中,模型封装了应用问题的核心数据、逻辑关系和业务规则,提供了业务逻辑的处理过程。模型一方面被控制器调用,完成问题处理的操作过程,另一方面为视图获取显示数据提供了访问数据的操作。因为模型是与数据格式无关的,因此一个模型可以为多个视图提供数据,这样一个模型一次编写可以被多个视图重用,从而避免了代码的重复编写。

视图是MVC模式下用户看到的并与之交互的界面。视图从模型处获得数据,视图的更新由控制器控制。视图不包含任何业务逻辑的处理,它只是作为一种输出数据的方式。

MVC模式中,控制器主要起导航的作用,它根据用户的输入调用相应的模型和视图去完成用户的请求。控制器本身不输出任何东西,它接受用户请求并决定调用哪个模型构件去处理,以及由哪个视图来显示模型处理之后返回的数据。

MVC的处理过程是这样的:对于每一个用户输入的请求,首先被控制器接收,并决定由哪个模型来进行处理,然后模型通过业务处理逻辑处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过显示页面呈现给用户。图1-1所示为模型、视图、控制器这三个模块各自的功能以及它们之间的相互关系:

图1-1 MVC模式[3]

1.电子商务概况摘要

电子商务模式是目前互联网人士思考较多的一个话题,在有了B-C, B-B等模式之后,一些网站最近又在尝试一种全新的概念——B-B-C模式,而且看来这一模式已经被许多的网上书店所接受。在解释B-B-C模式时,书生科技公司总裁王东临先生认为:“该模式的意思是中间的 B直接面对客户,把订单交给第一个B来执行。这种模式看起来好像只是传统的渠道销售的翻版,在互联网时代根本不可行,因为互联网经济的一大特征就是压扁渠道,Amazon等大行其道的原因也正是基于这种“中间商死亡”的论调,他们抢占的正是原来中间商的利润。因此,B-B-C模式长期以来被认为是一种不可能成立的模式。其实,如果中间的B能够提供一种独特的服务,把消费者都吸引到它那里去,并通过它下订单,则该模式就是可行的。

EBook网络业务支持平台采用B/S结构,三层运行模式,同时适用于Intranet/Internet。浏览器为第一层,作为系统的应用界面;应用逻辑服务为第二层;数据链接为第三层,作为系统的数据存取服务。此架

构无须安装客户端软件,便于软件的分发和维护升级,适应了众多应用客户端分散环境下的运行和维护需求。本篇论文介绍了本系统开发环境和运行平台、ASP.NET、应用框架。而后台的数据库则使用Microsoft SQL Server 2000管理平台的数据。

EBook网络业务支持平台实现网上书店大型系统,添加独特的物流子系统、在线客服子系统、Wap子系统让客户能够有效的掌握,有效的处理各类所需相关信息,以及促进各个子系统管理的信息化、规范化和集成化,实现计算机的智能化管理,以提高工作效率和经济效益。

系统总体设计

1.UML活动关系图

下面是进入网上书店可以进行的操作。具体的UML活动如下图所示:

图3-1UML活动关系图

2.系统组成

表3-1构成网上书店系统的各个组件

3.功能设计 (1)图书信息管理

该模块实现图书书目信息的分类显示,也提供了新增,删除,修改和查询等功能。此外,在用户选择了对应书目信息后,还可以显示出有关该图书的详细信息,以便于客户了解所购商品。

(2)购物车管理

用于维护每一个进入网上书店的客户对应的购物车。即将客户所选购的图书商品信息记录到对应的购物车中,以便于到收银台进行结账处理。

(3)会员注册

实现网上书店客户信息的注册、及身份验证。由于目前网上商城普遍采

用的方式为送货上门或者邮寄,因此需要收集与客户相关的联系方式、通信地址等信息。

(4)订单处理

根据客户购物车中的信息,以及客户所选择的送货方式和付款方式,连同客户对应的个人信息生成订单,以便于后续进行送货处理。

数据库设计与实现

一、 数据库的需求分析

依据网上书店的处理需求,对应数据表的设计及功能如下: 一、图书基本信息表:存放网上书店所销售图书的基本信息。 二、图书分类基本信息表:存放网上书店所提供图书分类的信息。 三、客户基本信息表:存放书店客户的基本信息。 四、订单信息表:存放与客户相关的订单的基本信息。 五、订单条目详细信息表:存放订单中详细条目的基本信息。

1.数据库的逻辑设计

根据以上需求分析,在确定了各个表主键字段的基础上,依据表与表之间相关字段之间的联系建立了各表之间的关系,对应的关系图如图4-1所示:

图4-1数据库逻辑图

2.数据表基本结构

(1)图书信息表

图书信息表(bookinfo)是用来保存网上书店每一种图书基本信息的数据表,是维护管理图书数据的依据。

表4-1书图书信息表

(2)图书评论基本信息表

图书分类基本信息表(bookcomment)记录了与网上书店图书分类相关信息。

表4-2图书分类基本信息表

(3)客户基本信息表

客户基本信息表(account)存放了网上书店对应的客户信息,包括客户的姓名、联系方式等信息。

表4-3客户基本信息表

(4)订单信息表

表4-4订单信息表

3.创建数据表脚本

在基本的数据表的结构确定后,就可以在mysql中完成数据表的创建工作,下面给出建立对应数据表的SQL脚本。 (1)图书基本信息表:

CREATE TABLE `bookinfo` (

`id` int(4) NOT NULL auto_increment, `booktype` varchar(50) NOT NULL,

`bookname` varchar(50) NOT NULL default '', `price` double(15,3) NOT NULL default '0.000', `description` varchar(255) NOT NULL default '', `pubss` varchar(50) default NULL, PRIMARY KEY (`id`) )

(2)图书评论基本信息表:

CREATE TABLE `bookcomment` ( `id` int(4) NOT NULL default '0',

`commentTitle` varchar(50) default NULL,

`commentContent` varchar(50) default NULL, PRIMARY KEY (`id`) )

(3)客户基本信息表:

CREATE TABLE `storeuser` (

`AccountId` varchar(20) NOT NULL default '', `AccountPwd` varchar(20) NOT NULL default '', `truename` varchar(20) NOT NULL default '', `telephone` varchar(20) NOT NULL default '', `sex` varchar(100) NOT NULL default '', `email` varchar(50) default NULL, `balance` varchar(20) default NULL, `author` boolean(2) default 0,

PRIMARY KEY (`AccountId `) )

(4)订单信息表:

CREATE TABLE `orders` (

`orderid` int(11) NOT NULL auto_increment, `ordername` varchar(20) NOT NULL default '',

`ordertime` datetime NOT NULL default '0000-00-00 00:00:00', `isConfirm` boolean(2) NOT NULL default '', `price` varchar(20) NOT NULL default '', PRIMARY KEY (`orderid`) )

系统实现过程

开发平台

服务器:IIS;

数据库: Sql Server 2000; 平台:Microsoft Visual Studio 2005 操作系统:windows XP

一、系统各组件实现 用户表示层

在用户表示层中主要是一些相关的页面。该层对应的页面应该放在WEB应用目录根目录下。 1.网上书店首页:

本页面分为上下2个部分。

上面的部分是个万年历,从万年历上可以查询各种各样的时间,节日,农历,节气等信息,此晚年里是从网上找到的一段脚本script脚本代码,美观大方,非常使用。

下面的部分是登陆和注册页面,主要实现登陆和注册功能。

登陆有2种情况,一个是管理员登陆,另一个是客户登陆,管理员登陆后的页面是一些后台的操作,而客户登陆后的页面是图书列表及收藏夹和购物车还有1些评论。

注册有各种信息的输入,在用户名一栏中,比如数据库中已经存在了一个用户名,如果一位客户申请的时候写了一个一模一样的用户名,则在点击旁边的“检查用户名是否存在”的按钮后会出现“此用户名已经存在”,提示重新输入一个其他的用户名。 (1)注册的主要的代码如下

protected void btnAdd_Click(object sender, EventArgs e) {

Accountmod.AccountId = tbusername.Text.Trim(); Accountmod.AccountPwd = tbpwd.Text.Trim(); Accountmod.Auth =

Accountmod.Email = tbEmail.Text.Trim(); Accountmod.Logintimes = 0; Accountmod.LogIp

Request.ServerVariables[

Accountmod.Telephone = tbphone.Text.Trim(); Accountmod.TrueName = tbTruename.Text.Trim(); Accountmod.Sex = RadioButtonList1.SelectedValue; Accountmod.Balance = 0; lbshow.Text =

protected void btnCheck_Click(object sender, EventArgs e) {

DataSet

ds

=

Accountbll.GetList(

tbusername.Text.Trim() +

if (ds.Tables[0].Rows.Count == 0) {

lbshow.Text =

lbshow.Text =

=

+

}

}

2.图书详细信息显示:

本页面是客户登陆成功后的页面,上面会显示出各种图书的列表,本页面还包括加入购物车,加入收藏夹,查看购物车,查看收藏夹,图书详细信息以及图书评论等内容。

当用户对某本书感兴趣的时候,可以在对应的图书图片下点击图书

详细信息按钮,在弹出的页面上就会显示此图书的具体内容。具体代码如

下:LinkButton lb = (LinkButton)e.Item.FindControl(

可以看出,系统是根据书本id找到对应的详细信息的。

用户还可以把书放进购物车中,但只局限于下次找此书在此操作的电脑上,如果想在任何电脑上都能看见你的收藏的话,就将此书放入收藏夹中,以便下次可以很方便的找到你想要找到的图书信息。 (1)实现的主要代码如下:

protected

void

GridView1_RowDeleting(object

sender,

GridViewDeleteEventArgs e)

{

modbookinfo

=

bllbookinfo.GetModel(Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value));

lbsum.Text

=

(Convert.ToDecimal(lbsum.Text)

+

Convert.ToInt32(((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].FindControl(

EBook.BLL.OrderInfo bll= new EBook.BLL.OrderInfo(); EBook.Model.OrderInfo model=new EBook.Model.OrderInfo();

string

bookid=

GridView1.DataKeys[e.RowIndex].Value.ToString();

string

bookname=GridView1.Rows[e.RowIndex].Cells[0].Text.Trim();

int

bookNum

=

int.Parse(((TextBox)GridView1.Rows[e.RowIndex].Cells[3].FindControl(

if (ViewState[

orderid

=

Convert.ToInt32(DateTime.Now.ToString(

ViewState[

}

model.BookId = Convert.ToInt32(bookid); model.BookName = bookname;

model.OrderId = ViewState[

model.OrderIP = Request.ServerVariables[

EBook.BLL.OrderInfo blldingdan = new EBook.BLL.OrderInfo(); GridView2.DataSource ViewState[

= blldingdan.GetList(

GridView2.DataBind(); } protected EventArgs e)

{ }

protected void btnchakan_Click(object sender, EventArgs e) {

if (Session[

Response.Write(

}

GridView1.Visible = true;

string cart = Session[

DataSet ds = bllbookinfo.GetList(

GridView1.DataSource = ds; GridView1.DataBind(); }

protected void btnqingkong_Click(object sender, EventArgs e) {

Session.Abandon(); Session[

void DataList1_SelectedIndexChanged(object sender,

protected void DataList1_ItemDataBound(object sender,

DataListItemEventArgs e)

{

Label lbid = (Label)e.Item.FindControl(

LinkButton

(LinkButton)e.Item.FindControl(

lbk.Attributes.Add(

LinkButton

(LinkButton)e.Item.FindControl(

link.Attributes.Add(

LinkButton lb = (LinkButton)e.Item.FindControl(

} protected

void

GridView2_RowDeleting(object

sender,

+

link

=

lbk

=

GridViewDeleteEventArgs e)

{

EBook.BLL.OrderInfo dele = new EBook.BLL.OrderInfo();

string

dingdanid

=

GridView2.DataKeys[e.RowIndex].Value.ToString(); //订单的ID

dele.Delete(int.Parse(dingdanid));

GridView2.DataSource ViewState[

= dele.GetList(

GridView2.DataBind();

Response.Write(

protected void Button2_Click(object sender, EventArgs e) {

Session.Abandon(); Response.Write(

language='javascript'>window.location.href='Default.aspx';

}、

3.购物车订单计算功能

该功能存在于客户登陆后的图书列表页面,当用户点击加入购物车后,然后点击查看购物车,在这部分表格中会显示购买数量,客户可以自己输入数量,然后点击确认购买,系统会将计算的结果显示在页面上,而且会将其转发到后台的订单处理页面,以便管理员一目了然确认发货。 (1)实现主要代码如下: modbookinfo =

bllbookinfo.GetModel(Convert.ToInt32(GridView1.DataKeys[e.RowIndex].Value));

lbsum.Text

=

(Convert.ToDecimal(lbsum.Text)

+

Convert.ToInt32(((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].FindControl(

本功能是用户在点击购买后计算价格的时候,突然不想买了,则用户可以点击取消购买按钮,每个书本的后面都对应有取消购买按钮,点击了次按钮后,系统会自动将价格减去。

(1)关键代码如下:

EBook.BLL.OrderInfo dele = new EBook.BLL.OrderInfo();

string dingdanid =

GridView2.DataKeys[e.RowIndex].Value.ToString(); //订单的ID

dele.Delete(int.Parse(dingdanid));

GridView2.DataSource = dele.GetList(

Response.Write(

本页面是管理员登陆后台操作界面之后进行各种管理活动的页面,包括:用户管理(添加用户、查看用户),图书管理(新书上架、图书查看、图书统计),订单管理(订单查看、订单统计),评论管理(主要包括查看图书评论),最后一项是退出系统。

在树状列表上面,可以获取用户名所对应的真实姓名,主要代码为:lbtruename.Text = Session[

(1) 用户管理:

5.1.1添加用户,本功能不是添加普通客户,而是添加管理员,包括

管理员的权限,姓名,性别等一些信息。

5.1.2 查看用户,查看的是所有人的用户,包括客户和管理员,以表格

的形式方便管理员查看,并且进行分页显示。

5.2 图书管理

5.2.1 新书上架,发布新书的信息,包括书名,出版社,作者,图

片,图书介绍以及价格,这样就会在客户的页面显示新增的图书信息

5.2.2 图书查看,以表格形式展示了所有数据库存在的图书,以及他

们的各种信息,并且进行了分页显示

5.3 订单管理

5.3.1订单查看,以表格形式将客户的订单显示出来,并显示是否发

货,点击发货按钮,在是否发货一栏下就会自动改成已发货,这样,管理员就可以一幕了然的知道订单的信息了,此表格也进行了分页显示;

5.4 评论管理

5.4.1 查看评论,管理员可以查看用户所发表的评论,如果评论的

内容过于低俗和肮脏,管理员可以将之删除; 5.5 退出系统

退出管理员界面,重新回来登陆界面

系统测试与运行

一、 系统测试

正常情况下在visual studio 2005和sql server2000状态下能进行网页的操作就说明测试成功。

二、测试结果

测试结果如下各界面所示: 登陆界面:

万年历界面:

图6-1首页显示图

图6-2图书列表

图6-3购物车信息

图6-4图书详细信息

图6-5管理员登陆界面

图6-6订单收据

图6-7图书详细信息查看

图6-8用户详细信息查看

结 论

经过多日的开发,本网站的建设基本完成,各项功能也能够正常使用,但是由于毕业设计时间较短,所以该站点系统还有许多不尽如人意的地方,比如说功能不够丰富,没有对部分功能进行细化,对数据的安全性考虑不多等,这些都有待改进。经过这次毕业设计,我基本熟悉了网站开发的流程和基本技术,同时也提高了动手能力。

参考文献

[1]北大青鸟ACCP5.0《使用ASP.NET技术开发网上书店》;

[2][美]David Chappell著,荣耀 译,.NET大局观( 第2版),北京,电子工业出版社,2006

谢 辞

由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。

在这里首先要感谢我的指导老师***老师。

其次要感谢我们小组,在本次设计中,我们勤奋工作,克服了许多困难来完成此次毕业设计,并承担了大部分的工作量。如果没有大家的努力工作,此次设计的完成将变得非常困难。

然后还要感谢大学三年来所有的老师,为我们打下计算机专业知识的基础;同时还要感谢所有的同学们,正是因为有了你们的支持和鼓励。此次毕业设计才会顺利完成。

最后感谢*******软件技术学院对我的栽培和教育。


相关文章

  • 本科计算机论文题目
  • 基于asp 语言的测试项目 学生信息管理系统的设计与实现 基于ASP.NET 的社区人口管理系统 基于ASP.NET 的课程教学网站设计 公司会议网站 C#高校工资管理系统 C#在线点歌系统 <数据库原理>精品课程网站设计 教师 ...查看


  • 计算机专业毕业论文题目_大全(1)
  • 目 录 ASP 类计算机专业毕业论文题目.................................................................................................... ...查看


  • 网络银行系统的设计与实现毕业论文
  • 毕业设计说明书 网络银行系统的设计与实现 网络银行系统的设计与实现 Internet Bank System Design And Implementationon 摘 要 网上银行是电子商务时代银行的必然选择,它利用计算机和互联网技术,为 ...查看


  • 电子商务网上书店设计毕业论文
  • 毕业论文 电子商务网上书店设计 毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果.尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组 ...查看


  • 毕业论文++网上书店系统的设计与实现 1
  • *********大学 毕业设计(论文) 题 目: 系 别: 专 业: 学 号: 姓 名: 指导老师: 完成日期: 网上书店系统的设计与实现 软件技术 ACCP 2009 年 3 月 5 日 目 录 目 录 ................ ...查看


  • 毕业论文---书店管理系统
  • 学校 毕业设计(论文) 题 目: 系 别: 专 业: 班 级: 学生姓名: 指导教师: 完成日期: 书店管理系统 摘 要 在当今知识大爆炸的时代,图书作为信息的一种载体,仍是人们获得知识的一种重要途径,随着互联网普及以及数据库作为大量信息存 ...查看


  • ASP网络大学毕业论文ASP网上书店系统论文(网站设计方案)
  • 目 录 第一章 引言-----------------------4 ●课题的来源和背景----------------.4 第二章 综述-----------------------8 第三章 第四章 第五章 第六章 第七章 第八章 系统 ...查看


  • 计算机专业本科毕业论文
  • 基于Struts 的电子书店系统的设计与开发 作者姓名:张三丰 专业班级:2003050308 指导教师:李军 摘 要 随着计算机技术和网络技术的发展电子商务逐渐走入了人们的生活,现在通过网络顾客就可以方便地挑选和购买自己喜爱的商品,这大大 ...查看


  • 网上购物系统论文
  • 课程设计 题 目: 网上购物系统 系别:专业年级:班组 级:次: 计算机科学与技术专升本1303班 指导教师: 2014年05月31日 摘要 网上购物系统是一个基于Internet,运用MyEclipse软件做的,并根据现有的网上购物系统的 ...查看


热门内容