计算机毕业设计-民宿管理系统分析与设计

项目难度: 中等难度
适用场景: 相关题目的毕业设计
包含内容: 整套源码+完整毕业论文
大家点赞、收藏、关注、评论啦 。
资源下载|如果你正在做毕业设计,需要源码和论文,不局限于该项目,私聊我

自从改革开放以来,我国各方面都产生了巨大的改变,在政治、经济、文化等方面取得显著成就。到如今,中国改革开放已历经30个年头,社会主义现代化建设稳步发展,中国整体国力大大加强。随着中国经济高速发展,人们逐渐变得富裕起来,生活水平质量也不断提高,越来越多的人选择出门旅游远行。相对于酒店、宾馆来说,民宿虽然没有特别多的服务项目,住宿条件也一般,但因其价格低廉,深受大家的欢迎,尤其受到了很多年轻人的喜爱。因民宿背后的经济效益,许多投资商开始创办旅社,转眼间,已经成为旅社行业中重要的组成部分,但如何提高其信息管理成了目前最大的问题。运用互联网技术使民宿实现现代化管理,将旅社信息注册到管理系统,旅客可以根据自己的需要选择符合条件的旅社。

通过对民宿的需求分析,为了方便旅店管理和旅客查询住店,本文开发设计一款基于SSM的民宿管理系统。本系统设置以下三种用户:房东、旅客和管理员,每个用户具有不同的权限。通过此系统,房东可以注册旅店信息,管理房间信息,旅客订单管理;旅客可以根据地点、时间、住房要求预定自己的房间,据约束条件退订房间、查询订单等;管理员主要是审核注册用户的信息。此系统计划采用Java语言结合JSP技术开发,运用MySQL作为数据库技术。此民宿管理系统涵盖了一些当地有名的民宿信息,有利于旅游和外出工作的人查询比较,系统功能需求基本满足实现,且易于操作。

关键词:民宿,Java,现代化管理,MySQL

 
ABSTRACT

Since the reform and opening up, huge changes have taken place in all aspects of our country, and significant achievements have been made in politics, economy, and culture. Up to now, China's reform and opening-up have gone through 30 years. Socialist modernization has developed steadily, and China's overall national strength has been greatly strengthened. With the rapid development of China's economy, people have gradually become richer, and the quality of their living standards has continued to improve. More and more people choose to travel and travel. Compared to hotels and guesthouses, although there are not many special services and average accommodation conditions, youth hostels are welcomed by everyone because of their low prices, especially by many young people. Due to the economic benefits behind youth hostels, many investors have begun to set up hostels. In a flash, they have become an important part of the hostel industry, but how to improve their information management has become the biggest problem at present. The use of Internet technology enables modern youth hostels to achieve modern management and register the hostel information in the management system. Passengers can choose eligible hostels according to their needs.

Through the analysis of the needs of the youth brigade, in order to facilitate the hotel management and tourists to check the accommodation, this article develops and designs a Harbin youth brigade management system based on SSM. The system has the following three users: landlord, traveler, and administrator, each user has different permissions. Through this system, landlords can register hotel information, manage room information, and manage passenger orders; travelers can book their own rooms based on location, time, and housing requirements, unsubscribe rooms and check orders based on constraints; administrators mainly review registered users Information. This system is planned to be developed using Java language combined with JSP technology and MySQL as database technology. This youth hostel management system includes information on some famous local youth hostels in Harbin, which is helpful for tourists to check and compare with people who are working outside. The system's functional requirements are basically fulfilled and easy to operate.

Keywords: Youth Hostel, Java, Modern Management, MySQL

 

目录

摘要.......................................................................................... 1

第一章绪论................................................................................ 3

1.1课题的研究背景及意义.................................................. 3

1.2国内外现状................................................................... 3

1.3论文结构....................................................................... 4

第二章 系统需求分析................................................................ 5

2.1可行性分析................................................................... 5

2.2分析用户需求................................................................ 6

2.3分析功能需求................................................................ 7

2.3.1用户功能模块...................................................... 7

2.3.2管理员功能模块................................................... 7

2.3.3房东功能模块...................................................... 8

2.4性能需求....................................................................... 9

2.5开发技术介绍.............................................................. 10

2.4.1Java语言介绍.................................................... 10

2.4.2SSM架构介绍..................................................... 10

2.4.3 数据库Mysql介绍............................................ 11

第三章 总体设计..................................................................... 12

3.1网站总体功能结构....................................................... 12

3.2网站流程图................................................................. 12

3.3网站数据库设计........................................................... 15

3.3.1数据库模型设计................................................. 15

3.3.2数据库逻辑设计................................................. 18

3.3.3数据库表设计.................................................... 19

3.4时序图设计................................................................. 22

第四章 系统实现..................................................................... 25

4.1管理员功能模块........................................................... 25

4.1.1用户管理........................................................... 25

4.1.2房东管理........................................................... 25

4.2用户功能模块.............................................................. 26

4.2.1房间预订........................................................... 26

4.2.2用户订单........................................................... 27

4.2.3用户退房........................................................... 27

