目  录

摘要 I
Abstract II
绪 论 1
1 系统概述与技术介绍 2
1.1 课题背景 2
1.2 B/S结构介绍 3
1.3 JSP技术介绍 4
1.4 JavaScrip语言介绍 4
1.5 MySQL数据库介绍 5
1.6 MyEclipse介绍 5
1.7 MVC模式介绍 6
2 系统需求分析 7
2.1 开发环境 7
2.2 需求分析 7
2.3 可行性分析 8
3 系统概要设计 9
3.1 系统设计概述 9
3.2 系统功能分析 10
3.3 系统用例图 12
3.4 系统功流程图 14
4 数据库设计与实现 15
4.1 数据库结构设计 15
4.1.1 概念结构设计 15
4.1.1 表概要说明 16
4.1.2 数据表的结构 16
5 系统的实现 20
5.1 前台模块首页 20
5.2 用户注册登录管理 22
5.3 用户订餐管理功能 23
5.4 用户其他功能操作页面 27
5.5 后台管理员登录,注册功能 27
5.6 后台管理员菜品管理 28
5.7 后台员工及会员管理 29
5.8 后台材料采购管理 29
5.9销售订餐及统计管理 30
6 系统测试 32
6.1 测试方法 32
6.2 系统流程 32
6.2.1 前台首页测试 32
6.2.2购物车模块测试 32
6.2.3 菜品管理模块测试 33
6.2.4 会员注册模块测试 33
6.2 系统测试结果 33
总 结 35
参考文献 36
致谢 37
3 系统概要设计

3.1 系统设计概述

系统的设计阶段作为在项目开的发整个过程中,最为复杂的一环,其实也是在项目开发的整个过程中极为重要的的一环,必须经过,必不可缺少。在进行系统项目的设计之前,说明系统项目已经完成了对其自身的分析与设计阶段,这是一个具有发展性的过程,将从分析阶段得出的有些抽象的用户需求进行具体的实现,编码。在对系统项目的设计过程中需要考虑众多因素,例如在系统实现过程中所面对的内在环境和外在因素,对项目进行良好的业务和功能完善以及应该具有的敬业态度。
作为主要的任务和目标,在系统设计阶段就是为了满足在系统分析阶段提出的用户要求.因此,要从用户的要求出发在不仅可以满足系统分析阶段得出的对系统项目逻辑功能的同时,还要充分考虑到多方因素,包括技术,成本以及时间环境等相关方面。对于不论是在正在进行中的整体的设计结构还是局部的每一个部分,都有相关的技术和针对性的应对方案。在合理的要求和基础上,对项目系统所必要的需求进行满足,并且提出该系统具体到实处的实行方案,使其可以得到完整的实现,完成最初的目标以及要求。
系统设计的主要方向以及相关要点:
(1)在系统设计的阶段,主要工作涉及到了绝大多数都是技术以及专业知识。
(2)为了满足用户的需求,在系统项目的设计过程中,可以对之前已经得出的系统项目分析结论作出一些修改,当然,这是基于非原则性上的。
(3)使整个项目系统最终可以获得成功,不仅仅需要完善的分析,严谨的设计,更需要系统项目的设计环境。这个环境不仅仅是技术环境与管理环境,更是两者的有效结合。因此,这是急不可缺的重要一点。
有上述可知系统设计的要点,那么为了更好地设计系统项目就需要了解系统设计的原则:
(1)易用性原则。对项目做系统设计是为了,开发出的系统项目,可以满足用户提出的需求,达到用户的满意。这种满足需求表现在各个方面,例如:用户的业务需求,用户的逻辑需求,以及使用户处理部分业务时候更加简便,提高用户的用户体验。
(2)开发阶段原则。开发项目系统软件,在系统技术选择阶段主要是站在系统的数据结构的角度进行设计与开发,而实现功能阶段则有不同,这是需要站到用户需求以及开发人员实现的角度考虑的。
(3)业务完整原则。设计实现的项目系统软件,要保证在完成业务的同时保证数据的完整性,减少数据的无处,例如数据库中常常出现的脏读,误读等数据误差。
(4)规范化的业务原则。在最初的设计阶段中,系统主要是完成用户需求要求的业务,但是在实际的操作总。对于系统项目的要求是更高的,它不仅要正确的完成用户的业务要求,也要面对完善的业务流程,以及系统安全性。

3.2 系统功能分析

