搜档网
当前位置:搜档网 › WEB课程设计——网上书店管理系统报告

WEB课程设计——网上书店管理系统报告

WEB课程设计——网上书店管理系统报告
WEB课程设计——网上书店管理系统报告

洛阳理工学院

课程设计报告

课程名称Web程序设计课程设计

设计题目______________________________ 专业计算机科学与技术

班级______________________________ 学号______________________________ 姓名______________________________ 完成日期2014.6.27

课程设计任务书

设计题目:_______________________________________________ _________________________________________________________ 设计内容与要求:

指导教师:

2014年6 月19 日

课程设计评语

成绩:

指导教师:

年月日

目录

第1章需求分析 (2)

1.1系统需求分析 (2)

1.2用户需求分析 (2)

第2章数据库设计 (4)

2.1 数据库简介 (4)

2.1.1 Access数据库技术概述 (4)

2.1.2 数据库设计介绍 (4)

2.2 系统数据库设计 (5)

2.2.1 数据库概念设计 (5)

2.2.2 数据库逻辑结构 (7)

2.2.3 数据库表之间的关系设计 (9)

第3章概要设计 (10)

3.1总体结构设计 (10)

3.2功能模块清单 (11)

第4章详细设计与实现 (11)

4.1 主页设计 (12)

4.2 管理员模块 (13)

4.2.1 用户管理 (13)

4.2.2 图书管理 (13)

4.2.3 定单管理 (15)

4.3 会员模块 (16)

4.3.1 会员登录 (16)

4.3.2 会员注册 (17)

4.3.3 在线购物 (17)

4.3.4 分类查找 (18)

4.3.5 高级搜索 (19)

4.3.6 我的购物车 (20)

4.3.7 修改密码 (22)

4.3.8 修改资料 (22)

4.3.9 下定单 (23)

4.1 ×××××× (25)

4.1.1 ×××××× (25)

4.1.2 ×××××× (25)

第5章总结 (26)

参考文献 (1)

第1章需求分析

1.1系统需求分析

随着Internet国际互联网的发展,越来越多的企业开始建造自己的网站。基于Internet的信息服务、商务服务已经成为现代企业一项不可缺少的内容。很多企业都已不满足于建立一个简单的仅仅能够发布信息的静态网站。现代企业需要的是一个功能强大的,能提供完善的电子商务服务的动态商务网站。同时人们的生活方式也在随着发生改变,传统的购物方式已不能满足人们的需求。

本系统用Visual Studio 2008作为开发工具,应用Access数据库和https://www.sodocs.net/doc/f412920692.html,语言编写,构建了一个能实现基本的电子商务的小型动态商务网站——网上图书销售系统。该系统能实现用户的注册、登录功能;能够实现商品的查询,订购等功能。该系统基本上具备一个网上商品销售系统应该具备的常用功能。

信息时代的到来,使得信息技术、Internet/Intranet技术、数据库技术不断发展完善,网络进程加快,传统的购物方式也越来越不能满足人们快节奏的生活需求,企业的IT部门已经认识到Internet的优势,电子商务就是在这样一个背景下产生发展起来的。伴随着电子商务技术的不断成熟,电子商务的功能也越来越强大,注册用户可以在网上搜索购买到自己想要的各种商品,初步让人们体会到了足不出户,便可随意购物的快感。本次毕业设计内容正是一个电子商务系统的开发:网上图书销售系统。

1.2用户需求分析

本系统是一个由管理员及普通会员共同参与的系统,要求系统能够完成在线购物功能,同时还可完成与此相关的其他辅助功能。

首先,参加在线购物,身份验证非常重要,与此相关的系统管理模块须完成不同身份用户的身份验证。并对不同用户给予不同的权限。系统管理员不但具有添加删除用户角色及修改其信息的权限,还有用户所有的权限;用户身份可以登陆、查看和修改部分个人信息、进行在线购书、查看图书信息、查看及修改购物车中的商品等功能;

(1) 注册功能。顾客首先要注册为网上图书商城的用户。注册时需要填写登录用户名、密码等信息即可。注册后,用户可继续如实填写详细个人信息及收货人信息。

(2) 修改功能。用户可以修改个人资料。

(3) 选择产品功能。顾客浏览网上图书商城,将自己需求的产品放入到购物车中,可连续添加商品。

(4) 管理购物车。顾客选择完商品后可进入购物车页面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和清空整个购物车。

(5) 订单功能。顾客确定购物车中的商品后提交订单,则显示相应表单请其填写,系统记录顾客提交的收货人信息。

(6) 查询功能。可以更快地查找到需要购买的图书的信息;按图书分类及图书编号和名称进行模糊查询。

第2章数据库设计

2.1 数据库简介

2.1.1 Access数据库技术概述

Access是微软Office中一个极为重要的组成部分。起初Access是一个单独的产品,后来微软发现如果将Access捆绑在office中一起发售,将会带来更加可观的利润,于是Access第一次出现在office 97中,成为office 中的一个重要成员。现在它已经成为Office中不可缺少的部件了。

由于微软公司投入大量人力和资金进行技术改进和创新,Access的新版本功能已经变得越来越强大。随着版本的升级,Access的使用也变得越来越容易。以往很繁琐的工作现在只需几个很简单的步骤就可以高质高量地完成了。

很多人都误以为Access只能用来做数据存储,其实Access不但能用来做数据存储,还具有非常强大的前台界面开发功能,利用各种控件和VBA 语言,能开发出功能十分强大的软件系统,与此同时,廉价、易用更是其他任何开发工具所不能比拟的。因此人们可以利用它来解决大量的数据管理工作。

2.1.2 数据库设计介绍

在ASP中一般使用SQL Server或Access数据库。SQL Server运行稳定、效率高、速度快,但配置起来较困难,移植也较复杂,适合大型网站使用;Access配置简单、移植方便,但效率低,适合小型网站。

本系统选用Access来建立数据库,主要考虑到以下几点:

(1) Access数据库使用简单,移植方便;

(2)网上图书销售系统也就是一个小型的管理系统,根本就不需要用很大的数据库,Access数据库已绰绰有余;

(3) 如果将用Access数据库开发的应用程序或系统转化为SQL Server

数据库也非常简单,只要利用SQL Server 的导入功能将Access 数据库转化为SQL Server 数据库。并且https://www.sodocs.net/doc/f412920692.html, 中的SQL 语句采用的都是标准的SQL 语言,读取Access 数据库和读取SQL Server 数据库基本上一样,几乎不用改写,需要改写的就是连接数据库的语句。

鉴于以上原因,本在线考试系统选择用简单、移植方便的Access 数据库,具体的数据库设计在下面会一一介绍。

2.2 系统数据库设计

2.2.1 数据库概念设计

根据以上各节对系统所做的需求分析和系统设计,规划本系统中使用的数据库实体分别为图书实体、用户实体、购物车实体、定单实体。下面分别介绍几个关键实体的E-R 图。

图2-1 图书信息实体图E-R 图

图书

图书编号

图书单价

作者

图书分类

图书名称

出版社

出版日期

图2-2 用户信息实体图E-R图

图2-3 购物车信息实体图E-R图

图2-4 定单信息实体图E-R图

2.2.2 数据库逻辑结构

为了实现不同用户的登录、图书的管理、用户的管理、购物车的管理、定单的管理等功能,本系统建立了一个名为“tsxs”的数据库,其中包含了多个数据表, 各个表的具体结构设计如下:

表2-1 admin表