4.2.4用户评价........................................................... 28

4.2.5用户密码修改.................................................... 28

4.3房东管理模块.............................................................. 29

4.3.1客房新增........................................................... 29

4.3.2客房管理........................................................... 30

4.3.3客房预订管理.................................................... 31

4.3.4退单管理........................................................... 31

4.3.5密码修改........................................................... 32

第五章 系统测试..................................................................... 33

5.1测试描述..................................................................... 33

5.1测试用例..................................................................... 34

5.2测试结果..................................................................... 35

5.3测试小结..................................................................... 37

总  结..................................................................................... 38

感谢........................................................................................ 39

参考文献................................................................................. 40

第一章绪论

1.1课题的研究背景及意义

作为北方最有名的冬天必打卡旅游城市之一,吸引着众多游客来游玩。外出旅游首要考虑的就是住宿问题,按以往的方式,我们会选择酒店、连锁酒店、民宿等,但它们价格昂贵,一般刚毕业的年轻人没有这样的经济实力,民宿的兴起给我们提供了更多的选择,许多求职、实习或短期外出公干的人员也渐渐选择民宿[1]。因其极受欢迎,民宿的数量也逐年上升,越来越多的人经营民宿,在旅游市场份额中也慢慢占有一定份额。现代的青年旅馆每天接待不同的人,且大部分房客都是短住,住房信息变动频繁产生大量的信息量,如何有效的管理这些信息就要利用计算机技术科学管理[2]。

每个城市都有不同类型、不同规模的民宿可供旅客选择,要想增强在旅舍行业中的竞争力,继续使用传统的人工管理方式已经不在适应时代的发展。研究设计基于计算机技术的民宿管理系统有利于提高旅店员工的工作效率,既节省人力物力又可以节省财力[3];为旅客提供充足的订房信息,可以处理大量的订单数据,减少传统管理方式带来的错误问题,而且管理成本低,保密性又好。在此平台,所有的商家房东可以注册信息,增加房间信息,网上信息更新及时,通过这样的管理系统平台,用户可以及时查询比较各家旅店,预定到符合自己需求、经济实惠且方便可靠的民宿[4]。

1.2国内外现状

民宿作为一种更经济、安全,有效促进年轻人交流的新兴旅馆,我们对它传统的印象是花便宜的价格享受优质的服务,大家来自五湖四海相聚一堂,畅聊人生。民宿接收来自不同国家、不同种族、不同信仰的各方民众,主打的就是经济实惠。近几年,信息化技术广泛应用到各行各业,民宿信息化管理也是未来发展的趋势。

当前,民宿在中国仅仅发展了20个年头,对其的研究还处在初级阶段。相对于国内,国外的民宿已有着百年历史发展,在服务经营管理方面的经验远比中国丰富,我们要学习借鉴。通过查阅网上资料信息,我国旅馆信息化管理逐渐步入正轨,信息化管理能力有了很大的提高[5]。国外最有名的国际民宿发展到现在已近百年,已经形成信息化的旅社管理,使其变得国际化,吸引更得的客户,活跃了 国际旅游;另一个特点是网络化管理,所有的工作内容具有规范性,各项管理内容简单化,还降低了经营的成本。随着计算机技术的迅速发展,信息化管理更加完善,系统更加稳定可靠[6]。1998年在广东省,我国建立了第一批民宿,后期对其理论研究不够充足,与国外相比,不论是互联网技术的发展,还是民宿信息化管理都稍显落后,但未来我国信息化管理的趋势发展势不可挡。虽然我国对民宿的研究起步晚,旅社信息化管理水平也不高,相信再经过几年的发展,就会呈现管理系统百家争鸣的现象。民宿的信息化管理,可以集合多家旅社信息,有利于人们获取信息,安排行程;对于旅社经营者,可以对旅客住宿进行信息管理,及时更新房间信息,大大提高了工作效率[7]。

1.3论文结构

  本论文详细分析描述了开发此系统的过程,首先进行系统分析,了解用户需求,确定系统功能模块,然后进行数据库设计,数据库的建立必须具有数据安全性,房东、管理员和旅客注册信息,自行设置密码。系统开发过程中及结束都要经过测试检验是否达到预期效果,经过反复修改无误后完成此系统的设计任务。本系统拟设计开发基于B/S架构的民宿管理系统,旅客想要查询旅店信息,只需在网络状态下登录网页系统即可操作,方便简单,适合大部分人的使用。对于工作管理人员只需简单培训就可使用,能够为旅店取得更多的经济效益。本文分析了选用技术的可行性,技术采用最流行的Java语言,此语言的优点是跨平台且开放,有利于学习借鉴。

第二章 系统需求分析

2.1可行性分析

技术可行性:在技术方面目前采用主流语言Java,java的跨平台和部署集成能力较强,框架选择SSM,基于MVC设计,便于后期的二次维护,采用SpringMVC进行rest风格Url设计,代码更为简洁,采用Mysql数据库存储,sql编写优化更为简单。系统使用Java,系统用的是B / S模式,是用浏览器和服务器的架构模式。使用 Web技术开发软件,并且客户端用在服务器端下载去执行,从最大限度地提高了所有系统的安全性能[8]。 该浏览器是非常方便并且易于操作。 这些比较成熟技术也为后续系统的开发有了坚实的基础。

