3108006336张健新08信管4班网上书店管理系统课程设计报告.docx
《3108006336张健新08信管4班网上书店管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《3108006336张健新08信管4班网上书店管理系统课程设计报告.docx(101页珍藏版)》请在冰点文库上搜索。
3108006336张健新08信管4班网上书店管理系统课程设计报告
课程设计
课程名称__数据库应用课程设计__
题目名称__网上书店管理系统___
学生学院____管理学院_______
专业班级__08信管4班___
学号3108006336
学生姓名_____张健新________
指导教师_______闵惜琳________
2010年12月31日
网上书店管理系统课程设计报告
概述
目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。
网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大地改变了人类从物质到精神、从形式到内容、从生产到生活的各种活动,并且给人类带来了新的机遇和挑战。
21世纪可以说是电子商务的世纪。
电子商务通过大幅度地降低交易成本、增加贸易机会、简化交易流程、提高服务质量、改善物流电子商务网站等,极大地推动了全球经济的发展,并在很大程序上影响着我们的生活方式和工作方式。
开发背景
网上书店系统,是为了迎合现在人们的生活而设计的。
随着网络的覆盖面的增广,上网的人们也就越来越多了,在网上购买图书是一种潮流,随着现在网上书店大量的出现,人们更喜欢的在网上购书,这样大大节约了出行的时间,而且服务也不比现实的差,网上书店的主要目标是满足人们足不出户购物的需求,只需在网上书店是先订货,然后在一定时间内送货上门或通过邮寄的方式送货,货到再付款。
很多人看到了书这种商品网上销售的诸多好处:
方便购买、金额小、风险小、用户容易决定;信息的完整性以及很少出现质量问题和退货现象等。
完全符合人们的理念。
使人们避免了挑选图书的烦琐过程,让人们在购物过程中变得轻松,快捷,方便。
主要业务
网上书店主要由前台用户管理模块和后台管理员模块两部分组成。
前台功能模块主要用于实现用户注册,登录,修改个人信息,分类查看书目信息、购书、管理购物车、结帐、查看各种服务条款等功能。
后台管理模块主要用于实现后台管理人员对用户,商品,物流,订单和系统的管理等功能。
开发目标
开发一套网上购书系统,可以让顾客通过浏览器浏览网站售书目录,从而挑选自己满意的图书,并下订单购买。
而网站后台人员需要维护网站会员信息、书籍信息以及订单信息。
本系统的目的就是要开发一套既方便客户网上购书,又方便网站维护人员维护网站WEB服务系统。
1.需求分析
1.1用户需求
商业企业在运营过程中,经常会受到以下一些条件的限制:
●产品的宣传受到限制,采购商或顾客只能通过上门咨询、电话沟通等方式进行各种信息的获取,受一定的时间与物理空间的局限并且成本较高。
●庞大的商业经济周转。
●复杂的产品周转渠道。
从看样品、谈价格到支付货款等一系列的产品周转渠道过于复杂,企业与顾客之间缺乏全面的沟通与快捷运营的平台。
●商业企业中根据季节的变化,热销商品在销售高峰到来时货源紧张,企业需要实时了解商品的销售情况,保证热销商品的要货满足率。
因此,企业需要重新认识市场、消费者以及自身市场定位,正确认识电子商务技术在企业中的重要地位,以少量的时间和资金建立企业信息门户网站并架设一定范围的商务网络,以此来制定长远发展战略,使企业与顾客间的经济活动变得更灵活、更主动。
本系统是一个中小型的电子商务系统----网上书店,可以为各类用户提供方便的在线买书环境,符合目前国内流行的电子商务模式。
用户可以在系统中实现注册、浏览商品、搜索查询商品、下定单、处理定单等功能;管理员可以通过用户管理、定单管理、图书管理及分类管理等管理功能来对系统进行维护更新。
1.2业务流程分析
系统业务流程图:
1.3功能需求分析
本系统属于小型的网上书店管理系统,可以有效地对网上购书进行管理,本系统功能应达到以下目标:
●系统具有良好的人机界面
●如果系统的使用对象较多,则要求有较好的权限管理。
●全面展示网上书店内的交易信息。
●书目分类显示,方便顾客了解本网上书店内的图书
●查看网上书店内的交易信息
●支持打印功能
●系统最大限度地实现易维护性和易操作性。
●系统运行稳定、安全可靠
●支持图书检索显示,可以通过查找图书的模糊信息查找图书。
系统功能总用例图:
1.3.1系统功能模块划分
根据功能需求分析及三层架构设计的思想,设计出客户系统功能如图
后台管理的系统功能图如图
1.3.2系统基本功能
1)图书信息查询
该模块实现图书信息的分类显示,提供最新商品的推荐显示以及销售显示,便于引导购物取向。
此外,还提供依据图书名称或是编号等包含关键字实现快速搜索的功能并显示图书的有关详细信息。
2)购物车管理
用于对每一个进入系统的用户所对应的购物车进行管理。
将用户所选购的图书信息,包括价格、数量等信息记录到对应的购物车上,便于到收银台进行结帐处理。
同时在此模块中,用户还可以方便的实现修改购物图书、清空购物车等操作。
3)会员信息管理
实现系统相关用户信息的注册及身份验证,同时也提供对应的用户资料的更新。
该系统可以收集用户相关的联系方式、通讯地址等信息,可以更好的拓展销售规模。
4)订单处理
根据购物车中的信息,以及用户所选择的送货方式和付款方式,和用户对应的个人信息生成订单,便于后续工作的处理。
在该模块中,用户可以随时查阅自己的订单,并对其进行取消等处理操作。
2.(数据库)概念(模型)设计
网上书店系统数据流程分析
图2-1数据流程图
基本项构思ERD的四条原则:
原则1(确定实体):
能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。
原则2(确定联系):
两个或多个实体间的关联与结合,如主管,从属,组成,占有,作用,配合,协同等等,当需要予以关注时,应作为联系。
联系通常是某类行为动作,ERD中关注的是其状态与结果而非其过程。
实体间的联系可分为一对一、一对多、多对多等三类,在确定联系时还要确定其类型。
原则3(确定属性):
实体的属性是实体的本质特征。
实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。
联系的属性是联系的结果或状态。
属性具有如下几个特点:
①非多值性②非复合性③非导出性,
实体的属性还应有非关联性,只是一个实体的基本特征,与其他实体无关;联系的属性应具有关联性,是对联系结果或状态的描述。
原则4(一事一地):
信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性出现。
从本系统中规划出的实体有:
用户信息实体、管理员信息实体、图书实体、图书分类实体、订单实体、订单列表实体。
由以上ERD原则得出以下E-R图:
图2-2实体之间的E-R图
相应的实体属性如下:
(1)管理员实体的属性有:
用户名和密码;
图2-3管理员实体的E-R图
(2)用户信息实体的属性有:
用户名,密码,真实姓名,联系地址,联系电话,邮编,Email,性别,注册时间和注册IP;
图2-4用户实体E-R图
(3)图书分类实体的属性有:
分类编号和分类名称;
图2-5图书分类实体E-R图
(4)图书实体的属性有图书名称,图书编号,作者,出版社,内容简介,分类编号,价格,封面,总数量和剩余数量;
图2-6图书实体E-R图
(5)订单实体的属性有订单编号,用户编号,收货人姓名,收货人地址,总金额,下单时间,下单时间,下单IP,备注,是否付款和是否发货;
图2-7订单实体E-R图
(6)购物单实体的的属性有订单编号,用户号,书号和购书数量。
图2-8购物清单实体的E-R图
3.(数据库)逻辑(模型)设计
3.1一般逻辑模型设计
E—R图转换为关系模型过程中应用的规则如下:
原则1(实体转换为关系模式):
E—R图中每个独立的实体转换为一个关系模式,实体的属性组成关系的属性,实体的主标识转换成关系的主码。
原则2(从实体及其主从联系转换为关系模式):
E—R图中一个从实体及其主从联系转换为一个关系,从实体的属性及其主实体关系的属性组成该关系的属性,其主实体关系的主码,在主从联系为一对多联系时还要加上可把同一主实体个体所对应的从实体个体区分开来的、从实体的一组属性,作为该关系的主码。
对子类实体可作类似一对一联系的从实体的转换。
原则3(一对多联系在关系模式中的表示):
E—R图中的一个一对多联系通过在其“多”实体关系上增加“1”实体关系的主码(作为外码)和联系本身的属性来表示。
注:
一对一联系作为一对多联系的特例处理,其中一个实体集中的较多个体按照这个联系不与对方实体集中的任何个体对应,该实体集称为“一”实体,对方实体集称为“零”实体。
一对一联系应通过把“一”实体关系的主码与该联系本身的属性附加到“零”实体关系上来表示,即1:
1联系应附加到没造成或少造成外码及联系本身属性空白的实体关系上。
原则4(多对多联系转换为关系):
E—R图中的一个多对多联系转换为一个关系,其被联系实体关系的主码作为外码和该联系本身的属性一起组成关系的属性,被联系关系的主码组成该关系的复合主码。
由以上规则可将E—R图可转换成数据库关系模式,既初步构思的关系框架(二维表的表头)如下(关系的主码用下划线“”画出,外码用“#”标出):
(1)图书(图书编号,图书名称,#图书分类编号,作者,出版社,书号,内容,价格,总数量,剩余数量,注册时间,封面)
(2)图书类别(图书分类编号,分类名)
(3)购物清单(购物单编号,订单编号,书号,购书数量)
(4)订单明细表(明细表编号,#订单编号,#用户编号,订单提交时间,下单时间,总价格,备注,IP地址,是否付款,是否发货)
(5)用户(用户编号,用户名,密码,真实姓名,性别,联系地址,联系电话,邮编,注册时间,注册IP地址)
(6)管理员(用户名,密码)
3.2具体逻辑模型设计
本系统数据库采用MySQL数据库,系统数据库名称为OnlineBookStore,下面分别给出数据表概要说明、数据表关系概要说明及主要数据表的结构。
1、各个表的的结构如下表
表4.1为图书信息列表,记录书店现有的图书信息。
表3.1 tb_Book表
列名
数据类型
长度
允许空
注释
BookId
Int
10
否
图书编号
BookName
varchar
40
否
图书名称
BookCategoryId
Int
10
否
图书分类编号
Author
Varchar
25
是
作者
Publish
Varchar
150
是
出版社
BookNo
Varchar
30
是
书号
Content
text
300
是
内容
Price
float
8
否
价格
Amount
int
4
否
总数量
Leav_number
int
4
否
剩余数量
RegTime
datatime
8
是
注册时间
Picture
varchar
60
是
封面
表4.2为书店管理员信息表,记录管理员的帐号和密码。
表3.2tb_BookAdmin表
列名
数据类型
长度
允许空
注释
AdminUser
Varchar
20
否
管理员
AdminPass
Varchar
20
否
管理员密码
表4.3为用户信息表,记录用户的基本信息。
表3.3tb_User用户表
列名
数据类型
长度
允许空
注释
UserId
Int
10
否
用户编号
UserName
Varchar
50
否
用户名
Password
Varchar
50
否
密码
RealName
Varchar
50
否
真名
Sex
Varchar
50
是
性别
Address
Varchar
50
否
地址
Phone
Varchar
50
否
电话
Post
Varchar
50
否
邮编
Email
Varchar
50
否
电子邮件
RegTime
Datatime
50
是
注册时间
RegIPAddress
varchar
50
是
注册IP地址
表4.4为订单总表,记录某个用户的订单总信息。
表3.4tb_OrderList购物单列表
列名
数据类型
长度
允许空
注释
OrderListId
Int
10
否
购物单编号
OrderId
Int
10
否
订单编号
BookId
Int
10
否
图书编号
Amount
int
4
否
数量
表4.5为订单明细表,记录单张订单的具体信息。
表3.5tb_OderDetail订单明细表
列名
数据类型
长度
允许空
注释
OrderDetailId
Varchar
50
否
明细表编号
OrderId
Varchar
20
否
订单编号
UserId
Varchar
50
否
用户ID
SubmitTime
Datatime
8
是
提交时间
ConsignmentTime
Datatime
8
是
购买时间
TotalPrice
Float
16
否
总价格
content
Text
300
是
备注
Ipaddress
Varchar
50
是
Ip地址
Ispayoff
boolean
否
是否付款
IsAddress
boolean
否
是否发货
表4.6为图书分类表,记录书店现有图书的分类。
表3.6tb_BookCategory表
列名
数据类型
长度
允许空
注释
BookCategoryId
Int
10
否
分类编号
CategoryName
varchar
30
否
分类名
4.数据库物理设计与数据库保护设计
4.1设计索引
(1)数据表tb_Book
CREATEUNIQUEINDEXBook_IndexONtb_Book(BookId);
索引字段:
tb_Book.BookId
索引类型:
唯一索引
(2)数据表tb_BookAdmin
CREATEUNIQUEINDEXBookAdmin_IndexONtb_BookAdmin(AdminUser);
索引字段:
tb_BookAdmin.AdminUser
索引类型:
唯一索引
(3)数据表tb_User
CREATEUNIQUEINDEXUser_IndexONtb_User(Username);
索引字段:
tb_User.Username
索引类型:
唯一索引
(4)数据表tb_OrderList
CREATEUNIQUEINDEXOrderList_IndexONtb_OrderList(OrderId);
索引字段:
tb_OrderList.OrderId
索引类型:
唯一索引
(5)数据表tb_OrderDetail
CREATEUNIQUEINDEXOrderDetail_IndexONtb_OrderDetail(OrderId,UserId);
索引字段:
tb_OrderDetail.OrderId,tb_OrderDetail.UserId
索引类型:
唯一索引
(6)数据表tb_BookCategory
CREATEUNIQUEINDEXBookCategory_IndexONtb_BookCategory(BookCategoryId);
索引字段:
tb_BookCategory.BookCategoryId
索引类型:
唯一索引
4.2设计表间关系
4.3完整性设计
(1)主要字段完整性的字段名、完整性约束条件
字段名
完整性约束条件
tb_Book.BookId
int(11),notnull,auto_increment
tb_BookAdmin.AdminUser
varchar(20),notnull,UNIQUE
tb_User.UserId
int(11),notnull,auto_increment
tb_User.UserName
varchar(20),notnull,UNIQUE
tb_OrderList.OrderId
int(11),notnull,UNIQUE
tb_OderDetail.OrderDetailID
varchar(20),notnull,auto_increment
tb_BookCategory.BookCategoryID
int(11),notnull,auto_increment
(2)参照完整性表
主键表
主码
外码
外键表
tb_Book
BookId
BookCategoryId
BookCategory
tb_OrderList
OrderId
BookId
Book
tb_OrderDetail
OrderDetailId
OrderId
OrderList
UserId
User
tb_BookAdmin
AdminUser
tb_User
UserId
altertabletb_BookaddconstraintFK_Reference_5foreignkey(BookCategoryId)
referencestb_BookCategory(BookCategoryId)ondeleterestrictonupdaterestrict;
altertabletb_OrderListaddconstraintFK_Reference_2foreignkey(BookId)
referencestb_Book(BookId)ondeleterestrictonupdaterestrict;
altertabletb_OrederDetailaddconstraintFK_Reference_3foreignkey(UserId)
referencestb_User(UserId)ondeleterestrictonupdaterestrict;
altertabletb_OrederDetailaddconstraintFK_Reference_4foreignkey(OrderId)
referencestb_OrderList(OrderId)ondeleterestrictonupdaterestrict;
4.4用户授权与安全性控制
由于本系统可能有两类型用户,而且各用户对系统的需求不尽相同;再者,出于对安全性的考虑,故本系统中,将用户划分为一般用户和管理员两类。
两类用户的授权:
一般用户可在客户端可进行用户注册,浏览图书信息,在线购书,图书查询,查看购物车,订单查询及等基本业务流程的操作。
而管理员可以在后台系统可进行用户管理,图书管理,订单管理等全部功能作出修改、删除、查询的管理操作,并起着管理维护系统的作用。
用户对系统进行操作时,必须以用户名和密码进行登录,才能使用本系统,达到本系统的安全性能的基本保障。
不同的用户类型对应不同的系统操作权限。
因此,可以人性化的体现出不同用户对系统的不同需求;同时,减少、限制不必要的系统操作,起到保障数据安全的作用。
5.处理功能设计
5.1主控模块设计
本系统使用MyEclipse5.5.1GA作为开发平台,以JSP为开发语言,选用MySQL5.0作为后台数据库,进行设计。
用户需要先登录系统,方能进行相关操作。
本系统主控模块有两大部分:
一为登录界面,二是功能主菜单。
(1)登录界面
用户启动系统,既进入用户登录界面,输入正确的用户名、密码,才能成功登录本系统,进而进行其它相关的操作。
初步构思、设计出的用户登录模块界面如下图所示:
(2)功能主菜单
系统基本结构图
根据对用户的需求分析,以及对系统的功能设计,为了达到系统的开发目标,能够符合进行相关业务操作、系统维护的等各方面要求,将系统的功能体现在功能主菜单上,从而初步构思设计出以下主菜单模块界面:
客户端导航菜单:
书店首页
书店简介
新书简介
在线服务
本店公告
店长答疑
管理员入口
在线购书
我的购物车
订单信息
图书分类
图书查询
退出
后台管理:
现有图书管理
添加新图书
添加图书分类
订单管理
用户管理
登录/退出
5.2子模块设计
5.2.1设计输入
本系统在输入方面设计了多个功能,分别有:
用户资料信息的输入,图书、图书分类信息的输入,查询图书信息输入等子模块提供用户进行数据输入的操作。
5.2.2视图设计
在视图方面,提供查询信息的方面,设计了图书及用户基本信息显示,图书信息查询等子模块。
5.2.3查询设计
本系统有较强的查询功能子模块,可对图书、订单等信息进行查询,根据需要还可修改、删除。
5.2.4报表设计
根据数据的输入情况,以及所查询的内容,系统既可对应自动生成相关报表,以供用户查看。
6.数据库应用系统的实现
6.1数据库及其表结构的建立
运用MySQL5.0,使用Navicat8forMySQL创建本系统的后台数据库,名为OnlineBookStore。
随后,根据以上对数据库的设计,创建数据库表。
(1)数据表tb_BookAdmin
(2)数据表tb_User
(3)数据表tb_BookCategory
(4)数据表tb_Book
(5)数据表tb_OrderList
(6)数据表tb_OrederDetail
(7)根据表间关系、完整性等设计,可得出以下关联图:
6.2数据输入
根据输入程序或系统的追加插入命令录入数据,并打印出的各表的内容如下:
(1)数据表tb_BookAdmin
(2)数据表tb_User
(3)数据表tb_BookCategory
(4)数据表tb_Book
(5)数据表tb_OrderList
(6)数据表tb_OrderDetail
6.3模块实现
根据设计完的数据库,并通过MySQL数据库及NavicatforMySQL工具创建并完善数据库onlinebookstore,输入相关的数据。
根据系统的处理功能设计,以及之前对系统的分析,使用MyEclipse5.5.1GA对系统进行设计,并实现。
首先,在MyEclipse5.5.1GA中,创建一个新的项目,名为bookshop。
随之,在此项目中对各功能模块进行设计、实现。
(1)数据库连接Bean-DataBase的编写
数据库操作的JavaBe