文档库 最新最全的文档下载
当前位置:文档库 › 网上书店系统的设计与实现

网上书店系统的设计与实现

上海软件技术学院

毕业设计(论文)

题目:网上书店系统的设计与实现系别:网络技术

专业: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-1MVC模式[3]

1.电子商务概况摘要

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

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

构无须安装客户端软件,便于软件的分发和维护升级,适应了众多应用客户端分散环境下的运行和维护需求。本篇论文介绍了本系统开发环境和运行平台、https://www.wendangku.net/doc/888597661.html,、应用框架。而后台的数据库则使用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 `book info` (

`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 vo id btnAdd_Click(object sender, EventArgs e)

{

Accountmod.AccountId = tbusername.Text.Trim();

Accountmod.AccountPwd = tbpwd.Text.Trim();

Accountmod.Auth = "0";

Accountmod.Email = tbEmail.Text.Trim();

Accountmod.Logintimes = 0;

Accountmod.LogIp = Request.ServerVariab les["Remote_Addr"].ToString();

Accountmod.Telephone = tbphone.Text.Trim();

Accountmod.TrueName = tbTruename.Text.Trim();

Accountmod.Sex = RadioButtonList1.SelectedValue;

Accountmod.Balance = 0;

lbshow.Text = "用户注册成功!";

Accountb ll.Add(Accountmod);

Panel1.Visible = false;

}

protected void btnCheck_Click(object sender, EventArgs e)

{

DataSet ds = Accountb ll.GetList("AccountId='" + tbusername.Text.Trim() + "'");

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

{

lbshow.Text = "该账户可以使用";

btnAdd.Enab led = true;

}

else

{

lbshow.Text = "该账户已被占用!";

btnAdd.Enab led = false;

相关文档
相关文档 最新文档