当前位置:文档之家› 网上书店设计与实现

网上书店设计与实现

大学网络教育学院毕业设计(论文)题目网上书店设计与实现学生所在校外学习中心校外学习中心批次层次专业 121专科起点本科计算机科学与技术学号 W12111558学生吴清指导教师屈松起止日期2013 年7月1日至 2013年8月21日止摘要网上书店系统是一个基于技术和SQL Server数据库开发的系统。

本论文首先介绍了网上书店系统开发的背景,然后详细描述了系统分析和数据库设计,最后又详细介绍了网上书店系统的模块设计与实现。

通过本系统管理员可以通过Web浏览器进入后台,实现网上图书添加、删除、图书分类管理及定单管理、用户管理等功能和用户登录、注册,在站进行搜索等功能。

系统运行后,操作界面简单流畅,实用性强。

关键词:网上书店数据库目录摘要 (II)1 绪论 (1)1.1 课题背景 (1)1.2 开发目标 (1)2 系统分析 (2)2.1 需求分析 (2)2.2 可行性分析 (2)2.2.1 需求可行性 (2)2.2.2 技术可行性 (2)3 总体设计 (4)3.1 设计方案 (4)3.2 数据库设计 (4)3.2.1 数据库概念设计 (4)3.2.2 数据库E-R图 (5)3.2.3 数据库逻辑结构设计 (5)3.3模块划分 (7)4 实现数据库访问层 (11)4.1 一般数据库操作的封装 (11)4.2存储过程操作的封装 (13)5 详细设计与实现 (15)5.1 用户管理模块 (15)5.1.1 用户注册 (15)5.1.2 用户登录 (17)5.1.3 找回丢失密码 (18)5.1.4 修改个人信息 (19)5.2 图书管理模块 (20)5.2.1 管理图书类别 (20)5.2.2 添加、删除、修改图书信息 (21)5.2.3 列表显示图书 (22)5.2.4 搜索图书 (23)5.3 购物车管理模块 (25)5.3.1 查看购物列表 (25)5.3.2 结账 (26)5.4 订单管理模块 (27)5.4.1 客户订单管理 (28)5.4.2 管理员订单管理 (29)5.5 后台管理模块 (31)5.5.1 查询用户信息 (32)5.5.2 查询销售情况 (33)6 系统测试 (35)6.1 单元测设 (35)6.2 集成测试 (35)结论 (37)致 (33)参考文献 (39)1 绪论1.1 课题背景随着网络技术的迅猛发展,越来越多的人热衷于上网,网上购物俨然已成为一种时尚和潮流。

人们只要打开电脑,轻点鼠标,登录到购物,即可突破地域的限制,恣意遨游于信息的海洋。

书籍作为一种文化的载体、智慧的结晶,也加入到了网络购物的热潮之中,越来越多的网上书店诞生了,并且生机勃勃。

1.2 开发目标在Visual Studio 2010开发工具和SQL Server 2008数据库软件基础上,采用 语言,开发一套网上书店系统,实现管理员可以通过Web浏览器进入后台,实现网上图书添加、删除、图书分类管理及定单管理、用户管理等功能,以及用户登录、注册,在站进行搜索等功能。

2 系统分析2.1 需求分析网上书店系统包括如下基本功能:●用户注册和登录:为用户提供注册、登录、找回丢失密码、修改个人信息等功能。

●图书信息查询及管理:对信息进行灵活的分类、存储,方便用户迅速从少则几万,多则几十万甚至上百万种图书中找出自己所需图书。

●购物车管理:用语存储用户选择好的图书,完成购物后可以自动生成订单以供管理者进行管理。

●订单管理:为用户提供订单查询功能,同时为管理者提供订单查询功能及处理功能。

●后台管理:为管理者提供用户信息查询和销售情况查询等功能。

2.2 可行性分析2.2.1 需求可行性网上书店为人们提供了诸多方便。

●更加广阔的环境:人们不受时间、空间的限制,不受传统购物的诸多限制,可随时随在网上交易。

●更加广阔的市场:在网上这个世界将会变得很小,一个商家可以面对全球的消费者,而一个消费者可以在全球的任何一家商家购物。

●更加快速的流通和低廉的价格:电子商务减少了商品流通的中间环节,节省大量开支,从而大大降低了商品流通和交易成本。

●更加符合时代要求:如今人们越来越追求时尚、讲究个性,注重购物的环境,网上购物,更能体现个性化的购物过程。

综合应用所学知识,构建网上书店系统,并重点实现网上书店系统所涉及的功能,从而使本人把所学的理论知识能够很好的运用到实践当中。

2.2.2 技术可行性近年来随着Internet技术的飞速发展及用户需求的不断升级,Web页面技术也不断的推出新,使得Web站点的功能越来越强大,能够提供的服务种类越来越繁多。

从HTML、Client Script 到CGI,从JAVA的诞生到ActiveX, Web页面设计人员不断受到冲击,微软公司在总结了以往技术,重新思考Web页面设计的真正需要后,推出了Active Server Pages (ASP),一种用以取代CGI(Common Gateway Interface,通用网关接口)的技术。

简单讲,ASP是位于服务器端的脚本运行环境,通过这种环境,用户可以创建和运行动态的交互式 Web 服务器应用程序,如交互式的动态网页,包括使用 HTML 表单收集和处理信息,上传与下载等等。

