数据库课程设计文档网上书店Word文档下载推荐.docx
《数据库课程设计文档网上书店Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库课程设计文档网上书店Word文档下载推荐.docx(24页珍藏版)》请在冰点文库上搜索。
我们的左手边有许多产品;
右手边有许多顾客。
亚马逊位处中间建立好联系关系。
结果是:
我们拥有两组顾客。
一组是正要找书的消费者;
一组是正要找寻消费者的出版商。
由此可见网上书城帮助消费者寻找书籍,帮助出版商寻找顾客。
显而易见,本系统的实体有:
会员(消费者)、书籍、出版商(本系统没有定义此实体)。
首先,让我们看看消费者的购物流程:
消费者可以浏览书籍,或者直接搜索感兴趣的书籍,随后查看书籍详细信息,满意后加入购物车,最后在下单
根据消费者购物流程分析,网上书城主要有以下功能:
(1)用户浏览书籍模块
(2)用户搜索书籍模块
(3)用户查看书籍模块
(4)购物车模块(包括下单)
其次,本系统需要管理员对书籍信息、用户信息、订单进行管理,所以系统必须具备以下功能:
(1)书籍信息管理模块
(2)用户信息管理模块
(3)订单管理模块
2.2系统功能模块设计
根据系统功能分析,网上书城具备基本的查询商品、购物车处理、以及后台管理等功能。
考虑到用户身份验证,再加上用户登录、注册模块。
总体来说,对于消费者:
本系统通过用户名和密码来验证用户的身份、以及新用户注册功能;
允许用户查询需要购买的书籍的详细信息;
允许用户浏览所有的书籍信息;
实现了购物车,用户可以随意的添加、删除、修改购物车中的书籍。
对于管理员:
本系统通过用户名密码验证管理员身份;
允许管理员添加、修改、删除、浏览书籍信息;
允许管理员删除、浏览、查询会员信息、并向会员发送促销邮件;
允许管理员查看订单信息以及查看未处理的订单信息。
总的来说系统有两个模块:
前台浏览、后台管理。
系统模块图如下:
4.1系统模块图
第3章数据库设计
3.1数据库概念结构设计
(1)书籍信息:
图5.1书籍E-R图
(2)用户信息:
图5.2用户E-R图
(3)订单信息:
图5.3订单E-R图
(4)订单明细
图5.4订单明细E-R图
(5)书籍类型
图5.5书籍类型E-R图
(6)城市
图5.6城市E-R图
(7)地区
图5.7地区E-R图
(8)系统总E-R图
图5.8系统总体E-R图
3.3数据库表结构设计
具体系统数据表如下所示:
Bookinfo(书籍信息表):
字段名称
类型
长度
是否为空
KEY
备注
BOOKID
Int
11
PK
书籍id
BOOKNAME
varchar
20
书籍名称
AUTHOR
书籍作者
PRESS
出版社
BOOKTYPEID
10
FK
书籍类型
PUBLICDATE
Date
出版日期
IMGADDRESS
200
封面地址
STORAGEDATE
入库时间
BOOKPRICE
Double
书籍价格
STOCK
库存
BOOKCONTENT
500
1
书籍简介
DELIVERYAREAID
配送地id
表5.1Bookinfo(书籍信息表)
Deliveryarea(配送地区表):
AREAID
配送地区id
AREANAME
Varchar
地区名
AREALEVEL
Smallint
6
地区层次
AREAUPPERID
上级层次id
表5.2Deliveryarea(配送地区表)
Userinfo(用户信息表):
USERID
INT
用户id
USERNAME
用户名
PASSWORD
密码
TRUENAME
用户真实名
GENDER
tinyint
性别
ADDRESSID
所在城市
MAILADD
50
邮箱地址
SIGNDATE
注册时间
COUNTOFLOGIN
登录次数
IDCODE
身份证
TEL
电话
AGE
年龄
BIRTHDAY
生日
表5.3Userinfo(用户信息表)
Booktype(书籍类型表):
BKTID
书籍类型id
BKTNAME
类型名
BKTLEVEL
类型层次
BKTUPPERID
表5.4Booktype(书籍类型表)
Hometown(所在城市表):
表5.6Hometown(所在城市表)
Orderdetail(配送地区表):
DETAILID
明细id
ORDERID
订单表
COUNTOFBOOK
书籍个数
表5.7Orderdetail(配送地区表)
第4章系统详细设计与实现
4.1系统核心功能实现
系统核心功能:
购物车、下单、查看订单功能,业务流图如下:
4.1购物车和订单管理
购物车和订单管理功能是网上书城系统的一个主要模块,该模块主要包括以下功能:
将书籍添加到购物车、从购物车中删除书籍、修改购物车数据与订单的提交、订单管理;
4.1.1将书籍添加到购物车
(1)界面展示:
当用户浏览图书时可以把自己喜欢的书籍添加到自己的购物车,界面如下图:
图6.1添加书籍到购物车页面
(2)业务流程:
用户浏览书籍,点击购买按钮,将自己喜爱的书籍加入购物车,书籍信息被提交到后台由服务上来处理,生成购物车,并显示到本地浏览器中,具体如下图:
图6.2购物业务实现图
(3)业务实现类:
本业务类主要包括:
homecenter.jsp,AddShoppingCartServlet,ShopCartservlet,ShoppingCart,
ShopCartServelt,Shopcar.jsp
实现类
说明
Homcenter.jsp
图书容器,用于显示图书的页面;
AddShoppingCartServlet
处理用户提交到后台的书籍信息;
ShoppingCart
购物车实体类,在AddShoppingCartServlet层调用该类
voidaddCartItem(CartItemitem)方法,从而添加书籍进入购物车;
CartItem
书籍实体类,用于存储书籍信息;
Shopcar.jsp
用于显示购物车信息;
表6.1添加书籍入购物车实现类
4.1.2下单和订单管理模块
用户点击下单按钮,提交订单信息:
图6.3下单页面
用户点击购物车中的下单按钮,用户名信息以及订单信息便提交到服务器,在服务器中判断用户是否登录(此功能仅向登录用户提供),如果没有则会转发至用户登录窗口,如果登录则将用户信息和购物车中的信息写入订单表中,具体如下图所示:
图6.4下单业务图
本业务实现类:
shopcart.jsp,confirmServlet,OrderServiceimpl,
Confirm.jsp
Shopcart.jsp
confirmServlet
处理用户名和购物车信息;
OrderServiceImpl
在ConfirmServletc层,调用此服务:
BooleanaddOrder(StringuserName,ShoppingCartcart)处理用户信息和购物车信息;
OrderDaoImpl
层调用该层的booleanaddOrder(StringuserName,ShoppingCartcart)方法,对数据库实现订单的插入;
表6.2下单业务实现类
4.2用户模块
用户模块包括用户的主要操作:
用户注册、用户登录、用户浏览书籍信息、用户搜索喜爱书籍、用户查看书籍详细信息;
4.2.1用户浏览书籍模块
本系统提供了向用户提供了新书推荐、主编推荐、重点关注、热卖图书四大类别的书籍,提高用户的浏览效率;
如下图所示:
图6.5用户浏览图书页面
4.2.2用户搜索书籍模块
图6.6用户搜索图书页面
用户输入待查找的书籍名称,点击搜索按钮,提交到服务器,有searchServlet来处理名称,再调用服务findBookByBookName(),将找到的书籍转发到客户端,具体如下图:
图6.6用户搜索书籍业务图
SearchServlet,center.jsp,SearchServlet,BookDaoImpl
SearchServlet
处理用户提交叫的书籍名称,并调用BookDaoImplementation层中的
Vector<
Book>
findBookByBookName(Stringinfo)方法;
处理SearchServlet传递的书籍名称,并调用BookDaoImpl层中的Vector<
BookDaoImpl
按照service层中传递书籍名称,查询数据库信息,并将信息返回;
表6.3搜索图书业务实现类
4.2.3用户查看书籍详细信息
用户浏览图书时,查看感兴趣的书籍详细信息;
图6.7图书详细信息页面
当用户遇到感兴趣的书籍,想要查看该书详细信息,点击书籍封面或者书籍名称,便会弹出书籍详细信息,如下图所示:
图6.8查看书籍详细业务图
此业务主要实现的类:
homepage.jsp,detailinfoServlet,BookServiceImpl,BookDaoImpl,viewBook.jsp
Homepage.jsp
显示图书信息;
DetailinfoServlet
处理用户提交的书籍id,并调用BookServiceImpl的vecter<
findBookInfoByBookId(intid)方法;
按书籍id读取数据库中的书籍信息;
viewBook.jsp
用于显示书籍的详细信息;
表6.5查看书籍信息实现类
4.3书籍管理模块
为了向用户提供最新、最全的书籍信息,后台管理员拥有对网店书籍查看、增加、删除、修改的权限。
这里主要讲解查看、修改书籍模块。
4.3.1查看书籍信息
图6.9浏览图书页面
(2)业务实现类
此业务主要实现的类:
GetNPageServlet,PageSetsInfoImpl,BackBookDao,
GetNPageServlet
获取查看书籍信息的页码,并调用service层的ArrayList<
getPageSetsInfo(intpageNumber)方法,来获取待显示的书籍信息;
PageSetsInfoImpl
向servlet提供方法来显示待显示的书籍信息,并调用dao层的ArrayList<
getBooksInfo(intpageNumber);
BackBookDao
向service层提供方法,向数据库获取书籍信息;
表6.5浏览书籍信息业务实现类
4.3.2添加书籍
图6.10添加新书页面
AddBookServlet,BookServiceImpl,BackBookDao
AddBookServlet
添加书籍类,将书籍基本信息(图书名称、作者……)以及书籍封面上传到服务器,并且将书籍封面在服务器的地址写入数据库,这些功能全是通过调用服务层voidaddBook(Bookbook)方法来实现的;
BookServiceImpl
向上层提供添加书籍的方法,并调用dao层的voidaddBookDao(Bookbook)方法;
向上层提供方法,并将数据添加入书籍库;
表6.6添加书籍信息业务实现类
4.4用户管理模块
管理员对用户信息管理,具体具有如下功能:
查看用户信息、修改用户信息、向用户发送邮件功能,这里主要阐述查看用户信息、向用户发送邮件功能;
4.4.1查看用户信息:
(1)界面展示
图6.11浏览用户信息页面
BackUserInfo,BackUserInfoDao,BackGetPageUserInfoServlet,
BackGetPageUserInfoServlet
后台中获取用户信息的servlet,调用服务层的ArrayList<
User>
getPageUserInfo(intpageId),获取用户基本信息;
BackUserInfo
向上层提供方法来获取用户基本信息,并调用dao层的
ArrayList<
getPageUserInfo(intpageId)方法获取用户基本信息;
BackUserInfoDao
向上层提供方法,并从数据库中提取用户信息;
表6.7浏览用户信息实现类
4.4.2发送邮件功能:
(1)界面展示:
图6.12发送邮件页面
backsubmitmail.jsp,BackSendMailServie,
BackSendMailServlet,
Backsubmitmail.jsp
用于获取待发送邮件的信息,例如:
发件人邮箱,主题,邮件内容;
BackSendMailServlet
发送邮件servlet,获取发送邮件的基本信息,并调用service层的方法来初始化邮件发送服务器,以及发送邮件;
BackSendMailService
实现上层调用的方法,来发送邮件;
表6.8发送邮件业务实现类
4.5订单管理模块
为了方便管理员处理用户提交的订单,本系统提供了,查看用户全部订单、查看未处理订单、以及查看订单明细功能;
4.5.1显示订单
图6.13浏览订单信息页面
(2)业务实现类:
主要业务实现类:
OrderServlet,OrderDao,backorder.jsp,
OrderServiceImpl,
OrderServlet
处理查询订单的动作,调用服务层的Ordersfindorder()方法,获取订单信息;
向上层提供方法,并调用dao层的方法获取订单信息;
Backorder.jsp
显示从数据库中提取的订单信息;
表6.9浏览订单信息业务实现类
第5章