基于JAVA酒店管理系统的设计与实现_第1页
基于JAVA酒店管理系统的设计与实现_第2页
免费预览已结束,剩余53页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖南科技大学潇湘学院本科生毕业设计(论文)-I -湖南科技大学潇湘学院毕业设计(论文)题 目酒店管理系统_作 者_学 院计算机科学与工程学院专 业计算机科学与技术_学 号_指导教师_-II -本文完整的描述了一个酒店管理系统的设计与实现的过程,采用真正的跨平台Java技术为基础,利用eclipse编程平台结合Oracle数据库,完成了酒店管理系统的功能。矚慫润厲钐瘗睞枥庑赖。本系统是基于GUI的图形界面系统,使用了MVC匡架,采用JAVA语言和Oracle数 据库开发完成的酒店管理系统。该系统的主要目标是针对酒店客房住房管理进行计算机 的管理,系统主要实现了以下模块:房间管理模块,营销管理模块

2、,商品管理模块,系 统设置模块。聞創沟燴鐺險爱氇谴净。本酒店管理系统可供用户进行房间管理、客户查询、营销管理以及功能强大的消费 管理的功能。用户只需要简单的输入, 所有数据都由数据库管理系统管理。本文中数据 库服务器端采用了Oracle作为后台数据库,为数据的安全和程序的稳定运行提供了保 障。残骛楼諍锩瀨濟溆塹籟。关键词:酒店管理系统JAVA Oracle-II -ABSTRACTThis paper describes a complete hotel man ageme nt system desig n and impleme ntati onof the process, USES t

3、he real cross-platform Java tech no logy as the foun dati on, use eclipseprogramming platform combined with Oracle database, the completion of the hotel man agement system fun ctiorl.锕极額閉镇桧猪訣锥。This system is based on the GUI GUI system, using MVC framework, the JAVA Ianguageand Oracle database devel

4、opment completed hotel management system. The systems maingoal is for hotel rooms hous ing man ageme nt computer man ageme nt, system mainly realizesthe following module: room managementmodule, marketing management module, commoditiesman ageme nt module, the system Sett ings moduW摄尔霁毙攬砖卤庑。The hotel

5、management system is available for users room management, marketingmanagementand customer inquires powerful function, the consumption of the function of manageme nt. The user n eed only simple in put, all the data are made by the database managementsystem management. This paper database server in th

6、e Oracle as backend database, datasecurity and procedures for the stable operati on of the provided protectic謀荞 抟箧飆鐸怼类蒋薔。KeyKey WordsWords:Hotel Management System Oracle;Java-I -湖南科技大学潇湘学院本科生毕业设计(论文)第一章 绪论.-1 -厦礴恳蹒骈時盡继價骚。1.1 研究背景 . -1 -茕桢广鳓鯡选块网羈泪。1.2 国内外研究现状 . -1 -鹅娅尽損鹤惨歷茏鴛賴。1.3 研究意义 .-1 -籟丛妈羥为贍债蛏练淨

7、。1.4 研究内容和研究方法 .-2 -預頌圣鉉儐歲龈讶骅籴。1.4.1研究内容 . -2 -渗釤呛俨匀谔鱉调硯錦。1.4.2 研究方法 . -2 -铙誅卧泻噦圣骋贶頂廡。第二章 系统分析 . -2 -擁締凤袜备訊顎轮烂蔷。2.1 可行性分析 . -2 -贓熱俣阃歲匱阊邺镓騷。2.1.1 技术可行性分析 .-2 -坛搏乡囂忏蒌鍥铃氈淚。2.1.2 经济可行性分析 . -3 -蜡變黲癟報伥铉锚鈰赘。2.1.3 操作可行性分析 .-3 -買鯛鴯譖昙膚遙闫撷凄。2.1.4 其他影响系统开发的因素 .-3 -綾镝鯛駕櫬鹕踪韦辚糴。2.2 需求分析 . -3 -驅踬髏彦浃绥譎饴憂锦。2.2.1用户需求说

8、明 . -3 -猫虿驢绘燈鮒诛髅貺庑。2.3 系统需求说明 .-4 -锹籁饗迳琐筆襖鸥娅薔。2.4 项目开发环境及工具介绍 .-4 -構氽頑黉碩饨荠龈话骛。第三章 概要设计 . -7 -輒峄陽檉簖疖網儂號泶。3.1 功能模块 . -7 -尧侧閏繭絳闕绚勵蜆贅。3.2 设计思想以及框架 .-7 -识饒鎂錕缢灩筧嚌俨淒。3.2.1 设计思想 .-8 -凍鈹鋨劳臘错痫婦胫籴。3.2.2 框架 .-8 -恥諤銪灭萦欢煬鞏鹜錦。3.3 数据库设计 .-8 -鯊腎鑰诎褳鉀沩懼統庫。3.3.1 ER 图. -8 -硕癘鄴颃诌攆檸攜驤蔹。3.3.2 数据字典 . -9 -阌擻輳嬪諫迁择植秘騖。第四章 详细设计

