• 基于SSM的餐厅点餐系统设计与实现(Java+MySQL)


    目 录
    第一章 绪论 1
    1.1系统研究背景和意义 1
    1.2研究现状 1
    1.3论文结构 2
    第二章 相关技术说明 3
    2.1 JSP(Java Server Page)简介 3
    2.2 Spring框架简介 4
    2.3 Spring MVC框架简介 5
    2.4 MyBatis 框架简介 5
    2.4 MySql数据库简介 5
    2.6 Tomcat简介 6
    2.7 jQuery简介 7
    2.8系统开发环境概述 7
    第三章 系统分析 8
    3.1可行性分析 8
    3.2系统体系结构设计 9
    3.3用户用例 9
    3.4管理员用例 11
    第四章 系统总体设计 15
    4.1总体设计目标 15
    4.2系统类图 15
    第五章 数据库设计 22
    5.1数据库需求分析 22
    5.1.1系统功能分析 22
    5.1.2数据库设计 22
    5.2数据库表的实体E-R图 22
    5.3 数据库逻辑结构设计 25
    6.1 餐厅点餐系统的前台界面显示 28
    第七章 系统测试 33
    7.1系统的总体概述 33
    7.2测试模块的名称以及测试的内容 33
    7.3测试用例 34
    7.4测试结果 35
    结 语 36
    致 谢 37
    参考文献 38
    在本次主要介绍的是餐厅点餐系统的设计幕后情况和设计介绍,其中包括了总体设计模块,系统详细设计模块和数据库具体情况的设计。在这个餐厅点餐系统主要分为前台顾客模块和后台管理员模块,可以通过顾客登录点餐系统的前台,通过管理员登录点餐系统的后台。在顾客登录的模块,他们可以查看各种餐品的详细的信息,例如图片信息和价格和餐品名称等。也可以将需要的餐品加入自己购物车,如果添加完毕我们就可以提交自己的订单给数据库。在管理员后台管理模块中管理员可以对餐品种类,餐品,顾客信息,订单信息进行操作。
    第三章 系统分析
    3.1可行性分析
    3.1.1技术可行性

    如今社会的发展,网络的更替导致了世界技术的进步,我们进行web类型的点餐系统的技术已经很方便了,我们很容易进行技术上的操作。在这个部分主要是为了了解在现今网络技术是否可以能够实现这个项目,现在来说是很方便的完成这个点餐系统。我的这个餐厅点餐体统是使用了Spring 和Spring MVC框架和Mybatis框架,采用了Jquery等需要的技术。就目前而言实现点餐系统的基本功能并且部署到Tomcat框架的登录是完全可以的。

    3.1.2经济可行性
    社会科技和经济的蓬勃向上,人们的生活已经可以很方便简洁的进行网络的使用。每个人的资金很方便的存储在支付宝这个软件上,进行网站点餐我们很容易的网上。而且网上点餐的存在也是方便人们的生活方式,不仅仅节约了时间而且带动了经济的发展。传统的点餐需要大量的人来进行电话点餐是很麻烦的,非常不适应生活节奏。于是这个点餐系统的出现正在减少这些个事情。
    3.1.3操作可行性
    我的这个餐厅点餐系统的界面是十分方便观看的,用户体验来说是十分方便的,就像正常的上网方式就可以进行操作。自需要看一下这个网站我们就可以了解这些个功能,使用方便明了操作简便。
    3.2系统体系结构设计
    在这里插入图片描述

    图3-1 系统总的用例图
    第四章 系统总体设计
    4.1总体设计目标
    餐厅点餐系统按功能主要分为顾客使用界面和管理员管理界面,顾客可以在前台的界面进行相应的操作,而管理员也可以通过后台的管理界面进行数据的操作。餐厅点餐系统是符合基础的用户体验的方便性系统,它的基本需求和良好的用户体验的来体现它是一个功能性和扩展性很强的系统。用户浏览界面十分利于用户的使用和点餐的进行。餐厅点餐系统的界面是较为简便的,顾客使用也很是方便的。在餐厅点餐系统中实现了顾客需要的浏览界面查看信息的基本的功能继而添加餐盘的功能,最后顾客是能够确认自己餐品的信息,确定信息后顾客可以将自己的餐盘中的餐品上交给数据库。本文转载自http://www.biyezuopin.vip/onews.asp?id=11033在管理员界面我们需要实现对餐品种类和餐品信息的总的管理,然后对于顾客确认的餐品的信息进行管理。
    4.2系统类图
    主要系统功能是: 用户的管理,管理员的餐品种类等事务的管理主要功能的类图为下面的显示:
    在这里插入图片描述

    图4-1 管理员管理的类图

    package com.kai.web.controller;
    
    import java.util.List;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    
    import com.kai.bean.PageBean;
    import com.kai.bean.User;
    import com.kai.web.service.UserService;
    
    public class UserManagerController implements Controller{
    
    	@Override
    	public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
    		// TODO Auto-generated method stub
    		ModelAndView mv = new ModelAndView();
    		HttpSession session = request.getSession();
    		UserService userService = new UserService();
    		String pageId = request.getParameter("id");
    		int curPage = 0;
    		if(pageId==null){
    			curPage = 1;
    		}else{
    			curPage = Integer.parseInt(pageId);
    		}
    		System.out.println("curPage value is:"+curPage);
    		
    		List<User> usersList = userService.selectAll();//将查询结果存放在List集合里
    		
    		PageBean pageBean = new PageBean(usersList.size());//初始化PageBean对象  
    		//设置当前页  
    		pageBean.setCurPage(curPage);
    		//这里page是从页面上获取的一个参数,代表页数  
    		//获得分页大小  
    		int pageSize = pageBean.getPageSize();
    		//获得分页数据在list集合中的索引 
    		int firstIndex = (curPage-1)*pageSize;
    		int toIndex = curPage*pageSize;
    		if(toIndex>usersList.size()){
    			toIndex = usersList.size();
    		}
    		if(firstIndex>toIndex){
    			firstIndex = 0;
    			pageBean.setCurPage(1);
    		}
    		//截取数据集合,获得分页数据
    		List<User> userList = usersList.subList(firstIndex, toIndex);
    		
    		session.setAttribute("userList", userList);
    		session.setAttribute("pageBean", pageBean);
    		
    		mv.setViewName("manager/userManager");
    		return mv;
    	}
    
    }
    
    
    
    
    
    
    
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    kubernetes——快速部署
    力扣:143. 重排链表(Python3)
    深入探讨Docker生态系统,Docker Compose vs. Docker Swarm vs. Kubernetes:深入比较
    Linux x86_64 BIOS 启动
    重磅发布|博睿数据IT运维最佳实践白皮书
    qemu-system-aarch64使用记录
    外部中断1电下降沿平触发
    蚁群算法解决TSP旅行商问题-非确定性多项式2
    DID:零知识证明的第一个应用试验场
    windows 安裝字體Font
  • 原文地址:https://blog.csdn.net/newlw/article/details/127768328