1. 研究目的与意义
在人们生活水平逐渐提高的今天,每当工作学习之后的假期生活,出行旅游都会是多数人的选择,而在出行之前人们一般都会为旅行提前做好准备,其中宾馆住宿的选择便是不可忽视的计划之一,所以通过互联网来拓展用户市场也是一种不可缺失的方式之一。顾客通过互联网办理宾馆入住手续时,可以享受到快捷、便利的服务,提高了顾客的出行质量。对于宾馆而言,可以通过互联网拓宽了市场,吸引更多客户下单,并且通过用户留言来完善宾馆服务,提升服务质量,赚取更多的用户好评的同时还增强了与同行之间的竞争力,以便快速发展成高星级宾馆。
本课题基于以上考虑,设计一款宾馆客房住宿管理系统,设计合适的功能,优美的页面,以满足人们对宾馆客房住宿管理的需求。
2. 课题关键问题和重难点
1、跨域问题及解决方案
使用cors解决前后端分离开发模式时的跨域问题。 cors是一个w3c标准,全称是'跨域资源共享'(cross-originresource sharing)。 它允许浏览器向跨源服务器,发出xmlhttprequest请求,从而克服了ajax只能同源使用的限制。
cors需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,ie浏览器不能低于ie10。 整个cors通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,cors通信与同源的ajax通信没有差别,代码完全一样。浏览器一旦发现ajax请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。 因此,实现cors通信的关键是服务器。只要服务器实现了cors接口,就可以跨源通信。
3. 国内外研究现状(文献综述)
目前,人类的经济水平得到了前所未有的提升,科技的进步及信息化进程的加快,让人类的生活方式消费习惯等都发生了深刻的变化。随互联网的普及、网民人数的上升以及在线预订市场的成熟,越来越多的用户开始选择在线旅行预定,宾馆也在积极推动这种转变,鼓励消费者在线预订。网络交易规模的逐年增长能够反映出在线旅游预订市场的发展前景广阔。互联网的全面普及为人们生活提供了更加便捷的方式,智能手机、各类应用软件的兴起简化了旅游预订流程,随收入增加而增长的旅游预算使旅游消费快速增加,在线旅游市场随即蓬勃发展。
1、国内外研究形式与现状
ota 平台处于产业链中游,连接商户与用户。为商户带来流量,为用户提供预订相关服务。以携程为例,携程作为旅游 b2c 综合在线预订平台,整合上游酒店、景区、交通等的资源,通过交叉销售等方式,为下游的个人用户或企业用户提供服务。携程上游的主要住宿提供商包括首旅、如家、华住等酒店、宾馆。用户可以在携程平台上基于目的地及具体住宿偏好搜索、比较及预订住宿,还可以进一步按照价格范围、星级类别、位置、品牌以及便利设施筛选及排序搜索结果,满足用户对信息的真、准、全的需求。
4. 研究方案
1、设计方案
系统大致分为4个模块,分别问客房模块、订单模块、管理员模块、前台模块。
1)客房模块: 管理的信息包括房间号、房间类型、房间位置。
客房状态:包括四种:空房、已预订、入住、故障。当客人预订后,客房状态变为已预订。当客人入住后,客房状态变为入住。房间出现故障时,比如空调故障、热水器故障等,客房状态变为故障。在其他情况下客房状态为空房。
2)订单模块: 管理的信息包括预约订单管理,入住订单管理,历史订单管理。
预约时需要填写客户入住信息,如预订人,身份证号,联系电话,入住开始时间,入住结束时间,入住人数等等。
付款时计算客人入住期间的房费,入住订单信息转存到历史订单信息中。客房状态由“入住”转为“空房”。
3)管理员模块:对用户信息,订单信息,客房类型信息等信息进行维护。
4)前台模块:展示客房、预定客房。
预约填写时会根据现实情况填写入住人数,对于客房的房间类型也会根据人数来设定。例如:单人间(1张单人床,1人)、标准间(两张单人床,2人)、双人间(一张双人床,2人)、三人间(三张单人床,3人)。由于现实中宾馆楼层一般不会太高,将房间位置的楼层设为8,房间号至多为30。
用户分为客户和管理员。
客户可以查看、选择客房,生成、取消、修改、查看预约订单,查看、删除自己的历史订单。
管理员可以对用户信息,订单信息,客房类型信息等信息进行添加、删除、修改、查询。
首先用户通过输入账户密码进入系统,登录按钮会check登录的账户密码。进入系统后显示主页面,即显示前台模块。选择完心仪的房间后,进入预约订单,填写相关的入住信息。如果入住人数大于房间规定的人数,则会提示有误。预约完成后客户可以在预约订单中查看预约信息。入住结束后客户付款,订单转入到历史订单中。
2、研制方案
硬件要求:电脑(台式机或笔记本电脑),CPU要求酷睿i3以上,内存8GB以上,硬盘100GB以上
开发环境:jdk,mysql
开发工具:IntelliJ IDEA,navicat formysql,Webstorm
3、研究方案
文献研究法:对于既存的宾馆客房住宿管理系统进行运行和代码研究,总结其中的各个模块的核心技术手段和解决问题的方法,以便后续编写代码时以此作为参考。
实证研究法:在完成一个模块时,对其进行单独的测试,及时发现各个模块的问题,防止在最后整合时问题堆积在一块,犹如缠绕在一起的线头,处理起来更加费时费力。
实地调查法:实地考察了现实中宾馆客房的房间类型、房间号等,使系统可以更好的应用到实际中去。
4、论证
由于是个人设计和开发整个系统,并且研发周期相对较短,选择使用Spring Boot进行开发。因为Spring Boot是一个依靠大量注解实现自动化配置的全新框架。在构建Spring应用时,只需要添加相应的场景依赖,SpringBoot就会根据添加的场景依赖自动进行配置,在无须额外手动添加配置的情况下快速构建出一个独立的Spring应用。并且,Spring Boot 框架内部已经实现了与Spring以及其他常用第三方库的整合连接,并提供了默认最优化的整合配置,使用时基本上不需要额外生成配置代码和XML配置文件。
5、概要设计
5.1模块设计
5.2 数据库设计
(1)数据字典
admin
属性名称 | 属性说明 | 数据类型 | 主键 | 允许空 | 备注 |
id | 管理员id | int | 是 | 否 | 自增 |
username | 管理员账号 | varchar | 否 | 否 |
|
password | 管理员密码 | varchar | 否 | 否 |
|
user
属性名称 | 属性说明 | 数据类型 | 主键 | 允许空 | 备注 |
id | 客户id | int | 是 | 否 | 自增 |
username | 客户账号 | varchar | 否 | 否 |
|
password | 客户密码 | varchar | 否 | 否 |
|
number | 身份证号 | varchar | 否 | 否 |
|
phone | 手机号 | int | 否 | 否 |
|
room
属性名称 | 属性说明 | 数据类型 | 主键 | 允许空 | 备注 |
id | 房间id | int | 是 | 否 | 自增 |
num | 房间号 | int | 否 | 否 |
|
typeId | 房间类型Id | int | 否 | 否 | 外键 |
address | 房间位置 | varchar | 否 | 否 |
|
roomType
属性名称 | 属性说明 | 数据类型 | 主键 | 允许空 | 备注 |
id | 客房类型id | int | 是 | 否 | 自增 |
type | 客房类型名称 | varchar | 否 | 否 |
|
orders
属性名称 | 属性说明 | 数据类型 | 主键 | 允许空 | 备注 |
id | 订单id | int | 是 | 否 | 自增 |
userId | 预定人 | int | 否 | 否 | 外键 |
roomId | 房间id | int | 否 | 否 | 外键 |
ordersTypeId | 订单类型id | int | 否 | 否 | 外键 |
startDate | 开始时间 | Date | 否 | 否 |
|
endDate | 结束时间 | Date | 否 | 否 |
|
ordersType
属性名称 | 属性说明 | 数据类型 | 主键 | 允许空 | 备注 |
id | 订单类型id | int | 是 | 否 | 自增 |
type | 订单类型名称 | varchar | 否 | 否 |
|
(2)E-R图
5. 工作计划
2022-2023-1学期:
第15-16周:完成选题,查阅相关中英文资料,进行相关技术的学习;
第17周:与导师沟通进行课题总体规划;
课题毕业论文、文献综述、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。