法律可行性:目前本系统市场上没有一家成型的网站,且没有任何的知识产权有侵权行为,且本次开发采用的语言和框架都为开源,不存在任何的盗版行为,此次设计的内容和技术都为本人自行设计和研发。所以法律是完全可行的。

经济可行性:经济可行性是指所开发软件是否在自己可以承担的范围之内,并且开发的软件所获取的盈利是否值得自己的经济投入[9]。软件的开发成本不仅仅要去考虑硬件设备的投入例如电脑硬件,输入输出设备,软件配置等,而且还要考虑人员投入精力投入,后期员工维护费加工费等[10]。

本软件由于范围不大,前期投入少,整个开发过程基本由本人一个人完成,所以成本不高,完全在可以承受的范围之内。所以经济的可行性是完全达到了标准的。

运行可行性:运行可行性是指软件在运行硬件设备上所需要的配置。

硬件设备要求:

  1. 处理器:i3及以上都可正常运行
  2. 内存:2GB及以上
  3. 系统:windows xp 及以上
  4. 输入输出设备以及显示器等

                操作可行性:操作可行性是指系统是否易于用户的操作,能否让用户简单的上手。是否是用户需要相应的培训才可以上手本系统,是否需要具备一定的计算机水平。本系统只要有一定的计算机非常一些简单的操作便可以上手,所以操作可行性的条件是具备的。

2.2分析用户需求

在目前的民宿的房间预订,基本都是一些大型的网站,而且会推荐一些广告导致对用户对民宿的选择效率下降,用户出行旅游或者办公就是希望很快速的根据自己的选择条件进行直观选择,通过对价格、地理位置等直接进行筛选,且可以对有空余房间的旅店进行详细查看。

结合房客和旅店房东的需求,设计开发此网站,可以建立一个中间桥梁平台,满足房客的预订,同时也提升了旅店的住宿率,对旅店也可以起到一个自动化预订办公管理,此网站可以让旅客依据自己的需求进行自定义筛选,可以查询具体旅店的住宿信息以及评价信息,满足双方的交易需求[11]。

本系统主要是为了给系统的用户带来更为便利的民宿分享体验,民宿搜索者可以在线进行查询,同时也提升了民宿的知名度,本系统的研究就是为了实现这些目的而进行的:

(1) 为用户提供了便捷的民宿搜索的方法;

(2) 信息的保密性。安全的是有保障的;

(3) 界面与界面之间的跳转完美衔接以及吻合;

用户的体验和反馈情况的好坏,最能体现出一个系统设计的是好还是坏。

民宿预订网站的研究要满足两种人的需求,显而易见就是用户和管理员。

而系统的的功能需求主要是来自于为了满足使用者的需求而进行的一些操作上的要求。

用户的需求一般来说就是登陆注册,浏览民宿,查询相关信息,当然可以进行模糊搜索,比如可以直接搜索位置,以及搜索名宿景点等信息,可以进行房间的预订下单,而对于后台管理的人员来说,操作便捷同样也是他们的需求,这个就需要研究者在研究的时候设计出一套完整的管理流程[12],比如民宿房间的管理,以及民宿订单的管理

2.3分析功能需求

2.3.1用户功能模块

用户功能主要包括旅店的搜索,可以根据住宿开始时间跟结束时间,以及景点定义,入住地址等进行模糊自定义筛选,可以对旅店信息进行查看,可以查询旅店的具体房间信息,包括房间类型以及房间图片信息,以及不同的房间价格,可以查询具体某个房间的历史入住评价信息,可以进行入住预订[13],可以查询自己的预订记录,可以进行退房操作,在一周以后的预订可以进行全额退款,一周以内的入住可以进行50%退款,在入住后可以对房间进行评价,可以对自己的个人信息进行编辑。

2.3.2管理员功能模块

管理员登陆后可以对注册的房东信息进行审批,审批通过房东即可进行账号登陆以及一些房间操作等,且可以查询房东注册的详细信息,可以对房东进行删除操作,管理员可以对房客信息进行分页查询,可以对房客信息进行删除和信息维护。

2.3.3房东功能模块

房东登陆后可以对旅店房间进行新增,可以选择房间类型以及房间照片进行上传,房东可以对所有的房间信息进行查询和维护,可以查询某个房间的所有历史预订记录,可以查询所有的预订记录以及退单记录[14],可以对个人信息进行修改

2.4性能需求

(1)可靠性需求

系统的实用性与稳定:大多数系统的操作需要消费者在屏幕前进行,而有些网站使用时间一长就会出现崩溃或者卡顿,本系统的设计不可以出现这些问题,也就是说系统的设计必须要稳定可靠[15],防止给客户带来相关无法弥补的损失。

(2)可支持性需求

