计算机毕业设计-基于SSM的私厨上门服务平台-开题报告-程序-论文

此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私要-
计算机专业毕业设计任何项目-程序-论文-想单独指导的可以私我


计算机毕业设计-基于SSM的私厨上门服务平台-开题报告-任务书程序编码-文档

基于SSM的私厨上门服务平台的设计与实现

摘    要

随着人们对健康的越发重视,一些居家家庭式的聚餐也悄然而生,居家聚餐可以保证食材的新鲜以及饮食的健康,私厨服务可根据客人的一些定制菜品进行上门服务,做到家庭式的包厨,上门服务既可以保证食材的健康,根据客户的口味等进行专业化的菜品定制,有需要的顾客可进行提前预约下单,做到双向新型餐饮服务的效果。

结合本次私厨上门服务的设计宗旨,本次系统采用Spring、Mybatis、SpringMVC进行定制开发,采用MySQL对网站的数据进行保存,界面端采用JSP设计,界面样式基于CSS开发,前后台的交互采用Ajax。在系统设计中主要包含会员和平台管理员,主要的模块为餐饮类型管理、私厨服务管理、会员注册登录、在线预约下单、预约审核操作、私厨服务展示和检索等。通过建立此平台可让更多的有私厨上门需求的人提供新的做菜服务。

在此次的系统设计中前期主要是通过对私厨服务的一些背景以及市场进行调研,然后对系统的技术开发进行学习和搭建,通过对可行性进行分析以及对私厨服务的业务需求进行分析,最后进行功能模块设计以及库表设,编码整体功能模块。

关键词】:私厨服务;新型餐饮;在线预约;Java

Private kitchen door-to-door service platform based on SSM

Abstract

With the increasing emphasis on health, some home style gatherings have quietly emerged. Home style gatherings can ensure the freshness of ingredients and the health of the diet, but cooking becomes very cumbersome. Therefore, the private kitchen door-to-door service industry has begun to emerge. Private kitchen services can provide door-to-door services based on customers' customized dishes, achieving a home style kitchen service, which can ensure the health of ingredients, It can also form face-to-face communication with customers and customize professional dishes according to their taste. By establishing a private kitchen door-to-door service platform, online private kitchen service displays can be carried out. Customers who need it can make advance reservations and place orders, achieving the effect of two-way new catering services.

For the purpose of the above analysis, the system to be designed this time is the campus canteen ordering management platform. The system design uses Java as the background language code, the front-end uses Html and css for design, and Ajax for asynchronous interaction. The overall architecture uses SSM. The system is mainly divided into the canteen window merchant, student and administrator roles. The main modules of the system design include dish classification setting, merchant dish release, dish listing Home page display of dishes, student registration, student purchase order, purchase order query. The use of the ordering system on campus can facilitate the daily dining of teachers and students, and effectively solve the problem of waiting for meals in the rush hour.

In the early stage of this system design, the main focus was on conducting research on the background and market of private kitchen services. Then, the technical development of the system was studied and built. Feasibility analysis and analysis of the business needs of private kitchen services were conducted. Finally, functional module design and library design were carried out, and the overall functional module was coded.

Key words: Private kitchen services; New type of catering; Online reservation;

目    录

第一章 概述................................................. 6

1.1 研究背景............................................. 6

1.2研究现状............................................. 6

1.3研究意义............................................. 7

1.4研究内容............................................. 7

第二章 系统分析............................................. 8

2.1 可行性分析........................................... 8

2.2 业务需求分析......................................... 8

2.3 技术分析............................................. 9

2.3.1 MVC模型........................................ 9

2.3.2 JSP语言........................................ 9

2.3.3 MySQL数据库.................................... 9

2.3.4 SpringMVC架构.................................. 9

2.4 用例分析............................................ 10

第三章 系统设计............................................ 12

3.1 模块设计............................................ 12

3.2数据库设计.......................................... 12

3.2.1数据库逻辑设计................................. 12

3.2.2数据库物理表设计............................... 16

