您的当前位置:首页正文

网上书店的设计与实现论文

2020-06-18 来源:好走旅游网
目 录

摘要 ................................................................ 1 Abstract: ........................................................... 2 1 引言 .............................................................. 3

1.1 系统开发背景 ................................................ 3 1.2 研究应用现状 ................................................ 3 1.3 论文主要工作 ................................................ 3 2 系统概述与需求分析 ................................................ 5

2.1 系统总体描述 ................................................ 5 2.2 功能需求分析 ................................................ 5 3 系统总体设计 ...................................................... 7

3.1 系统设计目标 ................................................ 7 3.2 系统设计思想 ................................................ 7 3.3 系统结构设计 ................................................ 7 3.4 系统功能模块 ................................................ 7 3.5 数据库设计 .................................................. 8

3.5.1 数据库需求分析 ........................................ 8 3.5.2 数据库结构分析设计 ................................... 9 3.6 数据库表设计 ................................................ 9 4 系统详细设计 ..................................................... 15

4.1 系统总体实现 .............................................. 15 4.2 首页设计和编码 ............................................ 16 4.3用户界面设计 ............................................... 18 4.4 后台管理界面的设计 ........................................ 26 4.5 系统详细设计的总结 ........................................ 29 5 总结和展望 ....................................................... 29

5.1 整个设计系统的总结 ........................................ 29 5.2 系统的展望 ................................................ 29 参考文献 ........................................................... 31 致 谢 ........................................................... 32

0

基于ASP.NET的网上书店的设计与

实现

摘要:本文介绍了运用ASP.NET、SQL Server 2008等技术,在Microsoft Visual Studio2012平台上实现网上书店系统的方法和过程。本系统采用B/S模式开发,使用三层架构,即表示层、数据访问层和业务逻辑层。三层架构思想:即将各个功能明确分开,放在独立的层中,各层之间通过协作来完成整体功能。表示层是为了与用户交互;数据访问层对数据库进行增、删、改、查等;业务逻辑层一般又分为两层:业务表观层和业务规则层;业务表观层是用来实现与表示层的沟通,业务规则层是用来实现用户密码的安全等。这样分层的优点:分工明确,条理清晰,易于调试,而且具有可扩展性,可维护性强。缺点:增加成本。

网上书店系统为用户提供一系列网上购书服务。系统包含两类用户,即管理员和普通用户。针对这两类用户,系统根据登录时的角色判断,跳转到相应的页面为其提供操作。网上书店系统实现了图书信息的列表显示,用户通过选择图书种类进入对应种类的图书列表,也可以输入图书名称进行模糊查询。普通用户可以针对某一本书进行放入购物车、查看详细信息、查看留言等操作,在结算中心,系统为用户创建当次购书订单,默认为“未结”状态。同时系统为普通用户提供订单管理操作,方便用户查看订单,并可以针对以前的未结订单进行已结操作。

管理员负责整个系统的运行与维护,针对图书、订单、留言、用户、角色等,执行添加、删除、修改等操作。

关键字: ASP.Net;书店系统;订单

1

The design and implementation of online

bookstore based on ASP.NET

Electrical and information engineering college of computer

science and technology Li qiang

Instructor: Liu Chaoze (teaching assistant)

Abstract: this paper introduces the use of ASP.NET, SQL Server 2008

technology, such as in Microsoft Visual Studio2012 platform implementation method and process of online bookstore system. This system adopts B/S model development, the use of three layer architecture, namely the presentation layer, data access layer and business logic layer. Three layer architecture thought: the various function clearly separated, in separate layers, each layer through collaboration between to complete the function. The presentation layer to interact with the user; The data access layer to the database to add, delete, change, check, etc. Business logic layer is divided into two layers: the superficial layer and business rules of business; Business superficial layer is used to realize the communication with the presentation layer, business rule layer is used to implement the safety of the user's password, etc. Such a layered advantages: division of labor is clear, clear, easy to debug, and scalability and maintainability. Weakness: increase costs.

Online bookstore system to provide users with a series of online bookstores. System contains two kinds of users, administrators and ordinary users. According to these two types of users, judging system according to the role of the login, jump to the corresponding page with operation. Online bookstore system has realized the book information, according to the list of users by selecting the types of books into the corresponding types of book list, also can enter the name of the fuzzy query. Ordinary users can target a book in the shopping cart, check the detailed information, view the message, such as operation, in the center of the settlement, the system for users to create acquisition order, when the time is \"outstanding\" state by default. System for ordinary users with order management operations at the same time, the convenience of the user to see the order, and can be conducted on the previous outstanding orders have been operating.

