摘 要
基于Android平台的酒店预订系统App是一款专为移动用户设计的应用程序,它允许用户通过智能手机或平板电脑方便快捷地进行酒店搜索、预订及管理。这款App拥有一个直观的用户界面,为用户提供了广泛的功能,包括浏览酒店信息、查看房间价格和可用性、进行在线预订等。它还集成了安全支付系统,确保用户能够进行安全的在线交易。无论是商务出行还是休闲旅游,这款基于Android的酒店预订系统App都能为用户提供便捷、高效和个性化的服务,使得酒店预订变得轻松而愉快。
系统采用B/S架构,java语言作为主要开发语言,MySQL技术创建和管理数据库。系统主要分为管理员和用户两大功能模块。通过系统,管理员使用日常浏览器即可随时完成酒店预订信息发布,契合基于Android的酒店预订系统App对时效性需求的同时提高工作效率。最终,根据各个功能模块的测试结果可知基于Android的酒店预订系统App功能基本完善。
关键词:酒店预订; java语言;B/S结构;MySQL数据库
Abstract
The Android-based Hotel Reservation System App is an application designed for mobile users, which allows users to easily and quickly search, book and manage hotels from a smartphone or tablet. The App has an intuitive user interface that provides users with a wide range of functions, including browsing hotel information, checking room prices and availability, and making online reservations. It also integrates a secure payment system to ensure that users can conduct secure online transactions. Whether for business or leisure travel, this Android-based hotel booking system App can provide users with convenient, efficient and personalized service, making hotel booking easy and enjoyable.
The system uses B/S architecture, java language as the main development language, MySQL technology to create and manage the database. The system is mainly divided into two functional modules: administrator and user. Through the system, the administrator can complete the release of hotel reservation information at any time by using the daily browser, which meets the timeliness requirement of the Android-based hotel reservation system App and improves work efficiency. Finally, according to the test results of each functional module, the function of the Android-based hotel reservation system App is basically complete.
Key words: hotel reservation; java language; B/S structure; MySQL database
目 录
1前 言
1.1 研究背景
1.2 研究意义
1.3国内外研究现状
1.4 研究内容
2 关键技术介绍
2.1 Android 介绍
2.2 Java语言简介
2.3 springboot框架介绍
2.4 Mysql数据库
2.5 B/S架构
3 系统分析
3.1需求分析
3.2 系统可行性分析
3.2.1经济可行性
3.2.2技术可行性
3.2.3可操作性
3.3系统功能用例分析
3.4系统开发环境与技术需求
3.5系统流程分析
4系统的设计
4.1 系统总功能模块设计
4.2系统数据库设计
4.2.1 E-R模型结构设计
4.2.2数据表设计
5 系统的实现
5.1 App前台功能的实现
5.1.1登录注册界面的实现
5.1.2系统首页功能的实现
5.1.3我的功能实现
5.2管理员模块实现
6系统测试
6.1测试概述
6.2软件测试原则
6.3测试用例
总结与展望
总结:
展望:
致谢
参考文献
1.1研究背景
随着智能手机的普及和移动互联网技术的快速发展,人们的预订习惯逐渐从传统的桌面平台转向移动端。在此背景下,基于Android操作系统的酒店预订系统App应运而生,旨在满足用户随时随地进行酒店搜索和预订的需求。Android平台的开放性和广泛的用户基础使得这款App能够覆盖大量潜在客户,同时,触摸屏操作和便携性的特点为用户提供了极大的便利性。开发这款App的初衷是为了提供一种更加快捷、直观且安全的预订方式,让用户能够轻松地找到理想的酒店,完成预订流程,并管理他们的旅行计划。考虑到用户的个性化需求和体验,App还集成了推荐算法、优惠活动和个性化服务等功能,以提升用户满意度和忠诚度。在数字化时代,酒店预订系统App的开发不仅符合市场趋势,而且对于酒店业和用户来说都具有重要的价值。
1.2研究意义
基于Android的酒店预订系统App的研究意义体现在多个层面。从技术角度来看,这款App的开发与研究推动了移动应用开发技术的进步,尤其是在用户界面设计、数据管理、网络安全以及移动设备适配性等方面。研究者需要探索如何在有限的屏幕空间内提供丰富的功能同时保持操作简便,这促进了用户体验设计的创新。从市场视角出发,这款App的开发满足了消费者对于高效、便捷预订方式的需求,有助于提升酒店行业的服务品质和竞争力。随着旅游业的蓬勃发展,酒店预订需求日益增长,通过移动端进行快速预订成为了一种趋势。该App还具有重要的社会经济意义。它的使用不仅能够提高酒店的入住率和营业收入,还能促进相关产业链的发展,如旅游、交通、餐饮等。同时,为消费者提供了更多的选择和便利,有助于提升居民的生活质量。在宏观层面,基于Android的酒店预订系统App的研究与开发也反映了数字化转型的趋势,它不仅对酒店行业产生了深远的影响,也对其他传统行业的信息化升级提供了借鉴。这款App的研究与开发不仅具有实践价值,更有着广泛的社会和经济影响。
1.3国内外研究现状
基于Android的酒店预订系统App在国内外的研究现状呈现出多元化和技术迭代的特点。在国外,这类App较早出现且发展成熟,许多知名的在线旅游服务提供商如Booking.com、Expedia和Airbnb等都推出了自己的Android应用,这些应用不仅提供基本的搜索和预订功能,增强了用户体验。安全性和用户隐私保护也是国外研究的重点,许多研究致力于提升数据加密技术和用户认证机制。在国内,随着智能手机用户的激增和移动支付技术的普及,基于Android的酒店预订系统App得到了迅速发展。国内的应用如携程、去哪儿、美团等不仅提供了酒店预订服务,还整合了交通、餐饮等其他旅游相关服务,形成了一站式的旅游服务平台。国内研究者也更加注重结合本地市场特点,如通过大数据分析用户行为,优化服务推送和促销活动。无论国内外,面对日益增长的用户量和复杂的网络安全威胁,如何保障系统的稳定性和安全性,如何通过数据分析进一步提升服务质量等问题都是当前研究的热点。随着人工智能和物联网技术的发展,未来的酒店预订系统App将可能融入更多智能化元素,如智能客服、语音识别预订等功能,这些都为App的研究与开发指明了方向。
1.4 研究内容
为了解决传统酒店预订信息管理的问题,本文将设计一个简单,便捷的基于Android的酒店预订系统App满足用户的需求。本系统分为管理员和用户,利用了java技术作为后端开发语言,并采用了Spring Boot框架。Spring Boot框架为我们带来了开箱即用的便利性,大大加快了开发速度。在数据存储和操作方面,我们选择了MySQL数据库。同时运用B/S来构建系统的框架;利用这些技术结合实际需求开发了具有个人中心、用户管理、客房信息管理、客房类型管理、客房预订管理、取消订单管理、客人入住管理、客人退房管理、系统管理等功能的系统,可以让用户充分了解自己的酒店预订信息,又能使管理者在操作思路清晰且更加方便。
2 关键技术介绍
2.1 Android 介绍
Android是一个基于Linux内核的开源操作系统,主要被设计用于触屏移动设备如智能手机和平板电脑。由Google主导开发并持续推动其更新迭代,Android系统以其开放性和灵活性而闻名,支持众多硬件制造商和开发者社区贡献各种应用和服务。它提供了一个统一的接口和环境,使得应用程序能在多样化的设备上运行,同时保持用户体验的一致性。自2008年推出以来,Android已经成为全球最广泛使用的移动操作系统,拥有庞大的用户基础和海量的应用生态系统。随着技术的不断进步,Android系统也在不断地引入新功能,优化性能,加强安全性,以适应日益增长的移动互联网需求。
2.2 Java语言简介
Java是一种广泛使用的计算机编程语言,具有跨平台、面向对象、安全性高等特点。它是一种高级语言,可以编写各种类型的应用程序,包括桌面应用程序、移动应用程序、网络应用程序等。Java语言的设计目标是让程序员能够尽可能地重用代码,从而提高开发效率。Java语言的语法简洁明了,易于学习和使用。它提供了丰富的类库和工具,可以帮助程序员快速完成各种任务。还具有良好的可移植性,可以在不同平台上运行。这意味着开发人员可以使用同一套代码来开发Windows、Mac OS X、Linux等操作系统上的应用程序。
2.3 springboot框架介绍
Spring Boot是一个基于Spring框架的开源项目,旨在简化Spring应用程序的创建、配置和部署过程。它通过自动配置和约定优于配置的原则,使得开发者能够快速构建出独立运行的应用。Spring Boot内置了Tomcat、Jetty等Web服务器,无需额外配置,即可直接运行。它还提供了丰富的插件支持,如MyBatis、Redis、MongoDB等,方便开发者快速集成各种功能。Spring Boot的设计哲学是“约定优于配置”,这意味着开发者只需关注业务逻辑的实现,而无需关心底层的配置。通过提供一系列的默认配置,Spring Boot能够帮助开发者快速搭建一个可运行的应用。此外,Spring Boot还支持自定义配置,以满足特定需求。Spring Boot简单易用性使得开发者能够更加专注于业务逻辑的实现,从而提高开发效率。
2.4 Mysql数据库
MySQL是一种流行的开源关系型数据库管理系统,广泛应用于Web应用程序的开发。它支持多种编程语言和操作系统,包括Java、Python、C++等。具有高性能、高可靠性和易用性等特点。它采用了MVCC(多版本并发控制)技术来保证数据的一致性和完整性。还提供了丰富的数据类型和函数,可以满足各种业务需求。在实际应用中,MySQL通常与其他软件和服务集成,如Web服务器、缓存系统、消息队列等。通过这些集成,可以实现更高效的数据处理和业务逻辑处理。
2.5 B/S架构
B/S结构(Browser/Server,浏览器/服务器模式)是一种网络应用程序架构模式,它把客户端与服务器端的软件分为两个部分。在这种架构中,用户通过浏览器向服务器发送请求,服务器接收到请求后处理并返回结果给浏览器。这种模式的优点在于可以充分利用服务器的处理能力,减轻客户端的负担,同时也方便了用户的使用。目前,许多流行的Web应用程序都采用了B/S结构,如网上银行、电子商务网站等。然而,B/S结构也存在一些缺点,例如安全性问题和对网络带宽的依赖性。总之,B/S结构是一种广泛应用的网络应用程序架构模式,它为用户提供了便捷的访问方式,同时也为开发人员提供了灵活的开发环境。
3 系统分析
3.1需求分析
在实际情况下,要开发出一套符合使用者要求的酒店预订系统App,首先需要深入了解使用者的需求。对酒店预订系统App的需求有深刻的了解是成功的先决条件,因为不能满足用户需求的程序无法创造很大的使用价值,并且给设计者带来很多不利。需求分析是酒店预订系统App设计阶段的重要环节,它的基本内容是准确地解释系统将能够实现的关键问题,最终形成一份完整的系统使用说明。
在需求分析中,有几个功能方面的需求需要被找出并完成基本功能模块。性能要求是指在系统设计时需要满足一定的要求和限制,比如响应时间、信息处理、内存容量、磁盘容量、安全性等等。系统的可靠性要求也是一个必须考虑的问题,它可以将可用性和可靠性结合起来,显示用户在使用过程中经常遇到的问题。硬件要求也包括处理错误的能力,以表明系统如何应对环境错误。如果系统收到来自其他系统的信息,而这些信息违背了某些格式,系统应该有相应的响应情况。
软件方面的需求还包括一些逆向的需求,即系统不能做的事情。开发人员应该能够准确理解用户的真正需求,并将其应用到酒店预订系统App中。还应该明确找出一些虽然不属于当前酒店预订系统App开发的情况,但根据现有分析将来可能会需要的潜在需求。通过这个需求的分析,可以在设计过程中对酒店预订系统App未来可能出现的问题有所准备,以便在需要时能够更轻松地进行修改。
3.2 系统可行性分析
3.2.1经济可行性
本系统旨在解决基于Android的酒店预订系统App方式的种种不足和问题,在提高管理水平、降低成本和节省时间,节约人力物力,方便系统管理员管理等方面,都有积极意义。学校将投入相应人力物力积极配合,保证系统开发顺利完成。
3.2.2技术可行性
本系统采用Java作为后端开发语言,并采用了Spring Boot框架。Spring Boot框架为我们带来了开箱即用的便利性,大大加快了开发速度。在数据存储和操作方面,我们选择了MySQL数据库,以满足大规模数据存储和查询的需求。
3.2.3可操作性
该平台界面设计简洁,有良好的视图效果,能够引导用户很快掌握系统的使用方法,操作简单易上手。
3.3系统功能用例分析
基于Android的酒店预订系统App主要是给管理员和用户这两种类型的用户提供服务需求,将会根据他们的需要进行系统化的处理,并对他们的个人信息分别进行处理。接下来就具体讨论两种类型的用户分别需要的服务信息的过程:
用户相对于系统管理员而言使用权限很低,用户通过注册登录,可以对客房预订、取消订单、客人入住、客人退房、我的收藏、修改密码等操作;用户用例图,如图3-1所示:
管理员:系统管理员是最高权限的拥有者,是酒店预订系统App中权限最高的使用者,它主要的功能是对个人中心、用户管理、客房信息管理、客房类型管理、客房预订管理、取消订单管理、客人入住管理、客人退房管理、系统管理等进行操作,相对用户具有很高的权限。
管理员用例图,如图3-2所示:
3.4系统开发环境与技术需求
基于springboot的开发平台,不但吸收了ASP以前版本的最大优点并参照Java语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。它是一种对于网页的程序开发平台,它的开发工具是Eclipse,开发语言主要以java为主,作为一种编程语言,有着很好的创造性和开源性。
MySQL数据库技术是计算机技术中特别重要的一门技术,大多数的系统软件存储数据信息都需要依赖于MySQL数据库技术支撑,都必须采用MySQL数据库技术来进行数据资料的储存,这就要求软件开发者必须熟练掌握MySQL数据库技术。
技术框架是一个软件系统之中在开发之初非常重要的,它决定着系统的各个方面的特性,对软件的设计,系统运行,后续开发过程中都有举足轻重的地位。本次系统使用的Browser/Server(浏览器/服务器)结构,简称B/S结构,是有别于传统的C/S结构的一种新型架构。是当前最流行的一种网络结构模式。B/S结构技术的优势在于在网络硬件方面比较宽泛,不需要专门的网络硬件,在范围应用上特别的广泛,而且B/S结构技术硬件要求比较低,只需要有操作系统浏览器就可以,另外在电话上网和设备应用等方面应用的特别多。
3.5系统流程分析
流程图就是用它已经特定的图形符号以及相应的线条,用来展现出系统在执行中的整个的过程。由于这种图形能够很方便的描绘系统的一系列流程,所以它的所有的图形符号是比较关键的,基本都是一个图形符号就能表示某个过程的一个单独的步骤。流程图不只是提供出比较完整、全面的执行过程,而且在整个团队的协作设计过程中,还可以发现其中有可能存在的缺陷以及不足,便于在后续的过程中能够及时的纠正和完善系统。
通过流程图可以对系统的需求和相关过程进行分析,能够详细的细分到每个部分的设计。对于设计者来说在开发过程中能够使用流程图作为基础,可以快速提高自身的逻辑思想,并且还能在后续的操作中能够有章可循,在系统的设计中最重要的就是程序的设计,然后才是程序的具体编写,流程图便是在设计过程中重要的工具,以下就是部分流程图设计。
注册模块流程图如图3-3所示。
个人中心管理流程如图3-4所示:
图3-4个人中心管理流程
系统操作流程如图3-5所示:
图3-5系统操作流程图
4.1 系统总功能模块设计
基于Android的酒店预订系统App分两大部分,即管理员和用户。系统按照用户的实际需求开发而来,贴近生活。管理员总体负责整体系统的运行维护,统筹协调。
系统整体模块设计:系统分为管理员和用户两大用户角色,系统管理员有最大的权限,整体功能展示如图4-1所示。
图4-1系统整体功能图
4.2系统数据库设计
4.2.1 E-R模型结构设计
概念模型通常都用E-R图来进行描述,它主要是提供表示实体、属性、联系的方法,实体的含义就是,相对来说显示的客观存在,用户是能够可以轻松区别开的事件,属性则是实体中具有的性质。E-R图是可以将属性与其相关的实体集进行互相的连接,或者说将实体集与联系集进行相连,最终可以直接反映出系统中的各个实体之间的关系。下面是酒店预订系统App中相关的E-R图。
将“管理员信息”作为实体,它的E-R图,如图4-2所示:
将用户、收藏、公告栏、客房信息、客人入住、客房预订等作为实体,它们的局部E-R图,如图4-3所示:
4.2.2数据表设计
数据库表的设计是很关键的,在数据库的建立中占非常重要的地位,它是建立数据库资料信息的基础部分,为数据库提供数据的支持和保障,是建立数据库中必不可少的环节。下面是酒店预订系统App中重要数据库表的设计。数据表的详细情况如下表所示。
表4-1:客人入住
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
kefangbianhao | varchar | 200 | 客房编号 | ||
kefangmingcheng | varchar | 200 | 客房名称 | ||
kefangtupian | longtext | 4294967295 | 客房图片 | ||
kefangleixing | varchar | 200 | 客房类型 | ||
kefangsheshi | varchar | 200 | 客房设施 | ||
kefangjiage | double | 客房价格 | |||
jiudianmingcheng | varchar | 200 | 酒店名称 | ||
jiudiandizhi | varchar | 200 | 酒店地址 | ||
lianxifangshi | varchar | 200 | 联系方式 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
xingming | varchar | 200 | 姓名 | ||
shenfenzheng | varchar | 200 | 身份证 | ||
shouji | varchar | 200 | 手机 | ||
ruzhuriqi | datetime | 入住时间 | |||
kefangzhuangtai | varchar | 200 | 客房状态 |
表4-2:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
image | varchar | 200 | 头像 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-3:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 | ||
url | varchar | 500 | url |
表4-4:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-5:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型 | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-6:取消订单
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
kefangbianhao | varchar | 200 | 客房编号 | ||
kefangmingcheng | varchar | 200 | 客房名称 | ||
kefangtupian | longtext | 4294967295 | 客房图片 | ||
kefangleixing | varchar | 200 | 客房类型 | ||
ruzhushijian | varchar | 200 | 入住时间 | ||
kefangjiage | double | 客房价格 | |||
jiudianmingcheng | varchar | 200 | 酒店名称 | ||
jiudiandizhi | varchar | 200 | 酒店地址 | ||
lianxifangshi | varchar | 200 | 联系方式 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
xingming | varchar | 200 | 姓名 | ||
shenfenzheng | varchar | 200 | 身份证 | ||
shouji | varchar | 200 | 手机 | ||
xiadanshijian | varchar | 200 | 下单时间 | ||
quxiaoyuanyin | varchar | 200 | 取消原因 | ||
quxiaoshijian | datetime | 取消时间 | |||
crossuserid | bigint | 跨表用户id | |||
crossrefid | bigint | 跨表主键id | |||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-7:公告栏分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
typename | varchar | 200 | 分类名称 |
表4-8:公告栏
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
typename | varchar | 200 | 分类名称 | ||
name | varchar | 200 | 发布人 | ||
headportrait | longtext | 4294967295 | 头像 | ||
clicknum | int | 点击次数 | 0 | ||
clicktime | datetime | 最近点击时间 | |||
thumbsupnum | int | 赞 | 0 | ||
crazilynum | int | 踩 | 0 | ||
storeupnum | int | 收藏数 | 0 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表4-9:客人退房
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
kefangbianhao | varchar | 200 | 客房编号 | ||
kefangmingcheng | varchar | 200 | 客房名称 | ||
kefangtupian | longtext | 4294967295 | 客房图片 | ||
kefangleixing | varchar | 200 | 客房类型 | ||
kefangsheshi | varchar | 200 | 客房设施 | ||
ruzhuriqi | varchar | 200 | 入住时间 | ||
kefangjiage | int | 客房价格 | |||
zhusutianshu | int | 住宿天数 | |||
zongfeiyong | int | 总费用 | |||
jiudianmingcheng | varchar | 200 | 酒店名称 | ||
jiudiandizhi | varchar | 200 | 酒店地址 | ||
lianxifangshi | varchar | 200 | 联系方式 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
xingming | varchar | 200 | 姓名 | ||
shenfenzheng | varchar | 200 | 身份证 | ||
shouji | varchar | 200 | 手机 | ||
tuifangyuanyin | varchar | 200 | 退房原因 | ||
tuifangshijian | datetime | 退房时间 | |||
ispay | varchar | 200 | 是否支付 | 未支付 |
表4-10:客房预订
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dingdanbianhao | varchar | 200 | 订单编号 | ||
kefangbianhao | varchar | 200 | 客房编号 | ||
kefangmingcheng | varchar | 200 | 客房名称 | ||
kefangtupian | longtext | 4294967295 | 客房图片 | ||
kefangleixing | varchar | 200 | 客房类型 | ||
kefangsheshi | varchar | 200 | 客房设施 | ||
ruzhushijian | datetime | 入住时间 | |||
kefangjiage | double | 客房价格 | |||
jiudianmingcheng | varchar | 200 | 酒店名称 | ||
jiudiandizhi | varchar | 200 | 酒店地址 | ||
lianxifangshi | varchar | 200 | 联系方式 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
xingming | varchar | 200 | 姓名 | ||
shouji | varchar | 200 | 手机 | ||
shenfenzheng | varchar | 200 | 身份证 | ||
xiadanshijian | datetime | 下单时间 | |||
dingdanzhuangtai | varchar | 200 | 订单状态 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-11:客房信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
jiudianmingcheng | varchar | 200 | 酒店名称 | ||
jiudianxingji | varchar | 200 | 酒店星级 | ||
kefangbianhao | varchar | 200 | 客房编号 | ||
kefangmingcheng | varchar | 200 | 客房名称 | ||
kefanglouceng | varchar | 200 | 客房楼层 | ||
kefangleixing | varchar | 200 | 客房类型 | ||
kefangtupian | longtext | 4294967295 | 客房图片 | ||
kefangsheshi | varchar | 200 | 客房设施 | ||
kefangjiage | double | 客房价格 | |||
kefangzhuangtai | varchar | 200 | 客房状态 | ||
kefangjieshao | longtext | 4294967295 | 客房介绍 | ||
lianxifangshi | varchar | 200 | 联系方式 | ||
jiudiandizhi | varchar | 200 | 酒店地址 |
表4-12:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
xingming | varchar | 200 | 姓名 | ||
mima | varchar | 200 | 密码 | ||
xingbie | varchar | 200 | 性别 | ||
shouji | varchar | 200 | 手机 | ||
shenfenzheng | varchar | 200 | 身份证 | ||
touxiang | longtext | 4294967295 | 头像 |
表4-13:客房类型
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
kefangleixing | varchar | 200 | 客房类型 |
5.1 App前台功能的实现
5.1.1登录注册界面的实现
在登录流程中,用户首先在uni前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。登录界面如图5-1所示。
图5-1 登录界面
在注册流程中,用户在uni前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。注册界面如图5-2所示。
图5-2 注册界面
5.1.2系统首页功能的实现
系统首页是用户注册登录后进入的第一个界面,通过app端首页的最下面的那一行导航栏进入到相应的网页进行操作;系统首页界面如图5-3所示。
图5-3 app首页界面图
5.1.3我的功能实现
登录成功后,点击“我的”进入我的页面,在我的页面可以对客房预订、取消订单、客人入住、客人退房、我的收藏、修改密码等进行详细操作。如图5-4所示
图5-4我的功能界面图
5.2管理员模块实现
在登录流程中,用户首先在uni前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。登录页面如图5-5所示。
图5-5登录界面
管理员进入主页面,主要功能包括对个人中心、用户管理、客房信息管理、客房类型管理、客房预订管理、取消订单管理、客人入住管理、客人退房管理、系统管理等进行操作。管理员主页面如图5-6示:
图5-6管理员主页面
用户管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除用户信息”按钮或填写用户表单。这些用户动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除用户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便用户功能可以看到最新的信息或相应的操作反馈。如图5-7所示:
图5-7用户管理界面
客房信息管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除客房信息”按钮或填写客房信息表单。这些客房信息表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、预订、修改或删除客房信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便客房信息功能可以看到最新的信息或相应的操作反馈。如图5-8所示:
图5-8客房信息管理界面
客房类型管理功能在视图层(view层)进行交互,比如点击“查询、添加或删除客房类型”按钮或填写客房类型表单。这些客房类型表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除客房类型,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便客房类型功能可以看到最新的信息或相应的操作反馈。如图5-9所示:
图5-9客房类型管理界面
客房预订管理功能在视图层(view层)进行交互,比如点击“查询、添加、删除或审核客房预订”按钮或填写客房预订表单。这些客房预订表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、取消、入住或删除客房预订,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便客房预订功能可以看到最新的信息或相应的操作反馈。如图5-10所示:
图5-10客房预订管理界面
取消订单管理功能在视图层(view层)进行交互,比如点击“查询、添加、删除或审核取消订单”按钮或填写取消订单表单。这些取消订单表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除取消订单,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便取消订单功能可以看到最新的信息或相应的操作反馈。如图5-11所示:
图5-11取消订单管理界面
客人退房管理功能在视图层(view层)进行交互,比如点击“查询、添加、删除或批量支付客人退房”按钮或填写客人退房表单。这些客人退房表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除客人退房,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便客人退房功能可以看到最新的信息或相应的操作反馈。如图5-12所示:
图5-12客人退房管理界面
6系统测试
6.1测试概述
系统测试就是对项目是否存在错误而运行程序的一种检测方式。系统测试对于一个软件来说极为重要,并且在开发过程中占有很大的比重。每一次功能的实现都伴随着很多次的测试。它是软件是否能用的检测环节,对于软件质量的评估有着重要影响。系统能否被验收成功是测试中最后一个至关重要的环节。
6.2软件测试原则
当进行软件测试时,有一些原则需要遵循,以确保测试的有效性和效率。
第一:测试应该尽早开始。在需求分析和系统设计阶段就应该进行测试准备,以便尽早发现系统的不足之处。这样可以降低修复成本,提高开发效率。测试人员应该在分析需求时就参与进来,确保需求具备可测试性和正确性。
第二:测试应该是全面的。测试应该覆盖软件的各个功能模块和不同的使用场景,以确保软件在各种情况下都能正常运行。测试还应该关注软件的性能、安全性和可用性等方面,以全面评估软件的质量。
随着软件开发的复杂性增加,手动测试已经无法满足需求。自动化测试可以提高测试的效率和准确性,减少人为错误。通过编写自动化测试脚本,可以快速执行大量的测试用例,并及时发现问题。软件的开发是一个迭代的过程,每个迭代都会引入新功能和修复旧问题。因此,测试也应该是一个持续的过程,与开发同步进行。持续集成和持续交付等技术可以帮助实现持续测试,确保软件在每个迭代中都能达到预期的质量标准。通过测试不仅仅是为了发现问题,更重要的是提供有价值的反馈给开发人员。测试人员应该及时向开发人员报告问题,并提供详细的复现步骤和环境信息,以便开发人员能够快速定位和解决问题。
6.3测试用例
(1)用户登陆测试用例
表 6-1 用户登录用例表
项目/软件 | 酒店预订系统App | 编制时间 | 20xx/xx/xx | |||
功能模块名 | 用户登陆模块 | 用例编号 | xxxx | |||
功能特性 | 用户身份验证 | |||||
测试目的 | 验证是否输入合法的信息,允许合法登陆,阻止非法登陆 | |||||
测试数据 | 用户名=1密码=a1身份= 非认证用户 | |||||
操作步骤 | 操作描述 | 数 据 | 期望结果 | 实际结果 | 状态 | |
1 | 输入用户名和密码 | 用户名= 1密码=1 | 显示进入后的页面。 | 同期望结果。 | 正常 | |
2 | 输入用户名和密码 | 用户名= 1密码=aaa | 显示警告信息“不存在该用户名或密码错误!” | 同期望结果。 | 正常 | |
3 | 输入用户名和密码 | 用户名= aaa密码=1 | 显示警告信息“不存在该用户名或密码错误” | 同期望结果。 | 正常 | |
4 | 输入用户名和密码 | 用户名=“” 密码=“” | 显示警告信息“用户名密码不能为空!” | 同期望结果。 | 正常 | |
(2)用户注册测试用例
表 6-2 用户注册用例表
项目/软件 | 酒店预订系统App | 编制时间 | 20xx/xx/xx | ||||
功能模块名 | 用户注册模块 | 用例编号 | xxxx | ||||
功能特性 | 用户注册 | ||||||
测试目的 | 验证注册是否成功,注册数据是否合法 | ||||||
测试数据 | 用户名=aaa 密码=aaa电子邮件=dwa@qq.com | ||||||
操作步骤 | 操作描述 | 数 据 | 期望结果 | 实际结果 | 测试状态 | ||
1 | 输入注册数据 | 用户名= aaa密码=aaa 电子邮件=dwa@qq.com | 提示:注册成功!转入用户主页 | 同期望结果。 | 正常 | ||
2 | 输入注册数据 | 用户名= aaa密码=aaa 电子邮件=dwa@qq.com | 提示:用户名已注册 | 同期望结果。 | 正常 | ||
3 | 输入注册数据 | 用户名= aaa密码=”” 电子邮件=dwa@qq.com | 提示:密码不能为空 | 同期望结果。 | 正常 | ||
4 | 输入注册数据 | 密码=aaa 电子邮件=dwa@qq.com | 提示:用户名为空 | 同期望结果。 | 正常 | ||
总结与展望
基于Android的酒店预订系统App作为一款基于springboot开发的系统软件,采用了JAVA技术来进行开发设计,运用了B/S构建系统的框架,利用MySQL数据库来进行数据信息的储存。
基于Android的酒店预订系统App实现了对用户的基本资料的动态管理,并可以对各种信息进行查询、添加、删除等操作。用户通过本系统实现了轻松便利的查看系统上的个人中心、用户管理、客房信息管理、客房类型管理、客房预订管理、取消订单管理、客人入住管理、客人退房管理、系统管理等。
未来若是要投入市场运行,本酒店预订系统App还有很多技术不成熟的地方,目前限于知识面的限制,还有许多地方层面存在技术性的缺陷,以后在用户信息管理安全性上、用户交流隐私性方面还需要改进。再有就是系统的运行存在一定的问题,在画面和排版上还需要改进,尤其是界面的改进尤为重要,美观的界面可以给用户提供一种愉快的享受。另外在未来本系统还将顺应当今共享经济的特点,实现对资源共享的特点,根据个人特点有针对性的进行推荐和寻找,进一步展现人性化的设计。希望以后本酒店预订系统App会变得更加优秀,真正意义上更好地服务用户。
致谢
非常感谢一直以来给我提供帮助和指导的老师,谢谢老师的悉心指导,帮助我解决设计过程中的难题和疑惑,不辞辛苦的对我的论文进行反复的研读和指导改正,才有最后比较满意的毕业设计和论文。另外非常感谢给我提供帮助和指点的同学,多亏了他们的帮助,让我解决设计过程中遇到的重重困难,我才可以将毕业设计和论文顺利完成。感谢给我提供设计灵感的同学和朋友,他们的建议让我的思维更加的宽广,是他们给我提供无私的帮助,解决了设计过程中遇到的难题,谢谢你们。
与此同时,感谢在我做毕业设计和写论文过程中提供帮助的各位老师,你们的辛勤付出和指导都是我设计和论文中必不可少的因素,有了你们的帮助才有现在优秀的设计作品和论文,感谢。
参考文献
[1]王慧.“Java程序设计”混合式教学创新模式探究[J].数字通信世界,2023,(06):179-181.
[2]邱小群,邓丽艳,陈海潮.基于B/S的信息管理系统设计和实现[J].信息与电脑(理论版),2022,34(20):146-148.
[3]郑戟明,董云朝,柳青.MySQL数据库数据导入导出方法的探讨[J].电脑知识与技术,2022,18(22):24-25.
[4]焦宇,李民,王欢,余开朝.基于MySQL性能调优的推荐系统优化设计[J].软件导刊,2022,21(09):108-112.
[5]赵将.Java语言在计算机软件开发中的应用[J].数字技术与应用,2023,41(03):160-162.
[6]张志云.探究计算机软件开发中Java编程语言的应用[J].信息记录材料,2023,24(04):110-112.
[7]韩延明.兴趣导向的第三方库案例教学探索与实践——以经管类专业Java程序设计课程为例[J].软件导刊,2023,(06):139-144.
[8]姚昱旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用,2019(11):110-112+24.
[9]尹孟征.基于Android的APP开发平台综述[J].通信电源技术,2019,33(04):154-155+213.
[10]朱生,牟星亮,单康康.基于Android平台的应用程序开发研究[J].网络安全技术与应用,2020(10):46-47+64.
[11]索红升.基于Java的电子商务平台的设计与开发[J].软件,2022,43(11):138-140.
[12]郑歆.Java程序设计课程的教学实践[J].集成电路应用,2022,39(11):94-95.
[13]妥泽花.基于黑盒测试与白盒测试的比较探究[J].电子世界,2021(11):55-56.
[14]Sohail A, Dominic P. Business process improvement: A process warehouse basedresource management method[C].International Symposium on Technology Managementand Emerging Technologies.IEEE, 2020:291-296.
[15]Ilahi L, Martinho R. Towards a Business Process Management Governance ApproachUsing Process Model Templates and Flexibility[C]. IEEE World Congress on Services.IEEE, 2020:27-34.
免费领取项目源码,请点赞❤️关注收藏并私信博主,谢谢!
免费领取项目源码,请点赞❤️关注收藏并私信博主,谢谢!
免费领取项目源码,请点赞❤️关注收藏并私信博主,谢谢!