ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:455.55KB ,
资源ID:10327859      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10327859.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(餐饮业管理系统.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

餐饮业管理系统.docx

1、餐饮业管理系统目录封面.一、 设计任务与要求.1.1目的.1.2任务.1.3意义.二、 需求分析.2.1 功能需求. 2.1.1 菜品的分类(food). 2.1.2 菜品的列表显示(menu) 2.1.3订单的信息(dingdan). 2.1.4 订单项的信息(dingdanItem)2.2性能需求.2.3数据需求. 2.3.1 菜品的分类表. 2.3.2 菜品的列表. 2.3.3订单的信息表. 2.3.4 订单项的信息表. 2.3.5 数据之间的约束和依赖关系2.4运行需求.三、 系统总体设计系统总体框图设计.四、 数据库设计4.1概念结构设计.4.2逻辑结构设计. 4.3物理结构设计.五

2、、 系统调试与测试5.1运行界面及其效果图5.1.1欢迎界面5.1.3查看已点的菜单5.1.4查看是否点菜成功的提示界面5.1.5埋单的界面5.1.6所有的订单显示的界面5.1.7显示含有查看烹饪状态按钮的订单信息的界面.5.1.8显示查看某一订单的具体菜品的状态.5.2 对在调试中发现的问题进行说明.六、 参考资料.七、 心得体会 小型餐饮业管理系统 一、设计任务与要求1.1目的:加深对课堂理论学习的理解,提高应用水平,增强动手能力,未毕业设计做准备。 1.2任务:在为期两周的时间里由2-3人组成一个小组,共同完成一个小型管理系统,题目可由老师给定中选取也可自己拟定。 1.3意义:通过理论与

3、实践的结合,巩固所学知识的同时,提高自己的动手操作能力,培养自己的实际应用与创新思维,为以后自己走向社会提前做好准备。二、需求分析近几年来,随着我国国民经济的稳定增长,餐饮业的竞争越来越激烈,想在这样激烈竞争的环境下生存,就必须运动科学的管理思想和先进的管理方法。使用点餐系统能够提高工作的效率,避免了手工作业的麻烦,从而增加了餐厅的一体化管理。 随着现在连锁餐饮店的不断崛起,作为餐饮业不可缺少的一部分餐饮管理系统,它的内容对于餐饮业的决策者和管理者来说都是非常重要的。本系统是基于餐饮管理系统之下的一个小型的餐饮系统,可以把整个餐饮店的日常经营信息:包括餐厅的各种菜品,餐厅的各种酒水,餐厅的菜品

4、的价格,餐厅的菜品的原料,餐厅的各种酒水的价格,餐厅各种菜品以及酒水是否有的状态,餐厅各种菜品的图片,顾客的点菜,餐厅前台的各种账单,餐厅前台的账单的状态,餐厅前台各种账单的支付等功能均能实现。2.1 功能需求(功能划分、功能描述):2.1.1菜品的分类(food):这一部分实现对各种菜品以及酒水的分类管理,对每一种不同的菜品或者酒水都属于菜品的分类中的一种。这里一共分成了十一种不同的类型,每一种菜在添加到菜品时,按照不同的菜品编号添加到相应的菜系中或者酒水系中。 2.1.2菜品的列表显示(menu):这一部分实现对餐厅的各种菜品以及酒水的显示,显示的内容包括菜品和酒水的编号,名称,所属的哪个

5、菜品的编号,菜品和酒水的价格,菜品和酒水的原料,菜品和酒水的状态(有或者无),菜品和酒水的图片信息。对每一个菜品的具体的显示以及管理,提供给顾客去进行选择。 2.1.3订单的信息(dingdan):这一部分实现对顾客点餐后各种信息的显示,对餐厅内的每一个桌号(订单号)的管理。管理的功能包括:订单的id、订单的桌子号,订单的下单的时间,订单的状态。 2.1.4订单项的信息(dingdanItem):这一部分实现对每一个订单所点的各种菜品和酒水的管理,可以对每一订单的具体的菜品和酒水的管理,对每一个桌子(一个桌子对应一个订单)的所点菜品、酒店的数量和总价进行统一的管理。这里显示了包括订单项的id,

6、菜品和酒水的名称,菜品和酒水的单价,选择菜品和酒水的数量,选择菜品和酒水的总价,下订单的时间以及菜品和酒水的状态等。2.2性能需求(软件适应性和移植性等):本系统的开发环境是在:一台安装windows 7的个人计算机作为客户机,其上安装了SQL Server 2005,本系统使用eclipse来开发,系统设计与运行均可在客户机上进行。该小型餐饮系统操作简单方便可以适合小型的中餐厅。2.3数据需求(包括数据之间有何依赖和约束关系):.对应于功能需求,把各种功能转化为具体的数据表:2.3.1菜品的分类表(food):属性:food.id food.typeName 2.3.2菜品的列表(menu)

7、:属性:menu.id menu.name menu.dishId menu.price menu.material menu.state menu.image 2.3.3订单的信息表(dingdan):属性 dingdan.id dingdan.tableNum dingdan.time dingdan.state 2.3.4订单项的信息表(dingdanItem):属性:dingdanItem.id dingdanItem.dishName dingdanItem.price dingdanItem.selectedNum dingdanItem.totalPrice dingdanIte

8、m.dTime dingdanItem.tableNum dingdanItem.dId dingdanItem.state 2.3.5数据之间的依赖和约束关系:菜品的列表(menu)与菜品的分类表(food)之间通过menu.dishId这个外键建立约束关系。通过这个外键menu.dishId每一个菜品都属于菜品分类表中的一个类,在每次点菜的订单项中都会显示这个菜是属于哪个菜品类的。这样便在两个表之间建立了联系,方便了菜品的管理。2.4运行需求(用户界面、硬件接口、软件接口、故障处理):对应于功能的分析,应该有输入桌号进入点菜的界面,显示菜品的点菜界面,显示已经点菜成功的界面,显示已经点过的

9、菜的界面卖单的界面显示已有订单界面显示含有查看烹饪状态按钮的订单信息的界面显示查看某一订单的具体菜品的状态三、系统总体设计 系统总体框图设计如下图所示:四、数据库设计4.1 概念结构设计 ER图(数据库的概念模型图.cdm)如下图4.1所示图4.14.2逻辑结构设计将概念模型转化为关系模型,画出数据库的物理模型图.pdm 如下图4.2所示:图4.2 4.3 物理结构设计4.3.1菜品的分类表(food) 4.3.2菜品的列表(menu): 4.3.3订单的信息表(dingdan):4.3.4订单项的信息表(dingdanItem):五、运行结果和测试 5.1运行界面及其效果图:5.1.1欢迎界

10、面(即输入座位号进入点菜界面):主要代码部分:button.addActionListener(new ActionListener() public void actionPerformed(final ActionEvent e) String tableNum=textField.getText(); final String time=new Date().toLocaleString(); DAOInf daoinf=new DAOIm(); daoinf.insertDingDan(tableNum, time);Menu menu = new Menu(tableNum); me

11、nu.setVisible(true); WelcomeFrame.this.dispose(); );这一部分是对进入点菜按钮的事件的监听以及处理,通过对按钮的事件处理,我们点击按钮后进入到点菜的界面。5.1.2点菜界面(即显示各种菜品和酒水的信息):整个点菜界面的左边是一个树状的选择栏,右边是一个菜品的显示区(包括图片显示等),右下角有菜品的数量选择的滚动条,返回,点菜按钮,查看已点菜单按钮都分别进行了事件的监听和处理。主要的代码部分:tree.addTreeSelectionListener(new TreeSelectionListener() public void valueCha

12、nged(TreeSelectionEvent e) Object obj=e.getPath().getPath(); if(obj.length=3) final String tabelName1=obj1.toString(); final String tabelName2=obj2.toString(); try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);Connection conn=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;d

13、atabaseName=hotel,sa,);String sql=select menu.id,menu.name,menu.dishID,menu.price,menu.material,menu.state from menu where dishID in (select id from +tabelName1+ where +tabelName1+.typeName=+tabelName2+); ResultSet rs=conn.createStatement().executeQuery(sql); final Vector column=new Vector(); column

