基于java的餐厅点菜系统-计算机科学与技术毕业论文.doc
《基于java的餐厅点菜系统-计算机科学与技术毕业论文.doc》由会员分享,可在线阅读,更多相关《基于java的餐厅点菜系统-计算机科学与技术毕业论文.doc(23页珍藏版)》请在咨信网上搜索。
1、 课程名称: 计算机科学与技术 设计名称: 基于java的餐厅点菜系统 姓 名: xx 学 号: xxx 班 级: xx计科xx 指导教师: xx 起止日期: 2016 4-2016 5 信息工程学院制23方 向 设 计 任 务 书学生班级: 通信0901 学生姓名: * * 学号 * 设计名称: 基于java的餐厅点菜系统 起止日期: 2012.11.202012.12.15 指导教师: xx、xx 设计要求: 1、利用java设计一个餐厅点菜系统 2、有桌位号供顾客选择 3、在菜单显示中,可以浏览菜品及对应的价格 4、顾客可以随意选择自己喜欢的菜 5、可以增删选菜记录 6、生成账单 7、在
2、账单界面显示消费总额、所选菜品及菜品总数 8、结账后清空数据库中的信息 9、独立完成整个设计方 向 设 计 学 生 日 志时间设计内容2012.11.212012.11.25熟悉餐厅点菜系统的原理2012.11.022012.11.30分析系统需要实现的功能,并针对每个功能做相应的准备2012.11.272012.12.01设计一个简单的界面,在此基础上增添基本功能2012.12.022012.12.10在实现功能的基础上进行调试、修改2012.12.102012.12.15增添功能,完善系统设计2012.12.152012.12.18在实现功能的基础上对系统的界面进行美化2012.12.16
3、2012.12.20整理文档,撰写报告2012.12.23答辩方 向 设 计 评 语 表指导教师评语: 成绩: 指导教师: 年 月 日基于java的餐厅点菜系统 摘要 餐厅点菜系统是为了实现餐厅点菜自动化而设计的,不用人工服务员客人就可以自行完成点菜这一过程,从而避免了由于服务员的疏忽或者态度等问题为客人造成不必要的麻烦。利用点菜系统可以及时、准确、高效的为客人提供服务,减少了很多繁琐的过程。在开发餐厅点菜系统中,采用JAVA语言程序设计的基本知识,JAVA语言程序设计的基本方法和基本思想,运用数据库对表的基本操作,常用查询语句的使用以及ACCESS对表的数据的设计,利用图形化编程和JDBC技
4、术来实现餐厅点菜系统的设计。通过系统的开发掌握软件的基本的开发流程,了解系统的功能,从而掌握软件开发整体过程,把知识运用到实际生产中。 关键词 点菜系统、高效、Access2003数据库、javaABSTRACT Restaurant order system is in order to realize the automation and the design of the restaurant order, without artificial waiter guests can automatically complete this order process, thereby avo
5、iding the waiters carelessness or attitudes to such issues as guests to cause unnecessary trouble.Use order system can offer timely, accurately and effectively service for the guest and reduce a lot of cumbersome process. In the development of the restaurant order system, using the basic knowledge o
6、f JAVA programming language , the basic method and basic idea, the use of the basic operation on the database table ,the use of common queries and ACCESS to the design of the data in the table ,the use of graphical programming and JDBC technology, to achieve the restaurant order system design.Throug
7、h the development of the system to master the basic software development process , understanding the function of the system, so as to grasp the whole process of software development, using the knowledge to practical production 一、 设计目的和意义餐厅点菜系统所要完成的基本功能就是实现无服务生点菜,客人可以通过点菜系统自行点菜。在餐厅里有很多种菜谱,每一种菜有一个名称,对
8、应一个唯一的编号和一个固定的单位价格。当有顾客来酒店时,顾客首先选择一个桌位号(也是唯一的),当顾客进入餐厅点菜系统后,就可以按照菜谱上有的菜来点菜。顾客在结账时应付的钱为:每种菜的单位价格相加为总的付款。编程语言为java,利用Access2003作为后台数据库,该系统主要面向中小型餐饮企业提供餐饮点菜功能,系统后台数据库只有一张表,用于保存菜品名称、价格和桌位号。通过本次课程设计可以加深对java语言程序设计基本知识的理解,掌握java语言程序编写和调试的基本技能,了解有关程序设计、程序开发的思路方法,提高利用软件程序解决实际问题的能力。在设计过程中,可以培养我们分析问题、解决问题的能力,
9、把理论与实际结合在一起,可以更好的掌握好一门语言,同时因为需要用到数据库,所以可以通过此次课程设计自学一下数据库,以及利用JDBC访问数据库。 二、设计原理本设计主要用到java语言程序设计、SQL语言以及Access数据库。这是一个Java Application,没有浏览器提供的现成的图形界面可以直接使用,所以需要首先创建自己的图形界面。首先创建一个对话框,在其内容面板内添加两个组件按钮,当进入系统后,即可进入主菜单界面,此部分主要是要实现对按钮的监听事件,即使用addActionListener(this)事件监听器,事件处理接口的方法为actionPerformed(ActionEve
10、nt e)。在主界面,首先是完成窗体整体布局,在java的GUI界面设计中,布局控制是通过为容器设置布局管理器来实现的。布局管理器负责确定组件在容器中的位置和大小。当容器需要定位组件和确定组件大小时,就会给布局管理器对象法消息,让它完成该项工作。Java.awt包中定义了5种布局管理器类,每个布局管理器类对应一种布局策略。在此系统中,用到最多的布局管理器类有BorderLayout(组件按北、南、东、西、中几个位置排列)和GridLayout(以行和列的网络形式安排组件)。然后因为要显示桌位号和菜品,利用单选按钮组来实现顾客的选菜功能,创建一个单选按钮组,提供选中/不选中两种状态,Button
11、Group是由一组互斥的按钮组成,同一时刻只能有一个按钮被选中,将桌位号的按钮组加入到此按钮组中。菜品的显示也以单选按钮的方式显示在窗体界面中,这样顾客就可以选择自己喜欢的菜品,然后点击确定后就可将数据存入数据库中。在java的编程中,需要用到Access数据库,启动进入Access后,创建一个数据库,然后定义表的列名与列的数据类型 ,分别用于存放桌位号、菜品名称及菜品价格。为了实现在java程序中访问Access数据库,需要利用windows提供的工具创建指向数据库的数据源,这样在程序中通过数据源名即可访问Access中的数据库。在对数据进行操作之前,首先要建立程序与一个具体数据库的连接,而
12、在连接数据库以前,必须注册该数据库的驱动程序。完成此项工作的是DriverManager类,它被称为驱动程序管理器,其基本功能是管理JDBC驱动程序。Driver是java定义的一个接口,每一个驱动程序类都必须实现这个接口。装载数据库驱动程序可以采用Class类的forName()方法,当对数据库的操作告一段落时,可通过调用Connection的close()方法结束会话,释放连接的数据库及JDBC资源。JDBC是一种用于访问数据库和执行SQL语句的java编程接口,由一组用java语言编写的类和接口组成。JDBC是用于java应用程序连接数据库的标准方法。JDBC对java程序员而言是API
13、,对实现与数据库连接的服务提供商而言是接口模型。JDBC使用已有的SQL标准并支持其他数据库连接标准,JDBC实现了所有这些面向标准的、简单且高性能的接口。利用JDBC访问数据库大致包含以下三个步骤:建立与数据库的连接通过发送SQL语句对数据库进行读写处理语句的执行结果,特别是查询语句的返回数据三、详细设计步骤本系统采用基本的JAVA语言编写,由于JAVA语言不同与C+语言,它具有其语言的特殊性,包含很多类,基本是每一种功能为一个类。开始有主框架类,通过按钮监听事件调用别的类,完成功能的实现。其基本的流程为:顾客来酒店选择桌号按照菜谱上的菜的种类选择所需要的菜然后按下确认键确定要选择的菜品统计
14、所选择菜的价格结帐付款为所有菜的编号所相对应的价格相加并验证自己付款是否有误。系统主要流程图如图1所示: 图1 总体结构框图 根据功能需求,本系统包含有5个类,利用ACCESS建立一个表就可以了。通过JAVA与该数据表的连接关系对该表的数据进行输入,然后通过顾客对数据的随机选择来调用数据表的数据,实现不同的功能。 系统的主要功能模块首先进入系统初始界面,此界面由一个对话框构成,由public class order implements ActionListener 完成这个功能。通过Container contentPane = Dialog.getContentPane()获得其内容面板,
15、然后新建一个中间容器,在容器内添加两个按钮,分别表示进入系统和退出系统,点击按钮时,就可触发相应的ActionEvent事件,通过getActionCommand()获得按钮标签,当点击进入系统时关闭对话框,进入点菜系统主界面,否则即可退出系统。当点击进入系统时,系统就进入点菜界面,用户可以在此窗口中选择自己喜欢的桌号和喜欢的菜品,要实现这个功能,需要用到的框架类为:public class Menu implements ActionListener, ItemListener 这部分的功能实现,首先是定义两个数组,分别用于存放餐桌号和菜品名单,创建两个单选按钮组,并指明其文本说明标签,即用
16、于显示桌号和菜品名单及价格,然后将单选按钮组分别极加入到两个中间容器中,这样就可以看到桌位号和菜品名称及价格。然后设置三个按钮,分别是确定、结账和取消按钮。当顾客点击确定后,就将顾客所选择的桌号和菜品名单及价格存入数据库中,当顾客点击结账后,就可进入结账界面,当顾客点击取消按钮,就可将当前所选择的菜品删除掉,然后可以再重新选择顾客喜欢的菜品。其主要流程图如图2所示: 图2 点菜功能流程图这部分主要是要实现将顾客所选择的桌号和菜品等数据存进数据库,调用DriverManaget类的静态方法getConnection建立一个数据库连接,并定义一个remark标志,当顾客选择了哪号桌或者哪个菜时,就
17、可以向数据库中写入语句,这样,当用户点击确定后就保存数据。这里主要是通过执行SQL语句访问数据库,然后执行查询返回的结果。当点击一个单选按钮后,返回一个remarki,当建立与数据库的连接后,执行SQL语句的写语句,向数据库中写入语句,当点击确定后,就保存数据。当点击取消按钮时,执行SQL语句的删除语句,这样就可以将所点的菜清空,然后重新选择自己喜欢的菜品。当在菜单窗口中按下结账按钮后,就会进入结账的界面,此时需要跳转到另一个类中运行,这个类为:public class jiezhang implements ActionListener 这部分主要是要从数据库中读取数据,然后顾客才能在结账界
18、面看到自己点了几道菜以及都是些什么菜,总共花费是多少钱等。向数据库发送SOL查询语句,利用executeQuery()方法就可返回一个ResultSet对象,最后通过while语句,就可实现其功能,通过sum(valuess)可以将顾客所点菜品总的价格统计相加起来,这样顾客就可以看到自己总共的消费了。因为菜名在数据库中是以cname表示的,所以要在结账界面显示点了些什么菜,就需要向数据库执行查询语句,然后通过getString()获得其内容,然后显示在结账界面的文本域中。总共点了多少道菜是通过while循环,得出数据库中总共写了几个数据,然后统计出总共点了多少菜。结账后,将数据库中的数据删除,
19、关闭数据库连接。其主要流程图如图3所示: 图3 结账功能流程图当然,当顾客不止需要一个桌位时,可以先选择一个桌号,选好菜后点击确定按钮,保存数据,然后再选择一个桌号,选择菜品,点击确定,最后点击结账时,只需输入其中的一个桌号,就可看到自己总共的花费,这样既让顾客觉得方便,也省去了许多麻烦。主程序在名为startSystemHere 的类中运行,为 public static void main(String args) throws Exception new order(); 五、 设计结果及分析 各个模块功能的实现 打开餐厅点菜系统程序,会出现一个对话框,通过点击相应的按钮,就可进入或者退
20、出系统。界面如图4所示: 图4 初始界面图当用户点击进入系统按钮后,对话框关闭,进入主窗口界面,如图5所示: 图5 主界面图在主界面可以看到,有三个部分,第一部分显示的是桌位号,顾客可以选择一个自己喜欢的桌位号,然后第二部分显示的是菜品,那是一组单选按钮,不仅显示了菜的名称,而且还显示了菜的价格,这样顾客就可以很直观的选择菜品,最后第三部分是提示语,当客人点完菜后,再点击确定按钮,就可以将数据存入数据库中,比如说客人选择了桌位号2,所点的菜为澳洲小龙虾、重庆辣子鸡和尖椒腊肉,主界面的显示如图6: 图6 顾客所点的菜示意图那么在数据库中就可以看到如图7中的内容: 图7 对应数据库中的数据从图中可
21、以看出,顾客在点菜界面所选择的菜品已经成功的存入了数据库,那么在结账时,就可将数据库中数据显示出来了。在结账界面,会显示一个文本框,顾客需要输入自己之前所选择的桌号,然后点击确认按钮,会弹出一个对话框,顾客可以看到“谢谢惠顾!”几个字,如图8所示: 图8 对话框提示再次点击确定后,就可以看到自己总共点了几道菜,一共花费了多少钱以及都点了哪些菜,便于顾客核对是否正确。点击取消按钮,即可退出对话框,返回到点菜界面。比如说上面顾客选择了2号桌,并且点了三个菜,在结账界面,输入桌位号2后,点击确定按钮后,就可以清楚的看到自己总的消费、都点了那些菜以及总共点了几道菜,如图9所示: 图59结账时所看到的结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 餐厅 点菜 系统 计算机科学 技术 毕业论文
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。