logo资料库

java点菜系统.doc

第1页 / 共22页
第2页 / 共22页
第3页 / 共22页
第4页 / 共22页
第5页 / 共22页
第6页 / 共22页
第7页 / 共22页
第8页 / 共22页
资料共22页,剩余部分请下载后查看
西南科技大学 专业方向设计报告 课程名称: 通信专业方向设计 设计名称: 基于 java 的餐厅点菜系统 姓 名: 学 号: * * ****** 班 级: 通信 0901 指导教师: 江 虹 起止日期: 2012.11.20——2012.12.15 西南科技大学信息工程学院制
方 向 设 计 任 务 书 学生班级: 通信 0901 学生姓名: * 设计名称: 基于 java 的餐厅点菜系统 * 学号 ********* 起止日期: 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 答辩 2
方 向 设 计 评 语 表 指导教师评语: 成绩: 指导教师: 年 月 日 3
基于 java 的餐厅点菜系统 摘要 餐厅点菜系统是为了实现餐厅点菜自动化而设计的,不用人工服务员客人就 可以自行完成点菜这一过程,从而避免了由于服务员的疏忽或者态度等问题为客 人造成不必要的麻烦。利用点菜系统可以及时、准确、高效的为客人提供服务, 减少了很多繁琐的过程。在开发餐厅点菜系统中,采用 JAVA 语言程序设计的基本 知识,JAVA 语言程序设计的基本方法和基本思想,运用数据库对表的基本操作, 常用查询语句的使用以及 ACCESS 对表的数据的设计,利用图形化编程和 JDBC 技 术来实现餐厅点菜系统的设计。通过系统的开发掌握软件的基本的开发流程,了 解系统的功能,从而掌握软件开发整体过程,把知识运用到实际生产中。 关键词 点菜系统、高效、Access2003数据库、java ABSTRACT 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 avoiding the waiter's 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 of 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.Through 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 一、设计目的和意义 餐厅点菜系统所要完成的基本功能就是实现无服务生点菜,客人可以通过点 菜系统自行点菜。在餐厅里有很多种菜谱,每一种菜有一个名称,对应一个唯一 的编号和一个固定的单位价格。当有顾客来酒店时,顾客首先选择一个桌位号(也 是唯一的),当顾客进入餐厅点菜系统后,就可以按照菜谱上有的菜来点菜。顾客 在结账时应付的钱为:每种菜的单位价格相加为总的付款。编程语言为 java,利 用 Access2003 作为后台数据库,该系统主要面向中小型餐饮企业提供餐饮点菜功 4
能,系统后台数据库只有一张表,用于保存菜品名称、价格和桌位号。 通过本次课程设计可以加深对 java 语言程序设计基本知识的理解,掌握 java 语言程序编写和调试的基本技能,了解有关程序设计、程序开发的思路方法,提 高利用软件程序解决实际问题的能力。在设计过程中,可以培养我们分析问题、 解决问题的能力,把理论与实际结合在一起,可以更好的掌握好一门语言,同时 因为需要用到数据库,所以可以通过此次课程设计自学一下数据库,以及利用 JDBC 访问数据库。 二、设计原理 本设计主要用到 java 语言程序设计、SQL 语言以及 Access 数据库。这是一个 Java Application,没有浏览器提供的现成的图形界面可以直接使用,所以需要 首先创建自己的图形界面。首先创建一个对话框,在其内容面板内添加两个组件 按钮,当进入系统后,即可进入主菜单界面,此部分主要是要实现对按钮的监听 事件,即使用 addActionListener(this)事件监听器,事件处理接口的方法 为 actionPerformed(ActionEvent e)。 在主界面,首先是完成窗体整体布局,在 java 的 GUI 界面设计中,布局控 制是通过为容器设置布局管理器来实现的。布局管理器负责确定组件在容器中的 位置和大小。当容器需要定位组件和确定组件大小时,就会给布局管理器对象法 消息,让它完成该项工作。Java.awt 包中定义了 5 种布局管理器类,每个布局 管 理 器 类 对 应 一 种 布 局 策 略 。 在 此 系 统 中 , 用 到 最 多 的 布 局 管 理 器 类 有 BorderLayout(组件按北、南、东、西、中几个位置排列)和 GridLayout(以 行和列的网络形式安排组件)。然后因为要显示桌位号和菜品,利用单选按钮组来 实现顾客的选菜功能,创建一个单选按钮组,提供选中/不选中两种状态, ButtonGroup 是由一组互斥的按钮组成,同一时刻只能有一个按钮被选中,将桌 位号的按钮组加入到此按钮组中。菜品的显示也以单选按钮的方式显示在窗体界 面中,这样顾客就可以选择自己喜欢的菜品,然后点击确定后就可将数据存入数 据库中。 在 java 的编程中,需要用到 Access 数据库,启动进入 Access 后,创建 一个数据库,然后定义表的列名与列的数据类型 ,分别用于存放桌位号、菜品名 5
称及菜品价格。为了实现在 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 访问数据库大致包含以 下三个步骤: ①建立与数据库的连接 ②通过发送 SQL 语句对数据库进行读写 ③处理语句的执行结果,特别是查询语句的返回数据 三、详细设计步骤 本系统采用基本的 JAVA 语言编写,由于 JAVA 语言不同与 C++语言,它具有 其语言的特殊性,包含很多类,基本是每一种功能为一个类。开始有主框架类, 通过按钮监听事件调用别的类,完成功能的实现。 其基本的流程为:顾客来酒店选择桌号——>按照菜谱上的菜的种类选择所需 要的菜——>然后按下确认键确定要选择的菜品——>统计所选择菜的价格——> 结帐付款为所有菜的编号所相对应的价格相加并验证自己付款是否有误。系统主 6
要流程图如图 1 所示: 图 1 总体结构框图 根据功能需求,本系统包含有 5 个类,利用 ACCESS 建立一个表就可以了。通 过 JAVA 与该数据表的连接关系对该表的数据进行输入,然后通过顾客对数据的随 机选择来调用数据表的数据,实现不同的功能。 系统的主要功能模块 首先进入系统初始界面,此界面由一个对话框构成,由 public class order implements ActionListener {}完成这个功能。 通过 Container contentPane = Dialog.getContentPane()获得其内容面板,然后新 建一个中间容器,在容器内添加两个按钮,分别表示进入系统和退出系统,点击 按钮时,就可触发相应的 ActionEvent 事件,通过 getActionCommand()获 得按钮标签,当点击进入系统时关闭对话框,进入点菜系统主界面,否则即可退 出系统。 当点击进入系统时,系统就进入点菜界面,用户可以在此窗口中选择自己喜 欢的桌号和喜欢的菜品,要实现这个功能,需要用到的框架类为: public class Menu implements ActionListener, ItemListener {} 这部分的功能实现,首先是定义两个数组,分别用于存放餐桌号和菜品名单, 7
创建两个单选按钮组,并指明其文本说明标签,即用于显示桌号和菜品名单及价 格,然后将单选按钮组分别极加入到两个中间容器中,这样就可以看到桌位号和 菜品名称及价格。然后设置三个按钮,分别是确定、结账和取消按钮。当顾客点 击确定后,就将顾客所选择的桌号和菜品名单及价格存入数据库中,当顾客点击 结账后,就可进入结账界面,当顾客点击取消按钮,就可将当前所选择的菜品删 除掉,然后可以再重新选择顾客喜欢的菜品。其主要流程图如图 2 所示: 图 2 点菜功能流程图 这部分主要是要实现将顾客所选择的桌号和菜品等数据存进数据库,调用 DriverManaget 类的静态方法 getConnection 建立一个数据库连接,并定义一个 remark 标志,当顾客选择了哪号桌或者哪个菜时,就可以向数据库中写入语句, 这样,当用户点击确定后就保存数据。 这里主要是通过执行 SQL 语句访问数据库,然后执行查询返回的结果。当点 击一个单选按钮后,返回一个 remark[i],当建立与数据库的连接后,执行 SQL 语 句的写语句,向数据库中写入语句,当点击确定后,就保存数据。当点击取消按 钮时,执行 SQL 语句的删除语句,这样就可以将所点的菜清空,然后重新选择自 己喜欢的菜品。 当在菜单窗口中按下结账按钮后,就会进入结账的界面,此时需要跳转到另 8
分享到:
收藏