系统完成后,只有在服务器上才能简单使用,用户对网站的访问可能会通过浏览器进行,所以要更改使用程序,只需要更改服务器上的应用程序。当程序修改以后,可以查看修改的版本[16]。系统的操作要快,每次响应的时间不能太长,3秒以内是操作人员可以接受的,并且不能只是每次一个人访问,必须支持多人同时的操作。

(3)系统的完整性需求

系统要求信息的发布必须完整,比如前台的公告栏,用户信息必须完整,该记录的信息一个不能少,而对于销售的记录也要完整,不能不衔接,同时不能出现为空的内容,力求做到每一个版块都十分详尽完备。

(4)易用性需求

对于操作人员来说,系统的简单性,易操作性是很重要的,否则他们就会在不必要的一些地方浪费很多时间,也就失去了研究本系统的最初目的了,因此,系统的设计必须界面大方简单,功能要清晰,不能杂乱,让人摸不透,这也是一个好系统的基本要求[17]。

(5)操作性需求

一些大型的网站,这类系统的用户量是非常非常庞大的,所以,为了满足如此庞大体系的需求,我们必须设计地尽可能满足更多人的操作习惯,设计也必须生动化,这样才不至于让操作人员进行操作时感觉枯燥,这样才能吸引更多的人来使用你的系统,达到最终目的。

2.5开发技术介绍

2.4.1Java语言介绍

Java是计算机程序语言开发中最为流行的一种,Java的封装、继承、多态特点使得程序架构更为清晰,且Java基于面向对象开发在设计中层次更为分明,每一个对象都可以根据其特点分离出一个类,每个类可以有方法、属性,方法之间可以进行调用,Java在安卓游戏和app开发的这几年有了很快速的发展,甚至成为第一大开发语言,其实Java是在C++的基础上进行设计的,他规避的c的一些底层复杂交互,c是面向程序设计基于过程,而Java是面向对象人为更容易接受,Java有8大基本对象类型[18],可以对各自类型进行封装,因此在跟数据库进行对接时也更为方便,Java语言开发的程序可以跨平台部署,二次维护更为简单。Java是近几年比较流行的开发语言,Java的思想是基于面向对象开发,可以把对象看成是一个个类,类中可以对属性和方法,类与类之间可以包含也可以进行调用,Java是通过JDK环境进行程序开发,通过JVM进行编译,在运行程序的时候需要Jar包,Java是开源语言,是基于C++进行设计的语言,Java是分布式语言,支持多线程和分布式开发,可以进行socket网络开发,Java有多种基础类型,可以对数据进行定义,Java语言开发是比较稳定安全的,它没有指针因此没有复杂的链式设计,Java语言的可塑性比较高,可以跨平台开发,耦合度较低,而Java语言是健硕的,是强容错机制,且具有异常处理与自动回收机制。

2.4.2SSM架构介绍

Spring目前为容器主流框架,spring的作用非常强大,spring的出现直接让很多代码由繁琐变的简单,spring两大特性为控制反转、切面编程,通过对注入的对象通过注解或者是bean定义进行逆向生成,通过建立动态临时对象,在对象调用时直接使用,无需再每次调用时生成,代码变为单例模式,化解了程序的繁琐,在切面编程方面作用更大,切面编程主要作用于日志以及事务处理,在日志管理时,只要加入注解就可以对方法进行拦截,可以对方法内容操心进行处理,在事务方法,可以对方法新增、编辑、删除进行拦截,确保方法的整体性,同时可以对登陆进行拦截业务操作,可以判断每次操作时是否为登陆模式[19]。

在数据业务处理层主要为orm层,目前较为流行的框架为hibernate和mybatis,通过框架处理可以使得代码执行sql更为简单,mybatis主要是JDBC进行数据逻辑层处理,通过service调用dao层,然后对mapper.xml中的sql进行拼接执行,在数据库执行后返回结果,然后判断是否有sql新增或者编辑执行或者是数据被查询出,通过mapper中的ID进行匹配,通过resultmap进行返回数据接受,通过parameter对参数进行接受,可以通过$或者是#号对参数进行替换获取,mybatis主要为操作简单数据库,查询更为方便,sql也更为灵活,而hibernate因为懒加载和多对多业务处理上更为繁琐,因此mybatis更适合于小型项目orm使用。

2.4.3 数据库Mysql介绍

Mysql数据库主要为数据存储,可以对网站的数据进行格式化处理,可以依据业务或者是功能模块对数据进行分类,然后对数据进行查询和计算,数据通过表的格式进行存储,也可以通过视图或者是函数进行业务处理,在数据表中可以通过索引对数据进行快速查询,不过在建立索引时便意味着每次插入和编辑数据时效率变慢,每张表中可以建立主键作为唯一标识,表字段数据都有所属类型,主要分为,varchar、int、char、double等,可以对数据类型进行设置,数据字段都有长度和大小,可以根据数据业务类型进行设置,mysql核心为数据存储和数据处理,且查询简单,操作方便,可以通过limit进行分页处理,且对时间字段的格式化处理也很简单,mysql适用于数据为几十万的项目,但比如涉及到权限比较复杂且数据量比较大比如银行或者是火车等这种大数据时,mysql变显得力不从心,而oracle的作用就可以直观体现,因此mysql在中小型项目中数据处理效果更好[20]。

 