第四章  系统实现........................................... 19

4.1菜品分类设置........................................ 19

4.2私厨服务管理........................................ 19

4.3顾客注册信息........................................ 20

4.4服务首页展示信息.................................... 20

4.5服务预约信息........................................ 21

4.6私厨预约留言........................................ 22

4.7可视化统计.......................................... 22

第五章  系统测试........................................... 24

5.1测试方法............................................ 24

5.2测试用例............................................ 24

第六章 总结与展望.......................................... 28

6.1 总结................................................ 28

6.2 展望................................................ 28

参  考  文  献............................................. 29

感    谢................................................... 30

第一章 概述

1.1 研究背景

随着如今生活的节奏加快,人们越来越忙碌,很多人不仅没有时间做饭,还没有时间去餐厅用餐。而且,一部分人对于饭店中菜品的质量和食物健康有所担忧。所以,为了满足人们越来越高的饮食需求,私厨上门服务系统就此诞生了[1]

此系统通过线上的方式,让人们在系统内就可以就进行厨师的选择和联系,而进行自己喜欢的菜品的选择,然后选择私厨上门服务的时间点,私厨就可以上门为用户做出安全,健康的饭菜,不需要自己进行食品、菜品的购买、准备和制作等繁琐的过程,节约了自己的时间[2]。所以,设计私厨上门服务系统解决了社会中繁忙人士的吃饭问题,还能让用户享受到私厨上门的高品质的服务[3]。

1.2研究现状

所以为了让忙碌的人们能够吃上可口的饭菜,我们国家的网站也出现了许多类似的私厨上门服务系统,比如“厨师到家”、 “厨师村”、“私人订制”等系统平台[4],但是它们都处在发展初期,虽然发展不够成熟,但还是能够满足用户的需求。在这些系统中,用户可以进行初始的选择,在初始详情界面可以看到他们的从业经验,做饭技能情况和合格证件,这样就确保了用户的用餐安全;用户还可以根据自己喜爱的口味和菜品的需求,在系统内订制出自己想要的菜单和时间的安排,让用户可以自由选择菜品和用餐时间,由此看来,我们国家在私厨上门服务的发展未来上,还是有着坚实的基础[5]

而在国外,像美国、英国等国家,私厨上门服务系统相对于我国来说,已经是处于相对成熟的阶段,系统内功能的应用比我们国家要全面一些,许多开发商也都设计了相应的系统,可以让用户选择自己喜欢的私人厨师,并且能够享受到高品质的餐饮服务[6]。所以说,我们为了满足用户对于吃饭的要求,和对于高品质餐饮服务的需求,就需要在提高用户体验的基础上,做好私厨上门服务系统,让用户可以更加轻松地进行美食的享受[7]

1.3研究意义

在没有私厨上门系统之前,我们对于美食的向往大多都只局限于餐厅,自家想吃到想吃的饭菜或者家里面的活动要大厨时,总会遇到各种各样的阻碍,但是随着时代的发展,我们不愿总在需要的时候花费大把的功夫去餐厅或者用各种人脉关系去找人来做菜,在我们这个系统上线之后,随着互联网的便利,我们可以足不出户的就能够吃到我们想吃的饭菜,通过线上进行检索服务然后一键下单——预定即可以吃[9],这对于我们每个人胃的满足都是有里程碑意义的,而且这个系统还能让整个城市的美食文化有新的突破,不只针对于我们个人,在城市的某些大型活动或者某些重要会议需要一桌可口的饭菜时,它也能有非常亮眼的表现,这也在某些程度上能够促进城市的进步,让城市更加的智能化,智慧化[10]

1.4研究内容

当前主要是对系统的设计过程进行记录,对本系统的整体的研发的节奏以及对应的文档进行编写,此次的系统设计主要是基于B/S的设计,采用web的访问模式,在技术选型上选择自己最合适的Java语言,通过对当前系统的一些技术文献搜集和系统的现状分析,在系统设计中主要包含会员和平台管理员,主要的模块为餐饮类型管理、私厨服务管理、会员注册登录、在线预约下单、预约审核操作、私厨服务展示和检索等。

第二章 系统分析

2.1 可行性分析

经济可行性:此次的开发由于是项目的前期因此要对经济投入进行考虑,要确保无论从人力成本计算、开发软硬件计算以及后期的一些运营的金额等都要在可控的范围内,从人力成本而言目前就自身一人完成项目开发,因此人为成本基本可忽略,从硬件来说,笔记本一台,网线网速等为基本投入,软件的开源语言和架构以及一些编辑器和数据库等都是开源的,因此基本也可忽略不计。

技术可行性:本次系统采用Spring、Mybatis、SpringMVC进行定制开发,采用MySQL对网站的数据进行保存,界面端采用JSP设计,界面样式基于CSS开发,前后台的交互采用Ajax,整体采用DIV+CSS的样式设计,采用Maven进行整体管理,基于MVC的三层设计模式。

市场可行性:私厨服务可根据客人的一些定制菜品进行上门服务,做到家庭式的包厨,上门服务既可以保证食材的健康,又可跟顾客形成面对面的一些交流,根据客户的口味等进行专业化的菜品定制,通过建立私厨上门服务平台,可进行线上的私厨服务展示,有需要的顾客可进行提前预约下单,真正的做到市场的需求服务,为更多的一些想在家健康吃饭的人进行私厨预定。

2.2 业务需求分析

菜品口味类型:在管理员端可对菜品的口味类型进行定义,可设置一些口味信息进行首页的类型的设置

私厨服务设置:管理员可对一些私厨的服务的团队上门服务类型进行新增,包含对一些服务的描述、口味、服务金额等进行设置,可进行服务的维护操作。

服务首页展示检索:在首页中可对一些私厨服务进行展示,可通过对一些类型以及一些关键词进行检索。

服务预约:人员可进行在线的点击预约,预约时可选择上门服务时间、服务类型、服务描述等进行新增。

人员注册:在首页可进行人员信息注册,注册后可进行信息维护

用户管理:后台可对所有注册的会员人员信息进行管理操作。

预约审核:管理员对预约订单可进行审核,审核通过则证明服务预约成功

预约统计:后台可对预约数据进行可视化的数据统计。

2.3 技术分析

2.3.1 MVC模型

在代码的开发中,结构化非常的重要,在前几年编码刚开始的时候,大家只注重业务类是否可实现,而忽略了代码的设计理念以及后期的维护度,而后期随着MVC结构化的提出,代码分离才逐步成型,MVC主要分为Model、Controller、Views,主要是根据不同的代码的业务结构而对代码进行不同的区分[11],Model层主要包含一些service、dao层等主要是对业务类的实现,Views是界面的一些展示实现,包含前端的所有东西;Controller是控制层类的一些路由的定义,和请求的一些拦截处理等,通过MVC可达到代码的耦合分离效果[12]。

2.3.2 JSP语言

在项目设计中,主要是通过界面的形式进行数据交互展示,在与用户交互时主要是通过按钮的点击或者是一些输入框、选择框等形式进行录入,然后通过controller对数据进行接受处理,在service进行数据的复杂业务逻辑传输以及dao层进行数据的执行然后将结果返回到界面[13],在java的项目中主要是html和jsp两种界面[8]。jsp作为动态的界面主要是对数据进行交互,通过嵌入的JavaScript或者是ajax等进行数据交互,在最初语言发展的前期可嵌入java代码,从严格意义来说jsp也是Servlet,在编译后同样为class文件[14]。

2.3.3 MySQL数据库

在项目的数据存储中采用MySQL进行数据保存,在MySQL中包含了很多的存储结构,包含数据库表结构以及数据库的视图、数据库的函数和触发器等,MySQL这类数据库优势就是开源免费,针对于前期的体量数据不大的项目基本都可满足,MySQL也支持数据备份,同时也支持多线程服务,MySQL的数据库表主要是对项目数据存储,包含数据的字段值定义、字段类型定义、主外键的定义以及字段长度等,通过MySQL存储可让项目数据更加结构化[15]。

2.3.4 SpringMVC架构

在springmvc中每个url都对应一个函数,因此它是基于函数方法开发的,每个函数的请求的参数也是独立的,这类设计通常也是单例的模式,而Struts则是通过类的匹配,参数是类中公共的属性,通过formdata表单接收,因此是多例模式设计,这样就比springmvc会产生更多的资源变量。Springmvc通常是通过对参数的解析然后request对请求的内容进行处理最后将result封装为views对象返回前端的,而Struts则是通过值栈的方式进行请求处理,采用OGNL进行数据获取因此SPringmvc的机制更为健全。

2.4 用例分析

在会员端可进行线上的人员信息注册,注册后可形成人员数据信息,人员可根据自己的账号进行登录操作,可通过首页进行私厨服务的检索,可根据检索内容点击进行预定,可进行预约的订单的查询。

图3-1   会员功能介绍

在管理员端可对注册的所有的人员信息进行展示,可对人员信息进行维护,可对人员数据进行删除和禁用,可设置类型信息,以及对私厨服务数据信息进行新增,在新增后可进行人员订单的查询,以及进行审核操作,可对数据订单进行可视化统计展示。

图3-2管理员功能介绍

第三章 系统设计

3.1 模块设计

在系统设计中主要包含会员和平台管理员,主要的模块为餐饮类型管理、私厨服务管理、会员注册登录、在线预约下单、预约审核操作、私厨服务展示和检索等[7]

图3-1系统模块图

在用户端可进行会员的注册,在点击注册信息后进行ajax的提交操作,然后通过usercontroller进行数据的提交操作,通过对人员进行checkuser,判断是否唯一进行验证,然后通过insert保存到数据库

图3-2会员注册时序图

在管理端可对服务信息进行新增,可通过对服务内容进行新增,然后通过post对服务进行提交操作,通过insert进行存储,管理员端可对querylist进行查询操作。

图3-3服务新增时序图

在会员端可进行私厨预定操作,可点击进行私厨的预定,然后通过点击获取到私厨的id,通过获取人员id进行insert插入,可对私厨服务进行审核

图3-4预定信息时序图

3.2数据库设计

3.2.1数据库逻辑设计

私厨服务信息实体:私厨服务id、私厨服务名称、私厨服务内容信息、私厨类型、服务金额、私厨配菜、服务团队信息、私厨宣传图片信息

图3-5 私厨服务信息

会员信息实体:平台注册会员编号、平台注册会员名、平台注册会员账号、平台注册会员电话、平台注册会员性别、平台注册会员填写住址、平台注册会员密码

图3-6会员信息

作品管理员信息实体:私厨平台负责人编号、私厨平台负责人账号、私厨平台负责人密码

图3-7 作品管理员信息

用户留言信息实体:留言编号、留言内容、留言用户编号

图3-8 用户留言信息

私厨服务预约信息实体:私厨预约编号、私厨服务编号、私厨预约会员编号、私厨预约日期、私厨预约做菜地址、私厨预约口味备注、私厨预约状态

图3-9 私厨服务预约信息

私厨分类实体:分类编号、分类私厨名称、分类私厨描述

图3-10 私厨分类

在一个项目的建设中最为核心的就是数据库的设计,数据库的设计的好坏决定了系统的纵向深度以及横向的功能延展度,同时数据库的好坏也决定了数据的存储效率以及查询时的关联效率,特别是对于一些数据体量大的项目更能体现数据库的设计价值,在本次系统中主要采用MySQL对项目进行存储,且可对于项目可采用id自增的形式进行设计,每个表的字段的长度以及表的字段类型都要进行琢磨,确保此字段的设计的合理性,通过表的E-R图可对表的模块进行关联体现[8]。

图3-11系统E-R图

3.2.2数据库物理表设计

根据前期的数据库的设计,对数据库的表设计如下:

表1为私厨服务信息

表1私厨服务信息表

存储值设计

值代表意义

值字段设定

Key值标识

sichudid

私厨服务id

int(12)

主键

sichudtitle

私厨服务名称

varchar(20)

sichudmesg

私厨服务内容信息

varchar(100)

sichudtype

私厨类型

int(12)

外键

sichumoney

服务金额

int(12)

sichupeicai

私厨配菜

varchar(100)

sichudtuandui

服务团队信息

varchar(80)

sichudimg

私厨宣传图片信息

varchar(100)

表2已注册会员信息。

表2会员信息表

存储值设计

值代表意义

值字段设定

Key值标识

Shehuirid

平台注册会员编号

int(12)

主键

Shehuirname

平台注册会员名

varchar(20)

Shehuiruser

平台注册会员账号

varchar(30)

Shehuirstel

平台注册会员电话

varchar(11)

电话格式

Shehuirsex

平台注册会员性别

varchar(2)

Shehuiraddr

平台注册会员填写住址

varchar(50)

Shehuirpwd

平台注册会员密码

varchar(50)

表3为系统平台管理员信息

表3作品管理员信息表

存储值设计

值代表意义

值字段设定

Key值标识

fuzerneid

私厨平台负责人编号

int(12)

主键

fuzernename

私厨平台负责人账号

varchar(10)

Fuzernedesc

私厨平台负责人密码

varchar(50)

表4为用户留言信息

表4用户留言信息表

存储值设计

值代表意义

值字段设定

Key值标识

liuzaiid

留言编号

int(12)

主键

Liuzaizpid

留言内容

varchar(100)

Liuzairenid

留言用户编号

int(12)

外键

表5为私厨服务预约信息

表5私厨服务预约信息表

存储值设计

值代表意义

值字段设定

Key值标识

sichuyyid

私厨预约编号

int(12)

主键

sichuyypid

私厨服务编号

int(12)

外键

sichuyyrenid

私厨预约会员编号

int(12)

外键

Sichuyyriqi

私厨预约日期

date

sichuyyaddr

私厨预约做菜地址

varchar(100)

sichuyywei

私厨预约口味备注

varchar(100)

sichuyytstau

私厨预约状态

int(12)

表6为私厨分类信息

表6私厨分类表

存储值设计

值代表意义

值字段设定

Key值标识

fenleiid

分类编号

int(12)

主键

fenleiname

分类私厨名称

varchar(100)

fenleidesc

分类私厨描述

varchar(100)

第四章  系统实现

4.1菜品分类设置

管理员使用管理员账号进行系统的登录,在菜系分类模块,可进行菜系分类信息的添加,输入菜系名分类名称和菜系分类描述后,即可完成菜系分类信息的添加,管理员对此信息可进行移除和编辑操作。在界面中可通过table对数据值进行page分页展示,可通过controller层对数据进行querybypage分页查询,然后通过在mapper层对SQL进行执行,底层进行select * from table 查询,最后通过modelandviews进行数据返回展示。

图4-1 菜系分类图

4.2私厨服务管理

管理员使用管理员账号登录此私厨上门服务系统,在私厨服务信息界面可进行私厨服务信息的添加,输入私厨服务名称、私厨服务名称描述、口味、服务价格、上门服务团队配菜等信息,然后选择宣传图片进行文件的上传,选择所属分类后,点击提交即可完成对私厨服务信息添加的操作。通过在addpage进行新增操作,通过input对数据框进行输入操作,可通过file对图片文件进行上传,通过json对数据进行封装,然后通过controller层进行数据的beans对接,通过insert对数据进行存储。

图4-2 私厨服务新增图

4.3顾客注册信息

管理员使用管理员账号登录此私厨上门服务平台,在用户信息列表展示出了用户的姓名,账号,密码,地址,年龄,身份证和联系电话的信息,管理员对这些信息可进行移除的操作。在界面中可通过table对数据进行for each的列表查询,可通过controller层设置分页参数值page,设置分页的paghliper参数通过底层进行数据分页查询,最后结果集信息进行result返回到界面展示。

图4-3 用户信息列表图

4.4服务首页展示信息

此界面为私厨上门服务平台的首页信息,此界面展示出了此平台内所拥有的菜系类别,还有菜系的详细信息和所属厨师团队,用户在此界面可对菜系进行预订操作。在indexcontroller层可对数据进行querylist的查询,通过modelandview对数据进行返回,在界面中根据types可进行检索操作[12]。

图4-4 私厨服务图

核心代码如下:

  @RequestMapping(value = "/list", method = {RequestMethod.GET})

    public String list(Model model) throws Exception {

        List<Types> typesList = typesService.findList();

        model.addAttribute("typesList", typesList);

        List<Fuwu> fuwuList = fuwuService.findList1();

        for(Fuwu fuwu:fuwuList){

            fuwu.setTypesname(typesService.findById(fuwu.getTypesid()).getTypename());

        }

        model.addAttribute("fuwuList", fuwuList);

        return "index/index";

    }

4.5服务预约信息

管理员登录此私厨上门服务系统平台,点击私厨预定订单信息,在此界面展示出了私厨名称、预约人、服务金额、预约日期、订单描述、口味要求和做菜地址的信息,管理员对这些订单申请可进行审核操作。通过update可对预约进行更新操作,在界面中首页预约时首先获取到当前登录人的userid以及fuwuid通过new date进行数据的获取,然后通过add进行新增操作。

图4-5 预约服务图

核心代码如下:

  @RequestMapping(value = "/add" )

    private String add(Yuyue yuyue,HttpServletRequest request) throws Exception {

        HttpSession session=request.getSession();

        Integer tuserid=(Integer) session.getAttribute("userId");

        yuyue.setUserid(tuserid);

        yuyue.setStatus(0);

        yuyueService.add(yuyue);

        return "redirect:/yuyue/showyuyueuser";

    }

4.6私厨预约留言

用户使用自己注册的账号登录此私厨上门服务网站平台,在留言板界面可进行自己的意见和建议的留言,在输入框内输入自己要输入的留言建议或评价,点击留言后,则完成留言操作,用户在此界面还可以看到厨师或是其他用户的留言信息。通过对content进行json的封装提交,在后台获取到日期date后进行add新增操作。

图4-6 在线留言图

4.7可视化统计

在管理员端可对一些私厨预定的信息进行可视化统计,在后台可通过对服务进行分组,通过group by 近进行分组统计,然后通过count计算总值,通过ArrayList对数据进行接收后通过modelandviews对数据返回,在界面中通过highcharts进行展示。

图4-7 服务统计图

  @RequestMapping(value = "/tongji" )

    private String tongji(Model model,HttpServletRequest request) throws Exception {

  <select id="tongji"  resultMap="BaseResultMap">

    select  count(id) as id ,w.fuwuid from yuyue w  GROUP BY fuwuid

  </select>        List<Yuyue> list=yuyueService.tongji();

        String arr[] = new String[list.size()];

        String arr1[] = new String[list.size()];

        for(int i=0;i<list.size();i++){

            Fuwu fuwu=fuwuService.findById(list.get(i).getFuwuid());

            arr[i]=fuwu.getName();

            arr1[i]=list.get(i).getId()+"";

        }

           model.addAttribute("arr",ar);

        model.addAttribute("arr1",ar1);

        return "admin/tongji";

    }

第五章  系统测试

5.1测试方法

在软件的设计最后一个阶段为软件的测试,软件的测试很多人都忽略了这一点,以为开发完成后就结束了,但其实在真实的开发中测试才是最为重要的最后一步,在测试中首先要部署设计对应的demo测试类,然后根据一些流程对相关的数据的录入以及数据录入后的存储等进行验证,在大体量的项目中最为重要的是项目的数据处理,包含单一数据条的快速检索响应度以及多表查询的关联数据展示效率等,在功能上要保证系统测试符合最初的设想,其次要保证项目可正常的部署和运行[16]。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值