摘要
随着互联网的发展,各行各业都在逐步实现信息化和数字化转型。民宿行业作为服务行业的重要组成部分,也面临着数字化转型的压力和机遇。随着消费者需求的不断变化,传统的民宿管理方式存在着效率低下、服务质量难以保障等问题,已经不能满足客户的个性化需求,而民宿则更加注重客户的个性化需求和服务质量,需要更加高效、便捷、可靠的管理系统来支持。互联网技术的应用可以为民宿带来更多的机会和挑战。
民宿预订管理系统利用当下成熟完善的Web框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。管理员管理收货地址管理、餐饮管理、餐饮收藏管理、餐饮评价管理、餐饮留言管理、餐饮订单管理、字典管理、公告信息管理、民宿管理、民宿收藏管理、民宿评价管理、民宿留言管理、民宿订单管理、用户管理等功能。该系统使用JAVA技术进行开发,具有高可靠性、高安全性和高可扩展性等特点,可以满足民宿管理系统的复杂需求。该系统实现了用户注册和登录功能,可以为用户提供个性化服务和更好的用户体验。该系统具备民宿搜索和预定功能,方便用户查找和预定心仪的民宿,提升了用户的满意度。
关键词:民宿预订管理系统;B/S结构;MySQL数据库; Tomcat服务器;系统实现
目 录
数据库表结构设计
(1)收货地址数据库表如表4.1所示。
表4.1收货地址表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
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 | 创建时间 | 是 |
(2)餐饮数据库表如表4.2所示。
表4.2餐饮表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | canyin_name | String | 餐饮名称 | 是 |
3 | canyin_uuid_number | String | 餐饮编号 | 是 |
4 | canyin_photo | String | 餐饮照片 | 是 |
5 | canyin_types | Integer | 餐饮类型 | 是 |
6 | canyin_kucun_number | Integer | 餐饮库存 | 是 |
7 | canyin_price | Integer | 购买获得积分 | 是 |
8 | canyin_old_money | BigDecimal | 餐饮原价 | 是 |
9 | canyin_new_money | BigDecimal | 现价 | 是 |
10 | canyin_clicknum | Integer | 热度 | 是 |
11 | canyin_content | String | 餐饮介绍 | 是 |
12 | shangxia_types | Integer | 是否上架 | 是 |
13 | canyin_delete | Integer | 逻辑删除 | 是 |
14 | create_time | Date | 创建时间 | 是 |
(3)餐饮收藏数据库表如表4.3所示。
表4.3餐饮收藏表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | canyin_id | Integer | 餐饮 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | canyin_collection_types | Integer | 类型 | 是 |
5 | insert_time | Date | 收藏时间 | 是 |
6 | create_time | Date | 创建时间 | 是 |
(4)餐饮评价数据库表如表4.4所示。
表4.4餐饮评价表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | canyin_id | Integer | 餐饮 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | canyin_commentback_text | String | 评价内容 | 是 |
5 | insert_time | Date | 评价时间 | 是 |
6 | reply_text | String | 回复内容 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
(5)餐饮留言数据库表如表4.5所示。
表4.5餐饮留言表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | canyin_id | Integer | 餐饮 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | canyin_liuyan_text | String | 留言内容 | 是 |
5 | insert_time | Date | 留言时间 | 是 |
6 | reply_text | String | 回复内容 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
(6)餐饮订单数据库表如表4.6所示。
表4.6餐饮订单表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | canyin_order_uuid_number | String | 餐饮订单号 | 是 |
3 | canyin_id | Integer | 餐饮 | 是 |
4 | yonghu_id | Integer | 用户 | 是 |
5 | buy_number | Integer | 购买数量 | 是 |
6 | canyin_order_true_price | BigDecimal | 实付价格 | 是 |
7 | canyin_order_courier_name | String | 派送人 | 是 |
8 | canyin_order_courier_number | String | 派送人联系方式 | 是 |
9 | canyin_order_types | Integer | 订单类型 | 是 |
10 | canyin_order_payment_types | Integer | 支付类型 | 是 |
11 | insert_time | Date | 订单创建时间 | 是 |
12 | create_time | Date | 创建时间 | 是 |
(7)字典数据库表如表4.7所示。
表4.7字典表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | dic_code | String | 字段 | 是 |
3 | dic_name | String | 字段名 | 是 |
4 | code_index | Integer | 编码 | 是 |
5 | index_name | String | 编码名字 | 是 |
6 | super_id | Integer | 父字段编号 | 是 |
7 | beizhu | String | 备注 | 是 |
8 | create_time | Date | 创建时间 | 是 |
(8)公告数据库表如表4.8所示。
表4.8公告信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | gonggao_name | String | 公告名称 | 是 |
3 | gonggao_photo | String | 公告图片 | 是 |
4 | gonggao_types | Integer | 公告类型 | 是 |
5 | insert_time | Date | 公告发布时间 | 是 |
6 | gonggao_content | String | 公告详情 | 是 |
7 | create_time | Date | 创建时间 | 是 |
(9)民宿数据库表如表4.9所示。
表4.9民宿表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | minsu_name | String | 民宿名称 | 是 |
3 | minsu_uuid_number | String | 民宿编号 | 是 |
4 | minsu_photo | String | 民宿照片 | 是 |
5 | minsu_tese | String | 民宿特色 | 是 |
6 | minsu_types | Integer | 民宿类型 | 是 |
7 | minsu_price | Integer | 租赁获得积分 | 是 |
8 | minsu_old_money | BigDecimal | 民宿原价 | 是 |
9 | minsu_new_money | BigDecimal | 现价/天 | 是 |
10 | minsu_clicknum | Integer | 房间热度 | 是 |
11 | minsu_content | String | 房间介绍 | 是 |
12 | shangxia_types | Integer | 是否上架 | 是 |
13 | minsu_delete | Integer | 逻辑删除 | 是 |
14 | create_time | Date | 创建时间 | 是 |
(10)民宿收藏数据库表如表4.10所示。
表4.10民宿收藏表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | minsu_id | Integer | 民宿 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | minsu_collection_types | Integer | 类型 | 是 |
5 | insert_time | Date | 收藏时间 | 是 |
6 | create_time | Date | 创建时间 | 是 |
(11)民宿评价数据库表如表4.11所示。
表4.11民宿评价表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | minsu_id | Integer | 民宿 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | minsu_commentback_text | String | 评价内容 | 是 |
5 | insert_time | Date | 评价时间 | 是 |
6 | reply_text | String | 回复内容 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
(12)民宿留言数据库表如表4.12所示。
表4.12民宿留言表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | minsu_id | Integer | 民宿 | 是 |
3 | yonghu_id | Integer | 用户 | 是 |
4 | minsu_liuyan_text | String | 留言内容 | 是 |
5 | insert_time | Date | 留言时间 | 是 |
6 | reply_text | String | 回复内容 | 是 |
7 | update_time | Date | 回复时间 | 是 |
8 | create_time | Date | 创建时间 | 是 |
(13)民宿订单数据库表如表4.13所示。
表4.13民宿订单表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | minsu_order_uuid_number | String | 订单号 | 是 |
3 | minsu_id | Integer | 民宿 | 是 |
4 | yonghu_id | Integer | 用户 | 是 |
5 | ruzhu_time | Date | 入住日期 | 是 |
6 | buy_number | Integer | 预定天数 | 是 |
7 | minsu_order_true_price | BigDecimal | 实付价格 | 是 |
8 | minsu_order_types | Integer | 订单类型 | 是 |
9 | minsu_order_payment_types | Integer | 支付类型 | 是 |
10 | insert_time | Date | 预定时间 | 是 |
11 | create_time | Date | 创建时间 | 是 |
(14)用户数据库表如表4.14所示。
表4.14用户表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | yonghu_name | String | 用户姓名 | 是 |
3 | yonghu_phone | String | 用户手机号 | 是 |
4 | yonghu_id_number | String | 用户身份证号 | 是 |
5 | yonghu_photo | String | 用户头像 | 是 |
6 | yonghu_email | String | 电子邮箱 | 是 |
7 | new_money | BigDecimal | 余额 | 是 |
8 | yonghu_sum_jifen | BigDecimal | 总积分 | 是 |
9 | yonghu_new_jifen | BigDecimal | 现积分 | 是 |
10 | huiyuandengji_types | Integer | 会员等级 | 是 |
11 | create_time | Date | 创建时间 | 是 |
(15)管理员数据库表如表4.15所示。
表4.15 管理员表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | id | Int | 编号 | 否 |
2 | username | String | 用户名 | 是 |
3 | password | String | 密码 | 是 |
4 | role | String | 角色 | 是 |
5 | addtime | Date | 新增时间 | 是 |
第六章 系统测试
6.1 软件测试的意义
软件测试是为了尽早的发现开发的系统是否符合用户的需求,并对系统的工龄稳定性进行测试,发现系统的缺陷,首先需要对系统的需求进行分析,系统的测试不是系统开发之后进行的工作,而是在需求分析时就需要介入,系统的测试,包括了单元测试,集成测试和系统测试,单元测试是对模块内部的错误进行发现,在对模块进行测试时,需要对各个功能模块进行功能的测试,集成测试是对模块之间的接口问题进行测试,系统测试是对整体的系统实现的功能进行确认测试,测试完成之后需要将系统发布到外网,然后对系统进行性能测试,确保系统在功能上和性能上都能够达到用户的需求。
6.2 功能测试用例设计
(1)用户登录测试用例
用户登录测试用例设计见表6.1。
表6.1用户登录测试用例
系统功能 | 编号 | 描述 | 预期结果 | 实际结果 |
用户登录 | 1 | 不输入用户名,点击“登录” | 提示“请输入用户名” | 与预期一致 |
用户登录 | 2 | 用户名存在,密码错误 | 提示“密码错误 | 与预期一致 |
用户登录 | 3 | 使用注册的用户名、密码登录 | 登录成功,进入系统首页 | 与预期一致 |
(2)用户注册测试用例
用户注册测试用例设计见表6.2。
表6.2用户注册测试用例
系统功能 | 编号 | 描述 | 预期结果 | 实际结果 |
用户注册 | 1 | 不填写用户名,点击“注册” | 提示“用户名不能为空” | 与预期一致 |
用户注册 | 2 | 填写用户名,不填写密码 | 提示“密码不能为空” | 与预期一致 |
用户注册 | 3 | 用户名、密码都填写 | 用户注册成功 | 与预期一致 |
(3)民宿房间管理测试用例
民宿房间管理的测试用例设计见表6.3。
表6.3 民宿房间管理测试用例
系统功能 | 编号 | 描述 | 预期结果 | 实际结果 |
房间管理 | 1 | 民宿主在进入系统后,在民宿民宿房间信息添加页面填写数据后提交 | 普通用户登录系统后可以查看到管理员新增的信息 | 与预期一致 |
房间管理 | 2 | 民宿主在民宿民宿房间信息展示页面,点击某一条记录后的“删除”选项。 | 页面提示是否确认删除 | 与预期一致 |
房间管理 | 3 | 民宿民宿房间信息添加时,必填项未填写 | 提示信息填写不完整,请确认后提交 | 与预期一致 |
6.3 性能测试结果
下面的表6.4和图6.1显示了其效果。试验结果显示,本系统满足了民宿预定系统的基本需要,在实际使用中,其工作情况与设计要求相符。
表6.4 性能测试
测试项 | 测试指标 | 测试目标 | 测试结果 | 测试结论 |
响应时间 | 登录响应时间 | 不超过3秒 | 2.5秒 | Pass |
响应时间 | 民宿搜索加载响应时间 | 不超过2秒 | 1.8秒 | Pass |
响应时间 | 预订页加载响应时间 | 不超过3秒 | 2.6秒 | Pass |
吞吐量 | 登录吞吐量 | 每秒不低于100个请求 | 120个请求/秒 | Pass |
吞吐量 | 民宿搜索加载吞吐量 | 每秒不低于200个请求 | 250个请求/秒 | Pass |
吞吐量 | 预订页加载吞吐量 | 每秒不低于100个请求 | 120个请求/秒 | Pass |
并发性能 | 最大并发用户数 | 不低于1000个并发用户 | 1200个并发用户 | Pass |
并发性能 | 并发请求处理能力 | 每秒不低于500个并发请求 | 600个并发请求/秒 | Pass |
并发性能 | 峰值负载下系统稳定性 | 在峰值负载下不出现系统崩溃、卡顿等问题 | 系统稳定,未出现崩溃、卡顿等问题 | Pass |
测试结果显示,在高并发场景下,系统响应时间有所延长,但仍能保持较好的稳定性和可用性,平均响应时间在30至80之间浮动。需进一步优化系统性能以提高并发处理能力。