Administrator is responsible for the operation and maintenance of the whole system, in view of the books, order, leave a message, users, roles, etc., to perform add, delete, modify, and so on. Key words: ASP.Net; The bookstore system; The order

2

1 引言

1.1 系统开发背景

伴随着Internet正向我们大踏步走来,电子商务将成为21世纪主流的商业模式。网上书店将是随着这些网络技术的发展而出现的一种新型图书销售渠道。它通过人与电子通信方式的结合,依靠计算机网络,以通讯技术为基础,实现图书销售的网上交易。网上书店同传统的店面书店相比,网上书店的经营方式和销售渠道是全新的;它24小时的全天候和全方位服务是店面书店所不能比及的;成本低廉更是开设网上书店的主要原因。而与其他商品相比,书籍运送几乎不怕碰撞碎裂,不具时效性;同时书本具有功能单一,形式简单,易于判断和选择而独具优势,最适合于网上交易;再次是单价低,降低了消费者第一次在网络购物的门槛,所以网上书店成了电子商务的先锋。

1.2 研究应用现状

总的来看,国内的网上售书缺乏规范,随意性强,买卖双方的权益保障都有缺陷。国内网上书店的目的主要有:利用图书销售盈利、效仿亚马逊提高无形资产价值、以拉广告赚钱、紧跟电子商务潮流等,其中,前两种占大多数。然而,实际情况是网上书店并未达到预期的效果,有的根本没什么访问量,有的虽然访问人数众多,但成交有限、营销平淡,同时网上广告也并未被广大商家认同。于是,这些书店不得不面临生存危机。

1.3 论文主要工作

本文在充分调研了各大网上书店管理系统基础上,分析了系统的需求,以数据库SQL Server为依托,技术上采用.NET平台进行设计,以C#为编程语言,利用Microsoft Visual Studio 2012工具开发出了具有可扩展性的网上书店。本系统由前台和后台两大部分组成。前台管理模块用于实现用户浏览,用户在线下单等功能。 后台管理模块用于用户资料管理,图书分类管理,图书资料管理,订单管理,图片管理,图书推荐管理,图书打折管理、物流管理、版权信息等。

论文的结构安排如下: 1.引言

这部分主要描述了系统的开发背景和系统的研究应用现状。 2.系统概述和需求分析

这部分主要描述了系统的总体描述和功能需求分析。 3.系统的总体设计

3

这部分主要描述了系统设计目标、系统设计思想、系统结构设计、系统功能模块、系统数据库设计和系统数据库表的设计。

4.系统的详细设计

这部分主要描述了系统总体实现、首页设计和编码、用户界面设计和后天管理界面的设计。

5.总结与展望

这部分主要描述了该系统在设计前期,进行了大量的需求分析,设计过程中也尽可能地与实际应用系统相吻合,所以该系统具有较强的实用价值,完全能够实现一个实际的网上书店应用系统所应具备的各种功能。在设计过程中学习借鉴其他的优秀软件,取长补短。

4

2 系统概述与需求分析

2.1 系统总体描述

系统通过先进的.NET平台技术构架的,实现用户资料管理,图书分类管理,图书资料管理,订单管理,图片管理,图书推荐管理,图书打折管理、物流管理、版权信息等业务功能,进一步规范网上书店的管理。

系统分为两类用户:普通用户、系统管理员。

2.2 功能需求分析

21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的跑书店买需要的图书。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,网上书店为大家带来了极大的方便。 《网上书店》系统特点: (1) 先进的购书流程

引入购物车购物方式,把记录客户所有的购书临时信息写入数据库表中,订单结束后,自动清除相关数据,客户不用再担心订购时临时数据的丢失,确保客户购书准确无误。 (2) 科学的书店管理模式

通过完善的信息发布系统,客户可以及时得到书店最新图书的相关信息,掌握行业动向;后台结构化管理模式,涵盖了栏目设置、图书资料编辑、用户管理、订单管理、基础信息管理等等,为书店的电子化管理提供了一套良好的管理模式。 (3) 人性化的操作界面

一个网站,能否吸引顾客的经常光顾,界面的美观也显得非常重要。本书店系统经过精心打造,同时也可根据书店客户的品味专门订制,让书店的设计充分体现电子商务时期的时尚、大众化。 (4) 完善的在线帮助

提供详细的在线帮助信息,如交款方式、退换图书原则、交易条款等。帮助用户了解购书流程,清楚书店在退换图书等各方面的原则及条款。