9、 . -9 -氬嚕躑竄贸恳彈濾颔澩。4.1 项目主要业务模块 .错误!未定义书签。釷鹆資贏車贖孙滅獅赘。4.1.1 登陆界面模块 .错误!未定义书签。怂阐譜鯪迳導嘯畫長凉。4.1.2 房间管理模块 .错误!未定义书签。谚辞調担鈧谄动禪泻類。4.1.3 营销管理模块 .错误!未定义书签。嘰觐詿缧铴嗫偽純铪锩。4.1.4 商品管理模块 .错误!未定义书签。熒绐譏钲鏌觶鷹緇機库。4.1.5 系统设置模块.错误!未定义书签。鶼渍螻偉阅劍鲰腎邏蘞。4.2 运行控制.错误!未定义书签。纣忧蔣氳頑莶驅藥悯骛。4.2.1 运行流程 .错误!未定义书签。颖刍莖峽饽亿顿裊赔泷。4.2.2 测试.错误!未定义书签。

10、濫驂膽閉驟羥闈詔寢賻。4.2.3 测试结果 .错误!未定义书签。銚銻縵哜鳗鸿锓謎諏涼。第五章 结束语 . -38 -挤貼綬电麥结鈺贖哓类。参考文献 . -39 -赔荊紳谘侖驟辽輩袜錈。-II -致谢寸. -40 -塤礙籟馐决穩賽釙冊庫。附寸录 . -41 -裊樣祕廬廂颤谚鍘芈蔺。-1 -第一章绪论1.1 研究背景酒店业是一个前景广阔而又竞争激烈的行业。 改革开放以来,我国的酒店业迅速 发展,已经成为一个具有相当规模的产业。由于我国的旅游业迅速发展,通过调查,我 国在2020年将成为世界上第四大旅游国家;同时我国加入世界贸易组织,酒店业将完 全开放,这个时候,我国的酒店业将面临着前所未有的机遇和

11、挑战。但是,现在甚至还 有一些酒店还停留在由人工操作和管理阶段, 这样已经无法适应当前的发展趋势。因此, 要想使酒店的工作质量和效率提高,采用先进的计算机网络通信技术改变酒店业务模 式,实现酒店业务管理的自动化已经成为一种必然。酒店管理系统采用B/S结构。按照国家星级宾馆标准化业务程序流式设计, 会采用主流开发工具来开发,搭建比较稳定 可靠安全的服务端来辅佐客户管理,并且还采用数据库oracel,会通过测试用例来达到测试效果。仓嫗盤紲嘱珑詁鍬齊驚。1.2 国内外研究现状随着我国经济体制改革的不断深化和我国经济的快速发展,我国人民的收入不断提高,消费观念也有提高,对服务质量的要求也有很大的提高。

12、各地把旅游业当作本地经济发展的重要支柱之一。酒店作为人们食宿、娱乐、休闲的场所而得到了快速的发展。 社会上也成立了各种类型,不同规模的酒店服务企业。如何为客户提供更加准确及时的 服务,成为各个酒店竞争关键。所以酒店业务信息化建设就成为了客户衡量酒店提供商 服务标准的一个准则,信息系统成为了基础。随着In ternet技术的进一步发展和普及, 不能很好的适应世界经济发展的形式和我国国民经济建设的需要,市场现有的产品化的酒店业务软件系统在不断发展中的酒店的需求。基于Java的酒店管理系统的总体设计 目标能够建立完善、高效、可靠的酒店业务信息系统,为酒店提供良好的信息环境。绽萬璉轆娛閬蛏鬮绾瀧。1.

13、3 研究意义对酒店整个来说,对酒店经营状况起决定作用的是酒店的服务管理水平。如何利用先进的管理手段来提高酒店的管理水平成为酒店业务发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高酒店的管理无疑是一条行之有效的途径。虽然计算机管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等 作用,对酒店的业务管理提供强有力的支持。因此,采用全新的计算机网络和酒店业务管理系统,已成为提高酒店的管理效率, 使作业人员与管理系统之间灵活互动,实现流畅的工作流衔接,帮助酒店有效地进行业务管理,释放最大价值。酒店业务管理系统在-2 -达到在节省人力资源成本的同时,可以提高业务效率,

14、并能够及时、准确、迅速地满足 顾客服务的需求。骁顾燁鶚巯瀆蕪領鲡赙。1.4 研究内容和研究方法1.4.11.4.1 研究内容本次研究开发程序,使用基于GUI图形界面开发。主要使用JAVA语言开发程序,!要研究:1.研究Java程序的编写,系统实现了:酒店业务的管理(划分为,登陆界面部分,房间管理界面部分,营销管理界面部分,系统设置界面部分)。瑣钋濺暧惲锟缟馭篩凉。2.研究oracle数据库表的创建以及一些语句的编写等。3.研究Eclipse、PL/SQL、PowerDesigner等工具的使用。1.4.21.4.2 研究方法1指导老师的指导帮助。2通过网络查阅相关资料,以及运用相关开发手册。3

