毕业论文点菜系统设计.doc

上传人:坚持 文档编号:3628708 上传时间:2019-06-27 格式:DOC 页数:14 大小:128KB
下载 相关 举报
毕业论文点菜系统设计.doc_第1页
第1页 / 共14页
毕业论文点菜系统设计.doc_第2页
第2页 / 共14页
毕业论文点菜系统设计.doc_第3页
第3页 / 共14页
毕业论文点菜系统设计.doc_第4页
第4页 / 共14页
毕业论文点菜系统设计.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、1毕业论文-点菜系统设计第一章:系统需求与可行性分析1.1 需求分析1.1.1 项目背景二十一世纪是信息高度交流与发展的时代,随着人类社会的进步与发展,越来越多的信息已无法通过手工记录、人工管理来实现,信息在社会经济中发挥着越来越重要的作用。餐厅点菜管理系统是一个信息化管理软件,可以实现餐厅的点菜、订餐、员工管理等各项业务的信息化管理,整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,减少了人工操作的麻烦和误差,能更好地提高企业的管理模式,实现自动化。在大多数的餐饮场所点菜、查看菜谱等是人工完成的。这就需要通过大量的手工完成,速度慢,耗费人力多,而且极易出错,导致工作效率低,造成人

2、力物力的极大浪费。为了节省人力和时间,避免不必要的错误,通过对此作认真细致的调查研究后,决定开发本系统。本文目的在于在现行餐饮管理的基础上,建立科学的计算机餐饮管理系统数据库,用计算机工作代替以往大量的人工劳动,提高工作效率,促进餐饮自动化,适应当今科学技术飞速发展的需要。1.1.2 开发目标酒店点菜系统(菜单:编号,名称,价格;顾客:桌号,菜单编号,份数):在饭店可以按照酒店菜单点菜,实现无服务生点菜服务。1.1.3 功能需求在酒店里有很多种菜谱,每一种菜有一个名称,对应一个唯一的编号和一个固定的单位价格。当有顾客来酒店时,顾客选择一个桌号(也是唯一的) ,由于每一个桌子上有一份菜谱,顾客可

3、以按照菜谱上有的菜来点菜。顾客在结账时应付的钱为:每种菜的单位价格相加为总的付款。其基本的流程为:顾客来酒店选择桌号按照菜谱上的菜的种类选择所需要菜的对应编号然后统计所选择菜的价格结帐付款为所有菜的2编号所相对应的价格相加并验证自己付款是否有误。1.1.4用户界面界面应简单直观,易于操作,采用图形化界面和大家熟悉的文本框、按钮、菜单等元素。1.2可行性研究1.2.1 技术可行性采用 JAVA 语言程序设计的基本知识,JAVA 语言程序设计的基本方法和基本思想,以及运用数据库对表的基本操作,常用查询语句的使用。ACCESS 对表的数据的设计;利用图形化编程和 JDBC 技术,来实现系统的简单运行

4、。1.2.2 经济可行性本系统在现行餐饮管理的基础上,建立科学的计算机餐饮管理系统数据库,用计算机工作代替以往大量的人工劳动,提高工作效率,促进餐饮自动化,适应当今科学技术飞速发展的需要。1.2.3 操作可行性本系统对客户端的硬件要求是使用支持 Java 功能 ACCESS 对表的数据的设计;利用图形化编程和 JDBC 技术,来实现系统的简单运行。根据功能需求,本系统只需要一个类,利用 ACCESS 建立一个表就可以了。通过 JAVA 与该数据表的连接关系对该表的数据进行输入,然后通过顾客对数据的随机选择来调用数据表的数据,来实现不同的功能。因此在实现上不存在困难。第二章 系统设计与编译步骤本

5、系统采用基本的 JAVA 语言编写,由于 JAVA 语言不同与 C+语言,它具有其语言的特殊性,包含很多类,基本是每一种功能为一个类。开始有主框架类,通过按钮监听事件调用别的类,完成功能的实现。2.1 用户界面的实现2.1.1本系统的主要功能模快为:(1) 。基本框架类 public class jiudian implements ActionListener,ItemListener class jiudian1 implements ActionListener class jiezhang implements ActionListener3(2) 。单选钮被点击时触发函数 publi

6、c void itemStateChanged(ItemEvent e) (3) 。主程序 public static void main(String args)throws Exception new jiudian(); new jiudian1(f); 2.1.2. 根据题目的要求和功能要求语言要调用的包如下:import java.sql.*;import javax.swing.*; /各种组件import java.awt.*;import java.awt.event.*;import javax.swing.border.*;2.1.3. 部分类的代码设计public jiu