第三章 总体设计

3.1网站总体功能结构

系统主要分为三种用户角色,管理员、旅客、房东,管理员主要负责系统的注册用户的分页查询以及账户信息维护,房东主要负责房间的新增、房间的管理以及预订订单的查询,旅客主要负责旅店的搜索,房间的查询,以及订单的预订、退单、评论等。

图3.1系统功能图

3.2网站流程图

用户注册,用户主要分为旅客跟房东,依据注册类型跳转不同的注册页面,填写注册信息后进行提交,若为房东注册则提交后管理员需进行审批审批通过即可账号使用,具体流程图如下:

图3.2注册流程图

用户登陆,输入用户名、密码后台进行校验,若为用户名或者密码错误直接提示错误,若账号匹配则判断角色,若为房客则跳转到旅客页面,若为房东则跳转到房东页面,流程图如下:

图3.3登陆流程图

旅客登陆后可以以及搜索条件如搜索地址或者是附件景点信息以及入住时间进行旅店搜索,然后对房间进行详细查询,然后点击预订,若已被预订则提示已预订请重新选择,否则预订成功,跳转订单页面,具体流程图如下:

图3.4下单流程图

在旅客完成订单后可以在规定时间内进行退单,若未入住则可以直接退单,否则提示不可退单,若未入住在7天外则全额退单,若7天以内的则退款百分之50,具体页面流程图如下:

图3.5退单流程图

3.3网站数据库设计

3.3.1数据库模型设计

通过前期对数据功能进行分析,对系统的各个模块之间的关联进行分析,对系统各个表实体进行分析,实体表如下

后台管理员实体,包含管理员的登陆用户名和密码等信息

图3.6管理员实体图

注册会员实体,包含会员的登陆用户名和密码,以及会员联系电话和姓名,邮箱等信息

图3.7房客实体图

注册民宿实体,包含民宿账号以及名宿的注册社会组织代码以及民宿的地址,描述、名称和附近景点等信息

图3.8名宿实体图

房间信息,主要包含房间的名称、描述房间的类型以及房间图片和入住金额等信息

图3.9房间实体图

入住订单信息,主要包含入住人信息以及入住的时间和房号等信息

图3.10订单实体图

3.3.2数据库逻辑设计

通过分析本系统采用的数据库为MySQL,因为MySQL不仅开源而且免费,一般数据量不大或者对数据的安全要求不高的情况基本都会使用MySQL,因为并不是每个企业或者公司都可以使用得起Oracle。

接下来开始对系统建立数据表,考虑到系统涉及到的数据有很多,涉及到的数据种类,如果对数据表进行外键关联,在操作数据的时候很有可能会涉及到数据很多的变化,对数据库的性能影响会很多,很容易造成数据的雪崩。所以在设计这些表的时候都采用了单表的设计,没有进行外键关联,假如一个操作设计到多个表进行操作,可以将这些对象封装到组合实体类进行多个实体类关联,这样极大程度上避免了在改动一些小范围数据时,不会影响多个表中的数据。数据库的设计一般都基于三范式进行设计,首先梳理逻辑功能,然后根据功能展示梳理字段,对字段的类型及长度进行设置,确保字段资源的浪费情况,否则在数据量较大的时候容易影响查询,其次为数据库的冗余,可以通过主外表关联进行设计,而不是保存原有数据,尽量使用少的表来进行关联查询,而不是一味的进行数据存储,对于数据库的逻辑一定要清晰,在数据量比较大的表中,可以建立索引,确保查询效率,根据功能模块梳理,数据库E-R总图,

如图3.3所示

3.11系统E-R图

3.3.3数据库表设计

本系统数据存储采用mysql数据库,以下为表的数据库设计方案。

3.1为管理员信息表,字段包括管理员的用户账号等信息

表3.1 管理员信息表

列名

中文描述

数据类型

约束条件

adminid

后台编号

int(8)

PRIMARY KEY

adminname

后台登陆名

varchar(100)

adminpwd

后台密码

int(8)

3.2为房客信息表,用于存储房客基本信息包括房客的身份证号、用户名、姓名等信息。

表3.2 房客信息表

列名

中文描述

数据类型

约束条件

lvke_id

房客主键编号

int(8)

PRIMARY  KEY

lvke_name

房客姓名

varchar(100)

lvke_usname

房客用户名

varchar(80)

lvke_pwd

房客密码

varchar(80)

lvke_card

房客身份证号

varchar(20)

lvke_sex

房客性别

varchar(10)

3.3为房东信息表,主要包括房东基本信息以及开店资质等信息

表3.3 房东信息表

列名

中文描述

数据类型

约束条件

fdid

房东编号

int(8)

PRIMARY  KEY

lvdianname

旅店名称

varchar(50)

fdzizhi

开店资质

varchar(50)

fdname

房东用户名

varchar(50)

fdpwd

房东密码

varchar(50)

fdstatus

所属状态

int(8)