15、用PL/SQL、PowerDesigner、Eclipse3.2等工具进行开发。4数据库采用oracle 11g。5同学间的交流和讨论6用Java编码,反复调试程序,实现该项目的功能第二章系统分析2.1 可行性分析2.1.12.1.1 技术可行性分析在现有的技术条件和资金条件下,我开发小组完全可以再规定的时间内实现新系统 的全部功能。-3 -2.1.22.1.2 经济可行性分析经济费用的预算包括:安装软硬件及有关设备的费用;系统开发费用;系统安装、运行、维护 费用;人员培训费用;开发 J J 员工资。鎦诗涇艳损機紲鯗餳類。安装软硬件及有关设备的费用不会太高,系统安装由开汰员完成,包括在开发人员

16、工资内, 至于运行和维护只要在后期仙少量的资金,就可以享受我们开发人员的服务。本系统操作简单方 便,人机交互友好,易学易懂,所以培训时间会比较短,费用也不会很高。总而言之,这几项费用 加起来,跟本系统产生的经澈益和社会效益相比,是微不足道的。栉缏歐锄棗鈕种鵑瑶锬。2.1.32.1.3 操作可行性分析本系统界面,操作简单,操作人员只需要经过简单的培训即可流畅的使用本系统所有具有操 作可行性。2.1.42.1.4 其他影响系统开发的因素法律可行性:开发本系统是为了实现酒店的高效管理,并实现对决策的支持。在开发过程中完 全自主开发,不会出现侵权问题。另外也会使用正版的软件来开发系 S S 和运行系统

17、。开发出的新系 统的工作流程也是完全符合药品行业的标准,完全在法律勺允许范围之内。辔烨棟岡殓佥攬瑤丽阄应。2.2 需求分析2.2.12.2.1 用户需求说明对酒店整个来说,对酒店经营状况起决定作用的是酒店的服务管理水平。如何利用先进 的管理手段来提高酒店的管理水平成为酒店业务发展的当务之急。面对信息时代的机遇和挑战,利用科技手段提高酒店的管理无疑是一条行之有效的途径。虽然计算 机管理并不是酒店管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对酒店的业务管理提供强有力的支持。因此,采用全新的计算机 网络和酒店业务管理系统,已成为提高酒店的管理效率,使作业人员与管理系统 之

18、间灵活互动,实现流畅的工作流衔接,帮助酒店有效地进行业务管理,释放最大价 值。酒店业务管理系统在达到在节省人力资源成本的同时,可以提高业务效率, 并能够及时、准确、迅速地满足顾客服务的需求。峴扬爛滾澗辐滠兴渙藺。数据需求系统主要完成酒店从前台服务流程的管理到后台帐务管理的一整套管理功能,具体包括以下几个部分一营销信息管理对酒店入住的客户进行管理,其中包括散户(普通客户)、vip客户。-4 -客户信息录入:将客人信息录入该系统客户信息查询:根据相关信息查询客户的相关信息客户信息修改:修改系统内需要修改的客户信息客户信息删除:删除客户信息二房间信息管理对酒店房间的管理,目前房间状态分为:可供、占用

19、、预定,当点击房间开 单时,即可录入客户信息。房间信息录入:将客户的入住信息录入系统房间信息查询:查询客户住宿相关信息房间信息删除:客户入住信息注销后,将客户的入住信息删除三商品信息管理系统需要对库存商品进行分类管理,用户可以对现有商品进行交易。本系统采 用二级商品类目的方法,一级类目描述商品所属的大致类别,例如服务类,食品 类, 商品类,自定义费用;二级类目则在以及类目的基础上,对商品进行细致的划分。詩叁撻訥烬忧毀厉鋨骜。商品信息录入:录入客户增加商品消费信息商品信息修改:修改商品信息商品信息删除:删除客户商品信息商品信息查询:查询房间消费商品信息四系统设置模块整个酒店管理系统的中枢控制,对

20、酒店房间的增删改查 增加房间:在现有房间类型基础上,增加新的房间,在重启系统后生效2.3 系统需求说明由于酒店涉及到的业务比较多,但由于技术、时间等种种原因,该系统的设计中只 选择其中的一个主流业务来开发信息系统, 因此“酒店管理系统”的系统边界就是该企 业有关住房管理方面的业务,该企业内有关预约,入住, 退房等住房管理业务都在该系统管理范围以内,其余与酒店住房无关的业务均属于该系统管辖范围以外。则鯤愜韋瘓賈晖园栋泷。2.4 项目开发环境及工具介绍2.4.1 Eclipse简介-5 -目前,市场上计算机语言和开发工具有很多, 但是Eclipse的以其稳定和与平台无 关的特性,从众多编程工具中脱

