基于Java的订餐系统设计与实现课程设计说明书.docx

上传人:b****7 文档编号:16460829 上传时间:2023-07-13 格式:DOCX 页数:23 大小:151.16KB
下载 相关 举报
基于Java的订餐系统设计与实现课程设计说明书.docx_第1页
第1页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第2页
第2页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第3页
第3页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第4页
第4页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第5页
第5页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第6页
第6页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第7页
第7页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第8页
第8页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第9页
第9页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第10页
第10页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第11页
第11页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第12页
第12页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第13页
第13页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第14页
第14页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第15页
第15页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第16页
第16页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第17页
第17页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第18页
第18页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第19页
第19页 / 共23页
基于Java的订餐系统设计与实现课程设计说明书.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Java的订餐系统设计与实现课程设计说明书.docx

《基于Java的订餐系统设计与实现课程设计说明书.docx》由会员分享,可在线阅读,更多相关《基于Java的订餐系统设计与实现课程设计说明书.docx(23页珍藏版)》请在冰点文库上搜索。

基于Java的订餐系统设计与实现课程设计说明书.docx

基于Java的订餐系统设计与实现课程设计说明书

基于Java的订餐系统设计与实现

客户端详细设计

1。

设计分析

顾客模块的主要功能是浏览,订餐。

浏览与自己相关的食品信息,订单信息等。

用户要下订单之前临时美食车把详细信息列出,物品的单价,购买的数量,总共的价钱,可修改购买,当符合顾客要求的时候,顾客就可以下订单,下订单时首先会先到commitfood。

aspx让用户确定一下订单是否付合要求,确认无误后,进入checkout。

aspx填写接收信息后生成订单。

然后由AddbuyInfo,Addbuyinfo方法对数据库进行操作完成的。

顾客模块详细设计主要涉及到顾客下订单和食品搜索两大功能

顾客可以通过此功能对自己选中的东西下订单,等待服务商送货.

1。

菜品浏览:

可以分页浏览菜品菜品,并将想要的菜品提交到填写订单页面。

然后系统打出此次订购的编号

2.订购菜品:

用户根据自己的编号可以在该页面定购所需要的菜品

3.查看订单:

用户根据自己的编号在该页修改已经订购的菜品。

4.修改订单:

在该页修改或删除已经订购的菜品。

5.菜品查询:

用户根据自己的订购编号可以在该页查找自己需要的菜品.

2。

顾客下订单流程图:

通过提供食品搜索控件,为顾客提供更为方便快捷的服务.顾客可以快速的找到自己想要下订的美食。

3.搜索流程图如图4-3所示:

4。

Javaswing做登陆界面:

1.容器类

JFrame窗体类

JPanel面板类

JMenuBar菜单类

2.元素类

JTextField文本输入框类

JPasswordField密码输入框类

JButton按钮类

JCheckBox复选框类

JComboBox下拉列表

JLabel标签类

3。

布局类

使用FlowLayout流式布局类

4.SocketAPI:

Accept方法:

产生“阻塞”,直到接受到一个连接,并且返回一个客户端的Socket对象实例。

.getinputStream方法:

获得网络连接输入。

.getOutputStream方法:

连接的另一端将得到输入,同时返回一个OutputStream对象实例。

客户端开发原理:

使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开对话;会话结束后,关闭Socket.客户端不需要制定打开的端口,通常临时的、动态的分配一个1024以上的端口.

5.主要代码

1。

主界面:

setDefaultCloseOperation(javax.swing。

WindowConstants。

EXIT_ON_CLOSE);

setTitle(”顾客-网络订餐系统");

setBackground(newjava.awt.Color(255,255,255));

nearby.setText(”附近小吃");

nearby。

addMouseListener(newjava.awt.event。

MouseAdapter()

publicvoidmouseClicked(java。

awt.event.MouseEventevt)

{

nearbyMouseClicked(evt);

}

);

suggest。

setText("今日推荐");

suggest.addMouseListener(newjava.awt。

event。

MouseAdapter()

publicvoidmouseClicked(java.awt.event。

MouseEventevt)

suggestMouseClicked(evt);

}

}

);

myorder。