作为网上订餐管理系统主要是为顾客提供便捷,全面的订餐服务,重点要放在面对顾客的页面功能上,其次是管理员对餐品以及餐厅的管理,系统主要模块的设计:
1.前台模块:
(1)食品展示模块
(2)食品查询模块
(3)购物车模块
(4)收银台模块
(5)用户维护模块
(6)订单查询模块
(7)公告模块
2.后台模块:
(1)食品管理模块
(2)用户管理模块
(3)管理员维护模块
(4)订单管理模块
(5)公告管理模块
(6)留言管理模块
如图3-1系统功能层次图所示。
主要包括这几个方面,其中顾客订餐功能模块是主要重点模块,其次是管理员管理功能模块。当订餐系统管理员使用拥有管理权限的管理员用登录管理员页面的时候。可以看到目前订餐系统中保存的用户信息数据,菜品的数据,员工的数据以及状态,订餐的具体信息,采购原材料的具体情况,以及对顾客页面的管理,例如:留言板,以及营养小贴士等等。通过管理员对餐厅的管理,给予顾客最好的网上订餐服务。
顾客订餐功能的相对应的模块:主要是顾客进入订餐系统网站之后,可以看到整体的订餐系统网站结构,进行系统的客户端登录,注册,以及对现登陆用户的信息修改,搜索菜品,点餐,订餐,支付,留言的相关功能,通过众多的订餐系统功能。
管理员系统管理功能相关模块:主要是餐厅管理员从后台管理页面登录管理系统之后,对订餐系统的一些具体业务的调整,可以注册新管理员,以及对现有登录管理员信息的修改,查看分析管理目前注册的顾客的信息,查看修改调整现有菜品的具体情况,新增,删除,完善菜品;对目前餐厅原材料的采购和统计;以及对餐厅员工的管理,新增删除和调整状态;更重要的是可以对目前已知订餐的及时管理,还有就是对顾客订餐页面的一些人性化管理,查看顾客留言,修改给顾客查看的营养小贴士。
通过这个两个主要的模块,可以完成订餐系统的综合管理,包括了顾客的主要功能,注册,登录,点餐等;本文转载自http://www.biyezuopin.vip/onews.asp?id=11377以及管理员对餐厅多方面的管理,完成管理员对顾客的服务交互。

图 3-1系统功能层次图
3.3 系统用例图
通过管理员用例图,可以清晰的,直观的看到管理员在网上订餐管理系统中对用户订餐以及用户本身的一些主要的操作:
1、管理员可以管理餐品信息。
(1.)管理员可以添加菜品信息。
(2.)管理员可以删除菜品信息。
2、管理员可以管理订单信息。
3、管理员可以管理订餐系统中注册的用户信息。
(1.)管理员可以删除用户注册信息
(2.)管理员可以修改用户信息
4.管理员可以对留言进行管理。
5.管理员可以对用户进行管理。
管理员用例图图,如图3-2所示。

图 3-2 管理员用例图

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><base href="<%=basePath%>"><title>我的订餐车</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><link href="img/css.css" type="text/css" rel="stylesheet"/></head><style>
<!--
.input1 {BORDER-BOTTOM-WIDTH: 0px; WIDTH: 60px; COLOR: #000000; HEIGHT: 20px; BORDER-RIGHT-WIDTH: 0px
}
-->
</style> <script language="JavaScript">function abc222(id,i){form1.action="servlet/ShoppingServlet?i="+i+"&bookId="+id;form1.submit();}
</script><%
String nulls = (String)request.getAttribute("null");
String ok = (String)request.getAttribute("ok");
if(nulls != null && nulls.equals("1")){%><script>alert('您的订餐车中没有商品!')</script><%
}
if(ok != null && ok.equals("1")){%><script>alert('恭喜您,订餐成功!')</script><%
}%><body><form name="form1" action="" method="post"><table bgcolor="#ffcc00" border="0" cellpadding="1" cellspacing="1" align="center" width="620"><tr bgcolor="#ffe2a6"><td align="center" valign="middle" colspan="6"><font face="华文行楷" size="3">我的订餐车</font></td></tr><tr bgcolor="#ffe2a6"><td align="center" valign="middle">菜品名称</td><td align="center" valign="middle">单价</td><td align="center" valign="middle">数量</td><td align="center" valign="middle">总价</td><td align="center" valign="middle">修改数量</td><td align="center" valign="middle">删除</td></tr><%ArrayList shopping = (ArrayList)session.getAttribute("shopping");int sum = 0;int sumPrices = 0;if(shopping == null || shopping.size() == 0){%><tr bgcolor="#fff9ec"><td colspan="6" align="center" valign="middle"><font size="1" color="red">订餐车中没有菜品!</font></td></tr><%}else{for(int i = 0;i < shopping.size();i++){ArrayList alShop = (ArrayList)shopping.get(i);sum += Integer.parseInt(alShop.get(3).toString());sumPrices += Integer.parseInt(alShop.get(2).toString())*Integer.parseInt(alShop.get(3).toString());%><tr bgcolor="#fff9ec"><td valign="middle" align="center"><a href="servlet/BookinfServlet?id=<%=alShop.get(0) %>"><%=alShop.get(1)%></a></td><td valign="middle" align="center"><%=alShop.get(2)%>元</td><td valign="middle" align="center"><input class="input1" type="text" value="<%=alShop.get(3)%>" name="num<%=i %>"/></td><td valign="middle" align="center"><%=Integer.parseInt(alShop.get(2).toString())*Integer.parseInt(alShop.get(3).toString())%>元</td><td align="center" valign="middle"><input type="button" value="修改数量" onclick="abc222(<%=alShop.get(0)%>,<%=i %>)"/></td><td align="center" valign="middle"><a href="servlet/ShoppingServlet?del=<%=i%>"><img src="img/trash.gif" border="0" height="17" width="15" alt=""></a></td></tr><%}%><tr bgcolor="#fff9ec"><td colspan="6" align="center">订餐车里有菜品:<%=shopping.size()%>件 总数:<%=sum%> 共计:<%=sumPrices%>元 </td></tr><%}%><tr bgcolor="#ffffff"><td colspan="6" align="center" height="25"><a href="qiantai/index.jsp">继续订餐</a><a href="servlet/ShoppingServlet?remove=1">清空订餐车</a><a href="servlet/ReckoningServlet">收银台</a></td></tr><tr><td colspan="6"valign="middle"><font color="red">*</font>如果您刷新了订餐车页面,上次所订菜品数目将会增加1个</br><font color="red">*</font>如果您点击了收银台,系统将会保存您的订单,并会清空您的购物车!</td></tr></table></form></body>
</html>






















