SSM 美食食谱分享推荐系统
本科毕业论文(设计)学术诚信声明
本人郑重声明:所呈交的毕业论文(设计),是本人在导师的指导下,独立进行
研究工作所取得的成果。除文中已经注明引用的内容外,本论文不包含任何其他个人
或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均
已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。
作者签名: 日期: 年 月 日
本科毕业论文(设计)版权使用授权书
本毕业论文(设计)作者同意学校保留并向国家有关部门或机构送交论文的复印
件和电子版,允许论文被查阅和借阅。本人授权绵阳城市学院可以将本毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业论文(设计)。
作者签名: 日期: 年 月 日
指导教师签名: 日期: 年 月 日
摘 要
本文研究了基于 SSM框架的美食菜谱共享推荐系统的实现。在介绍中,本文首先介绍了美食菜谱共享推荐系统的现状,并阐述了该系统的研制目标。在美食菜谱共享推荐系统中,用户以管理员和系统用户为主,它的主要功能有:首页、轮播图管理、系统公告管理,资源管理(文章推送,文章分类)。系统使用者(Administrator、 System Users)、模组管理(食谱信息,食谱分类,食材资源,食材分类,食谱评分,安排食谱,食谱分享)等功能
通过对该站点的各个功能模块的设计,使整个美食菜谱共享推荐系统的信息管理流程得以实施。该系统的应用,能够使该美食菜谱共享推荐系统的信息化管理可以方便管理员更加方便快捷进行食谱、食材信息管理,可以提高系统用户食谱安排效率。
关键词:美食食谱分享推荐系统;java语言;MYSQL数据库;SSM框架
Abstract
In this paper, the realization of food recipe sharing recommendation system based on SSM framework is studied. In the introduction, this paper first introduces the current situation of the food recipe sharing recommendation system, and expounds the development goal of the system. In the food recipe sharing recommendation system, the users are mainly administrators and system users, and its main functions are: home page, rotation chart management, system announcement management, resource management (article push, article classification). System Users (Administrator, System Users), module management (recipe information, recipe classification, ingredient resources, ingredient classification, recipe rating, recipe scheduling, recipe sharing) and other functions
Through the design of each function module of the site, the information management process of the whole food recipe sharing recommendation system can be implemented. The application of the system can make the information management of the food recipe sharing recommendation system more convenient for the administrator to manage the recipe and food material information more conveniently and quickly, and can improve the efficiency of the system user's recipe arrangement.
Key words: food recipe sharing recommendation system; java language; MYSQL database; SSM framework
目 录
摘 要 I
Abstract II
1 绪论 1
1.1研究背景 1
1.2研究现状 1
1.3研究内容 1
2 系统开发环境 3
2.1微信开发者工具 3
2.2系统框架以及目录结构介绍 3
2.3 java技术 4
2.4 Mysql数据库 4
2.5 SSM框架 5
3 系统分析 6
3.1 可行性分析 6
3.1.1 技术可行性 6
3.1.2操作可行性 6
3.1.3 经济可行性 7
3.1.4 法律可行性 7
3.2 系统性能分析 8
3.3 系统功能分析 8
3.4系统流程分析 9
3.2.1系统开发流程 9
3.2.2 用户登录流程 10
3.2.3 系统操作流程 11
3.2.4 添加信息流程 11
3.2.5 修改信息流程 12
3.2.6 删除信息流程 13
4 系统设计 14
4.1系统概要设计 14
4.2系统结构设计 14
4.3系统顺序图设计 14
4.3.1登录模块顺序图 14
4.3.2添加信息模块顺序图 15
4.4数据库设计 15
4.4.1数据库E-R图设计 16
4.4.2数据库表设计 16
第5章 系统详细设计 36
5.1系统用户功能模块 36
5.2管理员功能模块 40
6 系统测试 44
6.1 测试定义 44
6.2 测试目的 44
6.3测试方案 45
6.4系统分析 46
7 结论 48
参考文献 49
谢辞 51
1 绪论
1.1研究背景
在科技飞速发展的今天,电脑已经在社会的每一个角落发挥着越来越大的作用,特别是在信息管理上,在这种情况下,学习电脑知识并不只是为了获得一种技能,而是要将其运用到实际当中,用创新的角度来不断地为人类的生活提供便利,提高对食品知识的理解,使使用者能够更好地管理每日膳食信息。现在,现在,越来越多的人关心着健康,关心着食物,大多数人都想要吃到好吃的,也想要吃的健康,因此,有些人就喜欢在家里做一些食物,但是他们对这些信息的缺乏。美食菜谱共享推荐系统主要是为了让用户能够通过动手指找到自己感兴趣的菜谱,并按照菜谱在家里烹饪出自己喜欢的、有营养、有营养的食物。同时,为了提高用户群体的兴趣,用户也可以上传自己的菜谱,分享自己的烹饪经验。
1.2研究现状
最近几年,移动互联网的发展确实超出了我们的预料,在这样一个快速发展的年代,我们的生活节奏变得更快了,并且我们不能没有电脑,手机,网络。所以,与传统的膳食管理相比,美食菜谱共享推荐系统还提高了用户的使用感受,电子式的美食食谱分享推荐系统不需要人们去购买食谱,只需要拿着手机,登录系统即可进行查看食物信息,查看饮食建议等,非常方便。这样便利性的操作使得美食食谱分享推荐系统成为越来越多用户的选择。而且现在市面上也开始大量出现美食食谱分享推荐系统,所以此美食食谱分享推荐系统的设计与实现也是紧紧跟着时代发展的潮流的。
使用美食食谱分享推荐系统,它不但节省了大量的人力物力,同时也使传统产业在网络时代的发展中迈出了巨大的一步。随着网络的不断发展,菜谱共享和推荐系统将会变得更加方便和普及。
1.3研究内容
这个美食菜谱共享推荐系统的开发与设计,是从系统使用者的实际状况入手,详细地分析了系统的需求,再对系统进行总体设计,最终经过测试,使这个系统能够更完善地设计,能够将系统中的各项功能都发挥出来,在开始撰写论文前,亲身去图书馆借阅 SSM架构、java框架书籍,比如 MYSQL数据库图书和其他编程书籍,然后在网络上搜索了许多其他人已经完成的系统,参考他们的设计成果,来进一步完善自己的系统,列出系统中的各种功能结果,再进行需求分析,最后对各个功能模块进行编码,最终完成整个系统的测试,使整个系统能够正常工作。
这篇文章共分六大部分,主要包括以下几部分:
第一章引言:介绍了本系统的开发背景。
第二部分,介绍了本系统所用到的各项技术。
第三章,对整个系统进行了系统的分析,并对各个功能的要求做了详细的分析,以确定这个系统有没有发展的潜力。
第四章是系统的设计,主要是对各模块的功能和数据库进行了详细的说明,并给出了相应的图表。
第五章系统的实现:对各主要功能模块的接口进行了演示.
第六部分:对系统进行测试,对系统各项功能进行检测,看看能否达到预期的效果,达到预期效果。
1.4 国内外研究现状以及发展趋势
1.4.1 国外研究现状
在国外,美食食谱分享系统已经得到了较为成熟的发展。一些知名的美食分享平台如Yummly、Allrecipes等已经拥有了庞大的用户群体和丰富的食谱资源。这些平台通过用户上传食谱、评论、点赞等方式,实现了用户之间的互动和交流,同时也为许多烹饪爱好者提供了学习和分享的平台。
在当今的数字时代,美食分享已经成为一种全球性的现象。人们通过各种平台和渠道分享他们的烹饪技巧、食谱、品味体验和美食背后的故事。以下是对当前国外美食分享现象的一些关键方面的概述。社交媒体平台如Instagram、Facebook和Twitter等已经成为美食分享的主要场所。人们通过这些平台发布他们烹饪的食物照片、食谱和个人美食故事,吸引了大量关注者和粉丝。这种影响力反过来又激发了更多人的创作热情,推动了美食分享文化的发展,食谱分享平台如Yummly、Tastespotting和Food52等已经成为美食爱好者的聚集地。这些平台提供了食谱搜索、分享和讨论的功能,用户可以在这里找到各种不同的菜谱,学习新的烹饪技巧,并与志同道合的人交流。
美食博客和杂志一直是美食文化的重要组成部分。这些博客和杂志提供了专业的食谱、烹饪技巧和美食评论,同时也为读者提供了一个了解不同国家和文化的窗口。许多知名的美食博客和杂志已经在全球范围内积累了大量的粉丝。随着教育的快速发展,许多烹饪大师和美食爱好者开始提供在线烹饪课程。这些课程通常包括视频教程、食谱下载和在线互动讨论,为用户提供了一个学习烹饪技巧和与专业人士互动的机会。
与美食分享相辅相成的还有食品摄影文化。高质量的美食照片已经成为吸引观众的关键因素之一。许多人热衷于学习食品摄影技巧。这也促进了食品摄影的教学和培训行业的发展。
健康饮食观念对美食分享产生了深远的影响。越来越多的人开始关注食物的来源、营养价值和烹饪方式,倾向于选择更加健康、天然和有机的食材。这也促使食谱分享的内容更加注重健康饮食,并推动了素食主义、无麸质生活等健康生活方式的发展。
随着健康饮食观念的普及,素食主义和无麸质生活等健康生活方式逐渐成为一种潮流。这些生活方式强调减少动物性食品的摄入或完全不吃动物性食品,以及避免食用含有麸质的食品。越来越多的食谱开始考虑这些需求,提供相应的素食和无麸质食谱。
全球化促进了不同国家和地区的文化交流,也包括美食文化。通过美食分享平台和各种交流活动,人们可以轻松地了解并尝试来自世界各地的美食。这种国际美食融合不仅丰富了人们的口味体验,也促进了不同文化的交流和理解。
1.4.2 国内研究现状
与国外相比,国内美食食谱分享系统起步较晚,但发展迅速。国内的美食分享平台如豆果美食、下厨房等已经成为了广受欢迎的应用程序。这些平台提供了各种菜系的食谱,以及食材推荐、烹饪技巧等内容,满足了不同用户的需求。同时成为了美食分享的重要场所。国内外美食食谱分享系统在发展过程中存在一些差异。首先,在食谱内容上,国内平台更加注重本地化和特色菜系的推广,而国外平台则更加注重国际化和多元化的食谱分享。其次,在用户互动方面,国内平台在用户互动和社区建设方面还有待提高,而国外平台则更加注重用户之间的互动和参与。
随着人们对健康饮食和生活品质的追求,未来美食食谱分享系统将呈现出以下趋势:健康饮食理念:未来的美食食谱分享系统将更加注重健康饮食理念的推广,提供更多低热量、低脂肪、高纤维的食谱选择。智能化推荐:通过人工智能技术,未来的美食食谱分享系统将能够根据用户的口味、饮食习惯和营养需求,智能化推荐合适的食谱和食材。从市场竞争来看,现在国内的菜单 APP行业存在着非常严重的同质化现象,市场上的竞争非常激烈,而且规模不大,绝大多数的公司都是依靠外来的资金来经营,因此还没有形成垄断。但是,近几年来,随着电商、直播、社区团购和网络用户的增长,菜谱 APP的市场集中度也在不断提升,占据了很大的市场份额,其中最大的一块是下厨房,一块是豆果美食,一块是好豆菜谱。
1.4.3 美食分享未来发展趋势
美食旅游已经成为一种全球性的趋势。人们越来越多地将旅行与品尝当地美食相结合,通过品尝不同国家和地区的特色美食来了解当地的文化和生活方式。这种趋势推动了餐饮业和旅游业的发展,同时也为美食分享提供了更多的素材和机会。
社区化发展:未来的美食食谱分享系统将更加注重社区化发展,通过加强用户之间的互动和交流,提高用户的参与度和粘性。
1.5 本章小结
本章节主要介绍了选择美食食谱分析推荐系统为研究主题的研究背景,介绍了美食分享系统的发展背景,以及介绍了目前以该主题为得系统的现状分析,同时阐述了国内外以及美食分析推荐系统的未来的发展趋势。
2 系统开发环境
2.1微信开发者工具
微信开发者工具现由一个系统开发小组开发并运行,任然目前正在持续改进中,在开发这个系统时往往要持续地进行升级。您可以通过微信扫一扫,进入开发者工具,开发者工具会利用该微信账户上的资料来进行系统的开发与调试。
机型选取:根据智能机显示屏大小,对其进行裁切。
预览接口:在编写完视图后,按一下编译,用以更新视图的介面。
主控台:便于对印刷输出资料进行调试。
上传密码:上传至腾讯的服务器,这是审核的必经之路。在上传代码的时候,您可以在上面填上自己的版本号和注释。
资源档:通常您可以在资源档执行相应专案之档案目录中的断点侦错。
显示遥控调试:移动和 PC两个系统的联合调试对于用户来说很有实际意义。
本地数据存储:显示的是本地存储的数据。
检视侦错:标化元件以子父级架构显示,以容易侦错。
微信的编码容量不能超过2 M;在开发过程中,通常不对法定的域名进行校验;系统的背景是要做域名的服务器。
2.2系统框架以及目录结构介绍
该体系结构被划分为两个层次:逻辑层和视图层。本项目的目的就是要以最简单,最有效的方式,让开发者能够在微信上使用本地的用户体验。该系统为视图层和逻辑层之间的数据传递与事件处理,并为其提供了独立的视图和逻辑层框架,使开发人员可以集中精力在数据和逻辑上。这个框架的中心是一个能够使数据和视图同步的反应式数据绑定系统。在逻辑层进行数据更改,在视图层进行相应的更新。这个框架为用户提供了一系列的基本构件,它们具有类似于微信的风格和独特的逻辑,只要将这些构件结合在一起,就能打造出一个功能强大的微信。
2.3 java技术
Java是在20世纪末期由 Sun公司推出的,它的源码是开放的,这一优势对全世界的程序员都有很大的吸引力,让他们制作出了一个又一个的经典和有趣的小游戏。Java是一种纯粹的面向对象的语言,从它问世到现在,已经有了近二十年的历史。
Java语言的特点是:(1)跨平台无关;(2)面向对象;(3)保证了系统的安全;(4)支持多种任务;(5) 编制方法多样,易于编程。与其它底层语言和高级语言相比, Java语言的优点是显而易见的。
首先, Java是一种很容易理解的面向对象的本质。所谓客体,实际上就是一切事物都是客体,我们人也是客体。在此基础上,提出了一种新的基于 OOP的新方法,即 OOP的概念,并将其应用到实际应用中,从而为高效的软件开发提供技术支撑。
其次,Java语言具有良好的跨平台独立性。所写的应用程序是用 Java语言编写的,这样就不需要再用编译器对程序代码进行修改,可以直接在任意的电脑系统上工作, Windows系统也能工作, Linux系统也能工作,也就是说,只要一次编译,就能在各个地方都运行,因此 Java语言的可移植性非常好,能够很好地实现跨平台。
2.4 Mysql数据库
Mysql是一种多系统用户的多线程服务器,它使用了 SQL的数据库。该软件具有强大的功能,操作简单,管理简单,可靠性高,运行速度快,多线程,跨平台,充分网络化,稳定性好等特点,特别适用于网站或其它数据库后端的应用。
另外,通过使用多种语言,成员可以对 Mysql数据库进行编程,并对其进行访问,随着开发人员的青睐,它的应用领域也在不断扩大。这是因为它的快速、易用性,所以网站或者应用程序的后端数据库开发都采用了这种方法。
2.5 SSM框架
"SSM组合框架",即 Spring+ SpringMVC+ MyBatis的简称,现在很受欢迎,而"组合 SSM框架"则代表着强强合作,各司其职,协同互补的理念。网页专案的架构,经常是比较简单的资料来源。Spring是一种轻量级反向控制框架,同时也是一种面向曲面的容器。SpringMVC经常被用来作为一个分类的工作方式的控制器,它是从一个模型对象中分离出来的。这样的去耦合疗法使得整个系统更易于实现个性化。MyBatis是一种很好的可持续发展框架,它在支持一般 SQL查询的同时,还可以在存储过程中使用先进的映射来优化数据。针对大规模 Java网络应用软件存在的开发费用高、开发后难于维护等问题,提出了一种能够构建商业体系的"SSM组合框架",可以很好地解决这一问题。
2.6 B/S架构介绍
B/S架构,是从 C/S架构发展而来的一种不需要客户端的架构,这样可以减少软件的开发费用,可以在 Wed Server上提供数据,并在 Wed Server上完成所有的业务流程,Wed Server负责对用户的存取,并将该数据从数据库中提取出来,并将其反馈到用户端。。该架构的优势在于:可以让使用者在任何时候都能进行操作,只要在客户端上安装了web浏览器,就可以看到对应的效果,这样的话,使用者的互动就会变得很好,能够减轻开发人员的工作压力。其特点是易于扩展,易于维护和分布性,对客户端的件要求不是很高,B/S的工作方式:
图2-1 B/S原理图
2.7 HTML技术介绍
HTML是超文字标志语言的英文简写,是一种不经任何修改、可由浏览器直接访问的标志。它可以组合各种程序语言。
在技术研究方面,HTML5是一种集成了 HTML技术、 CSS和 JAVA技术的集成类应用技术,W3C于2015年公布了这一技术,现在大多数主流浏览器如谷歌,火狐,微软,都支持html5技术[5]。
2.8 CSS技术介绍
CSS是一种以文档的方式呈现的电脑语言,它是随着现代计算机科技的飞速发展而出现的,它也叫做层叠样式表。它收集了大量的功能库给开发者使用,极大提升了我们制作网页的速度,也给用户展现出多种多样的网页。
3 系统分析
系统分析是指需求者在与系统使用者进行交流时,获得的资料,并以需求规格表的形式呈现给使用者及开发者。在软件的发展历程中,长期以来,尤其是初期,对需求分析的重要性一直没有得到足够的重视,就像美国的 IBM公司,为英国电讯公司研制了一种资讯管理系统,在未确定需求前进行研发,初始计划为一年,但因不清楚需求获得而延误了大半年,给公司带来重大损失。我们的许多软件公司都是这样,一边要求,一边开发,有的时候,还没有和系统的使用者沟通好,就把同样的项目给改了,结果到了验收的时候,又要重新修改,浪费了大量的人力和物力。所有这些结果都是由于不及时、不清晰和不完整而造成的。
3.1 可行性分析
美食菜谱共享推荐系统的主要目的就是为了让管理员更好地管理菜谱和食材信息,能够提升系统中的使用者菜谱编排的效率。在此基础上,本文从四个方面对该体系是否能够达到预期的目的进行了可行性分析。
3.1.1 技术可行性
美食食谱分享推荐系统主要采用java技术,基于B/S结构,Mysql数据库,对于应用程序的开发要求具备完整功能,使用简单的特点,并建立一个数据完整安全稳定的数据库。美食食谱分享推荐系统的开发技术具有很高可行性,且开发人员掌握了一定的开发技术,所以系统的开发具有可行性。
3.1.2操作可行性
美食食谱分享系统的开发,基于用户的角度,一定要操作简单,不能出现不清楚的名词,否则会流失大量用户,还有就是不允许出现明显的系统错误。
3.1.3 经济可行性
美食食谱分享推荐系统是基于B/S模式,利用 Mysql数据库进行数据存储,所需的软硬件环境在市面上都能买到。因此,在开发该项目时,对人力、财力的需求并不高,并且这个系统并不太复杂,开发时间也比较短,从经济性上来说,它是比较可行的。
3.1.4 法律可行性
本系统是作者自行开发的一套管理系统,具有较强的实用性。因为不管是在软件上,还是在数据库中都使用都是开源代码,因此这个系统的开发和设计,并不存在侵权等问题,在法律上完全具有可行性。
3.2 系统性能分析
(1)系统的反应速度:网页的应答时间要控制在3秒钟左右,最大不能超过4秒钟,并且能够支持10000名以上的用户在同一时间内使用的系统。
(2)界面简明、直观:该系统的接口要简明、直观、易于使用,并能满足用户的使用习惯。
(3)存储能力强:由于美食菜谱共享推荐系统需要存储大量的信息,所以对系统的内存需求非常大。
(4)易学性:本系统在使用过程中一定要容易掌握,不会有太多繁琐的工作,只要经过简单的学习,就可以对其进行操作。
(5)稳定性:所设计的美食菜谱共享推荐系统,需要在运行时具有稳定、清晰的接口。
3.3 系统功能分析
本美食食谱分享推荐系统主要包括两大功能模块,即管理员功能模块和系统用户模块。
(1)管理员模块:该系统以系统管理员为中心,当管理员登陆后,可以使用管理员菜单对其进行管理,(1)管理员模块:该系统以管理员为中心,在管理员登陆后,使用管理员菜单对其进行管理。它的主要特点是:头版,模块管理(食谱信息,食谱分类,食材资源,食材分类,食谱评分,安排食谱,食谱分享)等。管理员用例图如图3-1所示。
图3-1 管理员用例图
(2)系统用户,主要功能有:首页,食谱信息,食材资源,文章推送,我的(基本信息,收藏,食谱评分,安排食谱,食谱分享)等,如图3-2所示。
图3-2 系统用户用例图
3.4系统流程分析
3.2.1系统开发流程
美食食谱分享推荐系统开发时,首先,对系统进行了需求分析,然后对整个系统进行了整体的设计,对系统的各个功能模块进行了设计,并对数据库进行了选取。
图3-3系统开发流程图
3.2.2 用户登录流程
图3-4 登录流程图
图3-5 添加信息流程图
3.2.3 系统操作流程
当使用者开启并登陆该系统时,首先会出现一个登陆画面,需要键入正确的使用者名称与密码。系统会对资料进行检查,如果资料正确,就会让使用者在电脑上输入资料,如果没有,就会显示出电脑有误,不能登入。
图3-6 系统操作流程图
3.2.4 添加信息流程
管理员可以对食谱信息等进行信息的添加,系统根据设定的规则,自动匹配信息是否符合标准,如图3-7所示。
图3-7 添加信息流程图
3.2.5 修改信息流程
管理人员可以更改菜谱信息等,系统使用者也可以在自己的权限范围之内修改信息,首先是进入更改资料的界面,将更改的资料输入进去,然后由系统对资料进行判定和确认,如果是正确的,那么就是修正成功,然后将资料更新到资料库中,如果是非法的话,那么修正就会失败,然后再输入一次。图3-8显示了修改信息的流程图。
图3-8 修改信息流程图
3.2.6 删除信息流程
图3-9 删除信息流程图
4 系统设计
4.1系统概要设计
本美食食谱分享推荐系统选择B/S结构有两种模型,一种是浏览器/服务器架构,另一种是基于 Web的服务。适用于因特网运行,只要系统使用者能够联网,无论何时何地均可操作使用该系统。图4-1中显示了该系统的操作示意图:
图4-1 系统工作原理图
4.2系统结构设计
整个系统是由许多功能模块组成的,要逐一列出各个功能模块,再逐一进行功能设计,使每个模块都有相应的功能设计,再对系统进行总体设计。
本美食食谱分享推荐系统结构图如图4-2所示。
图4-2 系统功能结构图
4.3系统顺序图设计
4.3.1登录模块顺序图
登录器模块的功能是实现用户对登录器的访问,登录器模块的结构图见图4-3。
图4-3 登录顺序图
4.3.2添加信息模块顺序图
管理员和系统使用者都可以在登录后完成增加信息的操作,增加的信息模块的程序框图见图4-4。
图4-4 添加信息顺序图
4.4数据库设计
一个好的数据库可以关系到程序开发的优劣,在数据库的设计中,必须考虑到表格的结构、表格间的关系、数据表格的内容等。在数据库设计过程中,应根据具体情况,有针对性地进行数据库的开发和设计。
4.4.1数据库E-R图设计
这是一个使用 MYSQL数据库的美食菜谱共享推荐系统。因为美食食谱分享推荐系统,最重要的就是信息的管理,因为信息的种类很多,所以必须要有一个良好的数据库,必须要有一个清晰的分类,不能在增加信息时,导致信息过于杂乱,所以,在设计一个数据库之前,必须要清晰地表示出各个实体间的关系,系统的E-R图表如下。
图4-5系统ER图
4.4.2数据库表设计
从电子- R数据库的概念设计图向关系型数据库转化;在一个关系型数据库中,数据关系是一个数据表,而表的结构则是通过一个表的域来表示的。
用户表设计,需要考虑到设计哪些字段,以及字段对应哪些类型,长度多少,数值能否为空,为什么不能为空等思想。针对用户表,设计了用户ID、账户状态、所在用户组、手机号码、用户名等字段,以下为字段对应的详细信息:
表4-1 用户表(user)
字段名 数据类型 长 度 是否为空 注释
user_id mediumint 0 True 用户ID:[0,8388607]用户获取其他与用户相关的数据
state smallint 0 True 账户状态:0,10
user_group varchar 32 False 所在用户组:[0,32767]决定用户身份和权限
login_time timestamp 0 True 上次登录时间:
phone varchar 11 False 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
phone_state smallint 0 True 手机认证:0,1
username varchar 16 True 用户名:[0,16]用户登录时所用的账户名称
nickname varchar 16 False 昵称:[0,16]
password varchar 64 True 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
email varchar 64 False 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时
email_state smallint 0 True 邮箱认证:0,1
avatar varchar 255 False 头像地址:[0,255]
create_time timestamp 0 True 创建时间:
系统轮播图表设计,分别设计了轮播图ID、标题、内容、链接、轮播图、点击量等几个字段,其中ID为主键,轮播图标题等为必填字段,不能为空,表的详细设计如下:
表4-2 轮播图表(slides)
字段名 数据类型 长 度 是否为空 注释
slides_id int 0 True 轮播图ID:
title varchar 64 False 标题:
content varchar 255 False 内容:
url varchar 255 False 链接:
img varchar 255 False 轮播图:
hits int 0 True 点击量:
create_time timestamp 0 True 创建时间:
update_time timestamp 0 True 更新时间:
食谱名称表设计,食谱名称数据表设计数据表用于存储食谱的相关信息,包括食谱ID、食谱名称、菜系、烹饪时间、菜肴分量、食材列表、烹饪方法、难度等级、图片链接和来源网站等。通过该数据表,用户可以方便地查找和浏览各种食谱,从而更好地了解和掌握烹饪技巧。数据表设计注意事项
- 数据表字段应具有明确的含义和用途,避免歧义和误解。
- 确保数据表中的字段类型和长度满足存储需求,以提高数据处理的效率和准确性。
- 考虑数据表的扩展性和灵活性,为未来的数据增长和变化预留足够的空间。
- 为资料表设定适当的主索引键与外部索引键限制,以保证资料的完整与一致。
- 在数据表设计中考虑查询性能和优化,以提高数据检索的速度和效率。
表4-3 食谱名称表(recipe)
字段名 数据类型 长 度 是否为空 注释
recipe_sharing_id int 0 True 食谱分享ID
recipe_name varchar 64 False 食谱名称
recipe_classification varchar 64 False 食谱分类
cover varchar 255 False 封面
taboo varchar 64 False 食用禁忌
materials_used varchar 64 False 所用材料
intended_for varchar 64 False 适用人群
production_method text 0 False 制作方法
share_with int 0 False 分享对象
share_date date 0 False 分享日期
recommend int 0 True 智能推荐
create_time datetime 0 True 创建时间
update_time timestamp 0 True 更新时间
用户评分数据表设计用于存储用户对评分项目的评分信息,包括用户ID、评分项目、评分等级、评分描述、评分时间、评论内容、修改记录和相关关联数据等。通过该数据表,可以对用户评分进行全面管理和分析,从而了解用户的需求和意见,优化产品或服务质量。数据表设计注意事项:
- 数据表字段应具有明确的含义和用途,确保数据的准确性和一致性。
- 根据实际需要,选取适当的数据格式,以提高数据处理的效率和准确性。
- 考虑数据表的扩展性和灵活性,为未来的数据增长和变化预留足够的空间。
- 为资料表设定适当的主索引键与外部索引键限制,以保证资料的完整与一致。
- 在数据表设计中考虑查询性能和优化,以提高数据检索的速度和效率。
- 考虑到数据的安全性和隐私保护,对敏感数据进行适当的加密和脱敏处理。
表4-4 用户评分表(recipe_score)
字段名 数据类型 长 度 是否为空 注释
recipe_score_id int 0 True 食谱评分ID
recipe_name varchar 64 False 食谱名称
recipe_classification varchar 64 False 食谱分类
cover varchar 255 False 封面
taboo varchar 64 False 食用禁忌
materials_used varchar 64 False 所用材料
intended_for varchar 64 False 适用人群
system_user int 0 False 系统用户
user_rating varchar 64 False 用户评分
number_of_raters varchar 64 False 评分人数
reason_for_scoring text 0 False 评分理由
recommend int 0 True 智能推荐
create_time datetime 0 True 创建时间
update_time timestamp 0 True 更新时间
公告数据表设计用于存储公告的相关信息,类型、内容、发布机构、有效期、状态以及关联项目或产品等。通过该数据表,可以有效地管理各类公告,确保信息的及时发布和更新,提高信息传递的效率和准确性。数据表设计注意事项:
- 数据表字段应具有明确的含义和用途,确保数据的准确性和一致性。
- 根据实际需要,合理地选取数据类型与长度,以提高数据处理的效率和准确性。
- 考虑数据表的扩展性和灵活性,为未来的数据增长和变化预留足够的空间。
- 为资料表设定适当的主索引键与外部索引键限制,以保证资料的完整与一致。
- 在数据表设计中考虑查询性能和优化,以提高数据检索的速度和效率。
- 考虑到数据的安全性和隐私保护,对敏感数据进行适当的加密和脱敏处理。
表4-5 公告表(notice)
字段名 数据类型 长 度 是否为空 注释
notice_id mediumint 0 True 公告id:
title varchar 125 True 标题:
content longtext 0 False 正文:
create_time timestamp 0 True 创建时间:
update_time timestamp 0 True 更新时间:
食谱分类表设计是用于对食谱进行分类管理的数据表。通过将食谱按照不同的属性进行分类,可以提高食谱的检索和管理效率,方便用户快速找到自己感兴趣的食谱。本设计主要包含食材类型、菜系类别、烹饪方式、营养标签、饮食习惯、口味标签、适用场合和难度等级等几个方面。数据表字段设计如下:
- 食谱分类:用于标识食谱所使用的食材类型,例如蔬菜、肉类、海鲜等。
- 菜系类别:用于标识食谱所属的菜系,例如中式、西式、日式等。
- 智能推荐:用于推荐给用户设置的偏好。
- 创建时间:食谱创建时间。
- 更新时间:更新时间。
表4-6 食谱分类表(categorition)
字段名 数据类型 长 度 是否为空 注释
categorization_of_recipes_id int 0 True 食谱分类ID
categorization_of_recipes varchar 64 False 食谱分类
recommend int 0 True 智能推荐
create_time datetime 0 True 创建时间
update_time timestamp 0 True 更新时间
第5章 系统详细设计
5.1系统用户功能模块
系统用户登录美食食谱分享在系统的主页上,你可以看到菜谱的第一页,我的(基本信息,收藏,食谱评分,安排食谱,食谱分享)等功能,如图示。
图5-1系统首页界面图
用户登录后,在登录界面输入自己的帐号,密码,认证密码,昵称,邮箱,手机,身份等信息,就可以登录了。
图5-2用户注册界面图
图5-3用户登录界面图
食谱信息,在此页面可以查看食谱信息,在该页面按照点击数或发布日期进行排序,可以点击查看详情,分享,收藏,评论,评分,安排等功能操作,如图下图所示。
图5-4食谱信息一览示界面图 图5-5食谱信息展示界面图
图5-6食谱评分界面图 图5-7食谱安排界面图
图5-8食谱分享界面图
食材信息,在此页面可以查看食材详细信息,以及对该页面信息进行点击查看,收藏,评论等功能操作,如图下图所示。
图5-9食材信息界面图 图5-10食材信息详情界面图
5.2管理员功能模块
管理员登入后,填好登记时输入的帐号,密码,滑动输入验证码,如下。
图5-11管理员登录界面图
管理员登陆后,就可以在"美食菜谱"共享推荐系统中看到:后台首页,滚动图表管理,系统公告管理、资源管理(文章推送、文章分类)、系统用户(管理员、系统用户)、模组管理(菜谱信息、菜谱分类、食材资源、食材分类、菜谱评分、菜谱共享)等多个函数,并对其进行相应的操作。
图5-12管理员功能界面图
文章推送管理,在这个网页中,你可以看到你所推入的帖子的详情,还可在此页面进行添加、删除或重置等操作,如下图所示。
图5-13文章推送管理界面图
图5-14添加推送文章界面图
食谱信息管理,在此页面中可以查看食谱的详细信息,包括食谱名称,封面图,分类,所用材料,适用人群等信息,还可在此页面进行添加、清除或重置等操作,如下图所示。
图5-15食谱信息管理界面图
图5-16添加食谱信息界面图
食材资源管理,在此页面中可以查看食材的详细信息,包括食材名称,封面图,分类,标签,食用禁忌等信息,还可在此页面进行添加、删除或重置等操作,如下图所示。
图5-17食材资源管理界面图
图5-18添加食材资源信息界面图
6 系统测试
当一个系统被设计出来之后,就会进行测试,它的目的是为了检查一个已经被设计好的网站,它能够正确地工作,并且能够最大限度地找到它存在的问题。这样,在以后的网站上,在使用之后,就可以尽量地减少错误[12]。
6.1 测试定义
测试不应只是在系统开发之初进行,而是要贯穿于系统的全过程。评价系统品质的方式,不仅限于程式码与程式,更要结合软体的设计成果与历史需求分析。系统缺陷,不一定是程式码,也可以是设计概要及设计详细资料,也可以在需求分析阶段产生。在现实中,最开始出现的问题很可能只是一个小小的失误。这一制度的理由也是如此。
6.2 测试目的
美食菜谱共享推荐系统的开发和设计完成之后,要对它进行一个系统的测试,它的首要任务就是要找到和发现系统中存在的问题,然后采取相应的措施,保证该系统能够平稳地工作,在进行系统的测试时,在测试的过程中,要非常的认真,不能有任何的马虎,也不能有任何的疏漏,在测试的过程中,也不能操之过急,要根据事先制定的测试步骤一步一步地去做,并对测试的结果做好详细的记录,我们在进行测试时,最好是选择自动化的测试,这样可以节约时间,保证测试的精度,而手工测试的方式就没有那么便捷了,因为手工测试存在着许多的不确定性,所以在试验中很容易出问题,使用仪器来测试是没有问题的,而这台机器也不会疲倦地继续工作。在进行测试的过程中,必须要保持高度的注意力,随时注意测试的结果,如果有任何不正常的地方,都要及时的做出修正。系统的测试有很多种方式,针对这一次的美食菜谱共享推荐系统,我们采用了最常用的黑盒测试法对其进行了测试。
6.3测试方案
掌握好测试计划是最重要的一环。此测试方案应包括所有技术上的困难。另外,我们要确保它与目标保持一致,这样才能发现其中的主要缺陷和缺陷。只有白盒测试和黑盒测试,才能完美地解决这些问题。
(1)模块测试
所谓的单元测试,就是指对各个模块所担负的功能进行测试,它主要是用来发现在实际的设计过程中,某个小的程序可能会发生的问题,如果把这些问题解决了,那就证明我们的模块测试是非常成功的。
(2)集成测试:软件耗费较少。更好的地位系统中错误的位置。从下到上的设计,主要是针对较低的建筑,而对于中部的设计,则是采取了折中的方式。
(3)验收测试:
最后,就是收尾了。让系统使用者看看我们的系统有没有像我们想要的那样运行。我使用了一个称为黑盒的性能测试来测试这个系统。
其结果是分别是:
有一定的差异在系统用户的需求。
再者就是结果与之差不了多少。
到了最后了,我们发现的问题都是与系统用户的需求存在一定的关联。
1、登录测试
测试点:登录
测试的目标:验证账号密码。
所用的环境:Windows10和IE浏览器。
输入信息:系统用户名、密码。
表6.1 登录测试
情况 系统用户名输入 密码输入 期望结果
(1) 15546219225 1244566 提示"系统用户名或者密码错误,或账号未经审核"
(2) aaaaa 123456 提示"系统用户名或密码错误,或者账号未经审核"
(3) 22 22 登陆成功
7 结论
本文对美食菜谱共享推荐系统的设计和实现进行了研究,在论文的开头,简要地介绍了一下研究背景、研究现状和研究内容,接着,从系统的角度进行了分析,引出了本系统研究的主要内容。
在介绍了 SSM框架 JAVA技术以及 MYSQL数据库的基础上,从软硬件两个方面来阐述了美食菜谱共享推荐系统的设计和实施的可行性。这篇论文的结论和研究结果有以下几个方面:利用 SSM框架, JAVA技术, MYSQL,来建立一个美食菜谱共享推荐系统。我感觉到,学习一种新的技能,最关键的是练习,只有亲身体验,才能更快的掌握。为了吸引更多的使用者,系统的界面必须具有美观性、独特性和友好性,以及完善的功能。
因为他以前对 SSM框架不是很熟悉,因此一开始就遇到了很多难题,比如一开始的网页显示不规范,数据库连接有问题,导致参数传输不能完成。但是,经过我不停地阅读有关的信息,并且向老师和同学们询问之后,这些问题终于都迎刃而解了,在这一次的系统开发中,我学到了许多的东西,也意识到了自己的不足之处,特别是学会了从海量的资料中挑选出自己需要的、需要的资料,与此同时,我也越来越深刻的认识到,尽管书籍上的大多数知识都是有价值的,是正确的,但是,事实上,每一个人的编程思想和对数据处理的方式和思维方式都是不一样的,这就需要我们从实际出发,去寻找解决问题的办法。通过这次毕业设计,我获得了很多有价值的经历,我想这将有助于我今后的发展。
通过这次美食食谱分享推荐系统开采,这让我学到了很多东西,也让我意识到了自己的不足之处,经过这次的学习,我会努力地去开发出更多有用的、合适的系统软件,这一次的系统设计,让我的编程能力得到了很大的提升,为将来的系统开发奠定了坚实的基础。
参考文献
[1]皇甫若桐.基于SSM的环境监测管理系统设计[J].集成电路应用,2023,40(02):340-341.DOI:10.19339/j.issn.1674-2583.2023.02.148.
[2]赵静.基于SSM+VUE框架的企业合规管理系统[J].数字通信世界,2022(11):17-19.
[3]Zheng Hongying. A Study on the Design of English Speaking Examination System Based on SSM Framework[J]. Journal of Sensors,2022,2022.
[4]刘子豪,闭祖松,简钰轩,龚蕾,李楠,范佳乐.基于大数据的食谱推荐系统设计[J].工业控制计算机,2022,35(07):92-93+96.
[5]许潼歆,何晋乐,邱勋拥.基于系统的校园服务平台的设计和实现[J].电子技术与软件工程,2022(13):61-64.
[6]刘源昭,陈伟,曹俊杰,李鹏宇,李英杰,许一靖,孙浩铭.基于SSM架构的图书管理系统[J].山西电子技术,2022(03):61-63+76.
[7]郑永涛,孔维宾,陈俭朝,杨晓芳,张红艳.基于微信系统的高校办公室管理系统设计与实现[J].软件,2022,43(06):35-39.
[8]彭婷.基于SSM框架的客户关系管理系统的设计与实现[J].信息与电脑(理论版),2022,34(08):137-139.
[9]邢明钢,王浩,李娟.基于SSM的电子书架微信系统的设计与实现[J].电子技术与软件工程,2022(08):65-69.
[10]陈恒,陈淑丽.基于SSM框架的学生档案管理系统的设计与实现[J].电脑知识与技术,2022,18(10):42-43+47.DOI:10.14004/j.cnki.ckt.2022.0747.
[11]李双,郭晨晨,李佳虎,张慧娥.基于SSM框架的智能驾校系统的设计与开发[J].电脑知识与技术,2022,18(03):62-63+65.DOI:10.14004/j.cnki.ckt.2022.0150.
[12]郭广颂,席俊杰,文振华.个性化食谱智能优化系统[J].计算机工程与设计,2021,42(04):1143-1150.DOI:10.16208/j.issn1000-7024.2021.04.035.
[13]陈虹.基于HTML5的校园食谱推荐系统的设计与实现[J].智库时代,2020(15):257-258.
[14]. Design and Implementation of ERP System Based on SSM Framework[J]. ,2020,440(5).
[15]Ping Wanxin,Chen Yuankun,Hou Xiaoyan. Design of Campus Bicycle Rental Management System Based on SSM Framework[J]. Journal of Physics: Conference Series,2019,1314.
[16]Jihong W,Junmei W,Dongling S. Design and Research of University International Cooperation Office Platform Based on SSM Framework[C]//Jilin Province Science and Technology (S&T) Innovation Center for Physical Simulation and Security of Water Resources and Electric Power Engineering,The Cooperative Innovation Center of Wind Power Equipment and Energy Conversion, Hunan Institute of Engineering,St. John's University,Hunan Internet of Things Association.Proceedings of 2019 International Conference on Virtual Reality and Intelligent Systems (ICVRIS 2019) Volume I.Proceedings of 2019 International Conference on Virtual Reality and Intelligent Systems (ICVRIS 2019) Volume I,2019:229-232.DOI:10.26914/c.cnkihy.2019.011418.
[17]仲亮靓. 基于饮食知识图谱的食谱推荐系统的设计与实现[D].东南大学,2019.DOI:10.27014/d.cnki.gdnau.2019.003171.
[18]Di Lu,Yuping Qiu,Chun Qian,Xi Wang,Wei Tan. Design of Campus Resource Sharing Platform based on SSM Framework[J]. IOP Conference Series: Materials Science and Engineering,2019,490(6).
[19]许莉丽.基于SSM框架的企业服务微信系统设计与实现[J].无线互联科技,2018,15(21):36-38.
[20]叶伟聪. 基于Android的健康食谱推荐系统研建[D].北京林业大学,2018.DOI:10.26949/d.cnki.gblyu.2018.000874.
谢辞
这一次的毕业设计活动是成功的,在这次的毕业设计中,我学会了许多的东西,同时也提升了自己的能力。在系统开发设计的过程中,出现了很多的问题,但是通过老师和同学们的帮助,最后所有的问题都得到了解决,因此我要感谢在此过程中对我帮助的老师和同学们,感谢指导老师帮助我选课题,给我做详细的讲解,给我提供设计所需要的各种设备,也经常询问我进度与成果,再有难点的时候给我解决思路,帮助我顺利完成。没有他的指导,也不会有我今天所展现出的成果。
首先我要感谢我的指导老师,指导老师在教学任务繁忙的情况下,抽出时间帮助我纠正我在设计当中出现的问题,并耐性地为我的论文作校正,是他的定期检查和指导使得我们的毕业设计高质量完成。他在我整个课题开发和设计的过程中,为程序的设计、框架的设计、代码的撰写方面以及论文框架的设计提供了很多宝贵的意见,并且为我推荐了许多有用的资料和文献,他的指导和建议使我受益匪浅,有了指导老师的辅导和指点,我论文才能够顺利完成。老师的认真负责的工作态度和治学严谨之道使我们这些即将踏入社会的毕业生受益匪浅。
然后要感谢我的同学们,感谢大家对我这次毕业设计的帮助, 也感谢大家在大学生活中对我的陪伴,使得我的大学生活过的很快乐。
另外,我还要感谢父母,感谢一直以来对我的支持,让我能够顺利的完成我的学业,没有你们也就没有我的今天,感谢你们无私的付出,未来我一定会报答你们的。
最后,感谢在座的所有参加我论文答辩的老师们,感谢大家的聆听,你们辛苦了。