WEB课程设计网上书店管理系统报告.docx
- 文档编号:24247610
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:26
- 大小:1.37MB
WEB课程设计网上书店管理系统报告.docx
《WEB课程设计网上书店管理系统报告.docx》由会员分享,可在线阅读,更多相关《WEB课程设计网上书店管理系统报告.docx(26页珍藏版)》请在冰豆网上搜索。
WEB课程设计网上书店管理系统报告
洛阳理工学院
课程设计报告
课程名称Web程序设计课程设计
设计题目______________________________
专业计算机科学与技术
班级______________________________
学号______________________________
姓名______________________________
完成日期2014.6.27
课程设计任务书
设计题目:
_______________________________________________
_________________________________________________________
设计内容与要求:
指导教师:
2014年6月19日
课程设计评语
成绩:
指导教师:
年月日
目 录
第1章需求分析
1.1系统需求分析
随着Internet国际互联网的发展,越来越多的企业开始建造自己的网站。
基于Internet的信息服务、商务服务已经成为现代企业一项不可缺少的内容。
很多企业都已不满足于建立一个简单的仅仅能够发布信息的静态网站。
现代企业需要的是一个功能强大的,能提供完善的电子商务服务的动态商务网站。
同时人们的生活方式也在随着发生改变,传统的购物方式已不能满足人们的需求。
本系统用VisualStudio2008作为开发工具,应用Access数据库和语言编写,构建了一个能实现基本的电子商务的小型动态商务网站——网上图书销售系统。
该系统能实现用户的注册、登录功能;能够实现商品的查询,订购等功能。
该系统基本上具备一个网上商品销售系统应该具备的常用功能。
信息时代的到来,使得信息技术、Internet/Intranet技术、数据库技术不断发展完善,网络进程加快,传统的购物方式也越来越不能满足人们快节奏的生活需求,企业的IT部门已经认识到Internet的优势,电子商务就是在这样一个背景下产生发展起来的。
伴随着电子商务技术的不断成熟,电子商务的功能也越来越强大,注册用户可以在网上搜索购买到自己想要的各种商品,初步让人们体会到了足不出户,便可随意购物的快感。
本次毕业设计内容正是一个电子商务系统的开发:
网上图书销售系统。
1.2用户需求分析
本系统是一个由管理员及普通会员共同参与的系统,要求系统能够完成在线购物功能,同时还可完成与此相关的其他辅助功能。
首先,参加在线购物,身份验证非常重要,与此相关的系统管理模块须完成不同身份用户的身份验证。
并对不同用户给予不同的权限。
系统管理员不但具有添加删除用户角色及修改其信息的权限,还有用户所有的权限;用户身份可以登陆、查看和修改部分个人信息、进行在线购书、查看图书信息、查看及修改购物车中的商品等功能;
(1)注册功能。
顾客首先要注册为网上图书商城的用户。
注册时需要填写登录用户名、密码等信息即可。
注册后,用户可继续如实填写详细个人信息及收货人信息。
(2)修改功能。
用户可以修改个人资料。
(3)选择产品功能。
顾客浏览网上图书商城,将自己需求的产品放入到购物车中,可连续添加商品。
(4)管理购物车。
顾客选择完商品后可进入购物车页面,查看自己要购买的商品,可修改某一商品数量、取消购买某商品和清空整个购物车。
(5)订单功能。
顾客确定购物车中的商品后提交订单,则显示相应表单请其填写,系统记录顾客提交的收货人信息。
(6)查询功能。
可以更快地查找到需要购买的图书的信息;按图书分类及图书编号和名称进行模糊查询。
第2章数据库设计
2.1数据库简介
2.1.1Access数据库技术概述
Access是微软Office中一个极为重要的组成部分。
起初Access是一个单独的产品,后来微软发现如果将Access捆绑在office中一起发售,将会带来更加可观的利润,于是Access第一次出现在office97中,成为office中的一个重要成员。
现在它已经成为Office中不可缺少的部件了。
由于微软公司投入大量人力和资金进行技术改进和创新,Access的新版本功能已经变得越来越强大。
随着版本的升级,Access的使用也变得越来越容易。
以往很繁琐的工作现在只需几个很简单的步骤就可以高质高量地完成了。
很多人都误以为Access只能用来做数据存储,其实Access不但能用来做数据存储,还具有非常强大的前台界面开发功能,利用各种控件和VBA语言,能开发出功能十分强大的软件系统,与此同时,廉价、易用更是其他任何开发工具所不能比拟的。
因此人们可以利用它来解决大量的数据管理工作。
2.1.2数据库设计介绍
在ASP中一般使用SQLServer或Access数据库。
SQLServer运行稳定、效率高、速度快,但配置起来较困难,移植也较复杂,适合大型网站使用;Access配置简单、移植方便,但效率低,适合小型网站。
本系统选用Access来建立数据库,主要考虑到以下几点:
(1)Access数据库使用简单,移植方便;
(2)网上图书销售系统也就是一个小型的管理系统,根本就不需要用很大的数据库,Access数据库已绰绰有余;
(3)如果将用Access数据库开发的应用程序或系统转化为SQLServer数据库也非常简单,只要利用SQLServer的导入功能将Access数据库转化为SQLServer数据库。
并且ASP.NET中的SQL语句采用的都是标准的SQL语言,读取Access数据库和读取SQLServer数据库基本上一样,几乎不用改写,需要改写的就是连接数据库的语句。
鉴于以上原因,本在线考试系统选择用简单、移植方便的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-1admin表
字段名称
数据类型
字段大小
user_id
自动编号
长整型
user_num
文本
50
user_pass
文本
50
user_mail
文本
50
user_namec
文本
50
user_sex
文本
50
user_tel
文本
50
user_adds
文本
50
user_mail
文本
50
说明:
本表用来存储用户角色的信息,供用户角色登陆时验证使用。
user_id是用户序号,也是唯一的,是本表的主键;user_name是帐号,对于注册会员而言就是注册时的会员输入的会员名称,输入的字符至少是四位且只能是字母和数字。
user_namec是用户的真实姓名,不可以是空;user_pass是用户登陆时所用的密码,输入的字符不能少于2大于20;user_sex表示用户的性别;user_adds表示用户的地址,不可为空;user_mail用来存储用户的邮箱地址不可为空;user_tel用来存储用户的电话号码,不可为空。
表2-2book表
字段名称
数据类型
字段大小
Id
自动编号
长整型
book_id
文本
50
book_name
文本
50
book_content
文本
50
book_cash
数字
长整型
Author
文本
50
book_date
日期
———
chubsh
文本
50
说明:
该表用来存储图书的信息。
id:
用来记录编号,表示编号,也确定了记录的唯一性,是主键;book_id:
用来记录图书编号,表示图书的编号;book_name:
用来存储图书名称;book_content:
用来存储图书类型,表示该图书所属的种类。
book_cash:
用来存储图书的价格,表示该图书的单价;author:
用来存储图书的作者,表示该图书的作者;book_date:
用来存储图书的出版日期,表示该图书的出版时间;chubsh:
用来存储图书的出版社,表示该图书的出版社;整个表用来存储图书的信息。
表2-3basket表
字段名称
数据类型
字段大小
id
自动编号
长整型
book_id
文本
50
book_name
文本
50
book_cash
文本
50
book_count
数字
长整型
说明:
本表用来存储当前用户购物车中的信息。
Book_id:
购物车中图书的编号,是本表的主键;book_name:
购物车中图书的名称,book_cash:
购物车中图书的价格;book_count用来存储购物车中图书的数目;用来存储购物车中图书信息。
表2-4user_order表
字段名称
数据类型
字段大小
id
自动编号
长整型
order_id
文本
50
user_namec
文本
50
user_mail
文本
50
user_tel
文本
50
user_adds
文本
50
submit_date
日期
——
说明:
该表用来存储定单与用户之间的信息。
order_id:
表示定单编号,是本表的主键;user_namec:
表示收获人的真实姓名,不可为空;user_mail:
收货人的电子邮箱;user_tel:
收货人的联系电话,不可为空;user_adds收货人的地址,不可为空,便于发货;submit_date下定单的日期。
表2-5ordershop表
字段名称
数据类型
字段大小
id
自动编号
长整型
order_id
文本
50
book_id
文本
50
book_name
文本
50
book_count
文本
50
book_cash
货币
——
说明:
该表用来存储定单与用户购买的图书的信息。
order_id表示的是定单编号;book_id:
表示购买的图书的编号;book_name:
表示购买的图书的名称;book_count:
表示购买的数量;book_cash:
表示购买图书的价格。
2.2.3数据库表之间的关系设计
为了更好地表示各表之间的关系,绘制了表间关系图;如图2-5所示。
图2-5test数据库中各表之间的关系
第3章概要设计
3.1总体结构设计
M8
图3-1系统模块结构图
后台管理子系统功能:
主要是管理人员和业务人员。
业务人员主要是对图书的整理、分类和维护图书目录信息,增添新书入库,库存管理,客户管理以及订单管理,管理人员负责查看图书销售记录,录入新注册人员信息,修改业务人员信息并赋予相应权限。
前台购书子系统功能:
主要是用户信息注册,身份验证,新书查询,图书分类查询,可以了解相关图书的信息,还可以实现用户购买图书,注销登录等功能。
3.2功能模块清单
表3-1功能模块清单
模块编号
模块名称
模块功能描述
M1
登陆模块
用于管理员登陆管理系统
M2
管理图书模块
用于管理员对用户和书本的管理
M3
注册模块
主要实现用户信息注册
M4
登陆和注销模块
用于用户登陆和注销
M5
查询图书模块
图书查询
M6
购物车模块
针对每一个网上购物的用户提供一个虚拟的购物车,用户可随时查看,添加,删除,修改所选中的图书
M7
确认订单模块
用户可以选择并修改订单中的相关订购信息,并提交订单,得到确认信息
M8
个人账户模块
用于修改个人信息,查看订单历史和订单状态
第4章详细设计与实现
4.1主页设计
主页,是网站的招牌,其设计的好坏及美观特别重要。
首先,进入网站的第一印象是清楚的导航。
本网站的主题是在线图书销售系统,当然在首页应该让用户尽量浏览到更多的图书信息,所以在主页图书信息显示时,只显示一些简要的信息,同时设置了一个“详情”的链接,当点击“详情”链接时,可以显示当前图书的详细信息,以便用户更好地了解图书的相关信息。
图书信息的布局采用的是DataList控件,主要代码如下。
<%#Container.DataItem("book_name")%>
编号:
<%#container.dataitem("book_id")%>
作者:
<%#Container.DataItem("author")%>
HyperLinkID="HyperLink1"Text="【详情】"NavigateUrl='<%#"book.aspx? book_id="&container.dataitem("book_id")%>'Target="_blank"runat="server"/> 其设计效果如图4-1所示。 图4-1主页界面设计图 4.2管理员模块 管理员模块主要是管理员对整个系统进行管理与维护的部分,管理员具有最大的权利,不但拥有会员的权利,还有删除与管理用户的权限,会员用户只能查看或是修改一些基本的个人信息。 当然管理员也可查看修改个人的信息。 下面就来具体分析管理员模块的具体功能。 4.2.1用户管理 此模块主要用来管理会员的信息,以及对所有用户的管理,可以删除和修改一些用户的信息。 为了方便对用户信息的管理,设置了通过帐号查找快速定位的功能。 其主要代码如下: Ifaccount<>""Then sq="select*fromadminwhereuser_name='"&account&"'" Else sq="select*fromadminorderbyuser_idasc" EndIf 用户信息的显示用的是DataGrid控件。 页面效果图如图4-2所示。 图4-2用户信息管理页面图 4.2.2图书管理 该模块是用来管理当前图书的所有信息,如果想要修改当前记录的信息内容,点击后面的编辑,即可对该记录进行修改,修改完成后点击更新即可完成修改;点击取消即可取消更新的内容。 如果想要删除某条记录,点击删除即可删除当前记录。 点击上面的插入记录即可添加新的图书。 同时为了方便于查询某项记录,设置了按书名查找图书信息的功能。 实现更新、删除的功能,分别SQL语言中的Update、Delete语句。 查找功能实现采用的是Select语句。 其主要代码: Dimaccount,sqAsString account=TextBox1.Text Ifaccount<>""Then sq="select*frombookwherebook_name='"&account&"'" Else sq="select*frombookorderbybook_idasc" EndIf 页面效果图如图4-3所示。 图4-3图书管理页面图 点击插入记录添加新图书的添加页面效果图,插入记录的实现,靠SQL语言的Insert语句来实现的,在插入图书信需要考虑到编号是否已存在,如果已经存在,则会提示: “该书已存在! ”。 当插入成功时会提示: “添加成功”。 所以在实现该功能时首先对数据库中的图书信息进行查找验证。 其主要代码如下: sqltrl="select*frombookwherebook_id='"&TextBox7.Text&"'" 如果图书记录中没有出现和插入记录的ID重复的,再执行插入记录;插入成功时,提示: “添加成功! ”否则提示“插入失败”。 界面设计如图4-4所示。 图4-4添加图书信息页面图 4.2.3定单管理 定单管理主要是用来管理定单的,其中包含的有收货人的定单号,收货人的真实姓名,收货人的联系电话、电子邮箱、地址等信息。 管理员可以做的操作是删除订单。 删除当前记录主要代码如下: sq1="deletefromuser_orderwhereid="&MyDataGrid1.DataKeys(CInt(e.Item.ItemIndex)) 其设计效果如图4-5所示。 图4-5定单管理页面 4.3会员模块 会员模块主要实现会员登录、会员注册、在线购物、分类查询、高级搜索、我的购物车、下订单等功能。 各个功能的具体设计实现介绍如下。 4.3.1会员登录 会员登录是防止非法用户登录的第一道防线,通过它可以保护后台数据库的安全性,当会员要进行购物时,首先要进入的就是身份验证界面,会员在成功登陆后进入系统的主界面。 页面效果图如图4-6所示: 图4-6会员登录页面 4.3.2会员注册 会员注册页面的实现的关键是如何将文本框中的数据提取出来并存储在数据库中,以及如何避免用户名出现重名的情况。 避免出现重名的主要代码为: DimsqltrlAsString sqltrl="select*fromadminwhereuser_name='"&TextBox1.Text&"'" 同时为了确保注册资料的格式的正确性,使用了多种验证控件,比如: 必填控件RequiredFiledValidator、验证密码与确认密码是否一致的比较控件CompareValidator、对用户名字符做限制的范围控件RangeValidator、以及对确认邮箱格式的正则控件RegularExpressionValidator等。 会员填写完毕,且没有格式问题时,单击“提交”按钮时系统会自动将当前输入的信息记录添加到admin用户表中。 页面效果图如图4-7所示。 图4-7会员注册页面 4.3.3在线购物 会员通过身份验证后进入主页,就可以开始进行购物,当你想要查看图书详细信息时,点击图书下的“详情”链接,即可查看当前图书的详细信息, 输入你想购买的数量,单击“加入购物车”就可以把当前商品添加至“我的购物车”中。 点击“详情”链接显示图书详细信息的功能的实现过程如下: 当在主页图书信息中点击“详情”链接时会传递图书的ID,当前界面获取该ID,并通过SQL中Select语句从book表中读出这个ID的记录,然后再做显示。 传递ID代码如下: HyperLinkID="HyperLink1"Text="【详情】"NavigateUrl='<%#"book.aspx? book_id="&container.dataitem("book_id")%>'Target="_blank"runat="server"/> 点击图书“详情”后的界面图如图4-8所示。 图4-8图书详情页面 输入购买的数量,点击“加入购物车”后即可添加至“我的购物车”中。 4.3.4分类查找 为了方便用户更快,更方便的选购自己所需要购买的图书,系统对所有图书信息采用分类管理的方法。 当用户需要某些类别的书时可以直接筛选出该类型的图书,以便缩小查找的范围。 功能实现的主要代码(只列举出一个): DimconnAsNewSystem.Data.OleDb.OleDbConnection("Provider=Microsoft.jet.oledb.4.0;datasource="&Server.MapPath("tsxs.mdb")) DimcmdAsNewSystem.Data.OleDb.OleDbCommand("select*frombookwherebook_content='文学'",conn) conn.Open() DimdrAsSystem.Data.OleDb.OleDbDataReader=cmd.ExecuteReader() DataList.DataSource=dr DataList.DataBind() conn.Close() 页面效果图如图4-9所示。 图4-9分类查找页面 4.3.5高级搜索 采用高级搜索可以更加精确、快速地搜索信息。 本系统采用的是根据书名、作者搜索的方式进行搜索;可以单独地使用也可以组合使用。 DimstrAsString str="" IfTextBox2.Text<>""Then str="select*frombookwherebook_name='"&TextBox2.Text&"'" IfTextBox3.Text<>""Then str="select*frombookwherebook_name='"&TextBox2.Text&"'andauthor='"&TextBox3.Text&"'" EndIf Else IfTextBox3.Text<>""Then str="select*frombookwhereauthor='"&TextBox3.Text&"'" EndIf EndIf Ifstr=""Then Label2.Text="没有你要搜索的图书! " Else DimcmdAsNewSystem.Data.OleDb.OleDbCommand(str,conn) conn.Open() DimdrAsSystem.Data.OleDb.OleDbDataReader=cmd.ExecuteReader() DataList.DataSource=dr DataList.DataBind() EndIf 页面效果图如图4-10所示: 图4-10高级搜索页面 4.3.6我的购物车 购物车的作用就是来临时存放当前用户选购的商品,以便统一下定单。 在我的购物车中用户可以修改购买的图书数量,以及删除购物车中的商品。 当点击“继续购物”按钮时,系统会自动返回图书信息列表中,以便用户继续购物。 如果不想购买购物车中的商品,点击“清空购物车”就可以清空购物车中所有图书。 点击“去收银台”即可下定单。 该页面的设计使用DataSet将数据从数据库中取出,并填充到DataSet中,然后绑定到DataGrid控件。 清空购物车功能的实现: DimdtAsNewDataTable() dt=ds.Tables("basket") DimdrAsDataRow Dimnumber,iAsInteger number=dt.Rows.Count Fori=0Tonumber-1 dr=dt.Rows(i) dr.Delete() Next Sessio
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- WEB 课程设计 网上 书店 管理 系统 报告