21、颖而出,成为很多Java程序员的首选。胀鏝彈奥秘孫戶孪钇 賻。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它 只是一个框架和一组服务,用于通过插件组件构建开发环境。 幸运的是,Eclipse附带 了一个标准的插件集,包括Java开发工具(Java Development Tools,JDT)。虽然 大多数用户很乐于将Eclipse当作Java IDE来使用,但Eclipse的目标不仅限于 此。Eclipse还包括插件开发环境(Plug-in DevelopmentEnvironment,PDE,这个 组件主要针对希望扩展Eclipse的软件开发人员,因为它允许

22、他们构建与Eclipse环 境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件, 以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥 场所。鳃躋峽祷紉诵帮废掃減。这种平等和一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言 开发的,但它的用途并不限于Java语言;例如,支持诸如C/C+、COBO和Eiffel等编程语言的插件已经可用,或预计会推出。Eclipse是一个开发源码项目,它其实是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,

23、任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多 大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的 插件即可。稟虛嬪赈维哜妝扩踴粜。2.4.2PL/SQL简介PL/SQL(Procedural Language/SQL)是一种过程化语言,属于第三代语言,它与C、C+ Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。它 允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的

24、事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL的过程语言扩展。PL/SQL的目的是联合数据库语言和过程 语言。PL/SQL的基本单位叫做一个区段,由三个部分组成:一个申明部分,一个可运行部分,和排除构建部分。因为PL/SQL允许混合SQL申明和过程结构,因此可以在将申明发送到甲骨文系统去执行之前使用PL/SQL区段和副程序来组合SQL申明,没有PL/SQL甲骨文需要就每次处理SQL申明,在网络环境中,这将影响交通流量, 而且增加响应时间。PL/SQL区段只被编译一次并且以可运行的形式储存,以降低响应 时间。陽簍埡鮭罷規呜旧岿錟。243 PowerDesig ner

25、简介PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地对管理信 息系统进行分析设计,它几乎包括了数据库模型设计的全过程。利用PowerDesigner-6 -可以制作数据流程图、概念数据模型、物理数据模型,可以生成多种客户端开发工具的 应用程序,还可为数据仓库制作结构模型,也能对团队设备模型进行控制。它可与许多流行的数据库设计软件,例如:PowerBuilder,Delphi,VB等相配合使用来缩短开 发时间和使系统设计更优化。沩氣嘮戇苌鑿鑿槠谔應。-7 -第三章概要设计概要设计主要是将需求分析进行细化,划分功能模块,以及采用的何种技术和设计思想以及数 据库的设计。

26、3.1 功能模块3.1.1酒店管理系统模块设计:房间管理模块:预订房间管理、房间查询、退房管理。前台服务员的主要职能是负责订房和退房,以及查询入住的客户信息。所有该角色只可以使用部分功能,包括预定管理、客户信息查询,入住管理,退房管理功能。钡嵐縣緱虜荣产涛團蔺。图 3.1 功能模块图营销管理模块: 分为普通客户和vip客户。进行客户资料查询、新增客户信息,修改客户信息,删除客户信息,以及每位客 户在酒店的消费 商品管理模块:商品分类为:服务类、商品类、自定义费用、食品类在房间开单后,可对该房间进彳 系统设置模块:整个酒店酒店中新增房功能模块戈酒店管理系统酒店外卖中,对外销售商品。系统的中枢控制

27、,系统设置顾客开单收银结账叩客户管理酒店外卖增加消费房间设置客户设置商品设置服务生设置vv客户设置操作用户设置0营销管理商品管理寸酒店房间的增删改查 ,即可在此模块中新增信息,在重启系统后生效-8 -3.2 设计思想以及框架3.2.13.2.1 设计思想将整个系统按模块进行划分,采用多种设计模式,提高代码的可读性以便对代码3行修改和对 功能的完善,降低类之间的耦合性。按照分层的思想来实现,是程序模块化。懨俠劑鈍触乐鹇烬觶騮。322322 框架1、MVC匡架本系统采用的是MV(框架,模型层(Model)、视图层(View)、控制层(Controller) 三层结构。謾饱兗争詣繚鮐癞别濾。1)、模

28、型(Model):通常Action类中主要处理控制功能,尽量不包括业务逻辑,而是把业务逻辑的处理委托给其他组件处理。呙铉們欤谦鸪饺竞荡赚。2)、视图(View):视图层就是前台终端界面,我们把数据通过Action返回到视图层, 显示在前台终端上。莹谐龌蕲賞组靄绉嚴减。3)、控制器(Controller):MVC框架中,用一个总控制器,然后再根据请求的URL转到相应的业务Action里面去,在由业务Action去访问DAO层。麸肃鹏镟轿騍镣缚縟糶。2、 使用框架的好处由于运用MVC的应用程序的三个部件是相互对立,改变其中一个不会影响其它两 个,所以依据这种设计思想能构建良好的松偶合的组件,增大复

