第五章 实训案例网络书城系统汇编Word文档下载推荐.docx
《第五章 实训案例网络书城系统汇编Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《第五章 实训案例网络书城系统汇编Word文档下载推荐.docx(91页珍藏版)》请在冰豆网上搜索。
浏览分为三种方式:
按类别浏览、按条件浏览、查询图书。
●普通用户通过注册成为注册用户,注册后的用户可以登录,密码忘记后可以找回密码,登录后可以修改注册资料。
●注册用户登录后可以进行在线图书购买,购买的图书存放在购物车中;
可以对购物车中的商品数量进行修改、删除;
调整好购物车中内容后,可进行结算,以将购买的图书保存到订单中。
●注册用户登录后可以浏览自己的订单,查看订单细目,对于没有得到商家处理的订单可以取消。
●管理员可分页浏览用户,可查看用户详细信息,可删除用户。
●管理员可管理图书分类、管理图书,添加图书时能够上传图书的图片。
●管理员可分页浏览订单、查看订单状态,处理订单,删除订单。
5.1.2用例分析
用例图(Use-caseDiagram)显示外部参与者与系统的交互,能够更直观地描述系统的功能。
从角色来看,网络书城系统的用户分为用户(普通用户)、会员(注册用户)、管理员。
图5-1和5-2是网络书城系统的两个用例图。
图5-1客户端用例图
图5-2管理端用例图
5.1.3功能分类
表5-1给出了网络书城的功能分类。
表5-1功能划分表
模块名
子功能
描述
前台功能
用户登录
提供用户名、密码后可以登录系统
用户注册
普通用户在注册页填写详细资料后成为正式注册用户
个人修改
用户登录后可以修改自己的注册资料
找回密码
忘记密码的用户可以通过email找回密码
密码设置
管理员可以修改自己的密码
浏览图书
以分页方式显示图书列表,并通过单击标题可查看书的详细信息;
可进行分类浏览图书,并可按条件查询图书
购物车
登录用户在浏览图书时,可以把需要的图书添加到购物车中;
可浏览购物车,修改购物车中图书的数量,删除购物车中的图书,清空购物车,或结算
订单浏览
登录用户可以浏览自己的订单,查看状态,并可查看订单细目
后台维护
用户管理
管理员可分页浏览用户、查看用户详细信息,可删除用户
分类管理
管理员进入浏览产品分类,可添加、修改或删除分类
图书管理
管理员可分页浏览图书、查看图书详细信息,可添加或修改图书
订单管理
管理员可分页浏览订单、查看订单状态、处理订单,删除订单
5.1.4其他需求
系统的界面美观、简洁、菜单设置和布局合理,除图形外界面色彩不宜过多。
页面具有明确的导航指示,且便于理解,方便用户使用。
进入本系统进行任何操作的时候,系统应该及时的进行反应,反应的时间在5秒以内。
系统应能监测出各种非正常情况,如与设备的通信中断,无法连接数据库服务器等,避免出现长时间等待甚至无响应。
系统有严格的权限管理功能,各功能模块需有相应的权限方能进入。
系统需能够防止各类误操作可能造成的数据丢失,破坏。
防止用户非法获取网页以及内容。
2系统设计
2.1系统功能结构
系统的功能结构如图5-3所示。
图5-3网络书城的功能结构图
5.2.2数据库设计
根据企业信息展示系统的要求,主要涉及的数据有用户、图书分类、图书、订单、订单细目。
为此建立5个数据表来存储对应的数据。
1.数据库的逻辑设计
用户表所包含的字段如表5-2所示。
表5-2用户表
名称
数据类型
大小
约束
默认值
user_id
用户编号
int
/
AIPK
user_name
用户名称
varchar
50
NN
user_pwd
密码
user_realname
真实名
user_phone
电话
user_email
电子邮件
200
user_addr
地址
user_datetime
注册时间
timestamp
当前时间
user_right
权限
1
图书分类表所包含的字段如表5-3所示。
表5-3图书分类表
cat_id
分类编号
cat_name
分类名称
NNUN
图书表所包含的字段如表5-4所示。
表5-4图书表
book_id
图书编号
NNFK
book_publisher
出版社
book_isbn
书号
book_name
图书名称
book_picture
图像
book_price
价格
float
book_author
作者
book_desc
简介
text
book_num
数量
订单表所包含的字段如表5-5所示。
表5-5订单表
ord_id
订单编号
ord_datetime
订货时间
ord_state
状态
订单细目表所包含的字段如表5-6所示。
表5-6订单细目表
det_id
细目编号
PK
det_num
2.数据库的物理设计
系统数据库命名为bs,bs_category(图书分类),bs_book(图书),bs_user(用户)、bs_order(订单),bs_details(订单细目)。
表之间的关系如图5-4所示。
图5-4网络书城系统数据表及其关系
建立的数据库的SQL脚本如下所示。
createdatabasebs;
usebs;
createtablebs_category(
cat_idintauto_incrementprimarykey,
cat_namevarchar(50)notnullunique
);
createtablebs_book(
book_idintauto_incrementprimarykey,
cat_idintnotnullreferencesbs_category(cat_id),
book_publishervarchar(200)notnull,
book_isbnvarchar(50)notnull,
book_namevarchar(50)notnull,
book_picturevarchar(50)notnull,
book_pricefloatnotnull,
book_authorvarchar(50)notnull,
book_desctextnotnull,
book_numintnotnull
createtablebs_user(
user_idintauto_incrementprimarykey,
user_namevarchar(50)notnull,
user_pwdvarchar(50)notnull,
user_realNamevarchar(50)notnull,
user_phonevarchar(50)notnull,
user_emailvarchar(200)notnull,
user_addrvarchar(200)notnull,
user_datetimetimestamp,
user_rightintdefault1
createtablebs_order(
ord_idintauto_incrementprimarykey,
user_idintnotnullreferencesbs_user(user_id),
ord_datetimetimestamp,
ord_stateintdefault0
createtablebs_details(
det_idintauto_incrementprimarykey,
ord_idintnotnullreferencesbs_order(ord_id),
book_idintnotnullreferencesbs_book(book_id),
det_numfloatnotnull
5.2.3架构及程序结构
为了实现系统便于维护和扩展的目标,系统采用分层架构,整体上分四层:
视图层、控制层、业务逻辑层和数据访问层。
系统实现采用JSP+Struts+Hibernate技术。
即视图层主要通过JSP实现,控制层通过Struts实现,数据层通过Hibernate实现。
项目命名为bs。
视图放在【Web页】文件夹下。
为了便于管理,划分如下文件夹:
user(用户),category(分类),book(图书),bookimages(图书图像),cart(购物车),order(订单),common(公共),css(样式表),images(图像),script(脚本)。
如图5-5所示。
其他层均放在源包下。
在源包下建立bookstore.action(控制类包),bookstore.idao(数据访问接口包),bookstore.dao(数据访问实现类包),bookstore.iservice(业务逻辑接口包),bookstore.service(业务逻辑实现类包),bookstore