基于Java的订餐系统设计与实现课程设计说明书_第1页
基于Java的订餐系统设计与实现课程设计说明书_第2页
基于Java的订餐系统设计与实现课程设计说明书_第3页
基于Java的订餐系统设计与实现课程设计说明书_第4页
基于Java的订餐系统设计与实现课程设计说明书_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、基于Java的订餐系统设计与实现客户端详细设计1.设计分析顾客模块的主要功能是浏览,订餐。浏览与自己相关的食品信息,订单信息等。用户要下订单之前临时美食车把详细信息列出,物品的单价,购买的数量,总共的价钱,可修改购买,当符合顾客要求的时候,顾客就可以下订单,下订单时首先会先到commitfood.aspx让用户确定一下订单是否付合要求,确认无误后,进入checkout.aspx填写接收信息后生成订单。然后由AddbuyInfo,Addbuyinfo方法对数据库进行操作完成的。顾客模块详细设计主要涉及到顾客下订单和食品搜索两大功能顾客可以通过此功能对自己选中的东西下订单,等待服务商送货。1. 菜

2、品浏览:可以分页浏览菜品菜品,并将想要的菜品提交到填写订单页面。然后系统打出此次订购的编号2.订购菜品:用户根据自己的编号可以在该页面定购所需要的菜品3查看订单:用户根据自己的编号在该页修改已经订购的菜品。4.修改订单:在该页修改或删除已经订购的菜品。5.菜品查询:用户根据自己的订购编号可以在该页查找自己需要的菜品。2.顾客下订单流程图: 顾客订单确认显示购物车修改订单 不购买此商品结束操作登录 图1 顾客下单流程图据图删除购物车信息提示错误验证登陆用户id是否正确NY确认结账NY返回订单生成提示错误YN通过提供食品搜索控件,为顾客提供更为方便快捷的服务。顾客可以快速的找到自己想要下订的美食。

3、3.搜索流程图如图4-3所示:判断txtSearch 是否为空开始键入FoodSearch搜索控件User_SearchReault页dlSearchBind()结束提示输入图2 搜索模块程序流程图数据库查找匹配成功提示未找到4.Java swing做登陆界面:1. 容器类JFrame窗体类JPanel面板类JMenuBar菜单类2. 元素类JTextField文本输入框类JPasswordField密码输入框类JButton按钮类JCheckBox复选框类JComboBox下拉列表JLabel标签类3.布局类使用FlowLayout流式布局类4.Socket API:.Accept方法:产生

4、“阻塞”,直到接受到一个连接,并且返回一个客户端的Socket对象实例。.getinputStream方法:获得网络连接输入.getOutputStream方法:连接的另一端将得到输入,同时返回一个OutputStream对象实例。客户端开发原理:使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开对话;会话结束后,关闭Socket。客户端不需要制定打开的端口,通常临时的、动态的分配一个1024以上的端口。5. 主要代码1.主界面: setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE)

5、; setTitle("顾客-网络订餐系统"); setBackground(new java.awt.Color(255, 255, 255); nearby.setText("附近小吃"); nearby.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) nearbyMouseClicked(evt); ); suggest.setText("今日推荐"); sugge

6、st.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) suggestMouseClicked(evt); ); myorder.setText("我的订单"); myorder.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) myorderMous

7、eClicked(evt); ); myorder.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) myorderActionPerformed(evt); ); all.setText("全部"); all.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.Mous

8、eEvent evt) allMouseClicked(evt); ); meat.setText("饭类"); meat.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) meatMouseClicked(evt); ); noodle.setText("面类"); noodle.addMouseListener(new java.awt.event.MouseAdapter() publi

9、c void mouseClicked(java.awt.event.MouseEvent evt) noodleMouseClicked(evt); ); west.setText("西餐"); west.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) westMouseClicked(evt); ); drink.setText("饮料"); drink.addMouseListener

10、(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) drinkMouseClicked(evt); ); other.setText("其他"); other.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) otherMouseClicked(evt); ); controlcent

11、er.setText("个人中心"); controlcenter.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) controlcenterActionPerformed(evt); );2.订单信息 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("我的订单"); j