29、用可能。对我们来说, 控制器的也提供了一个额外好处,就是可以使用控制器来连接不同的模型和视图去完 成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型 和视图,控制器就可以根据用户的需求选择模型进行处理,然后选择视图将处理 结果显示给用户。納畴鳗吶鄖禎銣腻鰲锬。3.3 数据库设计3.3.13.3.1 ERER 图-9 -图 3.2 ER 图3.3.23.3.2 数据字典中文字段英文字段字段类型大小表3.1: 客户等级表:CustomerGrade:中文字段名英文字段名数据类型大小约束牌?1-nqq -I FPMmu3E |fdiraiI flirt*L :Jff*

30、-!.I IW ItwX-*I占泗直_-i-约束备注I“矍r,I*彈|I;i *1-4EFiM- NV*Y-i-1 -MMI .j *vE”鸟映區M :y-11I):為旳“i .X、?-w7 、i *-10 -客户等级编号cust_idnu mber(1)主键客户类型cust_typevarchar2(20)not null-11 -表3.2: 房间等级表:RoomGrade中文字段名英文字段名数据类型大小约束房间等级编号roomgrade_idnu mber(1)主键房间类型roomgrade_typevarchar2(20)unique房间总数roomgrade_co untnu mber

31、(2)not n ull钟点房价格roomgrade_timem oneynu mber(4)房间床位roomGrade_bedco untnu mber(1)房间半天价roomgrade_halfpricenu mber(5)终点房的价格roomgrade_timem oneynu mber(4)押金roomgrade_depositnu mber(5)是否为钟点房roomgrade_hourroomvarchar2(2)房间费用roomgrade_pricenu mber(5)not n ull-12 -表3.3: 房间信息表:Roomlnfo:中文字段名英文字段名数据类型大小约束房间编号

32、room_idnu mber(4)主键房间状态room_statevarchar2(20)not n ull是否为钟点房room_typevarchar2(2)入住的时间room_setTimedate退房时间room_outTimedate房间押金room_depositnumber(10)付费方式room_type_idvarchar2(20)打折比例room_disco untfloat(2)入住人数room_co untnu mber(1)入住天数room_datenumber(10)房间等级编号roomgrade_idnu mber(1)外键客户等级编号cust_idnu mber(

33、1)外键房间类型room_grade_typevarchar2(20)房间区域room_areavarchar2(10)房间电话room_ph onenumber(10)表3.4:会员等级表:VipGrade:中文字段名英文字段名数据类型大小约束会员等级编号vipgrade_idnumber(12)主键会员类型vipgrade_typevarchar2(20)not n ull打折比例vipgrade_disco untfloat(2)客户等级编号cust_idnu mber(1)外键-13 -表3.5:会员信息表:Viplnfo:中文字段名英文字段名数据类型大小约束会员编号vip_idnum

34、ber(12)主键会员姓名vip_ namevarchar2(20)not n ull会员身份证号vip_idCardnu mber(20)会员电话vip_telnu mber(20)使用时间vip_timedate卡状态vip_idTypevarchar2(20)登记时间vip_starttimedate会员性别vip_sexvarchar2(2)会员年龄vip_agenu mber(3)vip密码vip_passwordvarchar2(20)会员积分vip_i ntegralnumber(10)当前状态vip_statevarchar2(10)消费金额vip_co untnumber(1

35、0)备注vip_bzvarchar2(30)会员等级编号vipgrade_idnumber(12)外键房间编号room_idnu mber(4)外键-14 -表3.6: 客户信息表:Customerlnfo:中 1 1 文字段名英文字段名数据类型大小约束客户编号customer_idnumber(12)主键客户姓名cust_ namevarchar2(20)not n ull客户号码cust_telnu mber(20)客户性别cust_sexvarchar2(2)客户年龄cust_agenu mber(3)客户证件号码cust_idCardnu mber(20)用户使用状态cust_idTy

36、pevarchar2(20)客户等级编号cust_idnu mber(1)外键房间编号room_idnu mber(4)外键备注cust_reco rdvarchar2(20)表3.7:部门信息表:Departmentlnfo:中文字段名英文字段名数据类型大小约束部门编号depart_idnumber(10)主键部门类型depart_typevarchar2(20)部门人数depare_co untnu mber(20)-15 -表3.8: 员工信息表:Stafflnfo中文字段名英文字段名数据类型大小约束员工编号staff_idnumber(10)主键员工姓名staff_ namevarch