说明:本表用来存储用户角色的信息,供用户角色登陆时验证使用。user_id是用户序号,也是唯一的,是本表的主键;user_name是帐号,对于注册会员而言就是注册时的会员输入的会员名称,输入的字符至少是四位且只能是字母和数字。user_namec是用户的真实姓名,不可以是空;user_pass 是用户登陆时所用的密码,输入的字符不能少于2大于20;user_sex表示用户的性别;user_adds表示用户的地址,不可为空;user_mail用来存储用户的邮箱地址不可为空;user_tel用来存储用户的电话号码,不可为空。

表2-2 book表

说明:该表用来存储图书的信息。id:用来记录编号,表示编号,也确定了记录的唯一性,是主键;book_id:用来记录图书编号,表示图书的编号;book_name:用来存储图书名称;book_content:用来存储图书类型,表示该图书所属的种类。book_cash :用来存储图书的价格,表示该图书的单价;author:用来存储图书的作者,表示该图书的作者;book_date:用来存储图书的出版日期,表示该图书的出版时间;chubsh:用来存储图书的出版社,表示该图书的出版社;整个表用来存储图书的信息。

表2-3 basket表

说明:本表用来存储当前用户购物车中的信息。Book_id:购物车中图书的编号,是本表的主键;book_name:购物车中图书的名称,book_cash:购物车中图书的价格;book_count用来存储购物车中图书的数目;用来存储购物车中图书信息。

表2-4 user_order表

说明:该表用来存储定单与用户之间的信息。order_id:表示定单编号,

是本表的主键;user_namec:表示收获人的真实姓名,不可为空;user_mail:收货人的电子邮箱;user_tel:收货人的联系电话,不可为空;user_adds 收货人的地址,不可为空,便于发货;submit_date 下定单的日期。

表 2-5 o rdershop表

说明:该表用来存储定单与用户购买的图书的信息。order_id表示的是定单编号;book_id:表示购买的图书的编号;book_name:表示购买的图书的名称;book_count:表示购买的数量;book_cash:表示购买图书的价格。

2.2.3 数据库表之间的关系设计

为了更好地表示各表之间的关系,绘制了表间关系图;如图2-5所示。

图2-5 test数据库中各表之间的关系

第3章概要设计

3.1总体结构设计

图3-1 系统模块结构图

后台管理子系统功能:主要是管理人员和业务人员。业务人员主要是对图书的整理、分类和维护图书目录信息,增添新书入库,库存管理,客户管理以及订单管理,管理人员负责查看图书销售记录,录入新注册人员信息,修改业务人员信息并赋予相应权限。

前台购书子系统功能:主要是用户信息注册,身份验证,新书查询,图

书分类查询,可以了解相关图书的信息,还可以实现用户购买图书,注销登录等功能。

3.2功能模块清单

表3-1 功能模块清单

第4章详细设计与实现

4.1 主页设计

主页,是网站的招牌,其设计的好坏及美观特别重要。首先,进入网站的第一印象是清楚的导航。本网站的主题是在线图书销售系统,当然在首页应该让用户尽量浏览到更多的图书信息,所以在主页图书信息显示时,只显示一些简要的信息,同时设置了一个“详情”的链接,当点击“详情”链接时,可以显示当前图书的详细信息,以便用户更好地了解图书的相关信息。图书信息的布局采用的是DataList控件,主要代码如下。

<%#Container.DataItem("book_name")%>


编号:<%#container.dataitem("book_id") %>


作者:<%#Container.DataItem("author")%>

其设计效果如图4-1所示。

图4-1 主页界面设计图

4.2 管理员模块

管理员模块主要是管理员对整个系统进行管理与维护的部分,管理员具有最大的权利,不但拥有会员的权利,还有删除与管理用户的权限,会员用户只能查看或是修改一些基本的个人信息。当然管理员也可查看修改个人的信息。下面就来具体分析管理员模块的具体功能。

4.2.1 用户管理

此模块主要用来管理会员的信息,以及对所有用户的管理,可以删除和修改一些用户的信息。为了方便对用户信息的管理,设置了通过帐号查找快速定位的功能。其主要代码如下:

If account <> "" Then

sq = "select * from admin where user_name ='" & account & " '"

Else

sq = "select*from admin order by user_id asc "

End If

用户信息的显示用的是DataGrid控件。页面效果图如图4-2所示。

图4-2 用户信息管理页面图

4.2.2 图书管理

该模块是用来管理当前图书的所有信息,如果想要修改当前记录的信息

内容,点击后面的编辑,即可对该记录进行修改,修改完成后点击更新即可完成修改;点击取消即可取消更新的内容。如果想要删除某条记录,点击删除即可删除当前记录。点击上面的插入记录即可添加新的图书。同时为了方便于查询某项记录,设置了按书名查找图书信息的功能。实现更新、删除的功能,分别SQL语言中的Update、Delete语句。查找功能实现采用的是Select 语句。其主要代码:

Dim account, sq As String

account = TextBox1.Text

If account <> "" Then

sq = "select * from book where book_name ='" & account & " '"

Else

sq = "select*from book order by book_id asc "

End If

页面效果图如图4-3所示。

图4-3 图书管理页面图

点击插入记录添加新图书的添加页面效果图,插入记录的实现,靠SQL 语言的Insert语句来实现的,在插入图书信需要考虑到编号是否已存在,如果已经存在,则会提示:“该书已存在!”。当插入成功时会提示:“添加成功”。所以在实现该功能时首先对数据库中的图书信息进行查找验证。其主要代码如下:

sqltrl = "select*from book where book_id='" & TextBox7.Text & "'"

如果图书记录中没有出现和插入记录的ID重复的,再执行插入记录;插入成功时,提示:“添加成功!”否则提示“插入失败”。界面设计如图4-4所示。

图4-4 添加图书信息页面图

4.2.3 定单管理

定单管理主要是用来管理定单的,其中包含的有收货人的定单号,收货人的真实姓名,收货人的联系电话、电子邮箱、地址等信息。管理员可以做的操作是删除订单。删除当前记录主要代码如下:

sq1 = "delete from user_order where id =" &

MyDataGrid1.DataKeys(CInt(e.Item.ItemIndex))

其设计效果如图4-5所示。

图4-5 定单管理页面

4.3 会员模块

会员模块主要实现会员登录、会员注册、在线购物、分类查询、高级搜索、我的购物车、下订单等功能。各个功能的具体设计实现介绍如下。

4.3.1 会员登录

会员登录是防止非法用户登录的第一道防线,通过它可以保护后台数据库的安全性,当会员要进行购物时,首先要进入的就是身份验证界面,会员在成功登陆后进入系统的主界面。页面效果图如图4-6所示:

图4-6 会员登录页面

4.3.2 会员注册

会员注册页面的实现的关键是如何将文本框中的数据提取出来并存储在数据库中,以及如何避免用户名出现重名的情况。避免出现重名的主要代码为:

Dim sqltrl As String

sqltrl = "select*from admin where user_name='" & TextBox1.Text & "'" 同时为了确保注册资料的格式的正确性,使用了多种验证控件,比如:必填控件RequiredFiledValidator、验证密码与确认密码是否一致的比较控件CompareValidator、对用户名字符做限制的范围控件RangeValidator、以及对确认邮箱格式的正则控件RegularExpressionValidator等。会员填写完毕,且没有格式问题时,单击“提交”按钮时系统会自动将当前输入的信息记录添加到admin用户表中。页面效果图如图4-7所示。

图4-7 会员注册页面

4.3.3 在线购物

会员通过身份验证后进入主页,就可以开始进行购物,当你想要查看图书详细信息时,点击图书下的“详情”链接,即可查看当前图书的详细信息,输入你想购买的数量,单击“加入购物车”就可以把当前商品添加至“我的购物车”中。

点击“详情”链接显示图书详细信息的功能的实现过程如下:当在主页

相关主题