基于java的餐厅点菜系统Word下载.docx
《基于java的餐厅点菜系统Word下载.docx》由会员分享,可在线阅读,更多相关《基于java的餐厅点菜系统Word下载.docx(24页珍藏版)》请在冰豆网上搜索。
江虹
2012.11.20——2012.12.15
西南科技大学信息工程学院制
方向设计任务书
学生班级:
通信0901学生姓名:
**学号*********
设计名称:
起止日期:
2012.11.20——2012.12.15指导教师:
江虹、罗智
设计要求:
1利用java设计一个餐厅点菜系统
2、有桌位号供顾客选择
3、在菜单显示中,可以浏览菜品及对应的价格
4、顾客可以随意选择自己喜欢的菜
5、可以增删选菜记录
6、生成账单
7、在账单界面显示消费总额、所选菜品及菜品总数
8结账后清空数据库中的信息
9、独立完成整个设计
方向设计学生日志
时间
设计内容
2012.11.21-2012.11.25
熟悉餐厅点菜系统的原理
2012.11.02-2012.11.30
分析系统需要实现的功能,并针对每个功能做相应的准备
2012.11.27-2012.12.01
设计一个简单的界面,在此基础上增添基本功能
2012.12.02-2012.12.10
在实现功能的基础上进行调试、修改
2012.12.10-2012.12.15
:
增添功能,完善系统设计
2012.12.15-2012.12.18
;
在实现功能的基础上对系统的界面进行美化
2012.12.16-2012.12.20
整理文档,撰写报告
2012.12.23
答辩
方向设计评语表
指导教师评语:
成绩:
指导教师:
年月日
摘要
餐厅点菜系统是为了实现餐厅点菜自动化而设计的,不用人工服务员客人就可以自行完成点菜这一过程,从而避免了由于服务员的疏忽或者态度等问题为客人造成不必要的麻烦。
利用点菜系统可以及时、准确、高效的为客人提供服务,减少了很多繁琐的过程。
在开发餐厅点菜系统中,采用JAVA语言程序设计的基本
知识,JAVA语言程序设计的基本方法和基本思想,运用数据库对表的基本操作,常用查询语句的使用以及ACCES对表的数据的设计,禾I」用图形化编程和JDBC技
术来实现餐厅点菜系统的设计。
通过系统的开发掌握软件的基本的开发流程,了解系统的功能,从而掌握软件开发整体过程,把知识运用到实际生产中。
关键词点菜系统、高效、Access2003数据库、java
ABSTRACT
Restaurantordersystemisinordertorealizetheautomationandthedesignoftherestaurantorder,withoutartificialwaiterguestscanautomaticallycompletethisorderprocess,therebyavoidingthewaiter'
scarelessnessorattitudestosuchissuesasgueststocauseunnecessarytrouble.Useordersystemcanoffertimely,accuratelyandeffectivelyservicefortheguestandreducealotofcumbersomeprocess.Inthedevelopmentoftherestaurantordersystem,usingthebasicknowledgeofJAVAprogrammingIanguage,thebasicmethodandbasicidea,theuseofthebasicoperationonthedatabasetable,theuseofcommonqueriesandACCESStothedesignofthedatainthetable,theuseofgraphicalprogrammingandJDBCtechnology,toachievetherestaurantordersystemdesign.Throughthedevelopmentofthesystemtomasterthebasicsoftwaredevelopmentprocess,understandingthefunctionofthesystem,soastograspthewholeprocessofsoftwaredevelopment,usingtheknowledgetopracticalproduction
一、设计目的和意义
餐厅点菜系统所要完成的基本功能就是实现无服务生点菜,客人可以通过点菜系统自行点菜。
在餐厅里有很多种菜谱,每一种菜有一个名称,对应一个唯一的编号和一个固定的单位价格。
当有顾客来酒店时,顾客首先选择一个桌位号(也是唯一的),当顾客进入餐厅点菜系统后,就可以按照菜谱上有的菜来点菜。
顾客在结账时应付的钱为:
每种菜的单位价格相加为总的付款。
编程语言为java,利
用Access2003作为后台数据库,该系统主要面向中小型餐饮企业提供餐饮点菜功
能,系统后台数据库只有一张表,用于保存菜品名称、价格和桌位号。
通过本次课程设计可以加深对java语言程序设计基本知识的理解,掌握java语言程序编写和调试的基本技能,了解有关程序设计、程序开发的思路方法,提高利用软件程序解决实际问题的能力。
在设计过程中,可以培养我们分析问题、解决问题的能力,把理论与实际结合在一起,可以更好的掌握好一门语言,同时因为需要用到数据库,所以可以通过此次课程设计自学一下数据库,以及利用JDBC
访问数据库。
二、设计原理
本设计主要用到java语言程序设计、SQL语言以及Access数据库。
这是一个JavaApplication,没有浏览器提供的现成的图形界面可以直接使用,所以需要
首先创建自己的图形界面。
首先创建一个对话框,在其内容面板内添加两个组件按钮,当进入系统后,即可进入主菜单界面,此部分主要是要实现对按钮的监听事件,即使用addActionListener(this)事件监听器,事件处理接口的方法
为actionPeformed(ActionEvente)。
在主界面,首先是完成窗体整体布局,在java的GUI界面设计中,布局控
制是通过为容器设置布局管理器来实现的。
布局管理器负责确定组件在容器中的位置和大小。
当容器需要定位组件和确定组件大小时,就会给布局管理器对象法消息,让它完成该项工作。
Java.awt包中定义了5种布局管理器类,每个布局管理器类对应一种布局策略。
在此系统中,用到最多的布局管理器类有BorderLayout(组件按北、南、东、西、中几个位置排列)和GridLayout(以
行和列的网络形式安排组件)。
然后因为要显示桌位号和菜品,利用单选按钮组来实现顾客的选菜功能,创建一个单选按钮组,提供选中/不选中两种状态,
ButtonGroup是由一组互斥的按钮组成,同一时刻只能有一个按钮被选中,将桌
位号的按钮组加入到此按钮组中。
菜品的显示也以单选按钮的方式显示在窗体界面中,这样顾客就可以选择自己喜欢的菜品,然后点击确定后就可将数据存入数据库中。
在java的编程中,需要用到Access数据库,启动进入Access后,创建一个数据库,然后定义表的列名与列的数据类型,分别用于存放桌位号、菜品名称及菜品价格。
为了实现在java程序中访问Access数据库,需要利用windows提供的工具创建指向数据库的数据源,这样在程序中通过数据源名即可访问Access中的数据库。
在对数据进行操作之前,首先要建立程序与一个具体数据库的连接,而在连接数据库以前,必须注册该数据库的驱动程序。
完成此项工作的是DriverManager类,它被称为驱动程序管理器,其基本功能是管理JDBC驱动程序。
Driver是java定义的一个接口,每一个驱动程序类都必须实现这个接口。
装载数据库驱动程序可以采用Class类的forName()方法,当对数据库的操作告一段落时,可通过调用Connection的close()方法结束会话,释放连接的数据库及JDBC资源。
JDBC是一种用于访问数据库和执行SQL语句的java编程接口,由一组用java语言编写的类和接口组成。
JDBC是用于java应用程序连接数据库的标准方法。
JDBC对java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。
JDBC使用已有的SQL标准并支持其他数据库连接标准,JDBC实现了所有这些面向标准的、简单且高性能的接口。
利用JDBC访问数据库大致包含以下三个步骤:
1建立与数据库的连接
2通过发送SQL语句对数据库进行读写
3处理语句的执行结果,特别是查询语句的返回数据
三、详细设计步骤
本系统米用基本的JAVA语言编写,由于JAVA语言不同与C++语言,它具有其语言的特殊性,包含很多类,基本是每一种功能为一个类。
开始有主框架类,通过按钮监听事件调用别的类,完成功能的实现。
其基本的流程为:
顾客来酒店选择桌号——>按照菜谱上的菜的种类选择所需要的菜——>然后按下确认键确定要选择的菜品——>统计所选择菜的价格——>结帐付款为所有菜的编号所相对应的价格相加并验证自己付款是否有误。
系统主
要流程图如图1所示:
图1总体结构框图
根据功能需求,本系统包含有5个类,利用ACCES建立一个表就可以了。
通过JAVA与该数据表的连接关系对该表的数据进行输入,然后通过顾客对数据的随机选择来调用数据表的数据,实现不同的功能。
系统的主要功能模块
首先进入系统初始界面,此界面由一个对话框构成,由
publicclassorderimplementsActionListener{}完成这个功能。
通过ContainercontentPane=Dialog.getContentPane(获得其内容面板,然后新建一个中间容器,在容器内添加两个按钮,分别表示进入系统和退出系统,点击按钮时,就可触发相应的ActionEvent事件,通过getActionCommand()获
得按钮标签,当点击进入系统时关闭对话框,进入点菜系统主界面,否则即可退
出系统。
当点击进入系统时,系统就进入点菜界面,用户可以在此窗口中选择自己喜
欢的桌号和喜欢的菜品,要实现这个功能,需要用到的框架类为:
publicclassMenuimplementsActionListener,ItemListener{}
这部分的功能实现,首先是定义两个数组,分别用于存放餐桌号和菜品名单,创建两个单选按钮组,并指明其文本说明标签,即用于显示桌号和菜品名单及价格,然后将单选按钮组分别极加入到两个中间容器中,这样就可以看到桌位号和菜品名称及价格。
然后设置三个按钮,分别是确定、结账和取消按钮。
当顾客点击确定后,就将顾客所选择的桌号和菜品名单及价格存入