7、dian() public jiudian1(JFrame f) /构造方法 Dialog=new JDialog(); /新建一对话框 Dialog.setTitle (“酒店管理系统“); /设置标题 Container contentPane=Dialog.getContentPane(); /获得其内容面板JPanel buttonPanel = new JPanel(); /创建一中间容器 JPanelJButton b=new JButton(“进入系统“);/创建一原子组件 按钮b.addActionListener(this);/为按钮添加事件监听器对象buttonPanel.

8、add(b);/将此按钮添加到中间容器 b=new JButton(“退出系统“); /再创建一按钮b.addActionListener(this);/为按钮增加事件监听器buttonPanel.add(b);/将按钮添加到中间容器buttonPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.green,2),“欢迎光临“,TitledBorder.CENTER,TitledBorder.TOP);contentPane.add(buttonPanel,BorderLay

9、out.CENTER);/将中间容器添加到面板Dialog.setBounds(250,250,200,200);Dialog.setVisible (true);this.f=f; / Dialog = new JDialog(f,“选择您想要的桌号和您喜欢的菜“,true);4f=new JFrame(“选择您想要的桌号和您喜欢的菜“);Container dialogPane=f.getContentPane();dialogPane.setLayout(new GridLayout(3,1);JPanel p1=new JPanel(); /新建一个 Panelp1.setLayout

10、(new GridLayout(1,5);/设置边框p1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.green,4),“选择桌号“,TitledBorder.CENTER,TitledBorder.TOP);桌号按钮为:r1=new JRadioButton(“one“); r2=new JRadioButton(“two“);r3=new JRadioButton(“three“);r4=new JRadioButton(“four“);r5=new JRadioButton

11、(“five“);菜谱按钮选择项按钮为:c1=new JRadioButton(“ 小鸡炖蘑菇,价格为:25 元/ 份“); c2=new JRadioButton(“ 青椒炒肉, 价格为:18 元/份“);c3=new JRadioButton(“ 东北火锅, 价格为:36 元/份“);c4=new JRadioButton(“ 豆腐炖鱼头,价格为:36 元/ 份“);如下图:为单选按钮增加 ItemListener 事件监听器r1.addItemListener(this); r2.addItemListener(this);r3.addItemListener(this);r4.addI

12、temListener(this);r5.addItemListener(this);c1.addItemListener(this); c2.addItemListener(this);c3.addItemListener(this);c4.addItemListener(this);数据的输入为:以选择第一桌为例:5case 1:switch(i) case 1:m=1;val=25;str=“小鸡炖蘑菇“;SQLOrder=“Insert Into jiudian Values (“+m+“,“+str+“,“+val+“)“;stmt.executeUpdate(SQLOrder);/

13、break;case 2:m=1;val=18;str=“青椒炒肉“;SQLOrder=“Insert Into jiudian Values (“+m+“,“+str+“,“+val+“)“;stmt.executeUpdate(SQLOrder);/break;case 3:m=1;val=36;str=“东北火锅“;SQLOrder=“Insert Into jiudian Values (“+m+“,“+str+“,“+val+“)“;stmt.executeUpdate(SQLOrder);/break;case 4:m=1;val=36;str=“豆腐炖鱼头“;SQLOrder=“

14、Insert Into jiudian Values (“+m+“,“+str+“,“+val+“)“;stmt.executeUpdate(SQLOrder);/break;break;结账按钮函数为:class jiezhang implements ActionListenerJDialog Dialog;JLabel L1,L2,L3,L4,L5;JTextField F1=new JTextField();jiezhang(JFrame f)Dialog = new JDialog(f,“结账“,true);Container dialogPane=Dialog.getContent