2.3 系统概述与需求分析的总结

5

随着Internet的飞速发展,网上购书已成为越来越多人的首选购物的方式。图书发行公司可以通过这个电子商务平台销售自己的图书,消费者可以通过该系统订购自己要买的图书。

6

3 系统总体设计

系统架构设计的目标是使系统的安全性高,简洁大方,灵活易用并能满足企业各个方面实际需求。设计者须遵守架构的规约。

3.1 系统设计目标

系统的设计应遵循的原则:系统的安全性,系统必须在保证正常的功能的情况下,应该同时具有很高的安全性,可以防止各种各样的不法攻击;系统的先进性,系统应该采用当今最先进的技术平台,使用先进的技术,在各个方面都具有很多优势;系统的可靠性,系统的各项功能都必须相对完整稳定,不容易出现问题。在系统登录,信息查询,数据处理上都能高效迅速完成。

3.2 系统设计思想 (1) 书店前台 功能强大 、操作方便

前台作为与用户直接交互的界面,在考虑功能的同时,也考虑了操作的简洁和方便性,目的是让大多数不在懂电脑操作的客户,也能轻松的享受电子商务给他们带来的便利。

(2) 书店后台

本系统后台管理在考虑书店管理操作简便的同时,提供了强大的书店管理模式。它包括用户资料管理,图书分类管理,图书资料管理,订单管理,图片管理,图书推荐管理,图书打折管理、物流管理、版权信息等等。

3.3 系统结构设计 前台:用户注册—>用户登录—>查看图书信息—>添加图书到购物车—>在线支付 后台:管理员登录—>订单管理、图书管理、会员管理、物流管理、图片管理—>退出

3.4 系统功能模块

根据系统功能分析,可以画出系统的功能模块图,系统模块图如下图所示,图3-1和图3-2分别为前台和后台的功能结构图。

7

网上书店系统前台 管理首页 订单管理 版权信息 会员管理 物流管理 系统管理 用户注册登录用户信息修改图书搜索图书详细信息购物车用户充值用户付款用户帮助联系管理员后台入口 图3-1 前台系统功能结构图

网上书店后台管理 图书管理 订单信息3.5 数据库设计

3.5.1 数据库需求分析

在网上书店系统中,数据库应当解决如下需求。 ● 保存注册用户的个人信息,包括联系资料等。 ● 保存图书信息,包括书名、价格、作者、图片等信息。 ● 保存购物车的详细信息。

● 保存购书信息,包括用户ID、图书ID、数量、总价等。 ● 保存订单信息,包括日期、支付方式、是否确认等。

会员信息是否已确认是否已付款是否已发货是否已归档管理员管理会员管理支付方式管理配送方式管理配送地点管理图片上传管理 图书管理图书类别管理

图3-2 后台系统功能结构图

8

3.5.2 数据库结构分析设计

得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的数据表,以及它们之间的关系,为后面的逻辑结构设计打下基础。分析此系统的需求,可以得到数据库关系图,如图3-3所示。

图3-3 数据库关系图

3.6 数据库表设计

据库的概念结构设计完毕后,可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。如图3-4所示。

9

图3-4数据库表

系统部分数据库表的逻辑结构

管理员表(Admin)用来存储管理员的信息,包括管理员ID、管理员账号和管理员密码。具体信息见表1所示,事例如下图所示。

列名 AdminID 数据类型 bigint 是否允许空 否 说明 管理员ID,自动编号 Admin Password varchar(50) varchar(50) 否 否 管理员帐号 管理员密码 表1:Admin管理员表 区域表(Area)用来存储区域与本地的距离,包括区域ID、区域名称和区域与本地的距离。具体信息见表2所示,事例如下图所示。

列名 AreaID 数据类型 bigint 是否允许空 否 说明 区域ID,自动编号 AreaName AreaKM varchar(50) int 否 否 区域名称 区域与本地的距离 表2:Area区域表 10

图书信息表(BookInfo)用来存储信息传递的动态信息,包括图书ID、类型ID、图书名称、图书详细介绍、ISBN序号、图书页码、出版社、出版时间和作者等。具体信息见表3所示,事例如下图所示。

