注:仅展示部分文档内容和系统截图,需要完整的视频、代码、文章和安装调试环境请私信up主。
摘 要
现如今越来越多的人开始注重饮食品质,因此美食推荐系统的研发和推广对于整个社会的发展有着重要的作用,将有利于人们更好地享受美食文化,提高生活品质。
本文利用先进的JAVA技术,采用B/S模式和MYSQL数据库作为后端运行环境,利用Spring Boot框架和Tomcat服务器,构建并开发出了一个美食推荐系统。该系统包含管理员和用户两大功能模块,管理员功能包括首页展示、个人资料管理、用户管理、店铺信息管理、店铺评价管理、美食内容管理、交流圈子和系统管理;前台功能包括首页展示、店铺信息展示、店铺评价、美食内容展示、交流圈子、公告资讯、个人资料管理和后台管理;用户功能包括首页展示、个人资料管理、店铺评价管理、美食内容管理以及收藏功能管理等。该系统能够提供全面的美食推荐服务,满足用户对于美食的多样化需求。
本研究所提出的美食推荐系统在用户体验和交互方面也进行了改善,能够为用户提供更趋近于真正的、个性化的美食推荐。
关键字:美食推荐系统;Java语言 ;MySQL数据库
目 录
2.2功能需求分析
功能需求分析:
1. 用户注册和登录:用户可以通过注册和登录进入系统,获得对系统的使用权。
2. 首页展示:系统需要在首页展示美食推荐、热门店铺信息等内容,用户可以根据自己的需求选择相应的内容。
3. 个人资料管理:用户可以在个人资料管理页面修改自己的个人信息,包括头像、昵称、手机号、密码等。
4. 店铺信息展示:系统需要在页面上展示店铺的基本信息、位置等详细信息,用户可以根据需要进行选择。
5. 店铺评价:用户可以在店铺评价模块中查看其他用户对店铺的评价,并自己进行评价,从而帮助其他用户了解该店铺的情况。
6. 美食内容展示:系统需要在页面上展示每个店铺的美食信息,包括美食图片、介绍、价格等方面的内容。
7. 交流圈子:用户可以在交流圈子中发表关于美食、店铺等方面的帖子或评论,与其他用户进行交流和互动。
8. 系统管理:管理员需要对系统进行管理,包括管理员账号管理、数据备份和恢复等方面的内容。
9. 用户管理:管理员可以对用户进行账号管理、权限管理等方面的操作,以维护系统的安全和稳定。
10. 店铺信息管理:管理员可以对店铺信息进行添加、修改、删除等操作,以及对店铺的审核和发布进行管理。
11. 店铺评价管理:管理员可以对店铺评价进行审核和管理,维护用户体验和系统的公信度。
12. 美食内容管理:管理员可以对美食内容进行添加、修改、删除等操作,以保证系统中美食信息的准确性和完整性。
13. 公告资讯:管理员可以发布相关的公告和资讯,方便用户了解系统的最新动态。
14. 收藏功能管理:用户可以根据自己的喜好将页面上的店铺信息、美食信息等进行收藏,方便下次浏览。
综上所述,美食推荐系统的功能需求包括用户注册和登录、首页展示、个人资料管理、店铺信息展示、店铺评价、美食信息展示、交流圈子、系统管理、用户管理、店铺信息管理、店铺评价管理、美食内容管理、公告资讯,以及收藏功能管理等。这些功能共同构成了一个完整的系统,为用户提供全面、优质的美食推荐服务。
2.2.1 确定业务参与者
系统的角色介绍可以采用参与者词汇进行描述,如表2-1所示。
表2-1 参与者词汇表
序号 | 词汇 | 同义词 | 描述 |
1 | 用户 | 普通用户 | 注册登录后可以进行店铺浏览、美食评价等操作。 |
2 | 管理员 | 高级管理员 | 对用户、商家进行管理;系统管理等功能。 |
2.2.2 用例词汇表
用例词汇表,如表2-2所示。首页、店铺信息、店铺评价、美食收录、交流圈子、公告资讯、个人中心、后台管理
表2-2 用例词汇表
用例名称 | 用例描述 | 预期的参与者和角色 | |||
登录 | 在用户在开始使用系统之前完成登录操作 | 用户、管理员 | |||
注册 | 用户进行店铺评价时需要进行注册 | 用户 | |||
美食搜索 | 用户搜索指定美食 | 用户 | |||
店铺展示 | 用户进入店铺查看美食 | 用户 | |||
美食展示 | 用户浏览在首页展示的美食信息 | 用户 | |||
美食详细信息展示 | 用户浏览美食时的美食详细信息 | 用户 | |||
个人信息管理 | 用户需要对自己信息进行修改时的操作 | 用户 | |||
美食收藏 | 对美食进行查看收藏等操作 | 用户 | |||
发布帖子 | 用户在交流圈子发布帖子 | 用户 | |||
发布评论 | 用户发布对美食的评论 | 用户 | |||
美食管理 | 对美食进行发布上架等操作 | 管理员 | |||
店铺管理 | 对店铺基本信息进行修改以及折扣活动等 | 管理员 | |||
评论管理 | 可以对评论进行增、删、改、查等操作。 | 管理员 | |||
用户管理 | 对用户账号进行销毁等操作 | 管理员 | |||
公告管理 | 管理员可对公告进行发布和管理 | 管理员 | |||
帖子管理 | 管理员可以查看和管理用户发布的帖子 | 管理员 | |||
网站维护 | 管理员对网站的基本信息维护 | 管理员 |
2.2.3 系统用例
(1)系统用例
该美食推荐系统的主要用户可以分为两类,一类是系统管理员,另一类是普通用户。系统管理员主要负责对系统进行管理,包括管理各类信息记录、进行系统更新和维护等工作。用例图如图2-1所示,系统管理员在整个系统中扮演重要的角色。而普通用户则是使用系统的主要人群,他们可以通过该系统获取美食推荐等相关信息。
(2)核心功能用例规约
用户发布对美食的评论的用例规约如表2-3所示。
表2-3 发布评价表
用例名称 | 发布评价 |
参与者 | 用户 |
前置条件 | 用户成功登录美食推荐系统系统 |
基本事件流 |
|
异常事件流 |
|
注释 | 无 |
管理员对美食收录信息进行管理的用例规约如表2-4所示。
表2-4 美食收录管理表
用例名称 | 美食收录管理 |
参与者 | 管理员 |
前置条件 | 管理员成功登录美食推荐系统系统 |
基本事件流 |
|
异常事件流 |
|
注释 | 无 |
用户在系统内查看帖子以及发布帖子的用例规约如表2-5所示。
表2-5 交流发帖表
用例名称 | 交流发帖 |
参与者 | 用户 |
前置条件 | 用户成功登录美食推荐系统系统 |
基本事件流 |
|
异常事件流 |
|
注释 | 无 |
2.4网站性能需求分析
该系统的性能可以从以下几个方面来进行:反应性,界面的简单明了性,存储性,易学性,稳定性。
“系统的速度:一万多人的情况下,三秒钟就能做出反应。”
简明的介面:要有清楚的、清楚的、便于使用者使用的介面。
高存储性能:在一个高校招生系统中,要存储的信息非常多,这就对系统的存储容量提出了非常高的需求,为了确保能够在一个安全、稳定的环境下保存信息,必须要有一个非常强大的数据库。
易学性:本系统在使用时一定要容易上手,不会有太多的繁复,只要进行简单的学习即可使用本系统。
稳定性:需要学院录取系统的工作稳定,界面清晰,字体清晰等。
4.1系统前台功能模块
4.1.1 系统首页
游客可以在未注册/未登录状态下,访问美食推荐系统的各个模块,包括首页、店铺信息、店铺评价、美食收录、交流圈子、公告资讯、个人中心和后台管理,并执行相应的操作,如查看、浏览、评论等。这些功能可通过图4-1进行了解。
具体实现代码如下:
/**
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", username));