4.1 系统结构设计
民宿预订管理系统主要分为管理员和用户两个主要用户角色,本网站采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统结构图如图4-1所示:
图4-1 系统结构图
4.2 系统架构设计
4.2.1总体架构设计
系统架构的整体设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的任务分段完成后,组合在一起形成一个完整的任务。它具体的工作步骤是:
1)系统被分解多个子模块
2)对各个子模块的功能进行预先的设计
3)对各个子模块之间的逻辑关系进行设计
4)对各个模块的界面以及模块间信息的传输进行设计
在整个设计过程,以确定可能的具体方案达成每一个小的最终目标,对于每一个小的目标而言,我们必须先了解一些相关的需求分析的信息。然后对系统进行初步的设计,并对其逐渐进行优化,设计出一个具体可实现的系统框架。
如图4-2所示为系统的框架图。
图4-2 系统框架图
4.2.2系统网络拓扑结构图
本民宿预订管理系统采用先进的B/S架构,该架构具有开发简单、共享性强、维护简单方便等诸多优点。本系统的网络拓扑图如图4-3所示:
图4-3 系统的网络拓扑图
4.3 数据库设计
开发一个系统也需要提前设计数据库。这里的数据库是相关数据的集合,存储在一起的这些数据也是按照一定的组织方式进行的。目前,数据库能够服务于多种应用程序,则是源于它存储方式最佳,具备数据冗余率低的优势。虽然数据库为程序提供信息存储服务,但它与程序之间也可以保持较高的独立性。总而言之,数据库经历了很长一段时间的发展,从最初的不为人知,到现在的人尽皆知,其相关技术也越发成熟,同时也拥有着坚实的理论基础。
4.3.1 数据库概念设计
这部分内容需要借助数据库关系图来完成,也需要使用专门绘制数据库关系图的工具,比如Visio工具就可以设计E-R图(数据库关系图)。设计数据库,也需要按照设计的流程进行,首先还是要根据需求完成实体的确定,分析实体具有的特征,还有对实体间的关联关系进行确定。最后才是使用E-R模型的表示方法,绘制本系统的E-R图。不管是使用亿图软件,还是Visio工具,对于E-R模型的表示符号都一样,通常矩形代表实体,实体间存在的关系用菱形符号表示,实体的属性也就是实体的特征用符号椭圆表示。最后使用直线将矩形,菱形和椭圆等符号连接起来。接下来就开始对本系统的E-R图进行绘制。
(1)下图是用户实体和其具备的属性。
图4.1 用户实体属性图
(2)下图是商品信息实体和其具备的属性。
图4.2 商品信息实体属性图
(3)下图是字典表实体和其具备的属性。
图4.3 字典表实体属性图
(4)下图是新闻资讯实体和其具备的属性。
图4.4 新闻资讯实体属性图
(5)下图是购物车实体和其具备的属性。
图4.5 购物车实体属性图
(6)下图是房东实体和其具备的属性。
图4.6 房东实体属性图
(7)下图是民宿租赁实体和其具备的属性。
图4.7 民宿租赁实体属性图
(8)下图是商品收藏实体和其具备的属性。
图4.8 商品收藏实体属性图
(9)下图是商品评价实体和其具备的属性。
图4.9 商品评价实体属性图
(10)下图是商品订单实体和其具备的属性。
图4.10 商品订单实体属性图
(11)下图是用户表实体和其具备的属性。
图4.11 用户表实体属性图
(12)下图是民宿信息实体和其具备的属性。
图4.12 民宿信息实体属性图
(13)下图是收货地址实体和其具备的属性。
图4.13 收货地址实体属性图
4.3.4 数据库表
本系统数据库的功能主要是存储网站中所有数据,以便进行操作。
表4.1收货地址表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_id Integer 创建用户 是
3 address_name String 收货人 是
4 address_phone String 电话 是
5 address_dizhi String 地址 是
6 isdefault_types Integer 是否默认地址 是
7 insert_time Date 添加时间 是
8 update_time Date 修改时间 是
9 create_time Date 创建时间 是
表4.2购物车表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_id Integer 所属用户 是
3 shangpin_id Integer 商品 是
4 buy_number Integer 购买数量 是
5 create_time Date 添加时间 是
6 update_time Date 更新时间 是
7 insert_time Date 创建时间 是
表4.3字典表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 dic_code String 字段 是
3 dic_name String 字段名 是
4 code_index Integer 编码 是
5 index_name String 编码名字 是
6 super_id Integer 父字段id 是
7 beizhu String 备注 是
8 create_time Date 创建时间 是
表4.4房东表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 fangdong_name String 房东姓名 是
3 fangdong_id_number String 身份证号 是
4 fangdong_phone String 手机号 是
5 fangdong_photo String 照片 是
6 create_time Date 创建时间 是
表4.5民宿信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 minsu_name String 民宿名称 是
3 fagwu_types Integer 房屋类型 是
4 minsu_new_money BigDecimal 价格/天 是
5 minsu_photo String 房屋图片 是
6 minsu_address String 地址 是
7 fwstate_types Integer 房屋状态 是
8 fangdong_id Integer 所属房东 是
9 minsu_content String 具体信息 是
10 create_time Date 创建时间 是
表4.6民宿租赁表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 minsu_id Integer 民宿 是
3 yonghu_id Integer 租赁用户 是
4 ruzhu_time Date 入住时间 是
5 tuifang_time Date 退房时间 是
6 create_time Date 创建时间 是
表4.7新闻资讯表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 news_name String 新闻资讯名称 是
3 news_types Integer 新闻类型 是
4 news_photo String 新闻资讯图片 是
5 insert_time Date 新闻资讯时间 是
6 news_content String 新闻资讯详情 是
7 create_time Date 创建时间 是
表4.8商品信息表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 shangpin_name String 商品名称 是
3 shangpin_types Integer 商品类型 是
4 shangpin_photo String 商品照片 是
5 shangpin_kucun_number Integer 商品库存 是
6 shangpin_old_money BigDecimal 商品原价 是
7 shangpin_new_money BigDecimal 现价 是
8 shangpin_clicknum Integer 点击次数 是
9 shangpin_content String 商品简介 是
10 create_time Date 创建时间 是
表4.9商品收藏表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 shangpin_id Integer 商品 是
3 yonghu_id Integer 用户 是
4 insert_time Date 收藏时间 是
5 create_time Date 创建时间 是
表4.10商品评价表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 shangpin_id Integer 商品 是
3 yonghu_id Integer 用户 是
4 shangpin_commentback_text String 评价内容 是
5 reply_text String 回复内容 是
6 insert_time Date 评价时间 是
7 update_time Date 回复时间 是
8 create_time Date 创建时间 是
表4.11商品订单表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 shangpin_order_uuid_number String 订单号 是
3 address_id Integer 收获地址 是
4 shangpin_id Integer 商品 是
5 yonghu_id Integer 用户 是
6 buy_number Integer 购买数量 是
7 shangpin_order_true_price BigDecimal 实付价格 是
8 shangpin_order_types Integer 订单类型 是
9 shangpin_order_payment_types Integer 支付类型 是
10 insert_time Date 订单创建时间 是
11 create_time Date 创建时间 是
表4.12用户表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 yonghu_name String 用户姓名 是
3 yonghu_id_number String 身份证号 是
4 yonghu_phone String 手机号 是
5 yonghu_photo String 照片 是
6 create_time Date 创建时间 是
表4.13用户表表
序号 列名 数据类型 说明 允许空
1 Id Int id 否
2 role String 角色 是
3 addtime Date 新增时间 是