更重要的是,ASP使用的ActiveX技术基于开放设计环境,用户可以自己定义和制作组件加入其中,使自己的动态网页几乎具有无限的扩充能力,这是传统的Web编写工具所远远不及的地方。

使用ASP还有个好处,就在于ASP可利用ADO(Active Data Object,微软的一种新的数据访问模型)方便快捷地访问数据库,从而使得开发基于WWW的应用系统成为可能,这也是本系统选择ASP作为开发工具最重要的原因之一。

3 总体设计3.1 设计方案为实现需求分析中所提到的网上书店的功能,本系统分为4层,分别为表示层(由 Web 窗体组成,主要用于显示信息和与用户交互)、商务逻辑层(用于抽象表示层功能,为表示层提供服务)、数据访问层(为商务逻辑层提供访问数据库系统的接口)和系统数据库。

表示层页面包括3类:用户处理相关图书信息的Book*.aspx、用于处理用户信息的User*.aspx页面、用于实现管理的Manage*.asp页面。

商务逻辑层包含Book.cs、User.cs、ShopCart.cs、Order.cs、Admin.cs文件,分别封装了为实现对图书、用户、购物车、订单、管理进行操作而需要的方法。

该层可以直接访问数据访问层,并为表示层提供了访问接口,起到了表示层和数据访问层的桥梁的作用。

数访问层包含了SqlAcess.cs文件,封装了对SQL Server2008数据库中数据的读取和对储存过程的操作。

图3.1 系统分层图3.2 数据库设计3.2.1 数据库概念设计该系统的数据库中涉及到的实体有:图书、用户、购物车、订单。

图书的属性有:图书类别、图书名称、图书作者、图书译者、图书、图书价格、图书封面、图书介绍。

用户的属性有:用户角色、用户名称、用户真名、用户密码、用户、用户提示问题、提示问题答案。

购物车的属性有:图书编号、图书名称、图书价格、购书数量。

订单的属性有:订单日期、订单总额、所购图书名称、所购图书单价、所购图书数量。

3.2.2 数据库E-R图图3.2 数据库E-R图3.2.3 数据库逻辑结构设计本系统是典型的电子商务系统,数据库包含6个表。

①图书类别表(e-BookCategory)的图书种类繁多,用图书类别表存储图书种类信息,可以简化图书管理。

该表字段说明如下表3.1所示:表3.1 图书类别表字段名类型长度允许空键值备注CategoryId int 4 否是图书类别ID CategoryName nvarchar 50 是否图书类别名称②图书信息表(e-Booklnfo)图书信息表存储图书具体信息,该表引用BookCategory表的CategoryId字段作为外键,具体字段说明如下表3.2所示:表3.2 图书信息表③订单表(e-Order)订单表用以存储用户订单,引用Userlnfo表中的UserId字段作为外键,其具体字段容如下表3.3所示。

表3.3 订单表④订单信息表(e-Orderlnfo)订单信息表包含具体订单信息,引用BookInfo表的BookId作为外键,具体字段说明如下表3.4所示:表3.4 订单信息表⑤购物车表(e-ShopCart)购物车表主要存储用户购物车信息,该表引用Booklnfo表的BookId作为外键,其具体字段说明如下表3.5所示:表3.5 购物车表⑥用户信息表(e-Userlnfo)用户信息表主要用于储存用户信息,字段说明如下表3.6所示。

表3.6 用户信息表3.3模块划分该系统的整体模块组织图所示。

图3.3 管理员功能设计图图3.4普通用户功能设计图该系统为普通用户和管理员提供了不同的操作界面,为普通用户设计的操作界设计面如下图3.5所示,为管理员设计的操作界设计面如图3.6所示。

图3.5 普通用户界面设计图图3.6 管理员操作界面图普通用户界面划分为修改信息、修改密码、管理购物车、管理订单、搜索等模块,管理员界面划分为修改信息、修改密码、管理图书类别、增加图书、管理图书信息、管理订单、管理用户信息、查询销售信息和搜索等模块。

4 实现数据库访问层在动态网页设计中,很多都要涉及到对数据库的操作,这是一件枯燥、费时、而且容易出错的工作,如果使用类来实现对数据库操作的封装,就可以使写出的程序在很小的改动下完成后台数据库的操作。

4.1 一般数据库操作的封装SqlAcess.cs文件中封装了对一般数据库的操作,下面简单介绍下该文件中的主要数据库访问函数。

●ExecuteNonQuery函数该函数执行Sql命令,参数为连接字符串connString、命令类型cmdType、存储过程名称或T-SQL命令cmdText、SQL参数组cmdParms,返回值为受影响的行数val。

public static int ExecuteNonQuery(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms){SqlCommand cmd = new SqlCommand(); //定义SqlCommand对象using (SqlConnection conn = new SqlConnection(connString)) //定义SqlConnection对象{PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);//调用PrepareCommand方法int val = cmd.ExecuteNonQuery(); //调用执行查询方法cmd.Parameters.Clear(); //清空参数return val; //返回val}}●ExecuteReader函数该函数执行Sql命令,参数为连接字符串connString、命令类型cmdType、存储过程名称或T-SQL命令cmdText、SQL参数组cmdParms,返回值为SqlDataReader数据集。

相关主题