基于Java的订餐系统设计与实现课程设计说明书.docx
- 文档编号:27891752
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:31
- 大小:158.91KB
基于Java的订餐系统设计与实现课程设计说明书.docx
《基于Java的订餐系统设计与实现课程设计说明书.docx》由会员分享,可在线阅读,更多相关《基于Java的订餐系统设计与实现课程设计说明书.docx(31页珍藏版)》请在冰豆网上搜索。
基于Java的订餐系统设计与实现课程设计说明书
基于Java的订餐系统设计与实现客户端详细设计
1.设计分析
顾客模块的主要功能是浏览,订餐。
浏览与自己相关的食品信息,订单信息等。
用户要下订单之前临时美食车把详细信息列出,物品的单价,购买的数量,总共的价钱,可修改购买,当符合顾客要求的时候,顾客就可以下订单,下订单时首先会先到commitfood.aspx让用户确定一下订单是否付合要求,确认无误后,进入checkout.aspx填写接收信息后生成订单。
然后由AddbuyInfo,Addbuyinfo方法对数据库进行操作完成的。
顾客模块详细设计主要涉及到顾客下订单和食品搜索两大功能
顾客可以通过此功能对自己选中的东西下订单,等待服务商送货。
1.菜品浏览:
可以分页浏览菜品菜品,并将想要的菜品提交到填写订单页面。
然后系统打出此次订购的编号
2.订购菜品:
用户根据自己的编号可以在该页面定购所需要的菜品
3.查看订单:
用户根据自己的编号在该页修改已经订购的菜品。
4.修改订单:
在该页修改或删除已经订购的菜品。
5.菜品查询:
用户根据自己的订购编号可以在该页查找自己需要的菜品。
2.顾客下订单流程图:
顾登提示错N
i验证登陆用是否正Y
提示错订单生N
Y
订单确显示购物
N
确认结
Y
修改订不购买此商
删除购物车信
返回结束操作顾客下单流程图据图图1
顾客可以快速的找到自己想通过提供食品搜索控件,为顾客提供更为方便快捷的服务。
要下订的美食。
.
搜索流程图3.:
4-3所示如图
开FoodSearc键索控txtSearc判提示输是否为数据库查提示未找匹配成dlSearchBin()User_SearchReault页结束2图搜索模块程序流程图
4.Javaswing做登陆界面:
1.容器类
窗体类JFrameJPanel面板类菜单类JMenuBar元素类2.
JTextField文本输入框类
JPasswordField密码输入框类
JButton按钮类
JCheckBox复选框类
JComboBox下拉列表
JLabel标签类
3.布局类
流式布局类使用FlowLayout4.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(new
java.awt.event.ActionListener()
{
publicvoidactionPerformed(java.awt.event.ActionEvent
evt)
{
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(new
java.awt.event.ActionListener()
{
publicvoidactionPerformed(java.awt.event.ActionEvent
evt)
{
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(new
java.awt.event.ActionListener()
{
publicvoidactionPerformed(java.awt.event.ActionEvent
evt)
{
jButton1ActionPerformed(evt);
}
}
);
jButton2.setText(取消);
jButton2.addActionListener(new
java.awt.event.ActionListener()
{
publicvoidactionPerformed(java.awt.event.ActionEvent
evt)
{
jButton2ActionPerformed(evt);
}
}
);
jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
jCheckBox1.setText(COCO咖啡);
jCheckBox1.addActionListener(new
java.awt.event.ActionListener()
{
publicvoidactionPerformed(java.awt.event.ActionEvent
evt)
{
jCheckBox1ActionPerformed(evt);
}
}
);
jCheckBox2.setText(铁板牛肉);
jCheckBox3.setText(木须肉盖浇饭);
javax.swing.GroupLayoutjPanel1Layout=new
javax.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(?
尸);
jTextField1.addActionListener(new
java.awt.event.ActionListener()
{
publicvoidactionPerformed(java.awt.event.ActionEvent
evt)
{
jTextField1ActionPerformed(evt);
}
}
);
顾客界面
订单生成界面:
订单查看界面:
文件操作:
服务器管理员详细设计
1.编写目的
编写此文档的目的是为了让管理员更加便捷的管理软件及用户的信息,方便订餐系统的实现。
系统模块详细设计2.
每个模块分别有不同的权限和分别是顾客模块,管理员模块。
本系统总共有两大模块,使用功能。
3.登陆模块的流程图
开始
用户名
密码
N
是否合法
Y
结束
1-1登陆流程图
4.管理员模块详细设计
管理员:
查看用户订单,查看用户信息,并根据用户信息和用户订单对菜品进行发派。
管理员可以通过订单管理功能来处理日常的订单。
管理员订单处理程序流程图:
管理员登提示错验证登陆用i是否正N
绑定数据库信信息绑定无选择具体订
显示订订单管理操更新数据库结束操作管理员订单处理程序流程图1-2图
管理员可以通过此功能模块添加想要添加的各种信息,比如订单处理等功能。
开始Session[是否为空输添加否为空ClassManagerClass
Addadmin()管验证户是否已存在添加到数据库开始FoodSearch键入索控件txtSearch判断是否为空数据库查找匹配成功dlSearchBindUser_SearchReault页结束
]”“AID是框用员搜()
提示登录
提示输入
提示输入
入理
提示未找到
提示重新输入
结束
1-3管理员添加程序流程图图
顾客可以快速的为顾客提供更为方便快捷的服务。
通过提供美食搜索控件,找到自己想要下订的美食。
:
所示1-4搜索流程图如图
1-4搜索模块程序流程图图
所需要的技术5.界面的设计:
管理员登陆界面LoginJavaSwing做登陆界面:
1.容器类窗体类JFrame面板类JPanelJMenuBar菜单类元素类2.文本输入框类JTextField
JPasswordField密码输入框类JButton按钮类复选框类JCheckBox下拉列表JComboBox标签类JLabel布局类3、
使用FlowLayout流式布局类SocketAPI通信使用.Accept方法等待客(大于1024的端口),服务器端使用ServerSocket监听指定的端口户连接请求,客户连接后,会产生对话,在完成对话后,关闭连接。
Socket客户端服务器之间连接用)服务器内存管理(dll
项目名Check
check.java
login.java
controlcenter.java
indexJFrame.java
indexmanage.java
myorder.java
manage.java
acounting.java
icon.java
6.主要代码:
登录界面1.jButton2.setText(登录);
jButton2.addActionListener(newjava.awt.event.ActionListener()
{
publicvoidactionPerformed(java.awt.event.ActionEvent
evt)
{
jButton2ActionPerformed(evt);
}
}
);
2.管理界面
jPasswordField1.addActionListener(new
java.awt.event.ActionListener()
{
publicvoidactionPerformed(java.awt.event.ActionEvent
evt)
{
jPasswordField1ActionPerformed(evt);
}
}
);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle(店铺信息);
jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
javax.swing.GroupLayoutjPanel1Layout=new
javax.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=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.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(j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Java 系统 设计 实现 课程设计 说明书