Live well hotel room catering management system
Abstract:At present, the national economy of our country is developing rapidly, and the people’s living standard is further improved. Hotel, catering and other industries are developing due to the improvement of National People’s consumption level. Especially in recent years, the hotel industry in major and medium-sized cities has developed rapidly. Manual operation can not meet the hotel and catering operation. Manual record, operation and query are very time-consuming, laborious and error prone. By running the hotel catering management system on the computer, the above problems can be effectively solved. In addition to work efficiency can be improved, a large number of human resources can also be reduced. This will not only bring convenience to consumers, but also give us catering and hotel practitioners to obtain more benefits and further strive for maximum benefits. Therefore, it is very important and necessary to develop this hotel room catering management system.
By integrating the requirements of all parties, JSP technology will be used in the system development, SSM will be selected as the framework, Java as the programming language and MySQL as the database. The principle of the whole system is easy to maintain, flexible, practical and easy to operate. The main functions are home page introduction, password change, catering dynamic information management, room type management, room package management, guest order management, comment information management, account management and other functions…
Key words: Live well hotel room catering management system, JSP, MYSQL
第1章 绪论 1
1.1 系统开发目的 1
1.2 系统开发意义 1
第2章 系统开发工具介绍 2
2.1 JAVA语言 2
2.2 JSP简介 4
2.3 MYSQL简介 5
2.3.1 MYSQL概述 5
2.3.2 MySQL特性 5
2.4 B/S结构 6
2.5 MyEclipse简介 6
2.6 SSM 简介 7
第3章 需求分析 8
3.1可行性分析 8
3.1.1 经济可行性 8
3.1.2 技术可行性 8
3.1.3 运行可行性 8
3.2 系统性能分析 9
3.3 系统功能分析 9
3.4 系统功能结构图 10
3.5 系统流程分析 11
第4章 系统的详细设计与实现 14
4.1 数据库逻辑结构设计 14
4.2 数据库物理结构设计 16
4.3 住得好酒店房间餐饮管理系统客户端界面实现 18
4.4 住得好酒店房间餐饮管理系统管理员端界面实现 25
第5章 系统测试 38
5.1 检测原则 39
5.2 检测目的 40
5.3 测试分类 40
5.4 测试用例及结果 40
5.5 测试截图 42
结束语 48
主要参考文献 49
致 谢 50
1.1 系统开发目的
如今人民生活和消费水平都在慢慢提高当中,服务业在生活中已变得愈发重要。酒店餐饮行业已在激烈的竞争中崭露头角。经过多年的发展,酒店餐饮管理已从人工管理逐步过渡到以标准化和科学管理为重点的阶段。尽人皆知,在众多有关实现科学管理的具体方法中,高效、正确使用应用程序管理软件是最有效的工具。
1.2 系统开发意义
如今,我国的经济发展速度飞快,群众的物质生活水平都有了显著提升,高质量的生活成为了大家共同追逐的目标。酒店餐饮行业要想跟上国家发展的步伐,就必须要加快信息化进程。要使酒店管理能够实现人性化、信息化、规范化,从经验管理转变为科学管理显得尤其重要,也只有这样才能适应现代化的要求。对于酒店房间餐饮管理系统,一般开发都是根据酒店的指定业务,以酒店还有酒店内的餐饮管理为主要核心,旨在为客人提供方便、高效、便利的服务,同时也希望能够有效减少在人工处理时候所造成的误差,并且可以做到准确反映酒店的实时状况。合理运用酒店管理系统,有助于改善酒店服务质量,获取更好的经济效益的,同时也能创造更好的运营条件。
2.1 JAVA语言
Java语言诞生于20世纪90年代初,自从正式亮相以来,它的快速开发已经改变了整个Web世界。在一开始的时候,是 Sun Microsystems(Oracle于2009年收购了Sun公司)开发出Java语言的,当时Java这种语言主要还是在智能家电上面使用,那时还是叫rich Oak。在当时,最流行的是C和c++这2种语言,它便是以这2种语言作为基础进行开发的。不过由于某些非技术性原因,Oak语言并没有被广泛使用。到了1993年万维网迎来了飞速发展,Sun公司察觉到通过使用Oak语言技术创造出来的万维网网页里面可以包含一些动态内容。因此,彼时被轻视的Oak语言被重新开发和改良,改良后的Oak语言也正式更改定名为Java。爪哇是太平洋上一个产咖啡的岛屿的名字。最后,在1995年,面向web应用程序的编程语言Java正式启动。
因为Java语言非常强大,在其发布后不久即被广泛接受,而IBM,Apple,DEC,Adobe,惠普(HP),Oracle,东芝(Toshiba),网景(Netscape)和微软(Microsoft)等大型客机公司都在争相购买Java语言的许可证。微软甚至在他们的浏览器Explorer 3.0这一版本中,增添了对Java语言的支持。在同一时间,众多支持Java语言的产品被许多软件开发从业人员还有开发商研发出来。在现在这个计算时代,若不能支持HTML还有Java语言,就表示该应用程序仅限于同质环境。
Java Servlet的发布,使得Java语言极大地促进了电子商务的发展。 而引入JSP(Java Serer Page)技术,在基于web的应用程序开发工具选择上,Java语言成为了大多数开发人员的首选。随着互联网的发展越来越迅速,同时web技术也愈来愈多人使用,使得Java语言的地位得到了显著提高。
Java是一种面向对象的编程语言,能够在分布式计算环境中使用。不止相对比较简单,而且还具有面向对象、独立于平台、还有一定的可靠性和较高的安全性等等其他特性。
1.简单易学
Java语言虽然是起源于c++语言,但两者对比之下,Java语言是完全面向对象的一种编程语言。由于考虑到稳定性和安全性,Java语言删除了C/ c++支持的三种类型的数据,这三种难以被理解的数据分别是:指针、union和struct。但是,在C/ c++语言中,通过使用Java语言中的类和类属性等面向对象的方法,可以完全实现联合和结构的功能,这不仅更加合理和规范,而且降低了学习的难度。
2.面向对象
Java语言的主要吸引力在于它是一种面向对象的编程语言,以对象作为中心,消息则为驱动。同时作为面向对象语言的一种,Java语言同样具有多态,继承性以及封装性这三个概念。
3.平台无关性
Java语言是独立于平台的,这说明如果一个程序是用Java语言编写的,可以在各自不同的软件和硬件平台测试运行同时不需要作出任何的调整或者修改。对于平台无关性,存在着2种不同类型:一种是源代码级,另外一种是目标代码级。C和c++语言具有一定程度的源代码级平台独立性,对于使用C语言或者c++语言编写的程序来说,可以在各不相同的平台上运行,并且无需修改,不过每次运行都需要重新编译。而Java语言的平台独立性则是凭借JVM,即Java虚拟机得以实现。
4.分布式
分布式包含了两个内容,一个是数据分布,另一个是操作分布。有一套完整的网络库是由Java供应的,在实施网络编程开发设计的时候,开发人员可以随意使用该网络库,从而使得Java语言分布式这一特点实现得更简单和便捷。
5.安全性
Java是一门拥有安全性的语言。当解释器有Java字节码进入的时候,第一步要被字节码校验器进行检测。其次,在程序里面有关类的内存布局,都会由Java解释器进行决定。接着会有独立内存区域,它们主要负责装载那些来自于网络的类,这一步主要是由类装载器负责执行,这样做的好处是可以有效防止应用程序和应用程序之间可能会造成的干扰和损坏。最后,从网络进行加载的类可以被客户机用户作出限制,限制为只可以加载一些特定的文件系统。当Java语言将这些机制集成后,就成为了一门安全的编程语言。
6.支持多线程
Java语言支持多线程有两个方面:首先在环境上面可以体现多线程,它有多个系统线程在运行,主要进行系统级的操作,比如回收不被使用的单元和对系统进行维护。从另一个角度上看,Java语言可以在多线程应用开发的时候最大限度化地进行简化,因为它里面内置了一个多线程的机制。
7.支持网络编程
Java语言之所以能够处理TCP/IP协议,主要是因为有相应的类库提供。而用户还能利用url地址去访问别的对象。
8.解释和编译同存
对于Java语言编译器来说,并不是将.java文件直接编译为二进制代码,而是将.java文件编译成.class文件。由Java解释器执行.class文件,从而将.class文件转换成二进制代码,使程序运行。
2.2 JSP简介
在1999年,由Sun Microsystems推出了一种服务器端脚本语言,而它的服务器端脚本技术正是以Java语言为基础的,这就是JSP技术。自推出面世以来,JSP技术慢慢发展起来并且成为了一门关键的技术,开发人员主要用它来开发web应用程序。JSP可以在不同操作系统还有平台上使用,也可以嵌套HTML的代码。并且如果web程序是由JSP开发的话,不需要做任何修改或者调整就可以在不同的操作系统上运行。
其实在编译为servlet之前,JSP页面也是一样可以使用的,所以会有servlet的特性和优点,其中包括对Java API进行访问。另外,因为JSP是嵌入在servlet里面的,是和应用程序有的一种通用表示代码,因此可以将其视为“彻底”的servlet。通过JSP动态页面技术访问页面操作流程如图2-1所示。
图2-1 JSP页面访问操作流程图
因为JSP订单使用都是基于Java语法的,所以在JSP中可以看到很多Java语言的优点,其中包括被视为开发JSP语言时候的有力支撑——J2EE的功能。开发JSP技术的目标还是希望能够更加简单方便地搭建web应用程序,从而使得这些web应用程序能够在不同服务器、浏览器还有开发工具中使用。而一些可以呈现动态内容的代码,以及静态页面的模板,比如HTML片段等,JSP页面都能更加轻松与它们结合。
2.3 MYSQL简介
2.3.1 MYSQL概述
MySQL是由一家瑞典公司名字叫MySQLAB开发出来的,是一个小型数据库管理系统,而在2008年1月16日,MySQLAB被Sun Microsystems公司收购。在互联网上,众多规模不大的网站普遍会选择MySQL作为数据库使用。究其原因是因为体积不大,运行速度足够快,消耗的成本低,最重要的原因还是因为开源。所以为了降低成本,这些规模不大的中小型网站会使用MySQL数据库。尽管MySQL数据库并没有最强最大的功能,但由于传播性太高所以很多人都有所听闻。
2.3.2 MySQL特性
1.MySQL数据库是用C语言和C++语言进行编写的,为了源代码可移植,前期测试使用了多款不同的编译器。
2.当MySQL作为一个库嵌入到软件的时候,它可以提供多种语言的支持,例如中文的编码GB2312、还有Unicode等。
3.MySQL数据库可以提供API给各种不同的编程语言,其中有如C语言、c++、Java、Python还有PHP等等其他的编程语言。
4.MySQL数据库是支持多线程的,从而使得CPU的资源可以被更充分地使用。
5.SQL查询算法是被优化了的,查询速度得到了很大的提高。
6.有多种连接数据库的途径供应,如TCP/IP和JDBC等。
7.有适用于检查数据库、优化数据库以及管理数据库操作的管理工具提供。
8.能够处理拥有大量数据的规模较大的数据库。
2.4 B/S结构
B/S架构主要使用WWW浏览器技术,它能够把系统核心功能集中在服务器上面,可以帮助系统开发人员简化操作,便于维护和使用。
目前B/S结构成为程序开发主流结构,其优点就是没有地点限制还不用专门安装软件,笔记本或者电脑能够上网就能访问系统。系统使用B/S进行开发在后期系统维护上面就会很省事,不用什么问题都在服务器上面操作,简单的客户端处理就解决部分问题,开发出来的程序跟用户交互性上面也会增强,还可以实时刷新浏览器进行程序局部的数据信息更新。
基于B/S架构的系统可以架设到计算机网络上,可以不受地理位置和其他条件的限制,可以在任何联通互联网的地方使用这样的系统。
基于C/S架构的系统只可以被使用在本地电脑上,不能通过计算机网络来进行使用和操作,在使用地理位置等方面都没有B/S架构使用方便。
2.5 MyEclipse简介
MyEclipse是一个集成开发环境,一般是运用在Java和J2EE应用的开发上。MyEclipse,就是企业级工作平台(MyEclipse Enterprise Workbench)的简称,是Eclipse IDE的一个扩充。通过合理使用MyEclipse,可以在程序人员对数据库和J2EE进行开发还有整合程序服务器的时候带来了很大的便利,从而一举提高开发和工作效率。MyEclipse作为集成开发环境,它的功能非常庞大,包括有常规的代码编写、程序的调试、环境的配置、清除报错以及发布的功能。并且还能非常完美地支持Struts框架、HTML语言、Hibernate框架、JSP技术、CSS、JS、SQL。
从结构上来看,MyEclipse有7个结构特征:
1.JavaEE模型
2.WEB开发工具
3.EJB开发工具
4.应用程序服务器的连接器
5.JavaEE项目部署服务
6.数据库服务
7.MyEclipse整合帮助
对于以上提到的各种不同功能类别,都有一一对应的功能部件在Eclipse当中,通常都会用同一类别的插件实现。对于这种在MyEclipse结构中所体现出的模块化,可以在开发人员对任意一个模块单独进行升级或者扩展的时候不会影响到别的模块。
MyEclipse适用多种操作系统,集成了许多常用的框架,在编写程序时非常方便快捷,是一款不错的Java开发工具。
2.6 SSM 简介
SSM框架,其实是Spring + Spring MVC + MyBatis的缩写,也是由Spring还有MyBatis这2个整合而得出来的。SSM框架是在SSH框架之后,现今比较多人使用并且处于主流的一个Java EE企业级框架,常常在较为大型的企业级系统搭建的时候使用。在整一个SSM的框架当中,可以这样来理解,客户端和web请求交给Spring MVC负责,它会把数据返回,而在系统里面的数据库查询工作则交给MyBatis处理,Spring可以作为一个中间人,主要做协调的工作,将各个层面衔接起来。
Spring也是一个开源的框架,主要用于业务对象管理的实现。Spring拥有以下特征:轻量级的、控制反转(IoC)、面向切面(AOP)、同时它也是一个容器。而关于Spring MVC,该框架里面还有一个叫MVC的框架,主要是为了将数据、业务还有展示三者更好地分离,具体的实现模式为Model-View-Controller。最后的MyBatis 是一个以Java为基础的持久层框架,同时也是数据对象的一个持久化引擎。
3.1可行性分析
3.1.1 经济可行性
由于住得好酒店房间餐饮管理系统是我们自己开发的毕业项目,经济投入很小。在系统建成之后,将为未来的住得好酒店房间餐饮管理提供极大的便利,通过分析系统的开发成本和未来投放使用后所需的维护成本,以此来确定软件开发在经济上是否可行和必要。经济可行性是软件开发的一个重要指标,它直接关系到软件系统的成败,对此我认为,在经济可行性分析这方面是务必要做的。
3.1.2 技术可行性
通过运用现时所拥有的技术基础、以及所具备的的技术条件,去寻求、探索能否研发出足以满足社会需求的程序,其中也包括软硬件配置是否满足开发需求。本次的住得好酒店房间餐饮管理系统,调试上相对来讲比较简单,基于现在手头上所拥有的计算机软硬件配置,单单从技术层面来看的话,这次的研发是可以满足社会需求的。再加上现在的独立模型和软件开发平台比较成熟可行,具有处理速度快,大容量,可靠性强,价格低廉等的优点,可以说足以支持本次系统的开发和研究。
3.1.3 运行可行性
在关于运行可行性这方面,是会影响整个组织结构的,包括现在团队成员以及周围环境是不是能够适应该系统的运行和开发工作,后续要补充人员的时候关于人才培养计划的是否具有可行性。如今,各个方面都有信息化技术的使用痕迹,各种运营商的水平相当高,因此在运营中是可行的。根据新系统测量技术的目标,一般情况下,会通过软硬件的性能要求,周边环境的条件,开发技术人员的水平质量和人数进行分析和研究。能力强弱和水平高低是对开发人员专业能力的首要考虑因素。同时也需要考虑可以在不久的将来接受培训和开发的技术人员。
在新系统开发完成并运行后,我们将会对新系统推出后会造成的影响和结果进行估计,这里的影响就是上文提到的机构和环境等。当然,我们还需要思考对现有管理人员的培训提升,还有日后是否需要进行填充,以及评估在规定的时间内我们能不能完成系统开发这一任务,这都是我们需要做的事。
而编写新系统开发可行性报告的先决条件就是我们要先行完成上述提到的几个可行性分析与研究,同时可行性报告也是整体规划工作的阶段性结果。
3.2 系统性能分析
(1)安全性:用户必须登录才能进入系统。否则,他们无权进入系统。系统满足不同用户的需求。用户登录后,无法进一步操作。
(2)可升级性:由于需求的不断增加,程序也要相应的调整,因此,系统必须要具备可升级性。
(3)机密性:在实际使用过程中,系统将涉及需要保密的数据。如果系统存在安全漏洞,泄露了用户的资料,就无法确保用户的信息安全问题。故全面开发系统是十分必要的。我们必须保证系统的机密性。
(4)可靠性:病毒代码不能存在于系统,必须有内部信息拦截器,验证方法和保护措施,以便人们可以放心使用。
(5)简单:系统设计应易于学习。设计的各种功能应易于操作,无需努力学习并缩短熟悉用户系统的过程。
(6)一致性:应准确输入数据。需要更新时,应及时修改数据。数据应单独保存。如果无法删除数据,则将删除需要删除的数据。
3.3 系统功能分析
本系统实现一个住得好酒店房间餐饮管理系统,有2种用户,分别是普通会员和具有后台权限的管理员。以下是我们本系统的功能描述:
前台普通会员的模块包括:
1.首页:当你打开网页后,第一个出现的页面,上面会有酒店的相关资讯。
2.会员注册/登录:实现会员的注册和登录。
3.房间预订:实现房间的列表显示,点击可以查看房间详情,会员登录后可以编辑预订数量或选择立即预订。
4.餐饮动态:实现餐饮动态的列表显示,点击可以查看餐饮动态详情。
5.个人中心:会员登录后可以进入个人中心,在个人中心可以对预定的订单进行支付或者取消的操作,同时可以查看相关备注信息,也可以修改会员的登录密码。
后台管理员模块包括:
1.首页介绍:实现首页介绍的显示。
2.餐饮动态信息管理:管理员可以根据酒店餐饮部的安排变动,随时对餐饮信息进行编辑。
3.房间类型管理:管理员可以根据酒店的供给情况对房间类型进行编辑调整。
4.房间套餐管理:管理员可以根据市场的需求和客人反映随时调整房间套餐信息。
5.订单管理:管理员可以随时查看各种订单和备注信息,可以为客户办理入住登记或者退房退款手续,以最快速度解决客人问题。
6.评论信息管理:管理员可以根据客人的评论以了解客人的意见,同时除了查看以外还可以删除不良信息。
7.账号管理:管理员可以对不同的账号信息进行操作,包括普通会员和其他管理员的账号。
8.修改密码:管理员可以修改自己账号的登录密码。
3.4 系统功能结构图
通过需求分析,确定系统功能如下图所示:
图3-1 系统功能结构图
3.5 系统流程分析
系统主要流程如下:
会员必须注册后才能登录系统。注册具体流程如下图所示:
图3-2 会员注册流程
管理员必须登录后才能进入系统。具体流程如下图所示:
图3-3 系统管理员管理流程
数据库设计是非常重要的,主要是为了体现出系统的概念,根据不同用户所提出的需求,进行分类归纳、整合以及抽象后,便成为了一个独立于DBMS概念的模型。 数据库的设计至关重要。 在设计时,首先,按照系统开发的要求,绘制出E-R图,而该E-R图必须要能反映出系统所有应用的需求,除了确定实体以外还要有属性和连接类型。然后,在初始E-R图上进行了一系列优化,目的在于去除冗余和消灭可能存在的矛盾。概念模型的根本目标还是希望能够客观反映出用户的各种需求,并没有包含特定的软硬件环境。 所以,在这里我们需要关注如何表达用户对系统的需求,而不是考虑具体的实现问题。
4.1 数据库逻辑结构设计
规划出的实体有餐饮动态实体、房间类型实体、评论实体、订单实体、房间套餐实体、账号实体。主要实体的实体属性图描述如下:
1、餐饮动态实体:
图4-2房间类型实体属性图
图4-4订单实体属性图
图4-6公告实体属性图
4.2 数据库物理结构设计
经过前面的分析后,可以建立以下的表。各表详细信息如下图所示:
表4-1餐饮动态表
序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空
1 id int 11 是 是 否
2 rid int 11 是
3 title varchar 255 是
4 content text 是
表4-2房间类型表
序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空
1 id int 11 是 是 否
2 type varchar 100 是
3 name varchar 100 是
4 sort int 11 是
表4-3评论表
序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空
1 id int 11 是 是 否
2 pid int 11 是
3 content text 是
4 score decimal 20 1 是
5 type varchar 40 是
6 rid int 11 是
7 uid int 11 是
表4-4订单表
序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空
1 id int 11 是 是 否
2 ordno varchar 20 是
3 prdid int 11 是
4 cid int 11 是
5 price decimal 10 2 是
6 num int 11 是
7 startdtm date 是
8 daynum int 11 是
9 ordamt decimal 10 2 是
10 inamt decimal 10 2 是
11 incontent text 是
12 outamt decimal 10 2 是
13 outcontent text 是
14 zaocanyn char 1 是
表4-5房间套餐表
序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空
1 id int 11 是 是 否
2 name varchar 100 是
3 cid varchar 4 是
4 icon varchar 255 是
5 zaocanyn char 1 是
6 content text 是
7 price decimal 10 2 是
8 status varchar 10 是
表4-6账号表
序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空
1 id int 11 是 是 否
2 name varchar 40 否
3 login varchar 40 否
4 pwd varchar 40 否
5 utype varchar 10 否
6 status varchar 10 是
4.3 住得好酒店房间餐饮管理系统客户端界面实现
1.用户进入住得好酒店房间餐饮管理系统后会看到首页,如图4-1为网站首页页面,可在此页面查看酒店简介以及图片展示。点击房间预订选项可以看到酒店的套房类型,如图4-2为房间预订界面。点击餐饮动态选项可以看到酒店不同日期的菜单,如图4-3位餐饮动态界面。
图4-1网站首页页面
图4-3餐饮动态界面
2.在搜索栏输入套房相关的关键字可以进行搜索,如图4-4为搜索功能。
图4-4搜索功能展示
3.用户在预定房间之前必须要进行登录,如果没有账号将要求先进行注册操作。如图4-5为注册页面,需要输入注册信息包括用户昵称、登录账号、登录密码、确认密码。已注册的用户直接点击登录即可,如图4-6,需要输入登录信息包括账号和密码。账号有分普通会员和管理员。
图4-6登录页面
4.在房间预订界面点击套房的查看详情可以进入房间的详情介绍页面,如图4-7。在此页面选择好预订数量后点击立即预订可以进入房间预订界面,如图4-8.需要输入的信息包括入住时间、入住天数、姓名以及联系电话。同时在此页面也可以对房间进行打分评价,如图4-9,点击提交后评论内容能在页面显示。
图4-7房间详情页面
图4-8评价页面
5.在客户端点击个人中心可以进入后台管理界面,在此界面可以查看用户提交的订单,如图4-9,同时用户可以在此页面根据房间类型和支付状态快速搜索订单。选择好订单在操作一栏点击支付后进入支付页面,如图4-10,点击确认支付即可支付成功,同时状态也会转变为已付款,如点击取消则会取消该订单,状态栏显示为已取消。同时用户也可以在操作栏选择查看备注输入自己的要求,如图4-11
图4-11备注页面
6.用户也可以在个人中心进行修改密码的操作,如图4-12,需要输入的信息包括原密码、新设置的密码,以及需要重复输多一次新设置的密码,如果两次输入不同,会提示“你输入的不相同”。信息输入后点击保存即可修改密码成功。
图4-12修改密码页面
4.4 住得好酒店房间餐饮管理系统管理员端界面实现
1.打开登录页面后,如果选择输入的账号是管理员账号,登录成功后就能进入超级管理员端。管理员端后台界面如图4-13。包括首页介绍、餐饮动态信息管理,房间类型管理、房间套餐管理、订单管理、评论信息管理、账号管理以及修改密码。
图4-13,管理员端后台页面
2.管理员可在首页介绍对系统首页的酒店简介进行编辑。如图4-14
图4-14首页介绍
3.管理员在餐饮动态信息管理页面可对餐饮信息进行修改以及删除的操作,如图4-15。在搜索栏输入菜品名称后点击搜索可以快速搜索,如图4-16。点击修改即可进入该菜品的信息修改页面,可修改内容和标题。
图4-16搜索功能
图4-17菜品信息修改页面
4.管理员在房间类型管理页面,在操作栏点击修改可对房间类型进行修改操作,可修改的信息包括名称和排序值,如图4-18。也能通过名称进行快速搜索房间类型,如图4-19。
图4-19搜索功能
5.房间套餐管理页面实现房间套餐信息的管理,可以添加、修改或删除房间套餐信息,如图4-20。点击删除就可删除该房间类型。点击添加可以增加新的房间类型,需要输入的信息包括名称、缩略图、房间类型、价格、是否含早餐、状态以及详细内容,如图4-21。
点击修改进入该房间套餐修改页面即可进行信息修改,如图4-22。同时可根据房间类型、预约状态以及输入名称进行快速筛选和查询,如图4-23。
图4-23搜索房间套餐信息页面
6. 管理员可在订单管理页面查看订单信息如图4-24。点击查看备注可以查看,如图4-25。在操作栏点击退房即可为客人办理退款退房业务,需要输入的信息包括退还金额和退房备注,相关的信息用户可在我的订单列表查看。在上方搜索栏可以通过输入订单编号、姓名、电话、会员编号、房间类型或者状态来进行快速搜索,如图4-26。
当客人成功支付后,操作栏会显示预订成功或者失败选项,如图4-27。预订成功或者失败会在客户端的我的订单列表里面显示状态,如图4-28。
当预约成功后,操作栏会有入住登记的填写,点击进入就可以填写入住登记信息,如图4-29。
图4-29入住登记信息填写
7. 评论信息管理页面,在右方有一个操作栏,只需点击里面的删除就可以删除相关评论信息,如图4-30。也可以在上方搜索栏通过输入评论编号、评论人或者评论内容进行快速搜索,如图4-31。
图4-31评论信息搜索
8.管理员点击账号管理即可进入账号管理页面,如图4-32。点击删除可以删除会员的账号。点击修改可进入修改页面,可对账号进行信息修改,包括用户昵称、用户类型和账号状态,如图4-33。点击重置密码可以对账号密码进行重置操作,需要先输入新密码,必须二次输入密码一致才能修改成功,否则会显示“你的输入不相同”,如图4-34显示。在上方搜索栏也可以通过输入用户昵称、登录账户、类型或者账户状态进行快速搜索,如图4-35。
图4-35账号搜索功能
9.在修改密码页面管理员可以对自己账号进行密码修改,需要填写原密码,新密码和新密码的二次输入,其中一列不填会显示这是“这是必填字段”,如图4-36。如原密码填写错误会显示“原密码错误”。如二次输入错误会显示“你的输入不相同”,如图4-37。
图4-36二次输入错误
软件测试是软件发布前的必要步骤。有各种各样的软件测试:功能测试、性能测试和接口测试。对于需要极端用户体验的移动应用程序,每项测试都特别重要。
对于软件来说,最重要的是功能。所以做功能测试很重要。而关于黑盒测试,在此过程中,测试对象我们可以看作一个黑盒。操作人员通过黑盒测试方法,对系统进行动态测试,而在测试期间侧重点应在于对软件产品的各种不同功能和多次重复执行功能测试,而无需测试软件产品的内部结构和相关功能的实现过程。
大部分设备设备是否能正常运行,都取决于软件的性能。自动化的测试工具被放在性能测试类容里面,假拟一部分软件的运行,如异常负载条件、峰值和正常对系统配置程度的影响。负载测试软件和压力检测都同属于性能测试里面,能够被单独也可以组合起来使用。通过负载测试,可以确定系统在各种不同工作状态负载下的性能。对于测试的过程,其实是观察系统各项指标在负载缓慢增加时发生的变化,并通过这些测试结果进行相应的优化。压力测试是测试系统的瓶颈点,或通过增加测试条件来获得系统的最大压力点,从而获得系统的最高服务水平。
界面是用户首先要处理的,界面交互测试是极其重要的。一个设计良好的界面就像一个向导,吸引用户的第一眼,并允许他们自己探索特性。一个系统被用户感知的第一件事就是界面,所以界面决定了它能否将用户保留在首位。良好的界面与交互设计是使得用户满意并且喜爱的保证。反观,用户的不满的原因也可能来自于一个设计不合理的页面,用户一次使用后就放弃产品,这对于一个移动互联网应用来说是非常失败的。因此,接口分辨率的测试是接口测试的重点。
5.1 检测原则
应该在需求阶段就及早进行测试,要知道如果系统不可以满足到用户需求,这是一个非常大的错误。软件测试应该由其他第三方程序员负责,程序员不应该测试自己开发的软件。在检测项目设计时,应理清合法、非法输入还有不同的边界条件。在非一般情况下,应创建额外的新状态:极端和意外两种的状态,如因网络异常导致网络断开或者突如其来的停电等。聚类问题应重点关注。测试结果出现错误往往需要被验证。比如A同事测试的时候出现偏差,就需要B同事来校验确认。严重错误应该在审查会议中检讨,认真验证测试结果,由问题的严重性和存在性来确定接下来的执行方案。同时也必须制定检测方案并且予以指示。放宽测试的时间限定,要用足够的测试时间来保证测试结果的高水平。要保存好相关的测试资料,包括测试计划和用例,测试出错统计和总体的报告分析。这就保证了测试的基本要求。
5.2 检测目的
用测试来提高系统开发容错率。用检测项目以减少风险。确认测试完结时间。项目开发期间测试将成为一个标准的项目。
5.3 测试分类
通过对软件的内部结构配置和运行的注重性可以分为,白盒测试,黑盒测试。在运行结果成面又有动态和静态两种测试。对软件开发过程细分后又有:h.eta测试。回归测试,集成测试,单元测试,g.pha测试,验证测试,系统测试,验收测试等等。
5.4 测试用例及结果
住得好酒店房间餐饮管理系统分为两个端测试,分别是客户端和管理员端测试,表5-1为客户端的测试用例还有测试结果,表5-2位管理员端的测试用例还有测试结果。
表5-1客户端的测试用例及其结果
用例编号 用例名称 测试目的 测试结果
U-1 TestLogin 测试用户是否输入正确的用户名以及密码才能登录 用户只有输入正确的用户名以及密码才能登录
U-2 TestRegister 测试用户是否输入所有字段后才能注册成功 用户只有输入所有字段后才能注册成功
U-3 TestShowBooking 测试用户是否登录后才能显示房间预订页面 用户只有登录后才能显示房间预订页面
U-4 TestBooking 测试用户登录后能否预约成功 用户登录后填写必要信息后可在后台查看预约信息
U-5 TesCanceltBooking 测试用户能否取消预约 用户点击取消按钮后可以取消预约
U-6 TestShowRoom 测试客房页面是否能正确显示 客房页面能够正确显示
U-7 TestShowMenu 测试菜单页面是否能正确显示 菜单页面能够正确显示
U-8 TestComment 测试用户是否登录后能给客房评论 用户只有在登录情况下才能评论
U-9 TestShowComment 测试用户登录后对客房打分评论后能否在界面显示 用户登录后对客房打分评论能在界面显示
U-10 TestPassword 测试用户登录后是否能顺利修改密码 用户登录后能顺利修改密码
表5-2管理员端的测试用例及其结果
用例编号 用例名称 测试目的 测试结果
U-1 TestLogin 测试管理员是否输入正确的用户名以及密码才能登录 管理员只有输入正确的用户名以及密码才能登录
U-2 TestUpdateHomePage 测试管理员能否修改首页信息并在前端显示 管理员能修改首页信息并在前端显示出内容
U-3 TestUpdateMenu 测试管理员能否修改菜单信息并在前端显示 管理员能修改菜单信息并在前端显示出内容
U-4 TestDeleteMenu 测试管理员能否删除菜单信息 管理员能删除菜单信息
U-5 TestUpdateRoomType 测试管理员能否修改以及增加房间类型 管理员能修改以及增加房间类型
U-6 TestUpdateRoom 测试管理员能否修改以及增加新的套房 管理员能修改和增加新的套房并能在前端显示
U-7 TestDeleteRoom 测试管理员能否删除现有套房 管理员能成功删除现有套房
U-8 TestOrder 测试用户提交订单后管理员能否在后台查看相关订单的信息 用户提交订单后管理员可以在后台查看相关订单信息
U-9 TestComment 测试管理员能否查看以及删除用户评论 管理员能够看到用户评论并且进行删除操作
U-10 TestPassword 测试管理员登录后是否能顺利修改密码 管理员登录后能顺利修改密码
U-10 TestAccount 测试管理员能否对客户账户进行修改和删除操作 管理员可以对客户账户进行修改和删除操作
U-11 TestAccountPassword 测试管理员能否帮客户重置登录密码 管理员可以帮客户进行重置密码的操作
5.5 测试截图
1.用户需输入所有字段才能注册成功,否则会提示需要输入,如图5-1。二次输入密码也要相同,否则会提示“两次输入密码不一致”,如图5-2。
图5-2测试注册二次输入密码
2.用户在登录账号的时候,必须要输入正确的密码和账户,如果输入错误则会显示“登录账户不存在”或者“登录密码错误”,如图5-3,图5-4。
图5-4测试登录密码错误
3.必须登录后才能进行房间预订,否则会显示“登录后可预订”,如图5-5。
图5-5测试未登录能否预约
4.修改密码需要输入原密码、新密码和二次输入新密码,如没有填写完整会提示“这是必填字段”,如图5-6。原密码错误会提示“原密码错误”,如图5-7。二次输入不一致会提示“你的输入不相同”,如图5-8。
图5-8测试二次输入错误
5.评论打分都可在页面显示,如图5-9,管理员也能在后台查看,如图5-10。
图5-10测试评论打分在后台显示
至此本毕业设计基本完成,在开发过程中经历了各种酸甜苦辣,从最开始的懵懵懂懂,到中期的渐入佳境,再到最后的得心应手。在本次毕业设计的过程中,遇到了不少问题,通过请教老师以及查阅相关资料,都一一解解决,使我学会了运用所学知识解决实际中的问题,使理论和实践得到充分结合,增强了自己的实践能力。
因为缺乏实际的商业项目经验,所学知识的有限,考虑问题不是太全面,所以本系统距实际应用还有一些差距,需要以后不断的进行测试及完善,并且测试的时间较短,存在一些未知的错误也在所难免。而我也仍然有如下这些问题需要解决:
第一,没有认真考虑到系统的日后的优化延展,再往后的研发生产中,通过对系统实施重构,让该系统得到延展升级。
第二,系统的安全性有待进一步提高,以后的改进过程中,可以通过对表关键字段内容进行加密,在系统中运用多种权限验证,以保证系统的安全。
外出实习后再对毕业项目进行设计,我感觉到了自我的提升,受益匪浅,在过程中所领悟的道理,在开发中也通过了实际验证,锻炼了自己实际动手能力,掌握了软件开发的流程,为以后的工作打下基础,使我受益终生。
[1]陈恒、楼偶俊、朱毅、项聪、张术梅。 JSP网站设计[J].清华大学出版社, 2017(8):72-72.
[2]张跃平、耿祥义。JSP程序设计[J].清华大学出版社,2017,(22):
[3]RuiZHANG,HuiMA,YaoLU,YangLI.Provablysecurecloudstorageformobilenetworkswithlesscomputationandsmalleroverhead[J].ScienceChinaInformationSciences),2017,60(12):
[4]江承尧。MySQL技术内幕 InnoDB存储引擎[J].机械工业出版社,2013,44(11):
[5]张工厂。MySQL从入门到精通[J].清华大学出版社,2017,(22):
[6]甘长春,孟飞。MySQL数据库管理实战.人民邮电出版社,2016,27(06):
[7]刘玉红,郭广新。MySQL数据库应用[J].清华大学出版社,2016,(11):
[8]孙菲亚、孙俊玲、马杰。MySQL数据库实用教程[J/]. 清华大学出版社,2015,(15):169.
[9]陈恒、朱毅、项聪. JSP网站设计教学做一体化教程.清华大学出版社,2017.
[10]克伦克。数据库处理-基础、设计与实现.电子工业,2016.
[11]Chao.Entangled pieties. Palgrave Macmillan,c2017.
[12]郑阿奇。MySQL实用教程.电子工业出版社,2017.
大学生活即将结束,在经历了找工作的尴尬和挫折之后,我深深体会到了知识的重要性。回顾大学四年的美好时光,对于那些指导我,帮助我并激励我的人,在此表示深深的感谢。本系统是在导师的精心指导下完成的。导师渊博的专业知识,严谨的学术态度,优秀的工作作风,朴实高尚的道德观,对我产生了深远的影响。从课题的选择到完成,每一步都在导师的精心指导下完成,导师投入了大量的时间和精力。在撰写论文的过程中,我遇到了很多问题。在导师的指导下,问题都完美解决。在此,我要表示高度的敬意和衷心的感谢!
我还要感谢我们学院的所有领导和老师。是他们一丝不苟的教学,使我学到了专业的知识并掌握了许多专业技能。正是由于多年知识的积累,使我顺利的完成了这篇论文。
然后我要感谢我的同学们无私的帮助让我感受到校园的温暖。在撰写论文的过程中,许多学生给了我信息支持,我想表达我的感激之情。
最后,我要感谢我的父母。在我十多年的学习中,我离不开父母的鼓励和支持。感谢他们辛勤的工作,为我创造良好的学习条件。
我很快就要毕业了。在未来的工作和生活中,我会记住老师的教诲,并继续不懈的努力和追求,并回报所有支持和帮助我的人!谢谢你们!