《基于jsp酒店管理系统设计含源文件.doc》由会员分享,可在线阅读,更多相关《基于jsp酒店管理系统设计含源文件.doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目 录论文摘要1Abstract2第一章 论序11.1 酒店餐饮管理发展现状1系统开发可行性分析21.3论文结构21.4本章小结2第二章 酒店餐饮管理系统方案设计分析4系统流程分析4系统功能需求分析6第三章 酒店餐饮管理系统数据库设计193.1数据库设计19本章小结26第四章 酒店管理系统界面详细介绍28系统界面284.2 系统实现部分代码方法334.3 系统测试334.4 本章小结33第五章 总计33致谢38参考文献38 论文摘要 在积极建立科学管理机制今天,仅仅靠原始手工管理或简单单机管理,管理部门面对大量信息,无法有效率地将其中重要部分提取出来,并做出相应判断与处理。管理者决策只能依据手
2、工表数据,在浪费大量人力、物力同时无法做到实时监控,难以保证数据准确性与及时性。因此,先进管理思想就成为了一个可望而不可及目标。酒店餐饮管理急需一套既有先进管理思想系统,作为实现目标与提高现有管理水平一种重要手段。 随着科学技术不断提高,计算机科学日渐成熟,其强大功能已为人们深刻认识,它已进入人类社会各个领域并发挥着越来越重要作用。 编写在餐椅管理系统,最重要一点就是如何从烦琐菜品信息中,直观展现在系统之中,便于操作。开发该系统我主要采用java语言与MYSQL数据库相结合方式。,JAVA作为一种面向对象语言,自身定义了很多类,使用起来方便,并且在图形界面方面方法通俗易懂,容易上手,开发成本低
3、。 Abstract Actively establish a scientific management system oftoday,only bythe original manual management orsimple stand-alonemanagement,management department of information,can not effectivelyextracted from one of the important part,and make the corresponding judgment and handling.The managers dec
4、ision to vote onlyaccording to the statement data,can not do real-time monitoringin a largewaste of manpower and material resourcesat the same time,it is difficult toensure the accuracy and timeliness of data.Therefore,the advanced management ideas to becomeanelusive goal.Hotel and catering manageme
5、ntin urgent need ofa set ofadvanced management thought ofsystemas agoal andan important means to improvethemanagement level.Withthe continuous improvement of science and technology,computer science increasingly mature,and its powerful functions for the peoples profound understanding,it hasentered th
6、e human society in various fieldsand is playing an increasingly important role. Written in thediningmanagement system management system,the most important point ishow tofrom the cumbersomemenu information,visual display ofthesystem,easy to operate.Development of the system I mainly usejavalanguage a
7、nd MYSQL databasecombination.JAVA,as a kind ofobject oriented language,itsdefinition of a lot ofclass,easy to use,graphical interfaceandmethod inthepopular and easy to understand,easy to use,low cost of development. 第一章 绪论 第一节 酒店餐饮管理发展现状随着旅游业发展,酒店、餐饮娱乐行业日趋发达,引入全方位电脑服务与电脑管理日益流行。同时,餐厅娱乐业引入电脑服务与管理也取得了优
8、良经济效益与社会效益。为此,国家建设部已于最近作出明确规定:凡星级餐饮酒店在项目审批时,其设计方案必须包括电脑管理系统,否则不予立项。可见,餐饮酒店管理电脑化势在必行。酒店管理系统将先进电脑技术及现代餐饮服务管理完美地结合起来,实现了餐饮全新概念服务与管理方式。传统餐饮酒店管理往往令管理者花大量时间来处理顾客订单,例如错误查询、烦琐登记与结帐手续、费用计算错误、菜品资料不能及时提供等,从而影响酒店餐饮销售,使管理人员不得不集中精力规划管理运行策略与进行决策。以上问题可通过电脑系统辅助解决,酒店管理电脑化,不仅是表达餐饮酒店现代化形象一个重要标志 ,而且对于提高员工工作效率,加速资金周转、降低各
9、项成本及改善服务质量都有十分积极作用。第二节 系统可行性研究 一、 经济可行性 由于本酒店餐椅管理系统所要求硬件(计算机及相关硬件)与软件环境(WINDOW系统+MYSQL),市场上都容易购买到或从相关网站下载,系统成本主要集中在本管理系统开发及维护上,对酒店不造成过重经济负担。而一旦此系统投入使用,不仅可以减少酒店餐饮工作强度,提高工作效率,而且方便了酒店对信息管理,延续了传统管理模式,极大限度方便了酒店管理人员,而且,目标系统不是很复杂,开发周期较短,人员经济支出不大,所节省大量人力、财力产生效益将远远大于本系统开发成本,所以从经济方面讲开发此系统是可行。 二、技术可行性1)本系统采用ja
10、va开发,首先先Java 语言是简单,Java 虽然及C+有很多相似地方,但它却比java简单得多。在java语言中省去了算符过载、标题文件、预处理、指针运算、结构、联合、多维数组、模板及隐式类型变换等很难把握方法。其次Java语言是一种面向对象编程语言。除了简单类型,如数字与布尔算子之外,Java语言中大部分都是对象。在JAVA中每个类定义一组规定对象行为方法。一个类可以继承另一个类行为。在类根层次上,通常是类对象。Java支持单继承,这避免了继承混乱。不仅如此Java语言中还用到了接口类,因此我们在编程之前不必急于把握方法实现。而是定义类方法,一个类允许有多个接口,使其实现了真正多继承性许
11、多优点。Java 是静态类型,在一个 Java 程序中,必须定义所用对象(数字、字符、数组等)类型。这有利于编程人员很快查找问题并解决问题。 2)本系统使用数据库为MYSQL,MYSQL兼容SQL,SQL功能强大、简单易学、使用方便,已经成为了数据库操作基础,并且现在几乎所有数据库均支持SQL。MYSQL是一个小型关系型数据库管理系统,MYSQL被广泛地应用在软件开发上中小型系统中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型系统为了降低系统开发总体拥有成本而选择了MYSQL作为网站数据库。 3)编程语言与开发工具(1)编程语言:java(2)数据库:MYSQL数据
12、库 因此,系统软件开发平台已成熟可行。 三、操作可行性传统是用人工方式来进行各项酒店订单管理,比如人工进行记录,人工进行记录顾客下单信息、价格变动与菜品采购,统计信息管理,口头通知或者通过 等方式联系进行关于交易信息传递及交流,拿最平常统计管理来讲,光是每天进账报审就是一道令人费解过程,而在当今计算机技术不断发展今天,这些问题可以轻而易举通过计算机与网络来完成,不仅方便快捷而且简单易操作。同时对于库存信息里面内容管理,过去也多数是以纸质材料进行保存,这样查询起来不仅麻烦不方便,性能比较差,而且容易丢失,不易保存,另外时间一旦较长,将会产生大量文件与数据,这对于查找、更新与维护都带来了不少困难。
13、如果采用电子文档方式进行保存,不仅查询起来方便,而且安全性比较高,只有有权限人才可以看到,只要多备份几个,而且多出备份也更容易。可以保存很多年,不会发生像传统纸质材料保存所出现问题。 四、法律可行性 由于本系统是在相关法律法规下实施完成,所以不存在任何法律问题,在法律上是完全可行。从以上四种可行性分析可看出,本系统是可行。第三节 论文结构第一章:酒店管理系统开发背景、开发意义、可行性分析。第二章:从系统发展历史、酒店餐饮管理系统发展现状、管理方式阐明酒店餐饮管理系统作用。第三章:对将要创建系统需求分析、目标系统要求分析与数据库设计。第四章:对系统概要设计分析。第五章:对系统实现方法与编码设计分
14、析。第六章:对整个系统功能测试。第七章:总结。第四节 本章小结 传统酒店餐饮管理往往令管理者花大量时间来处理顾客投诉,例如错误查询、烦琐登记与结帐手续、旅客费用计算错误、空余客房资料不能及时提供等,从而影响出租率,使管理人员不得不集中精力规划管理运行策略与进行决策。以上问题可通过电脑系统辅助解决,酒店餐饮管理电脑化,不仅是表达酒店餐饮管理现代化形象一个重要标志 ,而且对于提高员工工作效率,加速资金周转、降低各项成本及改善服务质量都有十分积极作用。所以酒店餐饮管理系统开发是必然。第二章 酒店管理餐饮管理系统设计分析第一节 系统流程分析一、菜品管理流程 如图2-1:进入主界面选择菜品管理自动生成编
15、号点击添加填写菜品相关信息图2-1 菜品管理流程二、 菜系管理流程进入主界面选择菜系管理菜系管理界面点击添加填写菜系信 息 图2-2 菜系管理流程三、管理员登录流程 管理员登录流程,如图2-3所示: 登录入口 取得用户名与密码 将UserID存入session中 用户是否存在核对密码是否正确 登录成功进入系统主界面是是否否 图2-3 管理员登录流程四、 管理员用户管理流程 管理员管理用户流程,如图2-4所示:主界面添加用户查看用户信息填写用户相关信息点击添加用户管理删除查询修改 图2-4 管理员登录流程客人五、台号管理流程台号管理用户流程,如图2-5所示:主界面台号管理添加填写信息删除查看确认
16、 图2-5 台号管理用户流程六、结帐管理流程结帐管理如图2-6所示:主界面日结帐年结帐月结帐选择日期选择月份日结帐信息年结帐信息月结帐信息选择年份结帐界面 图2-6 结帐管理流程七、 修改登录密码流程 修改密码部分流程图如图2-7所示:主界面修改密码填写原始密码填写新密码确认新密码确认 图2-7 修改密码部分流程图 八、 订菜系统流程 订菜系统流程,如图2-8所示:主界面输入菜单编号或者菜单助记码取消选择台号开单签单 图2-8 订菜系统流程九、 菜品管理流程 菜品管理部分流程,如图2-8所示:菜品管理自动生成编号填写菜系助记号点击添加填写菜品其它信息 图2-9 菜品管理部分流程 十、 订菜系统
17、流程订菜系统流程,如图2-9所示:主界面输入菜单编号或者菜单助记码取消选择台号开单签单 图2-10 订菜系统流程十一、 找零管理流程 找零管理部分流程,如图2-10所示:主界面提 示是否显示消费金额选择台号输入实收金额找 零 图2-11 找零管理部分流程第二节 系统功能需求分析一、订单系统台号选择菜单添加 由于人们生活水平提高,生活节奏加快,酒店餐饮行业需求出现了供不应求趋势,基于此,酒店管理系统中订单系统是客房管理信息系统中不可缺少一部分,住客可以通过订单业务向酒店工作人员预先定下菜单。以便于客户能在约定好时间,能正常就餐与就坐在自己想要就餐位置。酒店方面也可及时安排调度。二、下单系统台号选
18、择菜单添加菜单确认与取消下单系统主要是用于在客户在来店时所点菜单,工作人员可以通过系统填写菜单助记号(或者菜单编号)与数量来下单,下单后可以选择签单来确认所点菜已经上桌,临时取消菜可以在选择后取消。三、账单统计报表日账单统计月账单统计年账单统计统计报表是用于对可放经营状况进行统计,包括对收银数据账单分类统计统计,便于酒店管理,明确收支情况。四、收银系统消费金额实收金额找零方便收银人员可以通过直接明了看到用户消费金额,系统还可以自动结算找零,减少了工作人员工作量,出错少。五、菜系管理菜系名称餐饮酒店菜系种类多,有多种菜系选择。为了表达实现智能化管理系统,菜系名称由具有工作人员填写。六、菜品管理菜
19、品名称助记符价格单位等菜品信息录入是在点餐过层中最重要环节,这过程要求快而且准确。不能出错,所以加入助记符,服务员可以通过助记符或者菜品编号输入菜品。 七、台号管理台号名称人数酒店餐饮不同台号对应位置与人数不一样,台号选择可以根据到店客户人数,由服务人员安排及之相符合台号。 八、系统管理更改密码系统设置系统管理是每个系统所必须具备功能,主要是对操作该系统使用者进行管理(即用户管理),包括用户增加、删除、密码修改以及管理各用户操作该系统权限。并且实现房间基本设置功能以及各种系统设置功能,比如说房价设置等等。第三节 本章小结本章主要对系统设计及流程进行分析及设计。阐述了系统主要实现功能。第三章 酒
20、店餐饮管理系统数据库设计第一节 数据库设计一、数据库需求分析根据上面对该系统每个模块详细分析,以及在系统分析中数据流程图分析,设计数据项与数据结构如下:台号信息:台号主要包括桌子位置,号码及容纳人数等等。预定登记信息:包括预定时间、预定就餐时间、预定台号、预定人姓名性别、预定就餐人数、联系 、预定方式、预订菜单等等。帐单信息:包括帐单编号、就餐台号、消费时间、消费金额、折扣、操作管理员编号、以及其他消费项目收费菜品信息:主要包括更新日期、数量、菜品编号、菜品单位、菜品价格、菜品名称、菜品助记符、菜品系别、菜品是否在售。统计信息:主要包括结帐时间、收费编号、入账日期、菜品编号、入账金额、菜品数量
21、等等。菜系信息:包括菜系名称、时间、菜系备注。操作员基本信息及其权限设置。包括操作员代号、姓名、密码、权限、以及各种模块操作权限设置标志。二、数据库概念结构设计 ER图及其间关系如图3-1:管理员 管理 台号台号人数位置 菜系名称图3-1 管理员 管 理操作人员用户名联系方式级别密码性别入职时间图3-2三、数据库逻辑结构设计(1)名称:入住登记表表名称标识:menu数据来源:菜品模块进行录入表结构如图3-2:是否关键字列名数据类型长度允许空备注是numchar8no菜品编号否Sort_idint11no菜系id(外键)否Namevarchar20no菜品名否codevarchar20no助记号
22、否unitvarchar4no单位否Unit_priceint11no单价否statevachar4no是否在售图3-2表menu(2) 名称:台号信息表名称标识:desk数据来源: 台号管理模块进行更新查询:表名称标识:desk表结构如图3-3:是否关键字列名数据类型长度允许空备注是numint8no台号否seatingInt11yes座位人数否positionchar10yes位置信息图3-3 表GuestRoom(3) 名称:下单信息表名称标识:order_form数据来源: 订单模块进行录入查询表结构如图3-4:是否关键字列名数据类型长度允许空备注是 numchar11no下单编号否
23、Desk_numvachar5yes台号信息否datetimedatetime12yes时间否 moneyint11yes金额否User_idint11yes工作人员id图3-4 表order_form(4)名称:入账信息统计情况表名称标识:order_item数据来源: 房间状况模块进行更新查询表结构如图3-5:是否关键字列名数据类型长度允许空备注是idint11noid否order_form_numvarchar11no订单编号否amountint11no否totalint11no总计图3-5 表order_item(5) 名称:房间预定信息表名称标识:id数据来源: 菜系管理模块进行录入
24、表结构如图3-6:是否关键字列名数据类型长度允许空备注是idint11no主键否namevachar20yes菜系名否smvarchar20yes说明图3-6 表roomyd(6) 名称:操作员基本信息与权限表名称标识:users数据来源: 系统管理模块进行录入表结构如图3-7:是否关键字列名数据类型长度允许空备注是UIDint4no管理员编号否UNamevarchar30no姓名否UPasswordvarchar20no密码否UStatechar10no用户状态否USexchar10no性别否UPositionchar10no用户职位否UTelint4no联系 否UEmailvarchar4
25、0noUEmail否UDepartmentvarchar50no用户所在部门图3-7 表users第二节 本章小结本章主要阐述了对数据库设计。第三章 系统界面详细设计第一节 系统功能介绍一、登录界面这个界面是公司员工进行操作,对系统管理必须在登录状态下才能进行操作,登录信息包括管理员账户与密码,只要两者都正确情况下才能登录成功进入系统。登录界面如下界面如图4-1-1所示: 图4-1-1 登录界面如果在登入时所填写密码不正确就会出现提示,显示页面如图4-1-2所示: 图4-1-2 登录界面二、 用户管理界面 用户管理界面主要是增加与删除酒店管理员界面,在酒店人事变更情况下,酒店管理经常需要对操作
26、人信息进行更换。操作人信息主要包括姓名,性别,出生日期,身份证号以及原始登录密码。此界还可以选择删除操作人员,查看已有操作人员信息。 具体界面信息如图4-2所示: 图4-2 用户管理界面 三、 密码修改界面 密码修改界面主要用于用户修改密码。输入密码都不会显示,以加强安全。在原始密码正确条件下,输入新密码并确认新密码后,修改密码成功。 具体操作如图4-3所示: 图4-3 密码修改界面四、 菜系管理界面 进入菜系管理界面可以查看,添加与删除菜系名称。如若要添加新菜系名称则只需输入名称点击添加即可。菜系分类管理主要是对不同菜品进行分类,相同口味不同菜品归属于相同分类,使得管理更加科学。 具体操作如
27、图4-4-1所示: 图4-4-1 菜系管理界面 删除菜系名称,则需选中删除菜系名,点击删除。如图4-4-2所示: 图4-4-2 删除菜系名界面五、 台号管理界面 台号管理界面操作与界面风格及菜系管理基本相同。台位信息主要包括座位号,座位人数等。具体操作界面如图4-5所示 图4-5台号管理界面六、 菜品管理界面 菜品管理是本系统很重要一个部分,添加菜品时,系统会自动生成一个菜品编号,菜品其他信息由用户填写,菜品信息主要包括菜品助记号,菜系,菜品名称,菜品价格等。其中菜系只能从已经添加菜系中选择。 具体界面如图4-5所示: 图4-6 菜品管理界面七、 点单系统界面 此界面是系统核心界面,主要用于替
28、客户下单操作。客户来店时操作人员可以根据客户所店菜单来点菜。操作人员只需先选择台号,然后通过输入菜品助记号或者菜品编号,可以自动获得菜品名称,如若输入错误则不会显示菜品名称,请重新输入。开单操作是将此菜品加入此桌菜单。当把所有菜品全部输入完毕,在核实后。可以通过桌台号来确认,确认无误,点击签单,签单后菜品无法取消。如果核实时,发现误入菜品,可以在签单前选择取消。 具体界面如图4-7所示: 图4-7 点单系统界面八、 结帐系统在客户就餐完毕后可以通过选择台桌,获得消费金额,工作人员手动输入实收金额,点击结帐(结帐前必须签单),即可自动获得找零金额,此交易到此结束。具体操作如图4-8所示: 图4-
29、8结帐系统界面第二节 系统部分程序设计一、 登录界面部分代码界面登录实现部分代码如下: public class DrinkeryManage public DrinkeryManage() / Center the windowToolkit toolkit = Toolkit.getDefaultToolkit();Dimension screenSize = toolkit.getScreenSize();LandFrame landFrame = new LandFrame(); / LandFrame中定义了登陆界面面板尺寸在此处调用Dimension frameSize = lan
30、dFrame.getSize(); if (frameSize.width screenSize.width) /可视化面板调整frameSize.width = screenSize.width;if (frameSize.height screenSize.height) frameSize.height = screenSize.height;landFrame.setLocation(screenSize.width - frameSize.width) / 2,(screenSize.height - frameSize.height) / 2);landFrame.setVisib
31、le(true);public static void main(String args) /显示面板SwingUtilities.invokeLater(new Runnable() public void run() try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); catch (Exception exception) exception.printStackTrace();new DrinkeryManage();二、 菜品管理界面部分代码菜单管理中界面布局及方法实现过程部分代码如下:publ
32、ic MenuDialog() super();setModal(true);getContentPane().setLayout(new BorderLayout();setResizable(false);setTitle(菜品管理);setBounds(80, 80, 800, 600);final JPanel operatePanel = new JPanel();operatePanel.setLayout(new GridBagLayout();getContentPane().add(operatePanel, BorderLayout.NORTH);final JLabel
33、numLabel = new JLabel();numLabel.setText(编 号:);final GridBagConstraints gridBagConstraints_6 = new GridBagConstraints();gridBagConstraints_6.insets = new Insets(15, 0, 0, 0);gridBagConstraints_6.gridx = 0;gridBagConstraints_6.gridy = 0;operatePanel.add(numLabel, gridBagConstraints_6);numTextField =
34、new JTextField();numTextField.setText(getNextNum(dao.sMenuOfMaxId();numTextField.setHorizontalAlignment(SwingConstants.CENTER);numTextField.setEditable(false);numTextField.setColumns(10);final GridBagConstraints gridBagConstraints_15 = new GridBagConstraints();gridBagConstraints_15.insets = new Inse
35、ts(15, 0, 0, 0);gridBagConstraints_15.gridy = 0;gridBagConstraints_15.gridx = 1;operatePanel.add(numTextField, gridBagConstraints_15);final JLabel nameLabel = new JLabel();final GridBagConstraints gridBagConstraints = new GridBagConstraints();gridBagConstraints.insets = new Insets(15, 15, 0, 0);grid
36、BagConstraints.gridx = 2;gridBagConstraints.gridy = 0;operatePanel.add(nameLabel, gridBagConstraints);nameLabel.setText(名称:);nameTextField = new JTextField();/ nameTextField.setName(名称);final GridBagConstraints gridBagConstraints_1 = new GridBagConstraints();gridBagConstraints_1.insets = new Insets(
37、15, 0, 0, 0);gridBagConstraints_1.gridx = 3;gridBagConstraints_1.gridy = 0;operatePanel.add(nameTextField, gridBagConstraints_1);nameTextField.setColumns(21);final JLabel unitPriceLabel = new JLabel();unitPriceLabel.setText(单价:);final GridBagConstraints gridBagConstraints_9 = new GridBagConstraints(
38、);gridBagConstraints_9.insets = new Insets(10, 15, 0, 0);gridBagConstraints_9.gridy = 1;gridBagConstraints_9.gridx = 4;operatePanel.add(unitPriceLabel, gridBagConstraints_9);final JLabel unitLabel = new JLabel();unitLabel.setText(单位:);final GridBagConstraints gridBagConstraints_8 = new gridBagConstr
39、aints_11.gridwidth = 2;gridBagConstraints_11.insets = new Insets(10, 0, 0, 0);operatePanel.add(unitTextField, gridBagConstraints_11);final JLabel codeLabel = new JLabel();final GridBagConstraints gridBagConstraints_2 = new GridBagConstraints();gridBagConstraints_2.insets = new Insets(15, 0, 0, 0);gr
40、idBagConstraints_2.gridx = 0;gridBagConstraints_2.gridy = 1;operatePanel.add(codeLabel, gridBagConstraints_2);codeLabel.setText(助记码:);codeTextField = new JTextField();codeTextField.setName(助记码);codeTextField.setColumns(10);final GridBagConstraints gridBagConstraints_3 = new GridBagConstraints();grid
41、BagConstraints_3.insets = new Insets(15, 0, 0, 0);gridBagConstraints_3.gridx = 1;operatePanel.add(codeTextField, gridBagConstraints_3);final JLabel sortLabel = new JLabel();sortLabel.setText(菜系:);final GridBagConstraints gridBagConstraints_4 = new GridBagConstraints();gridBagConstraints_4.insets = new Insets(10, 15, 0, 0);gridBagConstraints_4.gridy = 1;gridBagConstraints_4.gridx = 2;operatePanel.add(sortLabel, gridBagConstraints_4);sortComboBox = new JComboBox();sortComboBox.addItem(请选择);final GridBagConstraints gridBagConstraints_7 = new GridBagConstraints();
限制150内