列名 BookID ClassID BookName BookIntroduce ISBN PageNum Publisher PublishDate Author BookUrl 数据类型 Bigint Bigint varchar(50) Ntext varchar(20) varchar(20) varchar(100) varchar(20) varchar(50) varchar(50) 是否允许空 否 否 否 是 否 是 否 否 否 否 说明 图书ID,自动编号 类型ID,外键 图书名称 图书详细介绍 ISBN序号 图书页码 出版社 出版时间 作者 图书对应图片的URL地址 MarketPrice MemberPrice Isrefinement IsHot AddDate IsDiscount Float Float Bit Bit Datetime Bit 否 否 否 否 否 否 图书市场价格 图书会员价格 是否推荐 是否热销 图书信息添加日期 是否打折 表3:BookInfo图书信息表

11

购书信息表(BuyInfo)用来存储购书信息传递的动态信息,包括购书信息ID图书ID、购买的图书数量、订单ID和总价等。具体信息见表4所示,事例如下图所示。

列名 BuyID 数据类型 Bigint 是否允许空 否 说明 购书信息ID,自动编号 BookID Num OrderID SumPrice MemberID Bigint Int Bigint Float Bigint 表4:BuyInfo购书信息表

购物车表(ShopCart)用来存储用户订书的动态信息,包括购物车ID、图书ID、购买数量、总价格和会员ID。具体信息见表5所示,事例如下图所示。

列名 CartID 数据类型 bigint 是否允许空 否 说明 购物车ID,自动编号 BookID Num SumPrice MemberID bigint int float bigint 否 否 否 否 图书ID,外键 购买数量 总价格 会员ID,外键 否 否 否 否 否 图书ID,外键 购买的图书数量 订单ID,外键 总价 会员ID,外键 表5:ShopCart购物车表

会员表(Member)用来存储书店用户的所有信息,包括用户ID、用户帐号、性别、用户密码、真实姓名、安全提问和安全答案等。MemberID字段由

12

SQLServer负责初始化和填入新值,每次有新记录插入时该值自动加1,从而保证每个值是唯一的。具体信息见表6所示,事例如下图所示。

列名 MemberID 数据类型 bigint 是否允许空 否 说明 用户ID,自动编号 Name Sex Password TrueName Questions Answers Phonecode Emails City Address PostCode AdvancePayment LoadDate varchar(50) bit varchar(50) varchar(50) varchar(50) varchar(50) varchar(20) varchar(50) varchar(50) varchar(200) char(10) float datetime 否 否 否 是 是 是 是 是 是 是 是 否 否 用户帐号 性别 用户密码 真实姓名 安全提问 安全答案 电话号码 电子邮件 所在城市 具体地址 邮政编码 用户余额 注册时间 表6:Member会员表

图片信息表用来存储图片ID、图片名称和图片URL地址。具体信息见表6所示,事例如下图所示。

列名 ImageID 数据类型 Bigint 是否允许空 否 说明 图片ID,自动编号 ImageName varchar(50) 13

否 图片名称 ImageUrl varchar(200) 表7:图片信息表 否 图片URL地址 3.7系统总体设计的总结

根据对网上书店系统的需求分析,网上书店系统应该包括图书管理模块、

购物车管理模块订单管理模块和用户管理模块。

1、 图书管理模块:包含允许用户浏览图书列表、查看图书商品详细信息快

递查询所需的图书3个功能。

2、 购物车管理模块:顾客可以把要买的图书放入购物车,查看购物车的内

容,对自己购物情况进行修改或者确认。顾客可以删除图书、修改图书数量。顾客确认情况无误后可以结帐。

3、 订单管理功能模块:包括显示历史订单和显示订单的详细信息2个功能。

显示历史订单负责显示某个用户所有的历史订单记录,显示订单详细信息负责显示某个指定订单的详细信息。

4、 用户模块包括用户注册、用户登陆、修改用户个人信息等功能。

14

4 系统详细设计

通过以上的系统需求分析和系统总体设计,就已经有了一个网上系统的大体轮廓。

4.1 系统总体实现 1、前台主要功能包括

注册/登录、购物车、联系方式、图书查询、图书分类浏览、图书展示、打折专区、热门推荐、精品推荐、在线帮助功能等等。 2、书店系统前台设计的特色 (1) 购物车

每个注册的用户,都拥有一个属于自已的购物车管理界面,客户可以轻松的查看购物车中的图书。本系统充分考虑到了本模块对于客户的重要性,所以界面尽量做的简捷,采用开放式结构,一目了然,方便客户轻松掌控自已的信息。 (2) 购书的详细过程

会员注册-->选择图书-->放入购物车-->去下订单 购物车与下订单:

推出了全新的网上商务理念,这也是本系统与其他书店较大的不同的地方之一。

(3) 灵活多样的图书展示区

网站前台图书显视栏目分为以下几种方式:

(1)精品推荐 (2) 图书打折区 (3)热销图书 (4)图书分类 (4) 详细的用户帮助信息

主要包括交款方式、退换图书原则、配送信息和交易条款的信息。

3、系统提供完善的系统管理

在主页的管理入口,点击进入。出现验证管理员窗口,输入用户名和密码,进入系统管理器。后台分为订单管理、图书管理、用户管理、管理员帐号管理、物流管理和图片管理。

(1) 订单管理模块主要实现的是对订单信息的审核,如果订单信息不合格,可以进行删除。此模块中加入了订单的搜索,以便查看特定订单的信息。可以更改订单的状态:是否已确认、是否已付款、是否已发货和是否已归档。

15

(2) 图书管理是对图书信息进行管理,添加或删除图书信息,也可对图书信息进行修改。动态添加图书信息,信息内容要求完善。

(3) 用户管理和管理员帐号管理可以添加、删除用户和管理员帐号,可以对用户和管理员进行统一的管理。

(4) 物流管理模块主要实现的是支付方式管理、配送方式管理、配送地点管理 (5) 图片管理模块主要实现的是图书和图书类别相关图片的添加和删除。 4.2 首页设计和编码

如图4-1所示,为网上书店首页,主要向用户展示各种图书信息。

图4-1 网上书店首页

数据库连接代码