37、ar2(10)not n ull员工性别staff_sexvarchar2(2)员工年龄staff_agenu mber(3)员工电话staff_delnumber(12)员工证件号码staff_idCardnumber(12)部门编号depart_idnumber(10)外键房间等级编号roomgrade_idnu mber(1)外键表3.9:用户信息表:User:中文字段名英文字段名数据类型大小约束用户编号user_idnumber(10)主键登陆时间user_loadtimedate用户密码user_passwordvarchar2(20)not n ull用户名称user_ namev

38、archar2(20)not n ull用户状态user_statevarchar2(20)超级用户IDuser_adm invarchar2(20)员工编号staff_idnumber(10)外键表3.10: 商品信息表:Goods Info:中文字段名英文字段名数据类型大小约束商口口编号ware_idnumber(10)主键商品类型ware_typevarchar2(20)是否需要服务员ware_n eedwaitervarchar2(10)-16 -表3.11: 消费表:Consume:中文字段名英文字段名数据类型大小约束消费编号con sume_idnumber(10)主键消费名称co

39、n sume_ namevarchar2(20)消费价格con sume_co untnumber(10)消费品数量con sume_am ountnumber(10)商品编号con sume_ware_idnumber(10)表3.12:消费信息表ConsumeInfo:中文字段名英文字段名数据类型大小约束消费信息编号con sume In fo_idnumber(10)主键消费信息数量con sume lnfo_amountnu mber(5)消费信息金额con sume In fo_co untnumber(10)消费信息时间con sumeI nfo_timedate消费类型con s

40、ume In fo_typevarchar2(20)用户编号user_idnumber(10)外键房间编号room_idnu mber(4)外键消费编号con sume_idnumber(10)外键-17 -表3.13: 账单信息表:Tentinfo:中文字段名英文字段名数据类型大小约束账单编号tenddnumber(10)主键普通客户编号cust_idnu mber(20)vip客户编号vip_idnu mber(20)账单金额ten d_co untnu mber(20)账单时间ten d_timedate房间结账时间room_datedate用户编号user_idvarchar2(20)

41、房间编号ten d_room_idnu mber(20)表3.14: 预定信息表:Desti nelnfo中文字段名英文字段名数据类型大小约束宾客姓名Desti ne_n amevarchar2(30)宾客电话Desti ne_telnumber(11)客户类型cust_typevarchar2(20)预定规格roomgrade_typevarchar2(20)预定编号Desti ne_idvarchar2(20)主键备注Desti ne_bznu mber(5)预抵时间Desti ne_datimedate预离时间Desti ne_li ntimeDate房间编号room_idnu mber

42、(5)外键-18 -第四章详细设计4.1 项目主要业务模块4.1.1登陆界面模块:它进行安全保密工作,以确保合法人员才可进入进行相应的合法操作,避免非法 人员进入而导致数据被盗或错误操作等非法操作。風撵鲔貓铁频钙蓟纠庙。4.1.2房间管理模块:散客开单,顾客开单,收银结账1、房间状态有:可供、占用、预定三种2、当选中房间时,如果房间的状态为可供就会显示出开单的界面,如果房间的状 态为占用就会显示出结账的界面4.1.3营销管理模块:vip客户管理,协议客户管理1、分为会员基本信息和来宾信息。2、可查询正在入住的客户的消费信息3、对对应的客户信息进行增删改查4.1.4商品管理模块:1、酒店外卖:对

43、外面的客户进行一些商品的外卖服务2、增加消费:房间增加消费,对商品的相关信息包括库存、单价等进行具体查询4.1.5系统设置模块:房间设置,服务生设置,商品设置,vip设置,客户设置,操作用户设置对整个酒店的总信息进行操作,对应的操作会显示到具体的实现中来4.2 运行控制4.2.1运行流程1进行系统登录该项系统运行主要由数据库登陆模块负责。由用户必须输入用户名和密码,在程序中会判断输入是否为空,为空会提出警告, 提醒用户再输入,当接受到输入的数据后,系统的数据库管理模块会自动检验其用户名 及密码的正确性,如果正确可进行主页菜单,如错误则需重新输入。灭暧骇諗鋅猎輛觏馊藹。2进行系统主页进行菜单操作

44、-19 -主页上会有功能菜单让其进行相应的选择。包括:散客开单、增加消费、预定 管理、宾客结账、酒店外卖、营销管理、系统设置等项。其中散客开单、增加消费、 宾客结账是先弹出对话框提示要输入的房间编号,当输入正确状态的房间后会弹出 对应的界面,预定管理、酒店外卖、营销管理系统设置会直接弹出对应的界面共用 户操作。用户可针对不同的需要而点击不同的菜单选项按钮,从而可进入不同的操 作界面进行分别不同的操作。铹鸝饷飾镡閌赀诨癱骝。3进入某个管理模块进行相应操作在这里应分两部分介绍:A、如选择营销管理选项,那便会首先都会弹出一个客户信息操作界面,其中包括 编辑的四大功能:添加、查询、修改、删除。这时,用