fdaddress

旅店地址

varchar(50)

3.4为旅店房间信息,主要包含房间的照片以及房间楼层、单价等

表3.4 房间信息表

列名

中文描述

数据类型

约束条件

roomid

旅店房间编号

int(6)

PRIMARY  KEY

ownerid

所属房东编号

int(6)

roomname

房间名称

varchar(50)

storey

房间楼层

varchar(50)

description

房间描述

varchar(50)

photo

房间图片

varchar(255)

type

房间所属类型

varchar(50)

price

房间单价

Double

3.5为预订信息表,主要保存房客住宿预订信息等

表3.5 住宿预订信息表

列名

中文描述

数据类型

约束条件

orderid

订单编号

varchar(32)

PRIMARY  KEY

roomid

房间编号

int(8)

lvkeid

旅客编号

int(8)

startime

入住开始时间

Date

endtime

入住结束时间

Date

ordertime

下单时间

Date

money

付款金额

Double

tuikuan

退款金额

Double

status

订单状态

int(2)

pingjia

用户评价

varchar(100)

3.4时序图设计

用户进入系统后进入到登陆页面,然后填写账号信息,提交到后台action,后端通过调用service中的checkuser方法进行账号校验,返回校验结果,时序图如图3.11所示。

说明: 6be3fc2b337d99d5702c75c081ce0b3

图3.11登录模块时序图

在管理端进入到房间管理页面,点击新增房间信息描述,金额以及图片等信息提交到action,然后调用roomservice中的add方法保存到数据库,成功添加房间,时序图如图3.12所示。

图3.12新增房间模块时序图

用户可以点击房间添加到房间订单,可以将入住时间跟房间编号提交到后台action,然后调用order中的insert方法保存到数据库,订单下单成功,点击购买。时序图如图3.13所示。

图3.13房间预订模块时序图

用户或者是民宿管理员可以进入到订单页面,点击订单查询,调用orderservice中的findbymap方法执行数据库查询,返回查询结果到页面,显示所有入住订单信息。时序图如图3.14所示。

说明: d3f9e0b0ff5dd90d76cbb614b506c5a

图3.14入住查询模块时序图

3.5活动图设计

民宿管理着可以登陆账号,在对账号校验完成后可以输入房间信息以及上传房间的图片,对房间进行新增,如图3.15所示

图3.15房间新增活动图

会员登录后可以搜索民宿信息,可以输入地址或者是景点位置,以及所要预订的房间类型进行预订搜索,如图3.16所示

图3.16民宿搜索活动图

会员可以输入账号登录后,在进入到房间列表页面后,可以选择入住房间点击预订,如图3.17所示

图3.17房间预订活动图

民宿人员登录后,可以查询自己所属房间的入住订单信息,可以对订单信息进行详情查询,如图3.18所示

图3.18订单查询活动图

第四章 系统实现

4.1管理员功能模块

4.1.1用户管理

管理员进入后,可以查询注册在此平台的所有的用户,通过调用Usercontroller中的findByUserList进行分页查询,通过调用mapper中的分页查询sql语句进行数据查询,界面如下4.1所示。

图4.1会员管理界面

4.1.2房东管理

管理员进入后,可以查询注册在此平台的所有的房东,通过调用Fangdongcontroller中的findByList进行分页查询,通过调用mapper中的分页查询sql语句进行数据查询,可以对新注册房东进行审批,通过update进行状态更新,界面如下4.2所示。

图4.2房东管理界面

4.2用户功能模块

4.2.1房间预订

用户进入后,可以选择入住日期和相近景点或者是地址进行搜索,通过传输参数queryname到后台controller然后通过service调用mapper对房间表和客栈表进行关联查询,通过left join进行连接查询,通过like进行匹配搜索,然后返回匹配的resultmap展示到页面,可以进行查询某个客栈的具体所有房间信息,通过调用findById对房间信息进行查询,可以通过开始时间和结束时间进行房间订单时间设置,判断是否已被入住,若房间未满则可以入住,通过mybatis的mapper匹配找到对应的insert插入sql语句,然后保存到数据库,如下4.3,4.4所示:

图4.3房间查询界面

图4.4房间预订界面

4.2.2用户订单

用户下单后可以跳转到我的订单查询自己的所有订单,可以通过点击菜单然后请求OrderController,通过session获取到当前userid,然后通过findOrdersByUserId方法分页获取到用户订单,通过c标签的foreach方法循环展示到页面,如下4.5所示:

图4.5房间预订界面

4.2.3用户退房

用户可以对自己的订单进行退单操作,若为已入住的订单则不可进行退单,若订单在7天以外则可以直接进行全额退单,通过updateOrderStatus更新订单状态为2,且把退单金额保存到数据库,若订单小于7天但未入住则状态更新后金额退还百分之50,内容如下4.6所示:

图4.6订单退房界面

4.2.4用户评价

用户住宿完成后,可以进入到订单页面进行评价操作,可以对已完成住宿的订单进行评价,可以根据住宿结束时间跟评价当前时间进行对比,若当前时间大于住宿时间则可以进行评价,通过输入评价分数和内容然后通过updateOrder保存到数据库,内容如下4.7所示:

图4.7评价界面

4.2.5用户密码修改

密码修改模块,通过填写旧密码、新密码和确认密码进行提交到后台进行校验,首先通过StringUtils的isEmpty进行为空判断,然后进行旧密码匹配,通过findByName首先在session中获取到此登录用户的userid,然后查询到user,通过MD5加密进行equals判断,然后对新密码进行校验,首先判断密码是否一致,然后通过调用updateuser更新密码,如果成功则进行密码修改,如下4.8所示:

图4.8评价界面

4.3房东管理模块

4.3.1客房新增

房东进入后,可以对本客栈的房间信息进行管理,首先可以点击客房新增跳转到类型新增页面 addRoomPage,填写房间信息,选择房间类型和单价信息,以及通过file文件上传房间照片,然后点击提交新增按钮,数据通过form表单,通过name属性匹配,提交到RoomController,首先对数据进行校验,判断提交信息是否为空,然后调用RoomService中的add方法,通过mybatis的mapper匹配找到对应的insert插入sql语句,然后保存到数据库,界面如下4.9所示:

图4.9客房新增界面

4.3.2客房管理

房东进入首页可以对自己的房间信息进行管理,通过findRoomByUserid获取到自己的所有房间信息,然后通过c标签的foreach进行循环展示,可以对房间信息进行编辑,通过点击编辑按钮,传输roomid到后台然后通过findRoomById查询出房间信息,通过model传输到页面,通过$符号展示页面数据,然后进行编辑通过edit方法保存到数据库,界面如下4.10所示:

图4.10客房管理界面

4.3.3客房预订管理

房东可以对自己的所有订单信息进行分页查询,通过findByPaging查询出本客栈的所有入住历史订单数据,通过model自带方法将数据传输到页面端,通过循环迭代将数据分页展示出来,界面如下4.11所示:

图4.11客房管理界面

4.3.4退单管理

房东可以对自己的所有订单信息进行分页查询,通过findByPaging查询出本客栈的所有退单历史订单数据,通过查询所有的数据状态为status为3的数据进行筛选查询,通过model自带方法将数据传输到页面端,通过循环迭代将数据分页展示出来,界面如下4.12所示:

图4.12客房管理界面

4.3.5密码修改

房东进入到自己的密码修改页面,需要填写旧密码,新密码和确认密码,通过js对前端页面数据进行校验,首先判断数据是否都不为空,然后判断新密码和确认密码是否一致,若一致通过form表单提交到后台,然后通过findByFangdong对当前用户进行旧密码确认,然后对数据进行更新保存密码到数据库表。界面如下4.13所示:

图4.13房东密码修改界面

第五章 系统测试

5.1测试描述

经过坚持不懈的努力,终于在实现了各个功能模块后来到了最终对系统进行测试的这一阶段,但在这一阶段测试的核心是对设计完成的系统进行功能的检测和逻辑的检测,这虽是最后一步但也是最为重要最为关键的一步,只有对系统进行测试,才能从中知道系统里面各模块的功能能否正常运行,只有从对经过测试才能知道该系统还存在哪些问题,才能从中找到问题并逐一改进完善,此次的在线购物系统也是经过不断地测试、不断的发现问题、不断的改进,才最终实现了一个相对比较满意的效果,所以对系统的测试真的十分重要,但对系统的测试需要耐心及细心,耐心的进行多次测试,细心的不断寻找问题,再认真研究改进,也有利于之后对整个系统开发进行总结,也能实现比较理想的效果。

系统性能测试:在测试过程中首先是对测试数据进行大量的导入,将数据每个表中增加到5万条左右,然后进行实时的数据搜索判断响应时间是否大于2s,正常的响应应该是0<响应时间<2s,在测试中因为对数据增加了索引所以测试结果都为通过

页面数据校验测试:在注册时可以对一些特殊的字符比如$符号或者是%等进行测试,对密码小于8位或者是单为数字进行校验,页面会通过ajax测试返回特殊字符不可注册,且密码必须大于8位,在对输入非数字格式进行新增,测试结果会提示页面信息填写错误。

浏览器兼容测试:在测试中由于系统为B/S模式,因此要对各个浏览器的兼容性问题进行考虑,在测试中选择了ie8,ie9,ie10,google,360急速版等进行测试,对页面的布局以及弹窗等情况展示进行测试,测试通过。

5.1测试用例

(1)客房模块测试。

表5.1客房管理测试

测试模块

输入值

期待输出

真实输出

客房管理测试

输入客房信息,填写金额,选择图片

提交成功弹窗提示客房新增成功

客房信息已保存,客房图片已上传

页面中未输入金额或输入金额不为数字信息

提示金额不可为空且不可为非数字

提示金额不可为空且不可为非数字

(2)客房搜索模块测试。

表5.2客房搜索管理测试

测试模块

输入值

期待输出

真实输出

客房搜索测试

输入入住时间以及附近景点位置进行模糊搜索

根据搜索条件可以查询所有民宿信息

通过筛选可以对民宿进行查询

选择房间类型以及金额区间进行搜索

可以根据搜索金额和房间类型进行匹配展示

可以根据搜索金额和房间类型进行匹配展示

(3)客房订单模块测试。

表5.3客房订单管理测试

测试模块

输入值

期待输出

真实输出

客房订单测试

房客点击入住

入住成功且生成一条入住订单记录

入住订单已生成可以进行查询

7天外进行退单操作

退单成功,且全额退款

提示金额退款成功,退单成功

5.2测试结果

1、用户使用不存在账号或者是错误账号登陆时候

图5.1错误账号登陆

图5.2错误密码登陆

2、用户使修改密码时的一些测试校验

图5.3密码修改未填写

图5.4新旧密码不一样填写

3、点击客房入住详情测试校验

图5.5房间入住展示测试

4、输入搜索条件进行房间搜索校验

说明: C:\Users\jack\AppData\Local\Temp\1586273668(1).jpg

图5.6客栈搜索测试

5.3测试小结

本章通过对进行功能测试,对系统的bug进行测试分析,从系统的功能角度以及非功能角度进行分析,对系统的数据校验以及系统的一些卡口进行设置,对系统一些模糊搜索或者是分页定位搜索进行测试。在系统中通过黑盒测试和白盒测试完成系统的bug测试功能,通过对需求进行梳理对系统逻辑业务操作进行流程梳理,然后对系统功能点击测试,对系统的返回数据时间以及点击按钮的反应程度,以及数据的插入和数据的提交完整性和安全性角度进行测试。

总  

本系统主要研究基于Jsp的民宿预订管理系统网站,通过此类垂直类的管理网站可以让民宿住宿预订的管理效率得到提升,本设计主要采用MVC的设计理念,采用SSM的技术框架,系统主要从应用层。视图层、请求处理控制层和业务数据处理层进行设计,通过Mysql进行数据存储和优化,采用IDEA编辑器进行编码,此次设计首先从客栈入住网站进行需求分析和梳理,掌握其运行的整个业务流程,从技术角度和市场需求角度进行可行性分析,对系统可能存在的技术难点和市场风险进行分析,然后进行技术框架对比和选择,对系统进行功能模块细化和框架编码设计,最后是系统测试和功能的完善,从整个设计来说对Java编码有了更深的了解,在设计过程中对设计模式也有了一定的应用,对面向对象编程体验更深。

参考文献

[1]李昌志,李黎,杨国庆,胡杰,顾宇峰,杨强.基于SSM的职工食堂二维码餐票管理系统的实现[J].电脑知识与技术,2019,15(30):61-62+92.

[2]李玥瑢,周炜,欧红梅,邓瑶,郑安文,曹双双.基于SSM框架的高校服务平台的设计[J].信息系统工程,2019(10):52-53.

[3]朱运乔.基于SpringBoot+SSM框架的Web应用系统搭建与实现[J].电脑编程技巧与维护,2019(10):23.24.

[4]杨朔,张民,宋源清,刘丰羽,李海滨,周晓燕.基于SSM框架的物流管理系统的设计实现[J].电脑知识与技术,2019,15(29):83.84.

[5]杨正泽,吴育辉.基于JavaEE+EasyUI学生成果管理系统的设计与实现——以安顺学院为例[J].安顺学院学报,2019,21(05):133.135.

[6]王崟.Java web项目驱动式教学从Model1到Model2模式的改进[J].电脑知识与技术,2019,15(28):171-172.

[7]张明亮.JSP技术在互联网软件中的应用优势研究[J].软件工程,2019,22(10):19-21+5.

[8]张明亮.基于JavaEE的人力资源管理系统设计与实现[J].软件工程,2019,22(09):20-22+15.

[9]许佩迪,王海燕,李闯.基于JSP的网上在线图书借阅系统开发与设计[J].智能计算机与应用,2019,9(05):310-311+319.

[10]刘浩浩,付小洪.基于JavaEE的无人快递点系统设计[J].软件,2019,40(08):73.75+97.

[11]荣先钊,林宇驰,张上.网上书城的设计与开发[J].福建电脑,2019,35(06):117-118.

[12]王亚鹏,徐鹏飞.基于JavaEE的领航手机商城的设计与实现[J].电脑知识与技术,2019,15(18):70-71.

[13]张玉卓.基于Web的财务管理系统的开发与设计[J].电子设计工程,2019,27(09):60-63+68.

[14]Andrea Capiluppi,Davide Di Ruscio,Juri Di Rocco,Phuong T. Nguyen,Nemitari Ajienka. Detecting Java software similarities by using different clustering techniques[J]. Information and Software Technology,2019,122.

[15]Risjani Yenny,Loppion Géraldine,Couteau Jérôme,Yunianta Yunianta,Widowati Ita,Hermawati Alfi,Minier Christophe. Genotoxicity in the rivers from the Brantas catchment (East Java, Indonesia): occurrence in sediments and effects in Oreochromis niloticus (Linnæus 1758).[J]. Environmental science and pollution research international,2019.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值