KFC点餐系统文档.doc_第1页
KFC点餐系统文档.doc_第2页
KFC点餐系统文档.doc_第3页
KFC点餐系统文档.doc_第4页
KFC点餐系统文档.doc_第5页
免费预览已结束,剩余25页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南工业大学课 程 设 计资 料 袋 计通学院 学院(系、部) 2012 2013 学年第 2 学期 课程名称 Java程序设计 指导教师 周浩 职称 讲师 学生姓名 黄凯林 专业班级 计算机112 学号 11408100203 题 目 KFC点餐系统 成 绩 起止日期 2013年 06月24日2013年 06月30日目 录 清 单序号材 料 名 称资料数量备 注1课程设计任务书12课程设计说明书13源程序(电子文档)1456湖南工业大学课程设计任务书2012 2013学年第 2 学期 计通 学院(系、部) 计算机 专业 计算机112 班级课程名称: Java程序设计 设计题目: KFC点餐系统 完成期限:自 2013 年 06月 24日至 2013 年 06月 30日共 1 周内容及任务一、设计的任务及主要技术参数采用java技术实现的一个KFC点餐系统,该系统有一个简单的登录框,登录后会打开一个点餐界面,点餐界面可以进行点餐,点完后按下Order按钮会跳到下一界面,下一界面显示的是已经点好的菜单,以及显示出总价,最后再点确定按钮后会重新打开点餐界面。在点餐界面点好需要的餐以后,会通过把记录下的菜名传递到下一个窗口界面的文本区中,并显示出来,这样就能符合人的使用习惯。二、设计任务1) 系统分析(包括可行性分析、用户需求分析等)及功能分析;2) 系统总体功能设计;3)系统详细功能设计,采用了数据库的同学,给出数据库设计;4) 程序设计及调试;5) 设计说明书的书写。三、设计工作量可以完成一个采用java技术的简单小型系统,每人至少要投入1周的时间来完成该系统的分析与设计,撰写出项目开发各个阶段需要的文档,每人独立完成自己的系统。进度安排起止日期工作内容2013-06-24选题,完成项目计划文档2013-06-25完成可行性分析文档、需求分析文档和完成设计文档2013-06-262013-06-28编码系统测试、客户提交文档2013-06-29完成课程设计说明书2013-06-30答辩,确定等级,交文档材料(含电子文档)、源程序主要参考资料1 Y.Daniel Liang著.万波译.Java语言程序设计(基础篇)(第6版)M,北京:机械工业出版社,20092 韩万江,姜立新.软件项目管理案例教程(第2版) M. 北京: 机械工业出版社, 2010.3. 张桂珠 刘丽 陈爱国 Java面向对象程序设计(第2版)北京邮电大学出版社4 毕广吉.Java程序设计实例教程M. 北京:冶金工业出版社,2007年5 林邦杰,彻底研究java.北京:电子工业出版社,2002年指导教师(签字): 年 月 日系(教研室)主任(签字): 年 月 日 Java程序设计课程设计 设计说明书KFC点餐系统起止日期: 2013 年 06月 24日 至 2013 年 06月 30日学生姓名黄凯林班级计算机112学号11408100203成绩指导教师(签字)计算机与通信学院2013年 6月30日目录一设计目的 - 1二设计任务 - 1三设计内容 - 1一)引言 - 1二)可行性研究 - 2三)需求分析 - 3四)概要模型 - 3四、测试与评价 -8五、结论 -11附录 -12前言随着市场经济的发展,我国餐饮业已呈现出高速发展的趋势。KFC,麦当劳等餐饮随处可见,在餐饮企业发展的过程中,手工管理无论是在工作效率、人员成本还是提供决策信息方面都已经难以适应现代化经营管理的要求,因此制约了整个餐饮业的规模化发展和整体服务水平的提升。管理方式的升级,在餐饮企业中建立一套以计算机为信息管理核心的信息管理系统已经是一种潮流。所以顺应这种时代的潮流,我们设计了一个KFC点餐系统,这个KFC点餐系统能够实现点餐,并显示点的总价,简单的实现了点餐功能。一、设计目的随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统的手工点餐方法,手段以及工作效率已经不能适应新的发展需求,无法方面的完成点餐流程。提高点餐效率的途径是运用先进的信息技术,开发以KFC点餐为例的点餐系统,是改进点餐工作的有利措施。针对餐饮企业现有的手工点餐工作,设计了KFC点餐系统,实现点餐工作电子化,减轻员工的工作负担。利用这一系统,无论员工还是顾客都快速地完成点餐,节省时间,同时也避免人为错误。点餐工作时餐饮企业最重要的一流程,点餐工作能影响到企业的正常运行。本系统实现点餐工作的自动化,提高点餐工作效率,节省点餐时间,采用JAVA语言进行程序编制。二、设计任务1 任务 KFC点餐系统使用了全新的登录界面,系统符合人的美观,从登录窗口到点餐界面,界面设计都符合人文思想,以及符合人的使用习惯,简单简洁的设计界面,能基本满足点餐工作的实现。2 要求:1)、实现管理人员登录窗口登录 2)、点餐功能正常运行,并记录所点的菜名,并最后显示出以便确认。三、设计内容一)引言随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。现在我国的餐饮企业大部门还普遍停留在人工点餐上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代,这种传统的点餐方法必然被计算机为基础的信息管理所取代。通过调查,要求熊具有登录模块,然后员工按照客户需求进行点餐,最后会进行一个反馈,一反馈给员工进行确认客户的点餐,一个反馈到厨房一般菜的制作。本课程设计使用JAVA语言实现KFC点餐系统的实现,员工通过点餐界面完成点餐工作。二)可行性分析1、经济可行性现在计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为KFC管理的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动; 第二,本系统的运行可以节省许多资源; 第三,本系统的运行可以大大的提高组织者的工作效率,等等。所以,本系统在经济上是可行的。 2、技术可行性目前,计算机及网络技术在国内外大型的快餐企业和快餐专卖店已广泛使用;国内的各大餐饮业也都使用计算机管理,用计算机管理KFC的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了KFC产品资料的安全性。提高了管理者的管理能力,为此,用计算机来管理KFC的信息,是非常必要的。KFC管理需要具有良好技术人员,只有掌握系统的操作方法才能更好的而又合理的运用本系统。无论是操作方面,还是管理方面都占优势,该技术的可行的。本管理系统利用计算机信息处理的迅速、准确、可靠且有强大存储能力的突出特点,全面提高经营者的管理水平和工作效率,并且及时、完整的业务经营资料,提高了工作的准确率和效率。3、营运可行性按照人性化设计的原则,用户界面友好、操作灵活简便并提供向导功能。系统整体结构设计合理,数据处理功能齐备,界面清晰友好,操作简便使用户无需经过计算机专门训练就能胜任。4、结论技术、经济、营运都有可行性,可以进行开发。三)需求分析1、功能需求本管理系统主要有三个功能,第一个功能是要做一个登陆框,方便为员工登陆,第二个功能是点餐系统,能记录下客户所点的餐的总价,以及客户点的内容,第三个功能是最后的结账界面,显示出刚才客户点的所有菜名,以及总价,最后员工点确定按钮后就可以回到点餐系统界面。2、性能需求本系统的各种操作简单明了,操作人员不需要进行专业培训。KFC点餐系统为组织者提供一个简洁方便的方式来经营管理KFC,通过简单的鼠标点击来完成繁琐的销售工作,保证肯德基正常流畅的经营。四)概要设计经过需求分析阶段的工作,系统必顺做什么已经清楚了,现在是决定怎样做的时候了。总体设计的基本目的就是回答概括地说,系统应该如何实现?这个问题,因此,总体设计又称为概要设计或初步设计。 本系统设计采用了面向对象的系统设计方法,开发工具选用的Eclipse。根据前面的设计思路和系统功能分析,总共设计了登录窗口、点餐界面、结账界面几个模块。系统主模块层次图如下图所示:点餐完成登录窗口结账界面点餐系统主界面登录失败登录成功KFC点餐系统五)详细设计及功能实现KFC点餐系统是用JAVA语言编程,系统是基于本地的KFC点餐系统,在系统中分为三个方面:一是登录,二是点餐界面,三是结账界面。1、登录界面:该页面时进入KFC点餐系统的入口,用户必须先该页面中正确地输入用户名和密码,本系统中用户名为“test”,密码“test”,点击“登录”,登录按钮监听到点击事件后将该页面的文本区中的用户名和密码提交给KFCShow这个类然后,KFCShow类判断用户名和密码是否正确,如果正确,将调用点餐系统主界面,如果用户名和密码不正确,则先判断用户名和密码是否为空,如果为空,则弹出窗口提示,用户名或密码不能为空,如果用户名和密码不为空,则弹出窗口提示,用户名和密码错误。如果点击“取消”,则系统会关闭。2、点餐系统界面:该页面时成功登陆系统后进入的界面,在这个界面中,可以看到有,在右上角,有一个“欢迎使用KFC点餐系统界面” ,紧接着下面,有一个日期和时间,然后再中间部分,显示出的一个是菜单选项,再往下面,是一个总价的计数框,然后有一个Order按钮和Cancel按钮。在进入到这个点餐界面后,当需要点哪种餐时,只需要点击那个菜名选中就已经成功点了这个菜,如果点错了或者不想要,可以再点击一次进行退选。在界面的中间下方中的总价计数框中,每选一个菜的时候,里面的价格都会相应的实时地变动。如果在本次操作中,没有选择任何食物,当点下“Order”按钮的时候,会弹出注意窗口,并提示文字“还没有选择任何事物”,在这个注意窗口中,再点击“确定”按钮后,就会回到点餐系统主界面中。当不想选择任何食物的时候,按下“Cancel”后,会退出整个点餐系统。3、结账界面:在点餐系统界面中选完所需要的食物后,按下“Order”按钮后,会跳转到结账界面中,在结账界面中我们可以看到有一个文本区,文本区中,显示了刚才客户所点的所有的内容,并且下面仍有一个总价,这样在客户结账的时候,员工可以和客户进行确认刚才所点的内容,同时也为了更好的结账,当结账完成后,点击“确定”按钮,就会回到刚才的点餐系统界面。主要实现代码:public class KFCShow implements ActionListenerpublic void actionPerformed(ActionEvent e)if (e.getSource().equals(okButton)if (nameText).getText().equals(test) & (new String(passwordText.getPassword().equals(test)KFC_ORDER test=new KFC_ORDER();test.text.setText();dispose();else if(nameText.getText().equals() | new String(passwordText.getPassword().equals()JOptionPane.showConfirmDialog(null,用户名或密码不能为空,错误,JOptionPane.CLOSED_OPTION,JOptionPane.WARNING_MESSAGE);elseJOptionPane.showConfirmDialog(null,用户名或密码错误,错误,JOptionPane.CLOSED_OPTION,JOptionPane.WARNING_MESSAGE);nameText.setText();passwordText.setText();elseSystem.exit(0);public class Login public static void main(String args)LoginDialog login=new LoginDialog(KFC点餐系统登录);login.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);login.pack();/login.setBounds(400,500,200,120);login.setLocation(400, 200);login.setSize(500,200);login.setModal(true);login.setVisible(true);private class ButtonClick extends MouseAdapter/点击ORDER按钮事件public void mouseClicked(MouseEvent e)if (e.getSource().equals(order)if(accounttext.getText().equals($0)JOptionPane.showConfirmDialog(null,还没有选择任何食物,注意,JOptionPane.CLOSED_OPTION,JOptionPane.WARNING_MESSAGE); else/往文本区中添加菜名if(frag1) text.append(rad1.getText(); if(frag2) text.append(rad2.getText();if(frag3) text.append(rad3.getText();if(frag4) text.append(rad4.getText();if(frag5) text.append(rad5.getText();if(frag6) text.append(rad6.getText();if(frag7) text.append(rad7.getText();if(frag8) text.append(rad8.getText();KFC_account list=new KFC_account(accounttext,text);dispose();elseSystem.exit(0);public class KFC_account extends JFrame Container m;JButton ok=new JButton(确定);JLabel account=new JLabel(总计);public KFC_account(JTextField accounttext,JTextArea text )this.setResizable(false);this.setLocation(500, 250);this.setSize(220,250);this.setVisible(true);this.setTitle(谢谢惠顾);m=getContentPane();JPanel jpmian=new JPanel();text.setLineWrap(true);jpmian.add(text);jpmian.add(account);jpmian.add(accounttext);jpmian.add(ok);ok.addMouseListener(new OKClick();setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);m.add(jpmian);四、测试与评价登陆窗口登陆失败的两种提示点餐系统主界面选择食物没有选择食物然后按下“Order”按钮,弹出注意框进入结账界面五、结论随着计算机技术的普及和网络的发展,越来越多的餐饮企业开始重视信息化建设,利用先进的计算机网络技术对点餐工作进行管理,提高工作效率,减少人力资源的浪费。本人结合KFC点餐工作具体工作需求,开发了一套简易的KFC点餐系统。本系统经多次测试,能正常运行。基本上实现了点餐功能,目前运行良好。综上详细阐述了本系统的整个开发过程和实现功能,能够进行KFC点餐工作的信息化,整体界面美观大方,完成了KFC对点餐工作的要求,试用一系列的餐饮企业。本系统的应用,将会使餐饮员工提高工作效率,节省客户点餐时间。在本系统的开发过程中,由于本人是开发软件知识和经验都不足。因此,该系统仍缺少某些方面的功能,以后有机会再知识以及经验有了一定程度后会完善相应的功能。附录源代码清单/* Login.class文件内代码 */package com;import javax.swing.JFrame;public class Login public static void main(String args)LoginDialog login=new LoginDialog(KFC点餐系统登录);login.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);login.pack();/login.setBounds(400,500,200,120);login.setLocation(400, 200);login.setSize(500,200);login.setModal(true);login.setVisible(true);/* LoginDialog.class文件内代码 */package com;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class LoginDialog extends JDialogJButton okButton;private JButton cancelButton;private JTextField nameText;private JPasswordField passwordText;private JLabel nameLabel,passwordLabel;private Container c;public LoginDialog(String title)this.setTitle(title);c=getContentPane();JPanel jpmian1=new JPanel(); /登陆界面分为3个面板,一个底面板,一个图片区面板,一个登陆面板JPanel jpmian2=new JPanel();JPanel jpicture=new JPanel();JPanel jplogin1=new JPanel();JPanel jplogin2=new JPanel();okButton=new JButton(登陆);okButton.addActionListener(new KFCShow();cancelButton=new JButton(取消);cancelButton.addActionListener(new KFCShow();nameText=new JTextField(10);nameLabel=new JLabel(用户名);passwordLabel=new JLabel(密码);passwordText=new JPasswordField(10);ImageIcon image=new ImageIcon(img/kfc_index.jpg);JLabel p1=new JLabel(image); this.getLayeredPane().add(p1,new Integer(Integer.MIN_VALUE); p1.setBounds(0,0,image.getIconWidth(),image.getIconHeight(); (JPanel)getContentPane().setOpaque(false); jpmian1.setLayout(new GridLayout(1,2); /底面板添加jpmian1.add(jpicture,BorderLayout.WEST);jpmian1.add(jpmian2,BorderLayout.EAST);jpmian2.add(jplogin1,BorderLayout.NORTH);jpmian2.add(jplogin2,BorderLayout.SOUTH);jpicture.add(p1); /图片区添加图片jplogin1.setLayout(new GridLayout(2,2);jplogin1.add(nameLabel);jplogin1.add(nameText);jplogin1.add(passwordLabel);jplogin1.add(passwordText);jplogin2.add(okButton);jplogin2.add(cancelButton);setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);c.add(jpmian1);public class KFCShow implements ActionListenerpublic void actionPerformed(ActionEvent e)if (e.getSource().equals(okButton)if (nameText).getText().equals(test) & (new String(passwordText.getPassword().equals(test)/KFC_ORDER test=new KFC_ORDER(麦当劳点餐系统);KFC_ORDER test=new KFC_ORDER();test.text.setText();dispose();else if(nameText.getText().equals() | new String(passwordText.getPassword().equals()JOptionPane.showConfirmDialog(null,用户名或密码不能为空,错误,JOptionPane.CLOSED_OPTION,JOptionPane.WARNING_MESSAGE);elseJOptionPane.showConfirmDialog(null,用户名或密码错误,错误,JOptionPane.CLOSED_OPTION,JOptionPane.WARNING_MESSAGE);nameText.setText();passwordText.setText();elseSystem.exit(0);/* KFC_ORDER.class文件内代码 */package com;import java.awt.BorderLayout;import java.awt.Container;import java.awt.FlowLayout;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.text.SimpleDateFormat;import java.util.Date;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JDialog;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JRadioButton;import javax.swing.JTextArea;import javax.swing.JTextField;public class KFC_ORDER extends JFramestatic Container m;JButton order=new JButton(Order);JButton cancel=new JButton(Cancel);JPanel jpmian=new JPanel();JPanel jpmian1=new JPanel();JPanel jpmian2=new JPanel();JPanel jpmian3=new JPanel();ImageIcon image1=new ImageIcon(img/kfc_up.jpg);JLabel jpltitle=new JLabel();JLabel jpltitletext=new JLabel(欢迎使用KFC点餐系统);JLabel jltime=new JLabel();int intTime=0;public JRadioButton rad1=new JRadioButton(川香双层猪扒堡(24元)n);public JRadioButton rad2=new JRadioButton(川辣嫩牛卷(18元)n);public JRadioButton rad3=new JRadioButton(醇豆浆甜(冰)(6元)n);public JRadioButton rad4=new JRadioButton(巧克力爆珠珠奶茶(6元)n);public JRadioButton rad5=new JRadioButton(新奥尔良烤腿堡(22元)n);public JRadioButton rad6=new JRadioButton(意式萃蔬烤鸡腿饭(16元)n);public JRadioButton rad7=new JRadioButton(土豆泥(5元)n);public JRadioButton rad8=new JRadioButton(葡式蛋挞(黄桃)(6元)n);public JRadioButton rad9=new JRadioButton(香辣鸡翅(8元)n);public boolean frag1;public boolean frag2;public boolean frag3;public boolean frag4;public boolean frag5;public boolean frag6;public boolean frag7;public boolean frag8;JLabel accountname=new JLabel(总计);JTextField accounttext=new JTextField($0,6);JTextArea text=new JTextArea(8,18);public KFC_ORDER()this.setTitle(KFC点餐系统);this.setResizable(false);this.setBounds(300,120,650,500);this.setVisible(true);m=getContentPane();jpmian.setLayout(new GridLayout(2,1);jpmian.add(jpmian1,BorderLayout.NORTH);jpmian.add(jpmian2,BorderLayout.SOUTH);jpltitle.setIcon(image1);jpmian1.setLayout(new GridLayout(1,2);jpltitle.setBounds(0,0,50,50);jpltitletext.setFont(new Font(serif,Font.PLAIN,30);jpmian1.add(jpltitle,BorderLayout.EAST);jpmian1.add(jpmian3,BorderLayout.WEST);jpmian3.setLayout(new GridLayout(3,1);jpmian3.add(jpltitletext);jpmian3.add(jltime,BorderLayout.NORTH);jpmian2.add(rad1);jpmian2.add(rad2);jpmian2.add(rad3);jpmian2.add(rad4);jpmian2.add(rad5);jpmian2.add(rad6);jpmian2.add(rad7);jpmian2.add(rad8);jpmian2.add(accountname);jpmian2.add(accounttext);jpmian2.add(order);jpmian2.add(cancel);/设置价格文本框不能填写accounttext.setEditable(false);/添加复选框按钮事件rad1.addItemListener(new AddPrice();rad2.addItemListener(new AddPrice();rad3.addItemListener(new AddPrice();rad4.addItemListener(new AddPrice();rad5.addItemListener(new AddPrice();rad6.addItemListener(new AddPrice();rad7.addItemListener(new AddPrice();rad8.addItemListener(new AddPrice();/添加ORDER,CANCEL按钮事件order.addMouseListener(new ButtonClick();cancel.addMouseListener(new ButtonClick();setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);new GetDate();m.add(jpmian);class AddPrice implements ItemListener/设置复选按钮的点击事件public void itemStateChanged(ItemEvent e)String s=accounttext.getText();if(e.getSource()=rad1)if(e.getStateChange()=1)accounttext.setText($+ (String.valueOf(Integer.parseInt(s.substring(1,s.length()+24);frag1=true;elseaccounttext.setText($+ (String.valueOf(Integer.parseInt(s.substring(1,s.length()-24);frag1=false;else if(e.getSource()=rad2)if(e.getStateChange()=1)accounttext.setText($+ (String.valueOf(Integer.parseInt(s.substring(1,s.length()+18);frag2=true;elseaccounttext.setText($+ (String.valueOf(Integer.parseInt(s.substring(1,s.length()-18);frag2=false;else if(e.getSource()=rad3)if(e.getStateChange()=1)accounttext.setText($+ (String.valueOf(Integer.parseInt(s.substring(1,s.length()+6);frag3=true;elseaccounttext.setText($+ (String.valueOf(Integer.parseInt(s.substring(1,s.length()-6);frag3=false;else if(e.getSource()=rad4)if(e.getStateChange()=1)accounttext.setText($+ (String.valueOf(Integer.parseInt(s.substring(1,s.length()+6);frag4=true;elseaccounttext.setText($+ (String.valueOf(Integer.parseInt(s.substring(1,s.length()-6);frag4=false;else if(e.getSource()=rad5)if(e.getStateChange()=1)accounttext.setText($+ (String.valueOf(Integer.parseInt(s.substring(1,s.length()+22);frag5=true;elseaccounttext.setText($+ (String.valueOf(Integer.parseInt(s.substring(1,s.length()-22);frag5=false;else if(e.getSource()=rad6)if(e.getStateChange()=1)accounttext.setText($+ (String.valueOf(Integer.parseInt(s.substring(1,s.length()+16);frag6=true;elseaccounttext.setText($+ (String.valueOf(Integer.parseInt(s.substring(1,s.length()-16);frag6=false;else if(e.getSource()=rad7)if(e.getS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论