15、Pane();dialogPane.setLayout(new GridLayout(4,2);L1=new JLabel(“请输入您的桌号“,SwingConstants.CENTER);L2=new JLabel(“您总共消费了:“,SwingConstants.CENTER);L4=new JLabel(“您总共点了:“,SwingConstants.CENTER);L3=new JLabel(“,SwingConstants.CENTER);L5=new JLabel(“,SwingConstants.CENTER);dialogPane.add(L1);dialogPane.add(

16、F1);dialogPane.add(L2);dialogPane.add(L3);dialogPane.add(L4);dialogPane.add(L5);JButton b1=new JButton(“确定“);6dialogPane.add(b1);JButton b2=new JButton(“取消“);dialogPane.add(b2);b1.addActionListener(this);b2.addActionListener(this);Dialog.setBounds(400,400,300,300);Dialog.show();public void actionPer

17、formed(ActionEvent e)String cmd=e.getActionCommand();if(cmd.equals(“确定“)tryClass.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);Connection con=DriverManager.getConnection(“jdbc:odbc:jiudian“,“test“,“1234“);Statement stmt=con.createStatement();int sa=Integer.parseInt(F1.getText();ResultSet rs=stmt.executeQu

18、ery(“select sum(values) from jiudian where id=“+sa+“); while(rs.next()L3.setText(“+rs.getInt(1)+“元“); ResultSet rr=stmt.executeQuery(“select * from jiudian“);int j=0;while(rr.next() j=j+1;L5.setText(“+j+“ 份菜“); stmt.executeUpdate(“delete from jiudian wheid=“+sa+“);JOptionPane.showMessageDialog (Dial

19、og,“谢谢惠顾!“,“,JOptionPane.WARNING_MESSAGE);F1.setText(“);stmt.close();con.close();catch(Exception em) if(cmd.equals(“取消“)Dialog.dispose();如下图:7上述过程所对应的数据库中的数据为:2.4 调试分析:首先是看文件是否调入数据库包,是否和数据库建立连接,这一步很关键,关系到后面数据是否插入成功,和查询正确。(1) 查询语句是否书写正确,和数据库查询语言有着密切关系。(2) 是否为每个按钮添加监听事件,产生响应(3) 在查询显示设计中,利用表格时方法,模板是否正确

20、(4) 测试结果在设计步骤中显示。3 小结:本实验的设计是培养我们综合运用所学知识,提出,分析和解决实际问题,锻炼实践能力,提高我们用计算机 JAVA 语言编程来解决实际问题。的确,从理解题目到完成整个编程,从理论到实践,通过本程序的设计,不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。首先接触到这个问题时,就看到了这个学期学的 JAVA 语言在实际问题中的应用了,更加清楚了书本上的理论知识并不是单板的,而是将其在一定的实际问题中将理论转化为解决实际问题的方法。JAVA 语言作为一门高级实用的语言,在编程上具有很多独特的特点,通过本程序的设计,使我对java 语言有了

21、更进一步的理解和掌握,但是这只是学习 JAVA 语言的起步,要真正学好一门语言还有更深更广的知识要我去掌握,特别是 JAVA 语言中一些标准 API 接口函数。对我来说,程序是有很大难度的,但通过反复尝试,编程还是有了结果。大大激发了我的编程兴趣。8附录程序源代码:import java.sql.*;import javax.swing.*;import java.awt.*;import java.awt.event.*;import javax.swing.border.*;public class jiudian implements ActionListener,ItemListene

22、r static JFrame f=null; /因为要在 main 静态方法中被引用,所以必须设为 static 类型ButtonGroup bg; /按钮组,可组合若干单选按钮JRadioButton r1,r2,r3,r4,r5; /单选按钮JRadioButton c1,c2,c3,c4; /单选按钮int op=0;static int i=0; public jiudian() / Dialog = new JDialog(f,“选择您想要的桌号和您喜欢的菜“,true);f=new JFrame(“选择您想要的桌号和您喜欢的菜“);Container dialogPane=f.g

23、etContentPane();dialogPane.setLayout(new GridLayout(3,1);JPanel p1=new JPanel(); /新建一个 Panelp1.setLayout(new GridLayout(1,5);/设置边框p1.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.green,4),“选择桌号“,TitledBorder.CENTER,TitledBorder.TOP);/单选按钮r1=new JRadioButton(“one“);

24、r2=new JRadioButton(“two“);r3=new JRadioButton(“three“);r4=new JRadioButton(“four“);r5=new JRadioButton(“five“); p1.add(r1);p1.add(r2);p1.add(r3); p1.add(r4); p1.add(r5); bg=new ButtonGroup(); /按钮组,组合 5 个单选按钮,使一次只能选择一个bg.add(r1);bg.add(r2);bg.add(r3);bg.add(r4);bg.add(r5);r1.addItemListener(this); /

25、为单选按钮增加 ItemListener 事件监听器r2.addItemListener(this);r3.addItemListener(this);9r4.addItemListener(this);r5.addItemListener(this);JPanel p2=new JPanel(); /新建一个 Pane1p2.setLayout(new GridLayout(4,1);/设置边框p2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.green,4),“选择您喜欢的菜

26、“,TitledBorder.CENTER,TitledBorder.TOP) ;/单选钮c1=new JRadioButton(“ 小鸡炖蘑菇,价格为:25 元/份“); c2=new JRadioButton(“ 青椒炒肉, 价格为:18 元/份“);c3=new JRadioButton(“ 东北火锅, 价格为:36 元/份“);c4=new JRadioButton(“ 豆腐炖鱼头,价格为:36 元/份“); p2.add(c1);p2.add(c2);p2.add(c3); p2.add(c4); c1.addItemListener(this); /为单选按钮增加 ItemList

27、ener 事件监听器c2.addItemListener(this);c3.addItemListener(this);c4.addItemListener(this);JPanel p3=new JPanel(); /创建一个新的 Panelp3.setLayout (new GridLayout(1,2);JButton button1=new JButton(“确 定“);JButton button2=new JButton(“结 帐“);p3.add(button1); p3.add(button2);button1.addActionListener (this); button2

28、.addActionListener (this); /将三个 Panel 加在内容面板上dialogPane.add(p1,BorderLayout.NORTH);dialogPane.add(p2,BorderLayout.CENTER); dialogPane.add(p3,BorderLayout.SOUTH); f.getRootPane ().setDefaultButton (button1); /设置窗体回车对应按钮f.pack(); /排版f.setBounds(250,250,400,400);f.addWindowListener(new WindowAdapter()

29、public void windowClosing(WindowEvent evt) System.exit(0);); public void itemStateChanged(ItemEvent e) /单选钮被点击时触发 if(e.getSource()=r1) op=1; if(e.getSource()=r2) op=2;if(e.getSource()=r3) op=3; if(e.getSource()=r4) op=4;if(e.getSource()=r5) op=5; if(e.getSource()=c1) i=1;if(e.getSource()=c2) i=2;if(

30、e.getSource()=c3) i=3;if(e.getSource()=c4) i=4; public void actionPerformed(ActionEvent e) /单选按钮被点击时触发 String cmd = e.getActionCommand(); if (cmd.equals(“确 定“) tryClass.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);Connection con=DriverManager.getConnection(“jdbc:odbc:jiudian“,“test“,“1234“);10Statement s

31、tmt=con.createStatement();int m=0,val=0;String str=null;String SQLOrder; switch (op) case 1:switch(i) case 1: m=1;val=25;str=“小鸡炖蘑菇“;SQLOrder=“Insert Into jiudian Values (“+m+“,“+str+“,“+val+“)“;stmt.executeUpdate(SQLOrder);case 2 m=1;val=18;str=“青椒炒肉“;SQLOrder=“Insert Into jiudian Values (“+m+“,“+s

32、tr+“,“+val+“)“;stmt.executeUpdate(SQLOrder);case 3: m=1;val=36;str=“东北火锅“;SQLOrder=“Insert Into jiudian Values (“+m+“,“+str+“,“+val+“)“;stmt.executeUpdate(SQLOrder);case 4:m=1;val=36;str=“豆腐炖鱼头“;SQLOrder=“Insert Into jiudian Values (“+m+“,“+str+“,“+val+“)“;stmt.executeUpdate(SQLOrder) break;case 2:s

33、witch(i) case 1:m=2;val=25;str=“小鸡炖蘑菇“;SQLOrder=“Insert Into jiudian Values (“+m+“,“+str+“,“+val+“)“;stmt.executeUpdate(SQLOrder); case 2:m=2;val=18;str=“青椒炒肉“;SQLOrder=“Insert Into jiudian Values (“+m+“,“+str+“,“+val+“)“;stmt.executeUpdate(SQLOrder);case 3: m=2;val=36;str=“东北火锅“;SQLOrder=“Insert In

34、to jiudian Values (“+m+“,“+str+“,“+val+“)“;stmt.executeUpdate(SQLOrder);case 4:m=2;val=36;str=“豆腐炖鱼头“;SQLOrder=“Insert Into jiudian Values (“+m+“,“+str+“,“+val+“)“;stmt.executeUpdate(SQLOrder); case 3:switch(i) case 1: m=3;val=25;str=“小鸡炖蘑菇“;SQLOrder=“Insert Into jiudian Values (“+m+“,“+str+“,“+val+

35、“)“;stmt.executeUpdate(SQLOrder); case 2: m=3;val=18;str=“青椒炒肉“;SQLOrder=“Insert Into jiudian Values (“+m+“,“+str+“,“+val+“)“;stmt.executeUpdate(SQLOrder);case 3: m=3;val=36;str=“东北火锅“;SQLOrder=“Insert Into jiudian Values (“+m+“,“+str+“,“+val+“)“;stmt.executeUpdate(SQLOrder);case 4:m=3;val=36;str=“豆腐炖鱼头“;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。