基于JSP的网上订餐管理系统的设计与实现相关推荐

  1. [内附完整源码和文档] 基于JSP的网上订餐管理系统的设计与实现

    摘 要 随着科学技术与经济的快速发展,网络信息技术也有了显著的提升与进步,当今的社会是一个集数字化,网络化,信息化的,并且是以网络为核心的现代化社会.伴随信息互联网的高速成长,使得互联网应用也走进家家 ...

  2. 基于JSP的网上订餐管理系统的设计与实现(包调试成功)

    毕业设计(论文)任务书 第1页 毕业设计(论文)题目:基于JSP的网上订餐管理系统的设计与实现毕业设计(论文)要求及原始数据(资料):1.综述目前国内外网上订餐管理系统的现状:2.深入了解网上订餐系统 ...

  3. 【全源码及文档】基于JSP的网上订餐管理系统的设计与实现

    摘 要 随着科学技术与经济的快速发展,网络信息技术也有了显著的提升与进步,当今的社会是一个集数字化,网络化,信息化的,并且是以网络为核心的现代化社会.伴随信息互联网的高速成长,使得互联网应用也走进家家 ...

  4. 订餐系统jsp模板_基于JSP的网上订餐系统的设计与实现

    基于 JSP 的网上订餐系统的设计与实现 网络的快速发展和新形势下网络电子商务平台的迅猛发展 , 网上订餐已经成 了一种流行的购物方式 , 这不仅为人们工作学习节约了时间 , 而且也大大的促进 了网络 ...

  5. 基于JSP的网上订餐管理系统餐厅餐饮系统

     博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 基于Spring Boot+MyBatis+MySQL VUE的高校试卷管理系统 ...

  6. java毕业设计成品基于JSP的网上订餐管理系统|订餐餐厅[包运行成功]

  7. java毕业设计成品源码网站基于JSP的网上订餐管理系统|餐饮就餐订餐餐厅

  8. 基于javaweb的网上订餐管理系统(java+jsp+bootstrap+jquery+mysql)

    基于javaweb的网上订餐管理系统(java+jsp+bootstrap+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea ...

  9. 基于B-S结构的订餐管理系统的设计与实现

    基于B-S结构的订餐管理系统的设计与实现                                  2011年6月1日      摘要: 随着我国市场经济的快速发展,各行业都呈现出生机勃勃的发 ...

最新文章

  1. UI培训分享:如何提升自己的UI设计能力
  2. 剑指Offer(java答案)(51-60)
  3. helm发布自定义Chart:指定namespace、设置NodePort
  4. Windows组策略完善主机安全整改实战(1)
  5. 特斯拉又烧一辆!车库里起火 所幸无人受伤
  6. BP神经网络数据预测(excel)
  7. LQR控制算法及代码实践
  8. 计算机屏幕分辨率设置,电脑怎么设置屏幕分辨率
  9. VBA金融建模——期权定价
  10. 安装CARLA Simulator错误 安装失败 0x80070005 - 访问被拒绝 Error Setup Failed 0x80070005 - Access is denied
  11. L13 操作系统的这棵树
  12. linux ffmpeg Unknown encoder 'h264'
  13. “裸辞” 备战15天三面美团,交叉面却被吊起来锤
  14. java中介系统平台_基于JAVA的房屋中介管理系统的设计与实现.ppt
  15. 经典算法题:二分查找
  16. 感性认识spring的IoC
  17. oppo手机root管家,oppo root软件
  18. 新媒体人必备的10个效率工具,神器收藏起来
  19. mysql8区分大小写_mysql区分大小写
  20. word页眉、页脚、页码自动编号与分页符的关系

热门文章

  1. 千分位、两位小数的展示
  2. 基于Egteks mPower1203仪器和KEYSIGHT N6705仪器的一款智能穿戴产品的低功耗电流测试评估
  3. 实验十 基于Simulink的爬山法MPPT技术仿真
  4. DigitalPersona Personal 4 x86 下载
  5. 从顶会论文看2022年推荐系统序列建模的趋势
  6. python 正则表达式
  7. CSS-属性选择器的用法详解
  8. SMIL 2.0 基础教程
  9. Android图片内存的计算
  10. loachost 1.php,云豹短视频系统搭建部署文档