public SqlConnection GetConnection() { string myStr = ConfigurationManager.

AppSettings[\"ConnectionString\"].ToString();

SqlConnection myConn = new SqlConnection(myStr); return myConn; }

16

登录判定

当用户进行添加图书到购物车、在线充值、在线付款、修改个人信息等操作时,程序需要验证用户是否已经登录作为前提条件,如果用户没有登录,则不应该访问这些页面,因此需要制作一个判断用户是否登录并加以处理的模块。 ///

/// 判断用户是否存在 ///

/// 会员登录名 /// 会员登录密码 ///

public int UserExists(string P_Str_Name, string P_Str_Password) {

SqlConnection myConn = dbObj.GetConnection();

SqlCommand myCmd = new SqlCommand(\"Pr_UserExists\myCmd.CommandType = CommandType.StoredProcedure; //添加参数

SqlParameter Name = new SqlParameter(\"@Name\50);

Name.Value = P_Str_Name; myCmd.Parameters.Add(Name);

SqlParameter Password = new SqlParameter(\"@Password\SqlDbType.VarChar, 50);

Password.Value = P_Str_Password; myCmd.Parameters.Add(Password);

SqlParameter returnValue = myCmd.Parameters.Add(\"returnValue\

SqlDbType.Int, 4);

returnValue.Direction = ParameterDirection.ReturnValue; //执行过程 myConn.Open(); try {

17

myCmd.ExecuteNonQuery(); }

catch (Exception ex) {

throw (ex); } finally {

myCmd.Dispose(); myConn.Close(); }

int P_Int_returnValue =

Convert.ToInt32(returnValue.Value.ToString());

return P_Int_returnValue; }

4.3用户界面设计

用户注册代码

///

/// 向用户表中插入信息 ///

/// 会员名 /// 性别 /// 密码 /// 真实姓名 /// 找回密码问题 /// 找回密码答案 /// 电话号码 /// E_Mail /// 会员所在城市 /// 会员详细地址 /// 邮编

/// 预付金额

18

/// 登录日期

public int AddUInfo(string P_Str_Name, bool P_Bl_Sex, string

P_Str_Password, string P_Str_TrueName, string P_Str_Questions, string P_Str_Answers, string P_Str_Phonecode, string P_Str_Emails, string P_Str_City, string P_Str_Address, string P_Str_PostCode) {

SqlConnection myConn = dbObj.GetConnection();

SqlCommand myCmd = new SqlCommand(\"Pr_InsertUInfo\myCmd.CommandType = CommandType.StoredProcedure; //添加参数

SqlParameter Name = new SqlParameter(\"@Name\50);

Name.Value = P_Str_Name; myCmd.Parameters.Add(Name);

SqlParameter sex = new SqlParameter(\"@sex\sex.Value = P_Bl_Sex; myCmd.Parameters.Add(sex);

SqlParameter Password = new SqlParameter(\"@Password\SqlDbType.VarChar, 50);

Password.Value = P_Str_Password; myCmd.Parameters.Add(Password);

SqlParameter TrueName = new SqlParameter(\"@TrueName\SqlDbType.VarChar, 50);

TrueName.Value = P_Str_TrueName; myCmd.Parameters.Add(TrueName);

SqlParameter Questions = new SqlParameter(\"@Questions\

SqlDbType.VarChar, 50); Questions.Value = P_Str_Questions; myCmd.Parameters.Add(Questions);

19

SqlParameter Answers = new SqlParameter(\"@Answers\SqlDbType.VarChar, 50);

Answers.Value = P_Str_Answers; myCmd.Parameters.Add(Answers);

SqlParameter Phonecode = new SqlParameter(\"@Phonecode\

SqlDbType.VarChar, 20); Phonecode.Value = P_Str_Phonecode; myCmd.Parameters.Add(Phonecode);

SqlParameter Emails = new SqlParameter(\"@Emails\SqlDbType.VarChar, 50);

Emails.Value = P_Str_Emails; myCmd.Parameters.Add(Emails);

SqlParameter City = new SqlParameter(\"@City\50);

City.Value = P_Str_City; myCmd.Parameters.Add(City);

SqlParameter Address = new SqlParameter(\"@Address\SqlDbType.VarChar, 200);

Address.Value = P_Str_Address; myCmd.Parameters.Add(Address);

SqlParameter PostCode = new SqlParameter(\"@PostCode\SqlDbType.Char, 10);

PostCode.Value = P_Str_PostCode; myCmd.Parameters.Add(PostCode);

SqlParameter MemberId = myCmd.Parameters.Add(\"@MemberId\

SqlDbType.BigInt, 8);

MemberId.Direction = ParameterDirection.Output; //执行过程 myConn.Open(); try {

20

myCmd.ExecuteNonQuery(); }

catch (Exception ex) {

throw (ex); } finally {

myCmd.Dispose(); myConn.Close(); }

return Convert.ToInt32(MemberId.Value.ToString()); }

用户登录

protected void btnLoad_Click(object sender, EventArgs e) {

Session[\"UID\"] = null; Session[\"Username\"] = null;

if (txtName.Text.Trim() == \"\" || txtPassword.Text.Trim() == \"\") {

Response.Write(\"\");

} else {

if (txtValid.Text.Trim() == lbValid.Text.Trim()) {

int P_Int_IsExists = uiObj.UserExists(txtName.Text.Trim(),

txtPassword.Text.Trim()); if (P_Int_IsExists == 100) {

DataSet ds = uiObj.ReturnUIDs(txtName.Text.Trim(),

txtPassword.Text.Trim(), \"UserInfo\");

Session[\"UID\"] = Convert.ToInt32(ds.Tables[\"UserInfo\"].

Rows[0][0].ToString()); Session[\"Username\"] =

ds.Tables[\"UserInfo\"].Rows[0][1].ToString();

21

Response.Redirect(\"index.aspx\"); } else {

Response.Write(\"\"); } } else {

Response.Write(\"\");

}

} }

购物车代码

///

/// 向购物车中添加信息 ///

/// 图书编号 /// 会员价格 /// 会员编号

public void AddShopCart(int P_Int_BookID, float P_Flt_MemberPrice, int P_Int_MemberID) {

SqlConnection myConn = dbObj.GetConnection();

SqlCommand myCmd = new SqlCommand(\"Pr_InsertShopCart\myCmd.CommandType = CommandType.StoredProcedure; //添加参数

SqlParameter BookID = new SqlParameter(\"@BookID\8);

22

BookID.Value = P_Int_BookID; myCmd.Parameters.Add(BookID);

SqlParameter MemberPrice = new SqlParameter(\"@SumPrice\SqlDbType.Float, 8);

MemberPrice.Value = P_Flt_MemberPrice; myCmd.Parameters.Add(MemberPrice);

SqlParameter MemberID = new SqlParameter(\"@MemberID\SqlDbType.BigInt, 8);

MemberID.Value = P_Int_MemberID; myCmd.Parameters.Add(MemberID); //执行过程 myConn.Open(); try {

myCmd.ExecuteNonQuery(); }

catch (Exception ex) {

throw (ex); } finally {

myCmd.Dispose(); myConn.Close(); } }

///

/// 显示购物车中的信息 ///

/// 信息表名 /// 控件名

/// 会员编号

23

public void SCIBind(string P_Str_srcTable, GridView gvName, int P_Int_MemberID) {

SqlConnection myConn = dbObj.GetConnection();

SqlCommand myCmd = new SqlCommand(\"Pr_GetShopCart\myCmd.CommandType = CommandType.StoredProcedure; //添加参数

SqlParameter MemberID = new SqlParameter(\"@MemberID\SqlDbType.BigInt, 8);

MemberID.Value = P_Int_MemberID; myCmd.Parameters.Add(MemberID); //执行过程 myConn.Open(); try {

myCmd.ExecuteNonQuery(); }

catch (Exception ex) {

throw (ex); } finally {

myCmd.Dispose(); myConn.Close(); }

SqlDataAdapter da = new SqlDataAdapter(myCmd); DataSet ds = new DataSet(); da.Fill(ds, P_Str_srcTable);

gvName.DataSource = ds.Tables[P_Str_srcTable].DefaultView; gvName.DataBind(); }

///

/// 返回合计总数的Ds

24

///

/// 信息表名 /// 员工编号 /// 返回合计总数的Ds

public DataSet ReturnTotalDs(int P_Int_MemberID, string P_Str_srcTable) {

SqlConnection myConn = dbObj.GetConnection();

SqlCommand myCmd = new SqlCommand(\"Pr_TotalInfo\myCmd.CommandType = CommandType.StoredProcedure; //添加参数

SqlParameter MemberID = new SqlParameter(\"@MemberID\SqlDbType.BigInt, 8);

MemberID.Value = P_Int_MemberID; myCmd.Parameters.Add(MemberID); //执行过程 myConn.Open(); try {

myCmd.ExecuteNonQuery(); }

catch (Exception ex) {

throw (ex); } finally {

myCmd.Dispose(); myConn.Close(); }

SqlDataAdapter da = new SqlDataAdapter(myCmd); DataSet ds = new DataSet(); da.Fill(ds, P_Str_srcTable); return ds;

25

}

4.4 后台管理界面的设计

管理员登录后台代码

protected void btnLogin_Click(object sender, EventArgs e) {

if (txtAdminName.Text.Trim() == \"\" || txtAdminPwd.Text.Trim() == \"\") {

Response.Write(\"\"); } else {

if (txtAdminCode.Text.Trim() ==

Session[\"Valid\"].ToString().Trim()) {

int P_Int_IsExists =

mcObj.AExists(txtAdminName.Text.Trim(),

txtAdminPwd.Text.Trim());

if (P_Int_IsExists == 100) {

DataSet ds = mcObj.ReturnAIDs(txtAdminName.Text.Trim(),

txtAdminPwd.Text.Trim(), \"AInfo\"); Session[\"AID\"] =

Convert.ToInt32(ds.Tables[\"AInfo\"].Rows[0][0].ToStrin

g());

Session[\"Aname\"] =

ds.Tables[\"AInfo\"].Rows[0][1].ToString();

Response.Write(\"\");

} } else {

Response.Write(\"\");

} } }

后台设计

后台的设计主要分为6大块:订单管理、管理员管理、会员管理、物流管理、图书管理和图片管理。

(1) 订单管理模块主要实现的是对订单信息的审核,如果订单信息不合格,可以进行删除。此模块中加入了订单的搜索,以便查看特定订单的信息。可以更改订单的状态:是否已确认、是否已付款、是否已发货和是否已归档。 (2) 管理员管理和会员管理模块的主要实现的是管理员和用户的添加、修改和删除。

(3) 物流管理模块主要实现的是支付方式管理、配送方式管理、配送地点管理。 (4) 图书管理模块主要实现的是图书和图书类别信息的添加、修改和删除。 (5) 图片管理模块主要实现的是图书和图书类别相关图片的添加和删除。

如图4-2所示,为后台图书管理页面,管理员可以查看图书相关信息,可以对图书进行信息修改和删除操作。

27

图4-2 图书管理页面

如图4-3所示,为后台订单管理页面,管理员可以对定单进行核实,也可以删除相应的订单信息。

图4-3 订单管理页面

28

如图4-4所示,为图片管理页面,管理员可以进行图片的上传和删除操作。

图4-4 图片管理页面

4.5 系统详细设计的总结

系统的详细设计包括了系统总体实现、首页设计和编码、用户界面设计和后台管理界面的设计。

5 总结和展望

5.1 整个设计系统的总结

该系统在设计前期,进行了大量的需求分析,设计过程中也尽可能地与实际应用相吻合,所以该系统具有强大的实用价值,完全能够实现一个实际的网上书店应用系统所应具备的各种功能。在设计过程中学习借鉴其他的优秀软件,取长补短。到使用广智、格敏思、教与学的书店进行学习研究,参考当当网、卓越网、淘宝网等较好的网上书店,选择适当的设计软件、数据库软件,吸取其精华为我所用,可以使系统的开发过程少走弯路,事实证明,这是完全应该的。

5.2 系统的展望

由于软、硬件设施的配置等限制因素,这个系统还不尽完善,有许多地方还有待改进与完善。使用过程中发现本系统还是有美中不足,今后需要完善的地方主要有以下几个方面:

29

一、增强数据导出功能; 二、实现个性化打印报表的功能;

三、完善租借功能,对注册用户进行积分的等级划分; 四、进一步完善系统的完全性。 优点:可操作性强、开发成本低等。

总结

通过本次的系统开发,我深刻地认识到信息系统开发的每一步都是以上一步为基础的。因此每一步文档的编写都必须正确、完整,否则就会给下一步的工作带来不必要的麻烦,加大工作量。因为系统是为用户服务的,所以要充分了解用户的需求,考虑用户的特点和使用方面的习惯,以协调人机关系。在系统实施中应结合各方面的要求,尽可能选择自己熟悉的程序设计语言。系统测试中要根据实际情况设计有效的测试方法。 在系统设计过程中,从用户的角度出发,在系统的可用性和易用性上做了很多功夫,力求能达到最好的效果。但由于我的编程实现能力和毕业设计的时间都有限,我对网上书店这一系列工作的具体内容也不是特别地了解,所以目前我还不能把网上书店这个系统较为完善地实现出来,希望以后有机会能够弥补这个遗憾。

能够顺利的完成这次毕业设计,也得益于指导教师的帮助,在他们的帮助下,通过到网上查资料,借阅图书等一些途径,使困难很快的得到解决。

短短的两个月,终于按照设计说明书的要求完成了自己的毕业设计,由于时间有限、自身知识水平不足,我的设计还难免存在着很多不足的地方,请各位老师给予指正和提出宝贵的建议,我坚信在今后的工作中我会做得更好。

30

参考文献

[1] 梁春晓.电子商务应用[M].北京:电子工业出版社,2001,20~64。

[2] 张文增,赵东斌,孙振国等.ASP.NET动态网页开发趋势[J].计算机工程,2002,28(3). [4] 郑耀东.精通ASP.NET 2.0的Web 2.0应用.2007年 9月,第1版,38~40,人民邮电出版社。

[5] 吕洋波.ASP.NET 2.0宝典.2007年4月,第1版,57~60,电子工业出版社。

[6] 黄晓珍. 浅谈新华书店图书发行现状及对策 [J]. 广西财政高等专科学校学报. 2004 (S1)。

[7] 张毅. 网上书店的设计和实现 [J]. 内江科技. 2004 (02)。

[8] 李逸平. 网络经济环境下网上书店品牌塑造研究 [D]. 电子科技大学. 2003,27~30。 [9] 杨婷. 满足需求——网上书店生命之源[N]. 光明日报. 2001 (C01)。

[10] 谭明清. 基于.NET架构网上书店的设计与实现 [D]. 北京邮电大学. 2011,29~40。 [11] 关键. 网上书店系统设计与实现 [D]. 吉林大学. 2011,18~20。 [12] 陆雅婷. 网上书店的设计和实现 [D]. 华东师范大学. 2011,31~32。 [13] 廖勇. 网上书店的设计与实现 [D]. 南京理工大学. 2007,9~12 。

[14] 刘金魁. 基于ASP.NET的网上书店系统的设计与实现 [D]. 南京理工大学. 2010,8~28。

[15] 耿倩.基于Web的网上书店管理系统设计 [J]. 科技信息. 2009 (20)。

31

致 谢

大学4年的学习生活即将结束,在这4年的学习生涯中得到了许多人的关心和帮助,在此,我要衷心感谢所有曾经教导过我的老师和关心过我的同学,他们在我成长的过程中给予了我很大的帮助。

经过近几个月的忙碌,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及同学们的支持,想要完成这个设计是难以想象的。

这次做毕业设计的经历也会使我受益良多,我感受到做毕业设计是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。不积跬步何以至千里。

本设计能够顺利的完成,要特别感谢帮助我完成毕业设计的指导老师陆超泽的关怀和教导,他对我的毕业设计提出了很多的建议,还给我提供了大量的资料。他严谨的治学态度、诲人不倦的教学作风给我留下了深刻的印象。此外还要感谢各位任课老师,正是他们平时的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以体现。正是有了他们的悉心帮助和支持,才使我的毕业设计工作顺利完成,在此向全体老师表示由衷的谢意,感谢他们四年来的辛勤栽培。

32

因篇幅问题不能全部显示,请点此查看更多更全内容