14、.add(编号); column.add(名称); column.add(类型); column.add(价格); column.add(原料); column.add(状态); ResultSetMetaData rsmd=rs.getMetaData(); final Vector rows=new Vector(); while(rs.next() Vector row=new Vector(); for(int i=1;i=0) Vector v=(Vector)rows.get(row); try Class.forName(com.microsoft.sqlserver.jdbc.

15、SQLServerDriver);Connection conn=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=hotel,sa,);ResultSet rs=conn.prepareStatement(select menu.imag,menu.name,menu.material from menu where id=+v.get(0).executeQuery(); if(rs.next() Image image = Toolkit.getDefaultToolkit().getImage

16、(rs.getString(1); label_2.setIcon(new ImageIcon(image); label_1.setText(rs.getString(2); label_3.setText(rs.getString(3); rs.close(); conn.close(); catch (Exception ex) / TODO Auto-generated catch block ex.printStackTrace(); );这一段代码实现的是通过和数据库链接后,对菜品显示区的才进行点击后,对不同的菜显示其存在数据库中的各种内容,显示的内容包括菜的编号,菜名,菜的类型,

17、菜的原料,菜的图片,菜的价格,菜的状态等5.1.3查看已点的菜单(即显示各种以及点过的菜品和酒水信息)主要的代码部分:Vector colmn=new Vector(); colmn.add(序号); colmn.add(名称); colmn.add(单价); colmn.add(数量); colmn.add(总价); colmn.add(点菜时间); colmn.add(座位号); colmn.add(订单编号); colmn.add(状态); DAOInf dao2=new DAOIm(); ResultSet rs=dao2.selectDingDanItem(s); final Vec

18、tor rows=new Vector(); ResultSetMetaData rsmd; try rsmd = rs.getMetaData(); while(rs.next() Vector row=new Vector(); for(int i=1;i=rsmd.getColumnCount();i+) row.add(rs.getString(i); rows.add(row); catch (SQLException e2) e2.printStackTrace(); table = new JTable(rows,colmn); scrollPane.setViewportVie

19、w(table);这一段代码实现的是, 通过对数据库的操作,把已经点过的菜自动添加到已经生成的订单中。在此界面中显示此订单所在的桌子号,以及已经点过的菜品的各种信息。5.1.4查看是否点菜成功的提示界面(即点击点菜按钮后弹出的点菜是否成功的界面)主要代码:Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);Connection conn1=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=hotel,sa,);String sql1=

20、select id from dingdan where tableNum=+s+;ResultSet rs1=conn.prepareStatement(sql1).executeQuery();int selectedNum=(Integer) select.getSelectedItem();if(rs1.next() int dingdanNum=rs1.getInt(1); int totalPrice=selectedNum*price; String state=等待中.; String sql=insert into dingdanItem values(+name+,+pri

21、ce+,+selectedNum+,+totalPrice+,+dTime+,+s+,+dingdanNum+,+state+); conn1.createStatement().executeUpdate(sql); JOptionPane.showMessageDialog(Menu.this, 您选择了:+name+selectedNum+份);这一部分实现是对按钮点菜的事件监听已经事件处理,通过对按钮的事件处理,可以弹出提示点菜是否成功的信息。5.1.5埋单的界面(即显示所选择的菜品的单价,数量,总价,入座时间,优惠细则等)主要代码部分:try Class.forName(com.mi

22、crosoft.sqlserver.jdbc.SQLServerDriver);Connection conn=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;databaseName=hotel,sa,); String sql=select id,dishName,price,selectedNum,totalPrice from dingdanItem where tableNum=+tableNum; ResultSet rs=conn.createStatement().executeQuery(sql); Res

23、ultSetMetaData rsmd=rs.getMetaData(); while(rs.next() Vector row=new Vector(); for (int i = 1; i =rsmd.getColumnCount(); i+) row.add(rs.getString(i); rows.add(row); catch(Exception e) e.printStackTrace(); table = new JTable(rows,c); scrollPane.setViewportView(table);这一段代码是通过链接数据库,然后显示出某一订单所点的菜品的所有的信

24、息,显示的内容包括菜品的编号,菜品的名称,菜品的单价,菜品的数量,菜品的总价。此外这个页面还显示座位号,优惠的细则等信息。5.1.6所有的订单显示的界面(即显示订单的编号,订单的座位号,订单的状态,订单入座时间)主要代码部分: final Vector rows=new Vector(); try Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);Connection conn=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;databaseName=hotel,sa,);String sql=select * from dingdan;ResultSet rs=conn.createStatement().executeQuery(sql);ResultSetMetaData rsmd=rs.getMetaData(); while(rs.next() Vector row=new Vector(); for (int i = 1; i =rsmd.getColumnCount(); i+) row.add(rs.getString(i); rows.add(row); rs.close(); conn.close(); catch

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1