setText(”我的订单");

myorder。

addMouseListener(newjava.awt。

event。

MouseAdapter()

publicvoidmouseClicked(java.awt.event。

MouseEventevt)

{

myorderMouseClicked(evt);

}

);

myorder.addActionListener(newjava。

awt.event.ActionListener()

publicvoidactionPerformed(java.awt。

event.ActionEventevt)

myorderActionPerformed(evt);

);

all。

setText(”全部”);

all.addMouseListener(newjava。

awt.event.MouseAdapter()

{

publicvoidmouseClicked(java。

awt。

event。

MouseEventevt)

allMouseClicked(evt);

}

);

meat。

setText("饭类”);

meat.addMouseListener(newjava。

awt。

event.MouseAdapter()

{

publicvoidmouseClicked(java.awt.event.MouseEventevt)

meatMouseClicked(evt);

}

);

noodle.setText("面类");

noodle。

addMouseListener(newjava.awt.event。

MouseAdapter()

{

publicvoidmouseClicked(java。

awt。

event.MouseEventevt)

noodleMouseClicked(evt);

}

);

west.setText(”西餐");

west。

addMouseListener(newjava。

awt.event.MouseAdapter()

{

publicvoidmouseClicked(java.awt.event。

MouseEventevt)

{

westMouseClicked(evt);

}

}

);

drink。

setText("饮料");

drink.addMouseListener(newjava.awt。

event。

MouseAdapter()

{

publicvoidmouseClicked(java.awt.event。

MouseEventevt)

drinkMouseClicked(evt);

}

);

other.setText("其他”);

other。

addMouseListener(newjava。

awt。

event。

MouseAdapter()

{

publicvoidmouseClicked(java。

awt。

event。

MouseEventevt)

otherMouseClicked(evt);

}

);

controlcenter。

setText(”个人中心");

controlcenter.addActionListener(newjava。

awt。

event.ActionListener()

{

publicvoidactionPerformed(java.awt。

event.ActionEventevt)

controlcenterActionPerformed(evt);

}

);

2.订单信息

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle(”我的订单”);

jLabel1.setFont(newjava。

awt。

Font(”微软雅黑",0,24));//NOI18N

jLabel1.setText(”我的订单");

jLabel2.setText(”支付状况:

”);

jLabel3。

setText(”未支付”);

jButton1。

setText("确认收货");

jButton1.addActionListener(newjava.awt。

event。

ActionListener()

publicvoidactionPerformed(java.awt.event.ActionEventevt)

{

jButton1ActionPerformed(evt);

}

);

jButton2。

setText(”取消”);

jButton2.addActionListener(newjava.awt。

event。

ActionListener()

{

publicvoidactionPerformed(java.awt。

event.ActionEventevt)

jButton2ActionPerformed(evt);

}

}

);

jPanel1.setBorder(javax。

swing。

BorderFactory.createEtchedBorder());

jCheckBox1。

setText("COCO咖啡");

jCheckBox1.addActionListener(newjava.awt。

event.ActionListener()

{

publicvoidactionPerformed(java.awt。

event.ActionEventevt)

jCheckBox1ActionPerformed(evt);

}

);

jCheckBox2.setText(”铁板牛肉”);

jCheckBox3.setText("木须肉盖浇饭");

javax。

swing.GroupLayoutjPanel1Layout=newjavax。

swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout。

setHorizontalGroup(

jPanel1Layout。

createParallelGroup(javax。

swing。

GroupLayout。

Alignment.LEADING)

.addGroup(jPanel1Layout。

createSequentialGroup()

addContainerGap()

addGroup(jPanel1Layout。

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。

swing。

GroupLayout。

Alignment。

LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

addContainerGap()

.addComponent(jCheckBox1)

.addPreferredGap(javax。

swing。

LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jCheckBox2)

addPreferredGap(javax。

swing.LayoutStyle。

ComponentPlacement。

UNRELATED)

.addComponent(jCheckBox3)

.addContainerGap(207,Short。

MAX_VALUE))

);

jButton3。

setText(”删除选中");

jLabel4。

setText(”总价:

”);

jTextField1.setEditable(false);

jTextField1.setText(”48”);

jTextField1.addActionListener(newjava.awt.event。

ActionListener()

publicvoidactionPerformed(java。

awt.event.ActionEventevt)

jTextField1ActionPerformed(evt);

);

顾客界面

订单生成界面:

订单查看界面:

文件操作:

服务器管理员详细设计

1.编写目的

编写此文档的目的是为了让管理员更加便捷的管理软件及用户的信息,方便订餐系统的实现。

2。

系统模块详细设计

本系统总共有两大模块,分别是顾客模块,管理员模块.每个模块分别有不同的权限和使用功能。

3。

登陆模块的流程图

 

N

Y

1-1登陆流程图

4.管理员模块详细设计

管理员:

查看用户订单,查看用户信息,并根据用户信息和用户订单对菜品进行发派。

管理员可以通过订单管理功能来处理日常的订单.

管理员订单处理程序流程图:

管理员可以通过此功能模块添加想要添加的各种信息,比如订单处理等功能。

通过提供美食搜索控件,为顾客提供更为方便快捷的服务。

顾客可以快速的找到自己想要下订的美食。

搜索流程图如图1-4所示:

5.所需要的技术

管理员登陆界面Login界面的设计:

JavaSwing做登陆界面:

1.容器类

JFrame窗体类

JPanel面板类

JMenuBar菜单类

2。

元素类

JTextField文本输入框类

JPasswordField密码输入框类

JButton按钮类

JCheckBox复选框类

JComboBox下拉列表

JLabel标签类

3、布局类

使用FlowLayout流式布局类

通信使用SocketAPI

.Accept方法

服务器端使用ServerSocket监听指定的端口(大于1024的端口),等待客户连接请求,客户连接后,会产生对话,在完成对话后,关闭连接.

客户端服务器之间连接用Socket

服务器内存管理(dll)

6.主要代码:

1.登录界面

jButton2.setText(”登录”);

jButton2。

addActionListener(newjava。

awt.event.ActionListener()

publicvoidactionPerformed(java。

awt.event。

ActionEventevt)

{

jButton2ActionPerformed(evt);

);

2.管理界面

jPasswordField1.addActionListener(newjava。

awt.event。

ActionListener()

{

publicvoidactionPerformed(java.awt.event.ActionEventevt)

jPasswordField1ActionPerformed(evt);

}

);

setDefaultCloseOperation(javax。

swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("店铺信息”);

jPanel1.setBorder(javax。

swing.BorderFactory.createEtchedBorder());

javax.swing.GroupLayoutjPanel1Layout=newjavax。

swing.GroupLayout(jPanel1);

jPanel1。

setLayout(jPanel1Layout);

jPanel1Layout。

setHorizontalGroup(

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);

javax。

swing.GroupLayoutscreamLayout=newjavax.swing。

GroupLayout(scream);

scream。

setLayout(screamLayout);

screamLayout。

setHorizontalGroup(

screamLayout.createParallelGroup(javax.swing。

GroupLayout.Alignment。

LEADING)

.addGap(0,612,Short。

MAX_VALUE)

);

screamLayout。

setVerticalGroup(

screamLayout。

createParallelGroup(javax。

swing。

GroupLayout.Alignment.LEADING)

addGap(0,289,Short.MAX_VALUE)

);

other.setText("其他");

other。

addMouseListener(newjava.awt。

event.MouseAdapter()

{

publicvoidmouseClicked(java.awt.event。

MouseEventevt)

otherMouseClicked(evt);

}

}

);

drink。

setText("饮料");

drink.addMouseListener(newjava.awt.event.MouseAdapter()

{

publicvoidmouseClicked(java。

awt.event.MouseEventevt)

drinkMouseClicked(evt);

);

noodle。

setText("面类");

noodle.addMouseListener(newjava。

awt.event。

MouseAdapter()

publicvoidmouseClicked(java.awt.event.MouseEventevt)

{

noodleMouseClicked(evt);

);

west。

setText("西餐”);

west。

addMouseListener(newjava。

awt.event.MouseAdapter()

publicvoidmouseClicked(java。

awt.event.MouseEventevt)

westMouseClicked(evt);

}

);

meat。

setText(”饭类");

meat.addMouseListener(newjava。

awt。

event。

MouseAdapter()

publicvoidmouseClicked(java.awt。

event.MouseEventevt)

meatMouseClicked(evt);

);

myorder.setText("店内产品管理”);

myorder.addMouseListener(newjava。

awt。

event。

MouseAdapter()

{

publicvoidmouseClicked(java。

awt.event.MouseEventevt)

myorderMouseClicked(evt);

);

myorder.addActionListener(newjava.awt。

event.ActionListener()

{

publicvoidactionPerformed(java.awt.event。

ActionEventevt)

{

myorderActionPerformed(evt);

}

);

suggest。

setText("结算中心”);

suggest。

addMouseListener(newjava.awt。

event。

MouseAdapter()

{

publicvoidmouseClicked(java。

awt.event。

MouseEventevt)

suggestMouseClicked(evt);

}

}

);

all。

setText("全部");

all.addMouseListener(newjava。

awt。

event。

MouseAdapter()

publicvoidmouseClicked(java.awt.event.MouseEventevt)

allMouseClicked(evt);

}

);

管理员服务器端界面

管理员登录

管理员界面

Socket通信:

服务器创建成功

等待客户端

客户机:

Hello,girl!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2