45、户须选择不同的功能进入实际操 作表单界面进行工作。攙閿频嵘陣澇諗谴隴泸。B、如用户选择的是进入某个管理模块的 查询选项,则都会进入查询表单界面进行所需的相应操作。如不需再进行任何操作,则可按取消键。趕輾雏纨颗锊讨跃满賺。Ps:当输入为空时点击查询按钮,查询的是所有的客户信息。4退出相应的功能模块操作在每个功能模块的各层操作中,均设有取消按钮,操作人员只需按此按钮便可依次 地返回。5退出整个系统422测试本系统使用Java为开发语言,使用eclipse为开发工具,首先设计了登陆界面(图1):登陆界面使用JLabel以及JTextField,以及两个登陆和取消两个按钮图 4.1 登陆界面-20 -

46、当您操作错误时,我们会得到文本框中的信息与数据库对应的数据进行比较并且通-21 -过事件监听来返回一个相对应的JOptionPane提示。夹覡闾辁駁档驀迁锬減。(1)用户名为空(图4.2):图 4.3 用户密码为空(3)当用户名存在,但密码错误或者用户名错误时也会有相应的对话框来提示汹口汹口X用尸名不存在或密码错误用尸名不存在或密码错误图 4.4 用户不存在或密码错误登陆部分相关代码:图 4.2 用户名为空(2)当用户密码为空时,会弹出一个对话框来提示用户密码不为空(图4.(图4.4):-22 -public class Logi nKeyLister exte nds KeyAdapter

47、-23 -private Log in logi n;public Logi nKeyLister(Logi n logi n) this.logi n=logi n;public void keyPressed(KeyEve nt e) Stri ng userName = logi n.getUserText();String password = FactoryLogin.getLoginDao().getPassWord(userName);视絀镘鸸鲚鐘脑钧欖粝。int i=e.getKeyCode();if(i=10) if (.equals(userName) JOptionPan

48、e.showMessageDialog(null,请输入用户名”); else if (.equals(logi n. getPassword() JOptionPane.showMessageDialog(null,密码错误); else if (log in. getPassword().equals(password) Logi nDao dao=FactoryLogi n. getLog in Dao();dao.getUserLoadtime(userName);Vector leftData=new Vector();int roomSum=dao.getRoomSum();int

49、 roomKeGong=dao.getRoomType( 可供);int roomZhangYong=dao.getRoomType(占用);int roomYuding=dao.getRoomType(” 预定);leftData.add(roomSum);leftData.add(roomKeGo ng);leftData.add(roomZha ngYon g);leftData.add(roomYud in g);Main Frame.getMa in Frame().getleftRoomData(leftData);偽澀锟攢鴛擋緬铹鈞錠。Mai nFrame.getMai nF r

50、ame().setUserName(userName);Mai nFrame.getMai nF rame().setVisible(true);log in. dispose(); else JOptio nPa ne.showMessageDialog( null,用户名不存在或密码错误);緦徑铫膾龋轿级镗挢廟。-24 -当输入对应账号和密码,输入正确后会进入 主界面(图4.5)。主界面将面板分为北面的功能面板和中间的分隔面板:通过实现部分的sql语句对 房间状态进行查询并且返回到房间状态面板中的文本框和总房态面板的文本框中。騅憑钶銘侥张礫阵轸蔼。图 4.5 主界面小功能模块为菜单项(图4

51、.6)、系统状态栏,菜单项已使用了事件监控,当点击相 应的菜单项时会引发不同的事件,系统状态栏使用了OpenSwing中的一个组件JStatusBar;疠骐錾农剎貯狱颢幗騮。-25 -敬敬客开单客开单 团趴团趴开单开单 修改登记修改登记 更换房态更换房态 打扫房间打扫房间 长包房管理长包房管理 预定首预定首理理 锁定屏黑锁定屏黑 退出退出丟统丟统图 4.6 菜单栏北面面板放置本系统中目前所实现的使用功能模块,分为:散客开单,增加消费,宾客结账,酒店外卖,预定管理,营销管理,系统设置。镞锊过润启婭澗骆讕濾。分隔面板将主面板中间分隔为左右两部分,右边的选项卡面板以对应的房间类型分类,房间类型下是对

52、应的 房间编号按钮(图4.7)。晋趣单人 IH而伍图 4.7 房间编号按钮当点击某个房间按钮时,系统会根据点击的房间迅速在数据库中查找它的状态,目前本系统的房间状态分为三方面:可供、占用、预定,点击的房间不同,会根据对应的 房间状态来弹出界面。榿贰轲誊壟该槛鲻垲赛。当房间为可供(图4.8)时:来宾登记来宾登记收银錯直系统维护收银錯直系统维护-26 -当有客户来到酒店开单时,可在顾客开单面板中的将客户信息写入, 宾客信息有普 通客户和vip客户,若是在客户类型的下拉列表中选择普通客户信息, 则手动写入客户 信息(图4.9):邁茑赚陉宾呗擷鹪讼凑。客房信息宣客类型:证件編号:联累电话.备注;晋通客

53、户主客姓名-李先生1主客性别-男-图 4.8 房间可供时显示顾客开单-27 -图 4.9:宾客信息若是选择的不是普通客户,则弹出Vip客户信息的界面(图4.10):-28 -图 4.10 vip 客户信息面板点击对应的按钮即可完成相应的操作,当选中某个客户时,即可将客户信息写入顾 客开单面板中的宾客信息(图4.11)中,点击确定则该房间的状态就转为占用(当再次开单 且此客户未结账时,再次进入vip客户信息中,此vip客户的信息不再显示,直至此vip客户退单):嵝硖贪塒廩袞悯倉華糲。开单相关部分代码:public class En grossDialogActio n impleme nts A

54、ction Listener privateFactoryHotelRoomIdI nfoFactoryHotelRoomldl nfo.getFactoryHotelRoomldl nfo();该栎谖碼戆沖巋鳧薩锭。factory劇妆诨貰攖苹埘呂仑庙。public void actio nPerformed(Actio nEvent e)HotelRoo mln foDao dao = factory.getHotelRoomInfoDao();臠龍讹驄桠业變墊罗蘄。En grossDialog pan e=E ngrossDialog.getE ngrossPane();点击确定后,将得到

55、的信息收集if(确定.equals(e.getAct ion Comma nd() Vector roomln fo=pa ne.queryDatas();得到房间信息-29 -30 -Vector custData=pa ne.getCustl nfo();得到宾客信息if(” 普通客户.equals(custData.get(O)dao.e ngrossPa neCustDatas(custData);elsedao.e ngrossPa neVIPDatas(custData);int CustlD=dao.fi ndCustld(custData.get(O)+);roomI nfo.

56、add(CustlD);boolea n flag = dao.e ngrossPa neRoomDatas(ro omln fo);if(flag) /如果数据库将数据存储,转换按钮,再点击时进入结账页面elseJOptionPane.showMessageDialog(null,连接数据库出错,请稍后再试);鰻順褛悦漚縫輾屜鸭骞。Logi nDao logi nDao=FactoryLog in. getLog in Dao();Vector leftData=new Vector();int roomSum=logi nDao.getRoomSum();int roomKeGong=lo

57、ginDao.getRoomType(”可供);int roomZhangYong=loginDao.getRoomType(”占用);int roomYuding=loginDao.getRoomType(”预定);leftData.add(roomSum);leftData.add(roomKeGo ng);leftData.add(roomZha ngYon g);leftData.add(roomYudi ng);Mai nFrame.getMa in Frame().getleftRoomData(leftData);穡釓虚绺滟鳗絲懷紆泺。pan e.dispose();elsepa

58、n e.dispose();-31 -图 4.11 选中某个客户时,即可将客户信息写入顾客开单面板中的宾客信息同样的,这一操作也可以选择点击功能面板中的“散客开单”按钮(图4.12):图 4.12 点击“散客开单”按钮后弹出该界面输入要开单的房间且房间状态为可供的房间编号即可,如果输入错误即有对应的错误窗口弹出。当占用的房间要增加消费时,可点击功能面板中“增加消费”按钮(图4.13),输入要增加消费且房间状态为占用的房间编号:隶誆荧鉴獫纲鴣攣駘賽。-32 -图 4.13 点击“增加消费”按钮后弹出界面输入错误会有对应的错误窗口弹出,正确则会进入增加消费界面(图4.14)点击要消费的商品,在增加

59、数量文本框中输入数量, 按添加按钮,会将增加的信息 写入右边的表单中,若是不想消费该商品即在右边的消费表单中选中该商品,按“消费退单”按钮即可,消费完毕按“关闭确定”:浹繢腻叢着駕骠構砀湊。-33 -当再点击增加消费的房间编号时,会弹出“ 收银结账”界面(图4.佝,同时会将 消费信息写入。增加消费部分相关代码:public class AddComcustAction impleme nts Actio nListe ner 鈀燭罚櫝箋礱颼畢韫粝。private AddComcustFrame frame;public AddComcustActio n(AddComcustFrame fra

60、me) this.frame=frame;public void action Performed(Act ion Eve nt e) String comm=e.getAct ion Comma nd();FactoryHotelRoomldl nfo factory=FactoryHotelRoomldl nfo.getFactoryHotelRoomldl nfo();惬執缉蘿绅颀阳灣愴鍵。HotelRooml nfoDao dao=factory.getHotelRoomI nfoDao();贞廈给鏌綞牵鎮獵鎦龐。if(添加.equals(comm)嗣时间:20120521 B-1619 33乍拳:壬幫山1高,西云*未洪民工开対o&am

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论