[计算机毕设]基于java的酒店管理系统系统设计与实现(项目报告+答辩PPT+源代码+数据库) |
您所在的位置:网站首页 › 管理系统开发案例怎么写好一点 › [计算机毕设]基于java的酒店管理系统系统设计与实现(项目报告+答辩PPT+源代码+数据库) |
项目报告 酒店管理系统的设计与实现 摘 要 中国经济近几年来取得蓬勃飞速发展,使得人民生活水平的要求和生活的质量有了很高的要求。因此人们对外出旅游和就餐的需求也越来越大。同时,随着我国科技水平的兴起和对互联网+新时代的大力支持,酒店管理系统在现代人们的生活中扮演着不可或缺的角色。 酒店管理系统,不仅能够加大对酒店的有效管理,而且能够使顾客享受到更优质服务。这个酒店管理系统从实际的需求出发实现了管理员权限管理模块,餐饮信息管理模块,客房信息管理和餐饮预订模块,顾客消费情况管理,客房预订操作模块。 这个系统以jsp风格为主要的开发语言,使用现在比较流行的MVC框架作为辅助手段,运用于开源免费的小型tomcat服务器来进行对MYSQL操作,在Myeclipse企业版开发环境软件上运行,完成了一个酒店管理系统。本系统具有简单易懂的操作方式和显示详细的房间信息,用户可以方便的了解到本酒店的全面信息,节约时间和成本。 关键字:酒店管理, JSP, MYSQL, tomcat 目 录 摘要.................................................................................................................................. i ABSTRACT..................................................................................................................... ii 1 .绪论............................................................................................................................. 1 1.1课题背景.............................................................................................................. 1 1.2目的和意义.......................................................................................................... 1 1.3开发工具及技术................................................................................................... 1 1.3.1开发工具.................................................................................................... 1 1.3.2 JSP............................................................................................................. 2 1.3.4 MVC简介.................................................................................................. 2 1.4软件和硬件需求................................................................................................... 3 1.5本章小结.............................................................................................................. 3 2 .需求分析...................................................................................................................... 4 2.1需求调研.............................................................................................................. 4 2.2可行性分析.......................................................................................................... 4 2.2.1技术的可行性............................................................................................. 4 2.2.2经济的可行性............................................................................................. 4 2.2.3操作可行性................................................................................................ 4 2.2.4法律的可行性............................................................................................. 4 2.3系统用户用例图................................................................................................... 5 2.3.1管理员用例图............................................................................................. 5 2.4功能模块需求分析................................................................................................ 5 2.5性能需求.............................................................................................................. 6 2.5.1系统的安全性............................................................................................. 6 2.5.2数据的完整性............................................................................................. 6 2.6本章小结.............................................................................................................. 6 3. 系统分析与设计........................................................................................................... 7 3.1系统模块设计....................................................................................................... 7 3.1.1总体设计框架............................................................................................. 7 3.1.2总体设计模块............................................................................................. 7 3.2数据库的分析与设计............................................................................................ 8 3.2.1 数据库的概念结构设计.............................................................................. 8 3.2.2数据库的逻辑结构设计............................................................................... 9 3.2.2数据库的连接原理.................................................................................... 11 3.3设计思想............................................................................................................ 12 3.4详细设计............................................................................................................ 12 3.4.1 登录模块设计.......................................................................................... 12 3.4.2客房管理模块设计.................................................................................... 12 3.4.3客户模块设计........................................................................................... 13 3.4.4 特色菜品介绍模块设计............................................................................ 13 3.4.5餐桌预订模块设计.................................................................................... 14 3.4.6餐饮消费管理模块设计............................................................................. 14 3.5本章小结............................................................................................................ 14 4. 系统功能实现............................................................................................................. 15 4.1系统登陆页面实现.............................................................................................. 15 4.2总体功能模块..................................................................................................... 16 4.2.1管理员管理............................................................................................... 16 4.2.2客房类别管理........................................................................................... 18 4.2.3客房信息管理........................................................................................... 20 4.2.4客房预订信息管理................................................................................ 22 4.2.5客户信息管理........................................................................................ 23 4.2.6特色餐饮管理........................................................................................ 24 4.2.7餐桌预订管理........................................................................................ 25 4.2.8客户消费管理........................................................................................... 26 4.3本章小结............................................................................................................ 28 5. 系统测试.................................................................................................................. ..29 5.1系统测试的目的和意义....................................................................................... 29 5.2测试原则............................................................................................................ 29 5.3测试目标............................................................................................................ 29 5.4测试用例设计的原则.......................................................................................... 29 5.5测试过程............................................................................................................ 30 5.5.1主页面的登录模块测试............................................................................. 30 5.5.2修改密码测试........................................................................................... 31 5.5.3客户添加测试........................................................................................... 32 5.5.4客房预订添加测试................................................................................ 33 5.5.5客户信息查询测试................................................................................ 33 5.5.6其余模块测试........................................................................................ 34 5.6中文乱码问题..................................................................................................... 34 5.7其他错误............................................................................................................ 34 结 论........................................................................................................................... 36 参考文献........................................................................................................................ 37 致 谢........................................................................................................................... 38 外文文献及翻译............................................................................................................. 39 1 绪论 1.1课题背景中国改革开放以后,我国大力发展经济、教育、旅游等等先进产业链,人们对于外出旅游和群体聚餐的需求越来越大。而且我国的良好的科学教育水平和人民文化素质的提高,为酒店管理系统提供了良好的机遇和前景。 采用现代化开发模式,能够方便快捷的对酒店进行有效的管理了解酒店的具体情况,同时提供令顾客满意的服务,提高了效率。顾客可以方便地了解酒店的客房情况和餐饮情况,进行提前预订消费。目前,由于中小型酒店缺少必要的资金和人员,仍采用手工记录和打电话咨询的方式,对酒店管理和顾客预订都很不方便,而且极其容易出错。所以开发一套适合的用于中小酒店的酒店管理系统是非常符合当代的条件,既可以节约软件开发成本预算,也可以提高酒店服务水平。 1.2目的和意义人们现在越来越注重精神上的满足,排除了学习读书等消遣方式之外,外出参加旅游和组织聚餐也成为当下放松心情,缓解压力的重要环节。因此对酒店的入住情况和餐饮服务质量的及时了解是十分有必要的。而且随着顾客对酒店的需求越来大,和酒店有关的信息也就越来越多,单靠人力已经无法完成必要的信息记忆和信息整理,由此得出,我们必须要一套完善的酒店管理系统满足顾客的需求,提供对酒店管理的效率。酒店管理系统可以帮助我们完成对信息的有效存储和永不丢失,也能对信息进行有效整理,极大缓解了人员的工作负担。而且能够知道所需要的具体信息,执行效率也是非常方便快捷,几乎不会出错。以上种种可以看出来,通过使用酒店管理系统能够更加有效的对酒店进行管理和有效的进行信息处理,这样就可以达到员工福利的目的,缓解了雇职人员之间的矛盾,减少了酒店管理的成本。 1.3开发工具及技术 1.3.1开发工具这个项目采用的是MyEclipse+tomcat+Mysql+JSP开发。以下分别介绍这次开发的主要技术方法和应用方式。 MyEclipse Myeclipse是在面向对象的开发过程中还是很有用的。实在eclipse的基础之上有增加了一系列有利于开发人员编程的插件的集合,另外自己还可以根据自己的具体需求来进行私人订制,增加一些具有特色的功能。Myeclipse对我们软件开发人员来说确实是一个功能齐全的企业级应用开发环境。 Tomcat Tomcat是由一些知名软件公司开发的,例如Apache和sun等等公司。首先要明确,tomcat的开发者很人性,不收取费用,而且还给我们提供了其制作原理。是属于服务器,而且是轻量级的对设备的要求低,我们可以从tomcat的实际原理进行参考,对自己分析研究服务器设计具有重大意义。为什么要选择tomcat是因为它在占用很少的资源的情况下能够独立运行一些应用,而且扩展性能也是非常好的。 MySQL MYSQL是一项公益性的,供编程人员模仿学习,它的存在一直对我们研究学习工作意义非凡,不仅能够降低我们的开发成本,减少投入资金,而且我们可以欣赏到大师级的代码技术和代码风格,最主要的是能够学到他们的设计理念和设计思想。另一方面,MYSQL使用了各种各样的不同风格的编译器和开发工具的测试,使得我们的源代码能够轻松移植到其他平台上,减轻我们的开发。 1.3.2 JSP JSP,ASP,PHP是现代流行的动态网页技术标准,是有一些十分优秀的大公司结合实际需求制定的一个标准。在以前众所周知的HTML程序段中添加一些具有特殊意义的java程序段以及自己特定的jsp标签属性,由此形成了JSP文件。当然,jsp完全继承了Java的一些优秀的特点,能够应用与各种不同的平台之上。为了满足我们对动态网站迅速开发的目标,到达编程人员的身心需求,缓解人员的工作状态,JSP进一步改进优化: 将具体所需的内容与所要显示的界面进行分离:web开发工程师在进行网站设计的时候,可以采用HTML或者是XML来确定最终页面的具体情况到底是什么界面。通过使用JSP来实现动态页面的制作,其中具体的逻辑过程被封装起来。这样的话,对我们所写的代码具有一定的保护作用,又能保证在任何其他浏览器上都具有一定的可用性。 可重复使用组件:开发人员及软件工程师能够共享和重复使用经常使用的组件。 可以跨平台实现:在市面上的几乎所有平台都支持JSP+servlet+JavaBean,不需要考虑不同平台之间的移植问题。 为了方便与数据库相连接,专业人员开发了JDBC驱动程序来供我们使用。除此之外,sun公司还有许多关于数据库的技术供我们使用参考。这里就不一一介绍,希望在后期学习中在做介绍。 1.3.3 MVC简介MVC是一种编程思想,是一种将代码中的输入部分,输出部分和程序的逻辑处理部分分开进行代码设计。这种编程方法主要将代码分成三部分:模型,视图和控制器三个核心部分。 视图 主要是指用户主管视觉上能够欣赏的界面。在以前的网站中,视图主要是有HTML来扮演主要的角色。但随着世界上计算机科学与技术水平的不断革新,新的技术水平不断出现,主要有xml,flash等等。 视图仅仅是允许数据输出和用户能够就行操作等简单界面,并没有进行真正的逻辑处理。 模型 模型表示系统的逻辑处理部分,主要指在数据库中处理数据。一个视图可以对应多个模型,因此大大减少了代码的数量和代码的重复量。 控制器 控制器是指在知晓用户输入的情况下,通过使用模型和调用视图来满足用户的具体需求。 MVC工作过程是:首先让用户输入信息并使用控制器来得到用户输入的结果。接下来根据用户的具体请求,用具体模块来处理用户的信息请求并返回最终结果。最后,控制器用具体的视图来显示来返回请求数据。 1.4软硬件需求本系统开发机器的配置: 处理器:Intel(R)Core(TM) i5-3230M CPU @2.60GHz 2.60GHz RAM: 4.00GB 软件需求: 操作系统版本:Win7 开发工具:MyEclipse 10 后台服务器:jdk1.8.0_05 Apache Tomcat 6.0 开发语言:Java 浏览器:360安全浏览器8.1 1.5本章小结本章主要介绍了本文研究的课题所涉及背景以及研究所的目的及其意义。表明研究是十分有必要的。同时,也简单介绍了本课题所研究的一些关键技术,表达了为什么要用这些技术以及这些技术的优势。最后也简单介绍了本次研究所需要准备的软硬件条件和设施。 2 需求分析需求分析可以认为是软件开发的重中之重。对于软件的后期开发和测试起到了关键性的作用。从历史的经验中我们可以看出,需求分析的成功与失败决定了后期软件制作所要花费的代价。一个好的需求就是成功的一半,能够大大降低软件开发的成本。反言之,一个失败的软件需求,不能正确反映客户的需求,将会给后期软件开发和维护带来极大的困难。 本系统在进行需求分析时,严格按照客户的实际需求来进行。减少后期因需求不足导致额外的花费。 2.1需求调研现阶段,我们国家经济状况良好而且国家对旅游政策的大力支持,人民对酒店的性能、服务设施等条件要求十分严格。这样会带来酒店的极大的扩张,管理也越来越困难,面对顾客各种复杂而且膨大的信息量和信息资源,单单靠人力无法单独完成。因此利用计算机的优势所在,采用现代化管理技术,减少不必要的人力消耗至关重要。通过酒店管理系统,可以实现有效系统管理,方便对酒店的各种操作,降低各种复杂工作的量,提供员工的工作效率。根据实际需求和各种技术支持发现,对酒店采用现代化,专业化,系统化管理方式是非常有必要也是十分可行的。综上所述,本文的酒店管理系统使十分值得研究和发展的。 2.2可行性分析开发酒店管理系统可能会受到现实生活中的各种各样的限制,比如:开发的时间,技术水平和资源有效分配等等问题。由此可见,在开发系统之前,可行性研究的实行显得十分重要和有必要。可以减少不必要的人力的消耗和财力的损失,减少这个系统开发的风险投资。这里从以下几个方面进行研究和分析,本系统是否真正的具有可行性、可研究性 2.2.1技术的可行性主要用Myeclipse进行本系统的发布,在eclipse不能运行,运用主流的tomcat开源免费的服务器,数据库也是开源免费的Mysql数据库。主要开发语言还是面向对象的开发语言Java。这个系统主要完成一些简单业务,如客房信息管理和客房预订操作模块,餐饮信息管理模块和餐饮预订操作模块。前端界面采用html+css等技术进行页面设计,后台采用java来操作数据库进行增删改查和用Java实现图片上传等操作。同时java也是开源的,为系统开发也提供了一些系统架包。由此可以看出,现有的技术是完全可以支撑起本系统的开发。 2.2.2经济的可行性根据技术可行性可以看出,酒店管理系统主要采用免费开源的软件进行开发,通过这样做,我们的开发成本得到了有效的管理,节约了大量开发工具的费用,不需要大量的软件开发成本需求。采用免费开源的软件还可以根据自己的需求对其进行改造适应自己的需求和发展,因此可以看出,从经济的角度对酒店管理系统分析可以得出酒店管理系统在经济方面也是可行的。 2.2.3操作可行性酒店管理系统操作简单方便,大多都是通过鼠标进行操作和管理。而且由于现在电脑技术的迅速普及,基本每个人都具备基本的电脑操作技巧,因此在用户具备一定的操作技巧的基础之上进行简单的培训就可以使用酒店管理系统对酒店进行全面细致的管理。 2.2.4法律的可行性本酒店是自己进行独立开发和测试完善的,具有很强的实际操作意义。另外,开发所使用的软件大多数是开源免费的,因此不存在侵犯版权之类的问题,是在法律允许的范围之类进行开发和测试的。因此,在法律上是可行的。 根据以上的种种条件,可以判断出酒店管理系统在当今社会上对酒店管理和发展具有很大的帮助和发展,因此可以看出,酒店管理系统的开发和应用是大势所趋,是非常适合当今时代的发展。 2.3系统用户用例图 2.3.1管理员用例图管理员是酒店管理系统的主要管理权限用户,主要有以下四大功能,管理人员对使用本系统用户人员管理,对客房信息进行管理,对餐厅餐饮和菜色进行管理,对顾客消费情况进行管理。 管理员用例图 2.4功能模块需求分析 本酒店管理系统与现代开发软件的特点完美结合,界面友好,观赏性强。下面依次介绍本系统的功能: (1)本系统界面友好,且具有良好的健壮性,能预防各种出现的错误提示操作。 (2)管理人员对使用本系统用户人员管理,对客房信息进行管理,对餐厅餐饮和菜色进行管理,对顾客消费情况进行管理。 (3)本着对用户和酒店负责的态度,对酒店信息和用户信息起到一定安全作用,防止信息泄露,对用户和酒店造成困扰。 管理员功能模块说明: (1)用户人员管理:这个功能主要包括对系统人员就行删除增加和密码修改等基本操作等。 (2)客房信息管理,主要有以下几部分组成: 客房类型的增加和删除:现在有单人间,双人间和豪华间等等。 客房信息的补充和修改:主要指房间号,房间面积,价格以及房间的真实图片等必要的信息。 客房预订的增加和删除:主要是指客户对酒店的预订情况,包括客房的房间号,预订天数,预定时间和客户信息等。 (3)客户信息的增加修改和删除和查看:主要用于完成对客户信息的修改和删除,当然也可以进行客户信息的增加和查看。 (4)餐饮管理,主要有以下几部分组成: 特色菜品的介绍:对特色菜品进行及时增加,过时的菜品进行删除和不合理的菜品进行修改,查看本店特色菜品操作,特色菜的名称,价格,和真实图片等操作进行管理。也能增加和删除特色菜品。 餐桌预订管理: 对已经预订了的餐桌消费人员进行修改,查看预订信息进行就餐和删除一些已经就餐完成或就餐预订取消的信息。 餐桌预订添加:将顾客要求的预订信息添加到本系统。 (5)消费管理:主要指住房消费和餐饮消费两部分,用于对顾客消费情况进行登记和查看,以便对酒店收入情况进行管理。 2.5性能需求 2.5.1系统的安全性本文设计的这个酒店管理系统具有严格的执行权限要求,只有符合管理员身份的人员才可以对其进行操作管理,对已经取消管理员资格的人员也可以手动对其进行删除管理,提高系统的安全性。 2.5.2数据的完整性1.对数据的记录要求精确,信息不能出现空白信息,否则显示错误。 2.各个数据项的记录必须要求是正确的,不能出现虚假信息,造成错误。 3.不同界面显示的相同信息的数据也必须保持一致,不能出现相同信息不同数据的现象。 2.6 本章小结本章主要是对软件的需求进行分析。不过在其分析之前,简单的从经济,技术,操作,法律等方面研究了本系统是否值得分析设计。其次,本文采用用例图来分析软件在功能方面的实际需求。都软件的性能需求也进行了评价分析。 3 系统分析与设计系统分析与设计分析与设计时系统开发过程中最重要的一个环节部件。它会影响到后续代码编写的实施。尽管不同系统具体的实施过程不同,但都有异曲同工之妙。在实际的工作和学习中可以看出,系统分析与设计的质量与系统的成败有巨大的联系。 管理系统分析的任务是:在充分认识原有系统的基础上,通过查询可行信息、定义问题识别、规划详细调查、通过系统化分析,最后完成了新系统的逻辑方案设计,或称逻辑原型设计[2]。 3.1 系统模块设计 3.1.1 总体设计框架 在上述对系统的分析的基础上,现在对系统进行总体设计,总体设计功能的模块如图 3.1所示。 图3.1 总体设计功能的模块图 3.1.2 总体设计具体模块按照总体设计的功能模块和需求分析,酒店管理系统的各个模块的数据字典: 1、系统管理员数据:包含的数据项用户名,密码。 2、客房类型数据:包含的数据项有id号,类型名称。 3、客房信息数据:包含的数据项有房间号,房间面积,房间简介,房间图片,房间类型。 4、房间预订数据:包含的数据项有预订客房,预订时间,预订用户的名字及电话,预订天数。 5、入住消费数据:包含的数据项有入住客房,入住时间,客户姓名及联系方式,预订天数和消费金额。 6、客户信息数据:包含的数据项有客户名字,地址,电话,E-mail。 7、特色餐品数据:包含的数据项有名称,描述,图片,价格。 8、餐桌预订数据:包含的数据项有预订时间,预订餐桌号,预订人。 9、餐饮消费数据:包含的数据项有消费时间,消费金额,消费者姓名。 3.2数据库的分析与设计当代的计算机软件系统已将不单单是运用计算机来静态的处理解决问题,而是利用具体数据,具体情况具体分析动态解决实际问题。因此数据就显得尤其至关重要。而数据都是在数据库中进行各种操作实现完成的。运用数据库管理系统的优势和特点,来对数据信息进行有效的管理、合理的分析、灵活的运用等的。数据库的巨大优势使得数据库已经作为了现在信息系统等计算机系统的主要部件。对数据库设计是否合理直接影响到整体系统的质量问题。 本系统建立抽象的概念数据模型主要是选用(1)集中式模式设计法:根据全局数据模式为各个用户组或应用定义外模式。对用户要求描述的逻辑结构分类、二维表的形式表示实体间数据模型,并建立抽象的概念数据模型[1]。(2)视图集成法:以个别部分的为基础,分别设计局部模式,然后在以这些视图为基础,集成为一个全部模式[1]。 3.2.1数据库的概念结构设计概念设计时,要先进行数据分析,然后在从下往上依次建立数据库整体概念结构, 从用户的角度出发看问题,进行视图的整合设计,最后对整合的设计进一步分析优化得到最后结果。 本文中数据库的概念结构设计采用实体联系属性的E-R模型。E-R模型都是包括实体,联系(不同实体之间的关系),属性(实体具有的特征)三部分内容,本文通过绘制E-R图来描述E-R模型。 概念设计最终要能够正确表达酒店对数据的实际需求,也就是要能够完成酒店的所有功能。概念模式是独立存在的,与数据库逻辑结构基本上无关。当然了,它也与数据库的物理结构无关。 通过对酒店管理系统的需求分析和系统所需的概念结构,结合自己对E-R图的理解,下面是建立的E-R模型图 属性 实体间关系 实体 酒店管理系统的数据库E—R图如图3.2所示:3.2酒店管理系统的数据库E—R图 3.2.2数据库的逻辑结构设计众所周知,数据库的概念模型与某个具体的数据库是没有关系的,因此,我们需要结合实际所使用的数据库的特征来进行具体变化,也就是转化成逻辑关系模型,来让计算机进行处理加工。概念模型向数据库的逻辑模型进行转化需要遵守的规则: *每一个实体要转换成一个关系 *所有的主键必须定义非空(NOT NULL) *对于有多个联系的实体要区分主次,按照一对多,一对一和多对多的顺序来依次建立外键。 通过以上的分析,我们现在建立了相应的逻辑结构,下面逻辑结构的详细说明部分。 用户信息表主要是记录了住房客户基本信息,表结构如表3.3所示。表3.3用户信息表 列名 数据类型 长度 允许空 是否主键 说明 user_id int 4 否 是 编号 user_realname varchar 50 否 否 姓名 user_address varchar 50 否 否 地址 user_tel varchar 50 否 否 联系电话 user_email varchar 50 是 否 邮箱 user_post varchar 50 是 否 邮编 user_fax varchar 50 是 否 传真 (2)管理员信息表主要记录了管理员基本信息,表结构如表3.4所示。 表3.4管理员信息表 列名 数据类型 长度 允许空 是否主键 说明 userId int 4 否 是 编号 userName varchar 50 否 否 用户名 userPw varchar 50 否 否 密码 (3)客房信息表主要是记录了客房的基本信息,表结构如图3.5所示。 表3.5客房信息表 列名 数据类型 长度 允许空 是否主键 说明 fangjianhao Int 4 否 是 编号 catelog_id varchar 50 否 否 客房类别 area varchar 50 否 否 面积 jieshao varchar 50 否 否 介绍 fujian varchar 50 否 否 图片 (4)客房预订信息表主要是记录了客房预订的基本信息,表结构如图3.6所示。 表3.6客房预订信息表 列名 数据类型 长度 允许空 是否主键 说明 id Int 4 否 是 编号 user_id varchar 50 否 否 预订用户 kefangid Int 4 否 否 客房号 tianshu varchar 50 否 否 预订天数 yudingzheTel varchar 50 否 否 联系电话 shijian varchar 50 否 否 预订时间 (5)客房类别信息表主要是记录了客房类别的基本信息,表结构如图3.7所示。 表3.7客房类别信息表 列名 数据类型 长度 允许空 是否主键 说明 id Int 4 否 是 房间号 Kefang_leixing varchar 50 否 否 客房类型 (6)餐饮信息表主要是记录了餐饮的基本信息,表结构如图3.8所示。 表3.8餐饮信息表 列名 数据类型 长度 允许空 是否主键 说明 canyin_key Int 4 否 是 编号 canyin_name varchar 50 否 否 名称 jiage varchar 50 否 否 价格 jieshao varchar 50 否 否 介绍 fujian varchar 50 否 否 图片 (7)餐饮预订信息表主要是记录了用户餐饮预订的基本信息,表结构如图3.9所示。 表3.9餐饮预订信息表 列名 数据类型 长度 允许空 是否主键 说明 id Int 4 否 是 编号 name varchar 50 否 否 预订人 canzuo_number varchar 50 否 否 预定餐桌号 shijian varchar 50 否 否 预订时间 (8)入住消费信息表主要是记录了用户入住消费的基本信息,表结构如图3.10所示。 表3.10入住消费信息表 列名 数据类型 长度 允许空 是否主键 说明 id Int 4 否 是 入住人身份证号 name varchar 50 否 否 预订人 Name_cost varchar 50 否 否 消费 shijian varchar 50 否 否 入住天数 (9)餐饮消费信息表主要是记录了用户餐饮消费的基本信息,表结构如图3.11所示。 表3.11餐饮消费信息表 列名 数据类型 长度 允许空 是否主键 说明 id Int 4 否 是 用餐人的身份证号 name varchar 50 否 否 用餐人名字 Name_cost varchar 50 否 否 消费 3.2.3数据库的连接原理Hibernate是由专业人员设计的一种对酒店管理系统进行有效管理的系统框架,本文就采用了这种框架。Hibernate 是一种开源的,并且能够将对象关系进行映射的一种框架,它通过对JDBC部分对象的进行了封装设计,因此,我们程序员在编程设计时,可以根据自己喜好使用面向对象的编程思想来进行数据库的各种操作。它可以完成具体的Java类与其相应的数据库表来进行映射,也能够对数据进行查询和对数据进行恢复。与JDBC连接数据库的传统方式相比较来看,Hibernate在很大程度上已经可以减少工作量的操作。另一方面,Hibernate提供了代理模式,它可以对需要载入的具体类进行简化操作。使用代理模式的目的主要是减少从数据库提取数据所需的代码工作量,这样我们的开发时间和开发成本也就得到了有效的缓解和降低。 由于Hibernate具有众多优点,受到了技术人员的青睐,现在市面上流行的服务器都是可以与Hibernate进行良好的集成。 Hibernate 的运行过程如图3.5所示: 图3.1 Hibernate的运行过程如下图 图3.1给出了 Hibernate 的具体运行过程,它可以与应用程序之间建立持久性服务的主要原因是使用了数据库和利用了配置文件。 3.3 设计思想1.采用良好的交互界面,减少键盘输入,尽可能多的使用鼠标操作。 2.采用B/S架构。使用浏览器/服务器模式这种开发方式不需要用户下载特定的软件,只要在具有浏览器的计算机上基本都可以进行操作,符合大众心理。 3.功能模块化设计原则。将不同的功能作为一个模块来进行划分设计,这样思路清晰,逻辑清楚,有利于后期的编码,测试和调试。 4.使用了面向对象分析方法。按照不同功能的模块划分,使用面向对象分析方法学来分析各个模块中所需要的类包括类中的属性和方法,以及不同类之间的关系等等。采用面向对象方法学来提高程序的质量,有利于后期的开发维护。 3.4 详细设计 3.4.1 登录模块设计 在登录界面,包含用户名,密码信息,输入之后点击登录进入酒店管理系统。 用户名和密码都不能为空,否则会弹出对话框进行提醒。后端也会进行验证。如果验证不通过,弹出对话框提示用户名或密码错误。后端验证成功,提示登录成功,跳转到系统页面。 3.4.2 客房管理模块设计3.4.2.1 客房类型模块 客房类型界面主要包括类型的id号,类型名称,操作和添加。可以查看客房类型的具体信息,每项都有具体的值都不可以是空的。通过操作下方编辑和删除按钮可以对客房类型信息进行操作。点击下方添加按钮可以进行客房类型进行添加。3.4.2.2 客房信息模块 客房信息界面主要包括房间号,房间面积,房间简介,房间图片和房间类型和操作。可以了解房间的具体信息,若有一项的值为空的话是不合法的。点击操作下方的删除按钮可以删除某个特定房间。点击本页面上的添加按钮,跳转到客房添加界面进行客房信息添加。添加的信息同(1),并且要上传房间图片。3.4.2.3 客房预订模块 (1)在这个模块中,主要有预订的客房号,预订时间,预订天数,预订人的名字和电话和操作。 (2)主要用于管理用户的预订信息,其中房间号必须和客房信息里面的房间号相一致,不会出现不存在的房间号。预订时间也一定在今天及其以后的时间,不会出现已经过去的时间。预订人和联系方式已经预订天数都不允许空,都有具体值。 (3)使用鼠标点击特定预订信息后面的删除按钮,可以删除此条预订信息。 (4)通过添加按钮出现客房预订信息界面,可以进行客房预订信息的添加。 3.4.2.3 入住消费模块 入住消费模块主要信息是入住的房间号,入住时间及天数,入住者的名字及其联系电话和消费金额。主要是用于记录用户的消费记录情况,入住的房间号一定是存在的房间号,入住时间也必须符合现实,联系电话是11位阿拉伯数字,这些信息参数值也必须不为空。对已经付过账要离开的顾客可以点击对应后面的删除按钮进行删除操作,去除记录。对于将要入住和正在入住的顾客点击添加按钮进行消费信息的添加。 3.4.3 客户模块设计3.4.3.1 客户信息模块 (1)客户信息模块主要用于显示客户信息和根据顾客名查询特定入住者。 (2)客户信息模块主要有查询框和查询按钮,以及一些顾客基本信息比如:用户名字和联系方式,住所等等信息。 (3)对已经离开和将要离开的用户,通过其信息后面对应的删除按钮进行删除,完成住宿。 3.4.3.2 添加客户模块 (1)添加客户模块对于已经入住的顾客进行信息添加完善。 (2)添加客户模块主要包含多个文本框,比如客户名字,联系方式和地址等等一些必要信息,还有一个提交和重置按钮。 (3)当填写完用户信息,点击提交按钮时,弹出对话框提示操作成功。这时,客户信息界面上就会显示刚才添加的用户信息。 3.4.4 特色菜品介绍模块设计3.4.4.1 特色菜品模块 (1)特色菜品模块所显示的信息可供顾客选择菜单上的菜品,提供餐饮服务,方便顾客选菜。 (2)特色菜品模块显示一些菜品的名称,菜品的描述和图片以及价格等必要的信息和删除操作。 3.4.4.2 添加特色菜品模块 (1)添加特色菜品界面上包含几个文本框信息和提交,重置按钮。 (2)这几个文本框所要填写的信息与特色菜单模块上的信息必须一一相对应,不能出现不相符的状况。 (3)当填写完特色菜品信息进行提交后,弹出提示框显示操作成功,并且在特色菜品界面上会显示刚才所添加的菜品信息。 3.4.5 餐桌预订管理模块设计3.4.5.1 餐饮预订模块 餐饮预订界面主要是显示餐桌预订的相关信息,包括预订时间,预订餐桌和预订人以及删除操作。预订时间也是需要符合当前时间,不能是已经过去的时间,预订时间和预订人不能为空。(3)当顾客已经就过餐或者不在就餐时,点击删除按钮可以取消预订的信息。 3.4.5.2 添加餐饮预订模块 (1)餐饮预订添加界面包含预订的时间,预订人的名字和预订的餐桌号三个文本框信息,以及重置和提交按钮。 (2)添加餐饮预订界面上的信息和餐饮预订界面上的信息是完全吻合的,需要将添加的信息显示到餐饮预订界面上。 3.4.6 餐饮消费管理模块设计(1)餐饮消费管理界面主要是保存了用户消费的相关内容,比如消费时间,金额和消费者名字和删除信息操作。 (2)当本次消费已经完成时,就可以点击删除按钮就可以删除此条所要删除的信息记录。 3.5 本章小结 本章主要是进行系统设计。首先进行系统的总体设计,确定系统的主要功能模块。其次我们根据系统所需要完成的功能模块来进行ER图的分析和建立。再根据E-R图来确定数据库的逻辑模型,建立数据库的逻辑模型结构。最后是系统的详细设计阶段,确定各个模块的具体细节,为下一阶段的系统实现做充分的准备。 4 系统功能实现 前面我们已经明白了用户的具体需求,也经过了系统的分析和设计阶段,本章是进行系统的实现。根据前面对系统的分析和设计,我们现在对系统进行具体的代码实现。通过前面的对系统的逻辑分析,现在要正真转化成能够在机器上运行的物理系统,是对前面所做工作的总结和肯定。 4.1系统登陆页面实现1.描述:每个系统都需要相应的账号和密码进行登录。这样,不会因为随意登录操作系统而造成系统混乱。在系统设计之初,给出了管理员账号。 2.下面展示了程序的运行效果如图4.1所示: 图4.1 系统登录页面设计 进行登录时,输入本人自己的用户名和密码进行登录。然后点击登录按钮进行信息的提交。然后我们的后台会寻找相应的service来进行用户名和密码的匹配操作。根据用户名和密码的具体情况,返回具体的结果。public String login(String userName,String userPw,int userType) { String result="no"; String sql="from TAdmin where userName=? and userPw=?"; Object[] con={userName,userPw}; List adminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0) { result="no"; } else { WebContext ctx = WebContextFactory.get(); HttpSession session=ctx.getSession(); TAdmin admin=(TAdmin)adminList.get(0); session.setAttribute("userType", 0); session.setAttribute("admin", admin); result="yes"; } return result; } 4.2总体功能模块1.描述:我们登录到系统后,可以看到可供我们操作的六大功能模块。这时,只需要点击相应的菜单来运用相应的功能。 2.我们的效果图如图4.2所示: 图4.2管理员主页面 在本文具体设计过程中,本系统的每个页面都进行了系统性的拦截,防止不法分子不需要登录来进行恶意操作。 if(session.getAttribute("user")==null) { out.print("alert('请先登录!');window.open('../index.jsp','_self')"); } 4.2.1管理员管理4.2.1.1系统管理员信息管理 1.描述:登录人员进入管理员操作界面后,后天根据用户的具体操作来寻找具体的action类来进行系统响应。本文中主要是利用了List对象集合,通过request来显示出具体的信息。 2.程序效果图如下图4.3所示 图4.3 系统管理员管理 3.系统管理员管理关键代码: /** 添加系统管理员 / public void adminAdd(HttpServletRequest req,HttpServletResponse res) { String userName=req.getParameter("userName");//获取填写用户名 String userPw=req.getParameter("userPw");/获取密码 String sql="insert into t_admin(userName,userPw) values(?,?)";//数据添加到数据库中 Object[] params={userName,userPw}; DB mydb=new DB(); mydb.doPstm(sql, params); mydb.closed();
req.setAttribute("message", "操作成功"); req.setAttribute("path", "admin?type=adminMana");
String targetURL = "/common/success.jsp"; dispatch(targetURL, req, res); } /** 系统管理员删除 / public void adminDel(HttpServletRequest req,HttpServletResponse res) {
String sql="delete from t_admin where userId="+Integer.parseInt(req.getParameter("userId"));//在数据库中查找满足userId的数据 Object[] params={}; DB mydb=new DB(); mydb.doPstm(sql, params); mydb.closed(); req.setAttribute("message", "操作成功"); req.setAttribute("path", "admin?type=adminMana");
String targetURL = "/common/success.jsp"; dispatch(targetURL, req, res); } 4.2.1.2系统管理员密码修改界面 描述:管理员点击左侧的菜单“密码修改”,系统显示出密码修改的界面。修改时,必须要输入正确的原密码。否则,会弹出对话框提示原密码错误。其次,新密码和确认密码保持一致。不然会弹出对话框两次输入的密码不一致。 程序效果图如下图4.4所示图4.4 系统管理员密码修改 4.2.2客房类别管理 4.2.2.1客房类别信息录入 描述:本功能需要操作人员输入正确的客房类型。如果操作人员出现失误信息填写错误,系统都会给相应的出错信息。本文在后台也设置了相应的函数来进行信息的处理。要能够将管理员填写的信息正确反映到客房信息界面上,信息的提交以及信息的交互都具有及时性。2.本文程序的实际效果如下图4.5所示: 图4.5客房类别信息录入 4.2.2.2客房类别信息管理 1.描述:本文这个功能主要是显示本酒店所有的客房类别信息供顾客选择和对酒店客房进行更好的分类。这些客房类别信息都保存在list对象里面,并通过request对象来进行显示输出。 2.程序效果图如下图4.6所示 图4.6类别信息管理页面 4.2.2.3客房类别信息删除 1.描述:本功能可以对已经过时货已经不存在的客房类别进行去除操作,能够及时反映本酒店的真实信息。删除时,给出了提示,为了防止出现误删除。 2.程序效果图如下图4.7所示 图4.7类别信息删除页面 3.客房类别信息删除删除代码 public void kefangleixingDel(HttpServletRequest req,HttpServletResponse res) { String sql="update t_kefangleixing set del='yes' where id="+Integer.parseInt(req.getParameter("id")); Object[] params={}; DB mydb=new DB(); mydb.doPstm(sql, params); mydb.closed();
req.setAttribute("message", "操作成功"); req.setAttribute("path", "kefangleixing?type=kefangleixingMana");
String targetURL = "/common/success.jsp"; dispatch(targetURL, req, res); } 4.2.2.4客房类别信息修改 描述:设置这个功能的主要目的是为了修改录入客房类别时出现的错误,或者对已经不符合酒店实际情况的信息进行修改。4.2.3客房信息管理 4.2.3.1客房信息添加录入 描述:当我们的酒店进行进一步扩张和发展的时候,我们就需要运用这个功能。这个要求使用人员要输入不存在的房间号和已经存在的房间类型,否则给出相应的信息提示,录入信息失败。这个功能所填写的信息通过后台的service及时反映到客房信息界面上。2.程序效果图如下图4.8所示: 图4.8客房信息增加录入 3.客房信息添加关键代码: String fangjianhao=req.getParameter("fangjianhao"); String fangjianmianji=req.getParameter("fangjianmianji"); String fangjianjianjie=req.getParameter("fangjianjianjie"); String fujian=req.getParameter("fujian"); String fujianYuanshiming=req.getParameter("fujianYuanshiming"); String kefangleixingId=req.getParameter("kefangleixingId"); String del="no"; String sql="insert into t_kefang(fangjianhao,fangjianmianji,fangjianjianjie,fujian,fujianYuanshiming,kefangleixingId,del) values(?,?,?,?,?,?,?)"; Object[] params={fangjianhao,fangjianmianji,fangjianjianjie,fujian,fujianYuanshiming,Integer.parseInt(kefangleixingId),del}; DB mydb=new DB(); mydb.doPstm(sql, params); mydb.closed();
req.setAttribute("message", "操作成功"); req.setAttribute("path", "kefang?type=kefangMana");
String targetURL = "/common/success.jsp"; dispatch(targetURL, req, res); 4.2.3.2客房信息管理 1.描述:客房信息管理方便入住人员对房间的信息有一个大致的了解,节约了顾客寻找房间的时间。相应的list对象来保存相应客房信息,然后利用系统提供的request对象来进行显示。 2.程序效果图如下图4.9所示 图4.9 客房信息管理页面 4.2.3.3客房信息修改 描述:本文通过使用这个功能对房间的真实信息已经改变了的状况进行修改,让顾客第一时间来反映本酒店客房的真实信息。2.程序效果图如下图4.10所示 图4.10 客房信息修改 4.2.3.4客房信息删除 描述:主要是对已经不存在的客房进行去除操作,当本酒店对某个特定的客房进行去除时,就需要用此功能进行客房的删除。删除后,客房信息界面上也就不再显示本客房的具体情况。2.客房信息管理关键代码: TKefang kefang=kefangDAO.findById(id); kefang.setDel("yes"); kefangDAO.attachDirty(kefang); Map request=(Map)ServletActionContext.getContext().get("request"); request.put("msg", "操作成功"); return "msg"; 4.2.4客房预订信息管理4.2.4.1客房预订信息管理 1.描述:客房预订这个功能的需求性非常高,顾客可以提前寻找酒店进行入住,不需要因无法找到二无法入住。它显示了顾客的预订信息,顾客可以凭借这些信息来进行入住。 2.程序效果图如下图4.12所示 图4.12 客房预订信息管理页面 预订信息管理关键代码: public String yudingMana() { String sql="from TYuding where del='no'"; List yudingList=yudingDAO.getHibernateTemplate().find(sql); for(int i=0;i |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |