文章首发地址:https://www.canterdanai.top/?p=881
1 绪 论
1.1 课题研究背景及意义
近年来,随着旅游业的不断发展,短租、民宿等新型住宿方式受到了越来越多人的欢迎。为了提升民宿的服务质量,扩大经营规模,许多民宿经营者需要在管理房型、预定、订单、支付等方面进行更加高效和便捷的管理。传统的手动管理方式既低效又费力,为此需要开发和设计一个基于B/S模式的民宿管理系统。
民宿管理系统是一个针对民宿业务的管理软件,可以帮助民宿经营者更加高效地管理他们的业务。该系统通常包括订单管理、客户信息管理、财务管理等功能,帮助民宿经营者更加智能化地管理他们的客房,并且能够更快、更准确地掌握客户需求和市场情况,从而提高预订和客户满意度。同时,民宿管理系统也可以通过对数据的收集和分析,帮助民宿经营者更好地把握市场动向,调整经营策略,实现更加精细化的运营管理。
因此,利用所学知识,为广大民宿经营者开发一款民宿管理系统,具有一定的现实意义,一方面可以使民宿经营者轻松管理民宿信息、预订民宿房间、收集评价信息,从而提高运营效率,使他们能够更加专注于提供高质量的服务。另一方面可以通过加强数据安全、防范各种网络安全隐患、进行数据备份等方式,使民宿经营者放心使用系统,提升经营的安全性。民宿经营者还可以通过对民宿运营情况进行分析,进一步掌握客户需求,针对市场开展相关的推广营销,有效地增加经营效益。
1.2 课题研究现状
随着我国旅游业的发展和大众旅游消费观念的不断变化,民宿业逐渐兴起。民宿与传统酒店相比,具有价格实惠的优势、带给居住证更加亲切的体验,以及可以充分了解当地文化,因此越来越多人选择住民宿。随着民宿行业的成长壮大,民宿管理系统也得到了进一步的发展。
在国内,民宿管理系统发展较为迅速。一些知名的OTA(在线旅游平台)如去哪儿网、携程、飞猪等,纷纷推出了民宿预订和管理系统。民宿管理系统主要包括房型管理、订单管理、财务管理、营销活动等多个方面。通过互联网的连接,民宿经营者可以轻松管理房型,实时查看订单状态,并进行在线营销活动,提高品牌知名度和预订率。
在国外,由于民宿行业发展时间更早,因此民宿管理系统更加成熟。知名的民宿平台如Airbnb、Booking.com、HomeAway等,它们不断改进其管理系统,并不断推出新的特色功能。其中,Airbnb的“空间管理”功能汇集了预订数据、房型维护、市场分析等多种管理工具,帮助民宿经营者更好地管理房型和预订信息。
总体来说,随着全球民宿业的迅速发展,民宿管理系统也在不断地发展和升级,越来越多的功能和特色不断涌现。未来,人工智能、大数据等技术的应用将为民宿管理提供更多可能性。
1.3 课题研究的内容及问题
研究内容:本论文研究的是基于B/S模式的民宿管理系统,在系统的构建过程中,充分运用前端的Vue框架和后端的Spring Boot框架,通过对前端和后端各个模块的完善实现,为民宿经营者和住宿者之间的信息交流提供更加优秀的平台。所研究的民宿管理系统,能便于民宿管理者更好地管理房型和提供预定服务,大幅减轻工作负担,并增加其管理效率。同时,使顾客在浏览及预定房型方面更加地轻松和方便。
研究中可能会遇到以下问题,需要开发人员逐一解决。
1.竞争激烈的市场:当前,民宿管理系统的市场竞争十分激烈,因此研究用户需求和做好产品创新,将是民宿管理系统开发人员需要面临的挑战。
2.安全性问题:随着互联网的发展,网络安全问题日益突出,因此,研究用户数据的安全性,制定合理的技术方案,将成为民宿管理系统开发人员需要面临的难题。
3.系统性能问题:民宿管理系统的使用受到服务器和数据处理的限制,如何优化系统性能,提高用户体验和速度,将是开发人员需要面对的一大问题。
4.用户体验问题:作为一个基于B/S架构的系统,用户界面的体验和易用性至关重要,因此民宿管理系统的开发人员需要注重用户接口的友好程度和高度的易用性。
5.版本更新问题:民宿管理系统是一个长期维护的项目,因此在系统开发后,仍然需要更加基于用户需求反馈,不断做出相应的系统版本更新,以维护系统的稳定性和安全性。
面对这些问题,民宿管理系统的开发人员需要系统性的解决并优化其系统设计,从而使系统功能更加完善、易用性更高、系统的性能得到更大的提升,适应市场的需求,长期维护以保证用户的体验和系统可用性。
2 系统总体设计
2.1 需求分析
整个设计构架中,我们首先要考虑的就是用户的使用需求,所以需要先进行需求分析,进而再分开对每个小部分进行设计。开发思路流程如图2.1.1所示:
图2.1.1开发思路流程图
旅游业发展已至今日已日益成熟,个性化住宿需求的不断涌现,民宿工业已快速扩展至全球市场。在这一背景下,基于B/S架构的民宿管理系统的研究与开发也逐渐成为互联网行业的研究重点之一。本系统是为了满足大量的客户需求,并为民宿管理者提供一个简单、方便的入口来管理住宿和餐饮等事项。主要需要实现以下用例:
1.顾客能登录和浏览房间预订信息;
2.顾客能在线预订房间、餐饮等服务;
3.顾客能向经营者发送留言或在线咨询以解决问题;
4.管理员能添加、编辑、删除房间信息,同时能查看订单管理和统计信息。
2.2 系统架构设计
根据民宿管理系统需求构建如下模型,如图2.2.1所示:
图2.2.1民宿管理系统的系统架构图示
该系统结构分为三个框架:
Web 层:Web层负责处理来自客户端的请求并生成响应。它主要涵盖了Web应用程序的前端部分,负责显示和收集用户的输入数据,并通过HTTP协议传递给业务层。
业务层:业务层处理Web层中收到的用户请求,并进行逻辑处理。它主要包括对数据的处理和加工,以及对业务规则的检查和执行。它是Web应用程序的核心部分。
数据访问层:数据访问层管理与数据库或其他数据存储系统的交互。它将请求从业务层转换为适合于数据存储系统的格式,并将结果返回给业务层。它也负责数据的维护、更新和删除操作。
这三层分离,架构清晰,使得Web应用程序易于开发、测试和维护。每一层都有特定的职责,使得开发人员更容易地实现单一职责原则。同时还能提高应用程序的安全性和性能。
2.3 模块功能设计
系统的模块功能设计是指将一个大型系统分解成若干个独立的、可独立完成某些功能的子系统(即模块),以便于开发、测试、维护和扩展,设计过程中需要注意以下几个特点:模块的职责要清晰,每一个模块都应该有一个明确的职责,负责完成某一方面的功能。如果一个模块尝试处理太多的责任,会导致代码的过于复杂,难以理解和维护。 如果各个模块相互耦合度过高,会导致代码的修改、测试、扩展等都变得困难。所以,在进行模块划分和功能设计时,需要确保各个模块间的依赖尽量少。模块接口是模块之间交互的桥梁,因此需要确保接口简洁明了以确保模块之间的数据传递的正确性和可靠性。当模块接口设计不当时,会导致代码之间的循环依赖、死循环等问题。在设计模块时,需要确保每个模块单独进行测试,并且可以独立部署、调试。同时,要确保每个模块的可用性,确保系统可以顺利运行。另外要对模块规范化设计,可以提高模块的效率、性能和可扩展性。同时,规范化设计可以确保代码的可读性和可维护性。
总之,系统的模块功能设计需要考虑到系统的可维护性、可测性和可扩展性。此外,还需要确保代码无误地处理每个使用情况,提前定义特殊情况,确保代码的可读性和可维护性。具体模块功能如下:
1.登录功能管理:提供用户注册和登录功能,确保系统安全。管理员登录后可以进行管理员操作,而普通用户登录后可以查看和预订民宿。
2.民宿信息管理:管理员可以在系统中添加和管理民宿信息,包括民宿名称、地址、房间类型、价格、房间数量、设施等信息。管理员还可以通过系统帮助房间实现预订和取消,确保房间预订信息的准确性和完整性。
3.民宿订单管理:管理员可以查看和管理系统中的所有订单,包括已预订的订单、已入住的订单、已取消的订单等。系统还将提供订单跟踪功能,以跟踪订单的状态并更新相关信息。
4.支付系统管理:系统应提供安全的支付方式,允许用户在线支付房费。可以使用银行、支付宝等第三方支付集成模块实现。
5.留言系统管理:系统可以允许用户评价自己的入住体验并给出评分,管理员可以查看和管理所有评价信息。评价可以帮助管理员评估民宿的质量、服务水平、设施等方面的优缺点,在未来进一步改进服务质量。
6.搜索和过滤功能:系统应该提供搜索功能,允许用户根据预算、类型、地理位置等几方面的需求来搜索和过滤出满足要求的民宿选项。此外,系统应该提供简单的价格过滤功能,方便用户轻松判断预算范围内可行的房间选择。
7.帮助和支持:系统应该提供帮助和支持以确保良好的用户体验。这包括常见的问题、使用说明、配置文件等。
8.数据备份与恢复:在系统运行时,应定期备份所有数据以确保数据的安全性和缺失情况下的容错能力,并能够轻松进行数据恢复和备份。
9.监控管理:管理员应该能够轻松地监控和管理整个系统,包括系统性能、服务质量、用户反馈等方面的信息。这将帮助管理员及时地发现和解决任何可能出现的问题,并提高系统的整体运行效率。
2.4 数据库设计
数据库是信息的集散地,在这里可以完成信息的新增、储存、修改、分类、搜索、删除等工作。利用好数据库,可以完成数据的统计、排列、分析,归档等操作,更方便于管理员对于系统的管理,数据库是系统的核心组成部分,对整个系统的正常运转起到了决定性作用。
2.4.1 数据库实体
E-R模型能够充分的、直观的显示出数据库的结构特征,从各模块关联之间更为简洁的展示出数据库的整体架构。
结合管理员在民宿管理系统上操作的需求点,设计的E-R模型图如下图所示。
1.订单管理实体E-R图如图2.4.1所示:
图2.4.1订单管理实体图
2.系统公告管理实体E-R图如图2.4.2所示:
图2.4.2系统公告管理实体图
3.注册用户管理实体E-R图如图2.4.3所示:
图2.4.3注册用户管理实体图
4.菜品管理实体E-R图如图2.4.4所示:
图2.4.4菜品管理实体图
2.4.2 数据库表设计
数据库表设计是指根据业务需求,对数据库中的数据进行结构化的设计,包括定义数据库中表的字段、数据类型、数据长度、唯一性、约束、索引等,并确保每个表的设计符合数据的一致性和完整性。分析民宿管理系统管理员的要求,结合实际的需求分析,设计了以下表格:
- 管理员注册表(admin)
字段名 | 数据类型 | 允许非空 | 注释 |
ID | int(11) | 编号 | |
userName | varchar(66) | null | 用户名 |
userPw | varchar(66) | null | 用户密码 |
- 菜品信息表(xiangce)
字段名 | 数据类型 | 允许非空 | 注释 |
ID | varchar(50) | 编号 | |
name | varchar(66) | null | 作品名称 |
caipin | varchar(2000) | null | 相关介绍 |
leixing | varchar(66) | null | 备注 |
- 民宿信息表(wenzhang)
字段 | 数据类型 | 允许非空 | 注释 |
ID | varchar(50) | 编号 | |
neirong | varchar(200) | null | 内容 |
jiage | varchar(55) | null | 用户编号 |
leixing | varchar(66) | null | 名称 |
- 留言信息表(liuyan)
字段 | 数据类型 | 允许非空 | 注释 |
ID | varchar(50) | 编号 | |
neirong | varchar(200) | null | 内容 |
liuyanshi | varchar(66) | null | 留言时间 |
user_id | varchar(55) | null | 用户编号 |
huifu | varchar(66) | null | 回复 |
huifushi | varchar(50) | null | 回复时间 |
- 公告表(gonggao)
字段 | 数据类型 | 允许非空 | 注释 |
ID | varchar(50) | 编号 | |
bianoti | varchar(66) | null | 标题 |
neirong | varchar(2000) | null | 内容 |
fujian | varchar(66) | null | 附件 |
shijian | varchar(55) | null | 时间 |
2.5 可行性分析
可行性分析是指在系统开发过程中对项目的可行性进行评估,分析系统是否具有可行性、可行性程度如何,以及实施该系统是否有必要等问题的过程。常见的可行性分析主要有硬件可行性、软件可行性、技术可行性、操作可行性、安全可行性。
2.5.1硬件可行性
民宿管理系统对硬件的要求较低,我们日常生活中使用的电脑就可以实现开发,设计完成后对于用户而言,普通的家用电脑进行操作也是没有问题的,硬件的配置只要满足以下条件即可:
配 置:CPU:Intel i5-7200U及以上;
硬 盘:80GB及以上;
内 存:8G及以上;
操作系统:常用的Windows系列都可以
数据库:MySQL
服务器环境:JSPStudy、Apache、MySQL8.0、JSP7.0
2.5.2软件可行性
本人选择使用的是idea集成软件,Idea是一款高效的Java开发集成工具,同时支持多种编程语言和框架,例如:Spring Boot,Vue等。通过Idea的开发平台,我们可以将前端和后台进行整合,高效研发开发,帮助我们更快地实现对于软件开发的需求。同时,它具有功能强大、调试便捷、缺陷少等优势,可以让开发人员更高效地进行开发。
2.5.3技术可行性
随着互联网的快速发展,开发一款民宿管理系统的技术手段已经越来越成熟,为开发者提供了足够的技术支持和开发语言,由于B/S架构具有被广泛接受和应用的优势,同时多种前端和后端技术和框架的应用可以实现系统的性能和安全等方面的需求,因此本次开发设计技术方面是可行的。
2.5.4经济可行性
如今,民宿管理市场已经逐渐成为一个增长迅速的新兴产业,而且市场规模持续扩大。因此,开发一款民宿管理系统,具有很强的市场竞争力,同时能够带来显著的经济效益,会有民宿经营者争相购买。
2.5.5安全可行性
本次开发首先采用https协议对数据进行加密传输,确保用户的隐私信息不被窃取或篡改。其次, 要通过使用系统日志监控等手段,可以识别和警告攻击并保护用户数据的完整性和可用性。此外,设置用户身份验证和访问控制可以确保系统仅对真正可信的用户和服务进行授权,以降低攻击和恶意操作的几率。最后,对于敏感信息,例如银行卡号等,采取分层存储和加密等技术,确保其安全性。
3 其他相关技术
3.1 项目框架技术
项目框架技术是一种软件开发方法,通过将常见的开发需求和解决方案预设为可重复使用的框架,来提高开发效率、简化开发过程和降低开发成本。框架技术通过提供一组通用的编程规范和约定,使得开发人员可以快速创建特定类型的项目,而不必重复编写相同的代码。
3.2 MVC系统架构简介
将展MVC系统架构是一种软件设计模式,用于开发基于Web的应用程序。MVC代表Model-View-Controller(模型-视图-控制器),其核心思想是将应用程序分为三个主要组件:模型、视图和控制器。
Model:应用程序中数据的表现形式,负责存储和处理数据。在MVC架构中,称为Model。
View:用户与应用程序进行交互的界面。在MVC架构中,称为View。
Controller:应用程序的逻辑部分,负责将用户的请求路由到适当的模型和视图,并处理响应。在MVC架构中,称为Controller。
通过将应用程序分成三个组件,并定义它们之间的正确通信方式,MVC使得应用程序更加模块化和可维护,并且使得新功能的添加更加容易。此外,MVC还提高了代码的可重用性,并提高了代码的可测试性。MVC模式已经成为许多Web应用程序的标准设计模式。如图3.2.1。
图3.2.1 MVC架构图
3.3 B/S系统简介
B/S系统是一种基于浏览器(Browser)/服务器(Server)结构的客户端/服务端系统架构,也称为Browser/Server模式。其中,B指的是浏览器,S指的是服务器。
在B/S系统中,浏览器作为前端,主要负责向用户展示网站的信息,例如网页的文本、图片、视频、音频等内容。而服务器则扮演着后端的角色,主要处理商业逻辑、数据存储和运算等操作。客户端通过浏览器向服务器发送请求,并通过浏览器接收服务器返回的响应,完成信息的交互。
相较于C/S系统(Client/Server),B/S系统的优势在于其跨平台和分布式特性。它不需要在客户端安装软件,只需要浏览器的支持即可,节省了客户端所需的硬件资源和软件成本。此外,B/S系统也可以实现真正的分布式运算,增加了系统的可扩展性和稳定性。
B/S系统通常被用于网站建设、电子商务、社交媒体、在线协作、云计算等领域。它在简化客户端负担、提高用户体验、汇集数据和集中管理等方面具有明显的优势,是目前互联网应用最广泛的一种客户端/服务端软件架构。
3.4 开发管理工具简介
前端开发技术和框架: 可以使用React、Vue、Angular等流行的框架,以及HTML、CSS、JavaScript等前端技术,实现用户界面的开发和交互,本次开发选择的是Vue。
后端开发技术和框架: 可以使用Java、Python、Ruby、Node.js等语言,以及Spring Boot、Django、Ruby on Rails、Express等后端框架,来实现数据处理、业务逻辑处理和API接口的开发,本次开发的是Spring Boot框架。
数据库管理工具: 建议使用MySQL、PostgreSQL、MongoDB等数据库,以便存储数据,并使用相应的管理工具,本次开发环节使用的是MySQL。
版本控制工具: 可以使用Git、SVN等工具来管理代码,以便更好地团队协作,保证代码质量和版本管理。
项目管理工具: 可以使用JIRA, Trello, Asana等,以便更好地跟踪和管理项目进度、任务分配和问题跟踪。
3.5 开发管理模式简介
开发人员在设计模式时经常使用“解剖式”的方法,解剖式的开发管理模式是一种敏捷软件开发方法,强调团队合作、快速迭代和及时反馈。该方法的核心思想是通过高度协作的开发团队,让所有的参与者了解整个项目的大局,分工协作,各自负责解决问题,不断进化和改进软件。
解剖式的开发管理模式采用了不断迭代和快速反馈的方式去应对市场变化和需求变化。它使得开发人员可以在较短的时间内快速构建出用户所期望的价值,并及时反馈实际情况以便调整下一步行动,使整个开发过程更具灵活性和适应性。
解剖式的开发管理模式的最终目标是将软件开发打造成一个自运行、自管理和自整合的系统。它强调团队协作和知识共享,逐步增强团队的能力,并使其更适应于不断变化的市场需求。解剖式的开发管理模式可适用于各种类型的软件开发,其核心是始终保持敏捷和灵活。
4 系统设计
4.1 前台功能设计
4.1.1 系统首页
系统首页能够看到菜品分类、新闻动态、民宿信息、系统公告、用户留言等模块,用户打开网页一目了然,网站整体设计风格清雅朴素,给人耳目一新的感觉。页面最左上角位用户注册几用户登陆按钮。这个界面是网站的门户,代表整个网站的设计水平,网站内所有的功能模块都在首页展示出来。如图4.1.1所示:
图4.1.1系统首页
4.1.2 民宿信息
这是系统的核心功能,用户可在这个板块浏览民宿经营者发布的全部房型,查看房型信息, 与此同时,根据自己的需求,选择并预定具体房间。如图4.1.2所示:
图4.1.2民宿信息界面
4.1.3 新闻动态
用户可通过这个功能,对民宿推出的最新优惠活动进行浏览,用户可以根据自身喜好,关注并积极参与。另外有关于民宿的其他新闻动态,也会在这个模块呈现出来。如图4.1.3所示:
图4.1.3新闻动态板块
4.1.4 菜品分类
用户可以在这个系统的这个板块,对民宿提供的菜品进行挑选,并在线上完成下单支付操作。如图4.1.4所示:
图4.1.4菜品分类
4.1.5 用户查询
用户还可以在最上方的搜索栏,直接输入关键字,检索自己想要了解的信息,十分的方便快捷。如图4.1.5所示:
图4.1.5用户查询界面
4.1.6 用户登陆
此处为用户登陆界面,登陆后的用户即可在留言区进行留言,给经营者提供反馈意见,或者与其他住户交流游玩心得。如图4.1.6所示:
图4.1.6用户登陆界面
4.2后台管理设计
4.2.1 用户信息管理
管理员用户可以进入到后台管理页面。对已在系统中注册的用户信息进行管理。如图4.2.1所示:
图4.2.1用户信息管理
4.2.2 民宿信息管理
管理员可在民宿信息管理模块,发布最新的民宿信息,并对已发布的房型信息进行管理。如图4.2.2所示:
图4.2.2民宿信息管理
4.2.3 菜品管理
进入菜品管理,可以对民宿的菜品种类进行管理,线上发布民宿的菜品信息,编辑或删除菜品类别。如图4.2.3所示:
图4.2.3.菜品管理
4.2.4 订单管理
对民宿管理系统的管理员来说,可以在这里对所有注册用户的订单信息进行查看,并根据实际情况,对系统内的订单信息进行管理。如图4.2.4所示:
图4.2.4订单管理