12、Label1.setFont(new java.awt.Font("微软雅黑", 0, 24); / NOI18N jLabel1.setText("我的订单"); jLabel2.setText("支付状况:"); jLabel3.setText("未支付"); jButton1.setText("确认收货"); jButton1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(

13、java.awt.event.ActionEvent evt) jButton1ActionPerformed(evt); ); jButton2.setText("取消"); jButton2.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton2ActionPerformed(evt); ); jPanel1.setBorder(javax.swing.BorderFactory.c

14、reateEtchedBorder(); jCheckBox1.setText("COCO咖啡"); jCheckBox1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jCheckBox1ActionPerformed(evt); ); jCheckBox2.setText("铁板牛肉"); jCheckBox3.setText("木须肉盖浇饭"); j

15、avax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(j

16、Panel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jCheckBox1) .addComponent(jCheckBox2) .addComponent(jCheckBox3) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax

17、.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(jCheckBox1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jCheckBox2) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .

18、addComponent(jCheckBox3) .addContainerGap(207, Short.MAX_VALUE) ); jButton3.setText("删除选中"); jLabel4.setText("总价:"); jTextField1.setEditable(false); jTextField1.setText("48"); jTextField1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(

19、java.awt.event.ActionEvent evt) jTextField1ActionPerformed(evt); );顾客界面订单生成界面:订单查看界面:文件操作:服务器管理员详细设计1.编写目的编写此文档的目的是为了让管理员更加便捷的管理软件及用户的信息,方便订餐系统的实现。2.系统模块详细设计本系统总共有两大模块,分别是顾客模块,管理员模块。每个模块分别有不同的权限和使用功能。3.登陆模块的流程图开始 用户名密码 是否合法NY结束1-1登陆流程图4.管理员模块详细设计管理员:查看用户订单,查看用户信息,并根据用户信息和用户订单对菜 品进行发派。管理员可以通过订单管理功能来处

20、理日常的订单。管理员订单处理程序流程图:管理员登录提示错误验证登陆用户id是否正确N绑定数据库信息信息绑定无误更新数据库结束操作选择具体订单显示订单订单管理操作图1-2 管理员订单处理程序流程图管理员可以通过此功能模块添加想要添加的各种信息,比如订单处理等功能。开始Session“AID”是否为空添加输入框是否为空Class ManagerClassAddadmin()验证管理员用户是否已存在添加到数据库结束提示登录提示输入提示重新输入图1-3 管理员添加程序流程图通过提供美食搜索控件,为顾客提供更为方便快捷的服务。顾客可以快速的找到自己想要下订的美食。搜索流程图如图1-4所示:判断txtSe

21、arch 是否为空开始键入FoodSearch搜索控件User_SearchReault页dlSearchBind()结束提示输入图1-4 搜索模块程序流程图数据库查找匹配成功提示未找到5.所需要的技术管理员登陆界面Login界面的设计:Java Swing做登陆界面:1.容器类JFrame窗体类JPanel面板类JMenuBar菜单类2.元素类JTextField文本输入框类JPasswordField密码输入框类JButton按钮类JCheckBox复选框类JComboBox下拉列表JLabel标签类3、布局类使用FlowLayout流式布局类通信使用Socket API.Accept方法

22、服务器端使用ServerSocket监听指定的端口(大于1024的端口),等待客户连接请求,客户连接后,会产生对话,在完成对话后,关闭连接。客户端服务器之间连接用Socket服务器内存管理(dll)项目名Checkcheck.javalogin.javaindexJFrame.javaindexmanage.javamanage.javaacounting.javacontrolcenter.javamyorder.javaicon.java6. 主要代码: 1.登录界面 jButton2.setText("登录"); jButton2.addActionListener(

23、new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton2ActionPerformed(evt); );2.管理界面 jPasswordField1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jPasswordField1ActionPerformed(evt)

24、; ); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle("店铺信息"); jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder(); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHor

25、izontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 95, Short.MAX_VALUE) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 110, Short.MAX_VALUE) ); scream.setAutoscrolls(true);

26、javax.swing.GroupLayout screamLayout = new javax.swing.GroupLayout(scream); scream.setLayout(screamLayout); screamLayout.setHorizontalGroup( screamLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 612, Short.MAX_VALUE) ); screamLayout.setVerticalGroup( screamLayout.cre

27、ateParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 289, Short.MAX_VALUE) ); other.setText("其他"); other.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) otherMouseClicked(evt); ); drink.setText("饮料"); dr

28、ink.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) drinkMouseClicked(evt); ); noodle.setText("面类"); noodle.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) noodleMouseClicked(evt); ); west.setText("西餐"); west.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.ev

温馨提示

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

评论

0/150

提交评论