




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
无线点餐系统详细设计1、引言1.1编写目的 软件可行性研究报告的编制是为了使用户和软件开发者双方对该软件的初 始规定有一个共同的理解,使之成为整个开发工作的基础.1.2编写背景旨在改善就餐厅餐环境,缓解就餐高峰期点餐顾客等待时间过长的问题,运用高科技点餐,突破原有的餐厅服务模式,吸引更多的客户。2、可行性研究2.1 要求主要功能:将餐厅点菜自动化、自由化、个性化功能需求: 面向经理:后台管理(访问权限,修改菜单,增加菜项,删除菜项,查询订单,结账等等) 面向顾客:消费评分 面向服务员:显示菜单、预定餐桌、下单功能性能要求: 管理员录入的信息必须无差错地存储至中心服务器,且对客户端的数据应该及时进行更新。输出要求:数据完整,详实。输入要求:方便,简捷,快速。安全与保密要求: 餐厅服务员只有查询和下单功能管理人员则拥有在其权限内的查询,修改,增加,删除菜单,制定价格等一些管理功能。2.2 目标 为各中小型餐厅酒店提供一个统一、方便、安全的信息管理平台.2.3 可行性研究方法 可行性研究的方法是通过对各大中小型餐厅、酒店管理者进行问卷调查及访问谈话而得到用户对此系统的信任度关注度及依赖度的,通过建模分析,得出了该系统的功能需求,成本分析,可行性分析。2.4 决定可行性的主要因素成本/效益分析结果,效益成本。技术可行,现有技术可完全承担开发任务。操作可行,软件能被原有工作人员快速接受。3、需求分析3.1 现状 顾客:一些生意较好的餐厅人往往比较多,点个菜都要等好久,更别提什么时候能吃上了。 服务员:有的顾客比较挑剔,点菜的时候会对各种菜问个究竟,有的顾客拿点菜迟迟不定主意,人多的时候根本忙不过来。3.2 发展前景 在计算机技术以及互联网飞速发展的今天,先进的经营理念,人性化的设计,以及高科技的支持,无疑使得餐厅、酒店更受消费者的欢迎。通过先前的调查分析得知,点餐系统以其高效率、直观、便捷的优点将迅速占领整个餐饮市场。4、 流程设计4.1 服务员4.2 管理员5、 总体设计5.1 启动系统客人点击菜单进入系统,开始选菜,启动界面如下图所示。25图15.2 选菜品客人选择了桌号的时候,就可以进入选菜阶段。客户根据自己的口味爱好进行筛选,可以按菜系进行搜索。(如图二),点击菜品图片就可以进入到该菜品的详细信息页面。 图二5.3 查看菜品客人对某个菜品感兴趣的时候,可以查看菜品的的详细信息,可以对查看的菜品进行下单,下单之后重新进入选菜的页面,如果对该菜品不感兴趣可以返回选菜的页面。(如图三) 图三5.4 查看已下的订单客人可以随时查看点过的菜的清单,对数目经行核对,同时可以对本次用餐的情况进行评价(如图四)图四5.5 查看购物车客人可以随时查看购物车,还可以修改某个菜的数量。(如图五)图五5.6 菜系管理首先在浏览器地址栏上输入“http:/localhost:8080/wl/pages/admin/index.jsp”,打开后台首页。然后打开pages/admin/index.jsp页面,把所有jsp路径前面的pages/admin删除掉。管理员可以对菜系进行查询、添加、删除、修改。 查询菜系:第一步:修改pages/admin/common/left.jsp页面,指定菜系管理的访问地址。第二步:创建一个Servlet类,该类获取所有的菜系数据,并发送JSP进行显示;package cn.itcast.wl.admin.menu;import java.io.IOException;import java.sql.SQLException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.itcast.model.MenuBean;/* * 显示菜单的Servlet */WebServlet(/admin/listMenu.do)public class ListMenuServlet extends HttpServlet protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException MenuBean menuBean = new MenuBean();try /获取所有的菜单数据List menuList = menuBean.list();/把数据添加到Requestrequest.setAttribute(menus, menuList); catch (SQLException e) e.printStackTrace(); /把输出信息以及错误发生的位置输出到控制台/跳转到JSP页面显示数据request.getRequestDispatcher(/pages/admin/menu/list.jsp).forward(request, response);第三步:创建一个MenuBean类,该类实现从数据库中查询所有菜系的功能;package cn.itcast.model;import java.sql.SQLException;import java.util.List;import mons.dbutils.QueryRunner;import mons.dbutils.handlers.BeanListHandler;import cn.itcast.util.DbUtil;/*菜单管理的JavaBean*/public class MenuBean private int id;private String name;public MenuBean() public MenuBean(int id, String name) this.id = id; = name;public int getId() return id;public void setId(int id) this.id = id;public String getName() return name;public void setName(String name) = name;/查询所有的菜单public List list() throws SQLException /创建一个QueryRunner对象QueryRunner runner = new QueryRunner(DbUtil.getDataSource();String sql = select * from menu;/执行查询return (List)runner.query(sql, new BeanListHandler(MenuBean.class);第四步:修改pages/admin/menu/list.jsp页面,把菜系的数据遍历出来; 添加菜系:第一步:修改pages/admin/menu/list.jsp页面,指定“新建”按钮的页面地址;第二步:修改pages/admin/menu/add.jsp页面,指定表单提交的地址;第三步:创建一个Servlet,实现添加数据的功能;package cn.itcast.wl.admin.menu;import java.io.IOException;import java.sql.SQLException;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import cn.itcast.model.MenuBean;/* * 添加新的菜系 */WebServlet(/admin/addMenu.do)public class AddMenuServlet extends HttpServlet protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /处理请求参数的中文乱码问题request.setCharacterEncoding(utf-8);/获取表单的数据String menuName = request.getParameter(menuName);/把数据保存到数据库中MenuBean menuBean = new MenuBean(menuName);try menuBean.save();/保存数据的结果信息request.setAttribute(message, 保存成功!); catch (Exception e) request.setAttribute(message, 保存失败,请联系管理员!);e.printStackTrace();/跳转回添加页面,并显示保存的结果request.getRequestDispatcher(/pages/admin/menu/add.jsp).forward(request, response);第四步:修改MenuBean.java,添加save方法,实现保存数据的功能;第五步:修改pages/admin/menu/add.jsp页面,设置显示保存结果的信息;5.7 菜品管理管理员可以对菜品进行添加、删除(图七) 查询菜品:查询菜品的实现步骤与查询菜系一样。但是,需要注意:因为需要查询菜系的名称,所以,需要同时查询food和menu表。并且,为了区分food表的name字段和menu表的name字段,可以指定menu表name字段的别名:menuName。只有查询出来的字段名与JavaBean的字段名相匹配的时候,DbUtil才会自动地帮我们把查询出来的数据封装成对应的JavaBean。 添加菜品:第一步:修改pages/admin/food/list.jsp页面,指定新建按钮的访问地址;第二步:修改pages/admin/food/add.jsp页面,指定表单的提交地址,以及指定enctype属性;第三步:创建一个Servlet,实现文件上传的功能;为了简化文件上传的操作,需要使用commons-fileupload组件。该组件的作用是简化文件上传的操作。 使用commons-fileupload组件实现文件上传的步骤:第一步:创建一个ServletFileUpload对象;第二步:调用该对象的parseRequest方法把Request对象中的每一个表单项解析成一个个的FileItem对象,然后保存在一个集合中并返回。也就是说,一个FileItem对象就代表一个表单项(普通字段、文件)。该对象提供了一些方法获取表单项的数据:isFormField():判断该FormItem是否是普通表单项。如果是则返回true,否则返回false;getFieldName():获取表单项的name属性的值;getString():获取普通表单项的值;getInputStream():获取上传文件的输入流对象;getName():获取上传文件的名称;第三步:遍历该集合获取每一个FileItem,然后调用FileItem的方法获取表单项的数据;package cn.itcast.wl.admin.food;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.util.List;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import mons.beanutils.BeanUtils;import mons.fileupload.FileItem;import mons.fileupload.FileUploadException;import mons.fileupload.disk.DiskFileItemFactory;import mons.fileupload.servlet.ServletFileUpload;import cn.itcast.model.FoodBean;/* * 添加菜品 */WebServlet(/admin/addFood.do)public class AddFoodServlet extends HttpServlet protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException /获取请求参数try /第一步:创建ServletFileUpload对象ServletFileUpload fileUpload = new ServletFileUpload(new DiskFileItemFactory();/把request对象中的每一个表单项解析成一个个的FileItem对象,然后保存在集合中并返回List list =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度智能农业物联网设备招标代理服务合同标准范本
- 2025年智能酒店式公寓租赁服务标准合同
- 2025年环保项目行政优先权保障与监管合作协议
- 2025年智慧园区物业管理服务合作协议
- 2025年儿童益智玩具一件代发代理权益合作协议
- 2025年度饮品连锁店租赁合同附含品牌授权与推广服务协议
- 2025年度高品质节能环保PVC给水管材供应合同
- 2025年环保型挖掘设备采购合同范本
- 2025年度跨境电商物流配送合作协议范本
- 2025年度白糖期货交易风险分散与市场分析服务合同
- LY/T 2501-2015野生动物及其产品的物种鉴定规范
- GB/T 748-2005抗硫酸盐硅酸盐水泥
- GB 15763.1-2001建筑用安全玻璃防火玻璃
- 走好群众路线-做好群众工作(黄相怀)课件
- 民间文学(全套课件)
- 专升本00465心理卫生与心理辅导历年试题题库(考试必备)
- 既有重载铁路无缝线路改造及运维技术探索
- 2022年教师副高职称评答辩范文(七篇)
- 高压罗茨风机选型参数表
- 金融控股公司协同模式与实务分析
- 2021-2022年湖南省长沙市第一中学高一(上)入学考试物理试题(解析版)
评论
0/150
提交评论