SSM家庭食谱管理系统-计算机毕业设计源码35711
(1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员功能来管理后台系统。主要功能有:首页、个人中心、用户管理、食谱分类管理、食谱信息管理、一周食谱健康安排管理、材料信息管理、美食论坛分享、系统管理、调用AI第三方文心一言等功能。(2)用户:首页、个人中心、我的收藏管理、美食论坛等功能。
随着数字技术的快速发展和互联网的普及,越来越多的家庭对在线食谱管理和烹饪分享的需求不断增加。传统的食谱管理方式通常依赖纸质食谱或者分散的在线信息,用户难以方便地查找和管理食谱,且缺乏互动与个性化体验。基于此背景,本文提出了一种采用SSM(Spring, Spring MVC, MyBatis)框架构建的家庭食谱管理系统。该系统旨在通过集成先进的技术手段,提供注册登录、食谱信息浏览、食谱收藏、评论、个性化推荐等便捷功能,满足现代家庭对高效、便捷且个性化的食谱管理需求。系统分为普通用户和管理员两大模块。普通用户可以通过注册登录后查看、收藏和评论食谱,同时管理个人信息和食谱记录;管理员则可管理食谱信息、用户账号、公告通知等内容,确保系统高效运行并提升管理效率。整体上,该系统提升了家庭食谱管理的便利性,同时增强了用户体验和服务质量。
关键词:家庭食谱管理系统;SSM;
Abstract
With the rapid development of digital technology and the popularity of the Internet, more and more families have an increasing demand for online recipe management and cooking sharing. Traditional recipe management methods often rely on paper recipes or scattered online information, making it difficult for users to easily find and manage recipes, and lacking interaction and personalized experience. Based on this background, this article proposes a home recipe management system built using the SSM (Spring, Spring MVC, MyBatis) framework. The system aims to provide convenient functions such as registration and login, recipe information browsing, recipe collection, comments, personalized recommendations, etc. by integrating advanced technological means, to meet the efficient, convenient, and personalized recipe management needs of modern families. The system is divided into two main modules: regular users and administrators. Ordinary users can view, bookmark, and comment on recipes by registering and logging in, while managing personal information and recipe records; Administrators can manage recipe information, user accounts, announcement notifications, and other content to ensure efficient system operation and improve management efficiency. Overall, the system has improved the convenience of home recipe management, while enhancing user experience and service quality.
Keywords: family recipe management system; SSM;
1 绪 论
1.1 研究背景
1.2 研究意义
1.3 研究现状
1.3.1 国内研究现状
1.3.2 国外研究现状
1.4 论文结构与章节安排
2 关键技术
2.1 Java语言
2.2 MySQL数据库
2.3 SSM框架
3 系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 操作可行性
3.1.4 市场可行性
3.2 系统需求分析
3.2.1 功能性需求分析
3.2.2 非功能性需求分析
3.3 系统流程分析
3.3.1 程序操作流程
3.3.2 登录流程
3.3.3 注册流程
3.4 本章小结
4 系统设计
4.1 系统架构设计
4.2 系统功能模块设计
4.2.1 系统整体功能模块设计
4.2.2 系统用户模块设计
4.3 数据库设计
4.3.1 E-R图
4.3.2 数据库表结构设计
4.4 本章小结
5 系统实现
5.1 普通用户功能实现
5.1.1 用户注册界面
5.1.2 用户登录界面
5.1.3 首页界面
5.1.4 公告通知界面
5.1.5 新闻资讯界面
5.1.6 食谱信息界面
5.1.7 个人中心界面
5.2 管理员功能实现
5.2.1 系统用户界面
5.2.2 食谱类型管理界面
5.2.3 食谱信息管理界面
5.2.4 系统管理界面
5.2.5 公告通知管理界面
5.2.6 资源管理界面
6 系统测试
6.1 系统测试目标
6.2 系统功能测试
6.3 测试结果总结
7总结
参考文献
致 谢
随着生活水平的提高和互联网技术的普及,现代家庭对于饮食健康和烹饪技能的关注逐渐增加。传统的食谱管理方式通常依赖纸质食谱、杂志或简单的电子文档,缺乏系统性和个性化,难以满足不同家庭和用户的需求。此外,随着快节奏的生活方式,很多家庭对方便、快速、健康的食谱信息的获取和管理有着强烈需求。尤其是在年轻一代的用户中,智能设备和在线平台已成为日常生活的一部分,他们更倾向于使用数字化工具来管理自己的饮食和烹饪习惯。因此,开发一款基于数字平台的家庭食谱管理系统,可以帮助用户更高效地获取食谱信息、进行个性化管理,并促进健康饮食习惯的形成。通过集成SSM框架,该系统能够为用户提供便捷的操作体验和高效的食谱管理服务,满足家庭烹饪的多样化需求,并提升用户的生活质量。
本研究的意义在于通过构建一个基于SSM框架的家庭食谱管理系统,解决了传统食谱管理方式中的诸多问题,如信息分散、管理不便和缺乏个性化服务。随着现代社会生活节奏的加快,传统的纸质食谱和不系统的食谱信息已无法满足用户日益增长的需求。通过该系统,用户可以方便地查询、收藏和管理食谱,获取个性化推荐,极大提高了烹饪效率和饮食质量。此外,系统提供的美食论坛和用户评论功能,促进了用户间的互动和知识共享,增强了社区氛围。
从社会意义来看,推广数字化食谱管理系统可以帮助家庭更好地规划饮食,减少不健康饮食习惯,推动健康饮食文化的发展。对于系统开发者来说,本课题的研究不仅丰富了SSM框架在实际应用中的探索,也为开发类似领域的系统提供了参考,具有较高的技术和应用价值。
近年来,随着互联网技术的发展,国内的家庭食谱管理系统逐渐受到关注,尤其是在移动互联网和智能设备普及的背景下,越来越多的数字化烹饪平台应运而生。目前,国内已有一些食谱管理应用,如“下厨房”、“美食杰”等,这些平台提供了丰富的食谱库、用户评论和个性化推荐功能,旨在为用户提供便捷的烹饪指导。然而,这些系统大多集中在食谱内容展示和用户交流上,缺乏系统性的数据管理和精确的个性化推荐功能,用户体验和系统效率方面仍有改进空间。
与此同时,基于SSM框架的食谱管理系统的研究较为稀缺,虽然在一些电商平台和餐饮管理系统中有使用SSM框架的案例,但针对家庭食谱管理的专门研究较少。因此,构建一个以用户为中心的家庭食谱管理系统,利用SSM框架实现高效的数据管理和个性化推荐,将有助于填补国内相关领域的研究空白,并推动数字化家庭烹饪管理的进步。
在国外,随着智能家居和物联网技术的发展,数字化食谱管理系统已逐渐成为家庭烹饪的辅助工具。平台如“Yummly”、“AllRecipes”和“Epicurious”等提供了强大的食谱数据库,结合智能推荐算法,根据用户的饮食偏好、健康需求和过往浏览记录,推送个性化的食谱建议。这些平台通常具有食谱搜索、收藏、评论、购物清单生成等功能,极大提高了用户的烹饪效率和饮食质量。
此外,一些系统还与智能厨房设备进行集成,如智能烤箱、冰箱等,自动调整烹饪设置,提升烹饪精度和便捷性。然而,尽管国外在智能食谱管理方面取得了一定进展,但仍存在用户隐私保护、个性化推荐精准度、跨平台整合等挑战。与国内市场相比,国外的食谱管理系统更多集中在跨设备和智能化应用层面,而国内在这方面的应用研究和实践仍有待深入。因此,结合SSM框架进行家庭食谱管理系统的研究,具有较高的技术和市场潜力。
1.4论文结构与章节安排
本文共分为七章,章节内容安排如下:
第一章:绪论,主要介绍基于ssm家庭食谱管理系统领域研究的背景和意义,概述研究的现状。
第二章:关键技术,主要探讨和说明实现基于ssm家庭食谱管理系统的关键技术。
第三章:系统分析,主要从基于ssm家庭食谱管理系统的可行性、功能性需求、非功能性能等方面进行分析,为后续系统设计提供理论支持。
第四章:系统设计,主要对基于ssm家庭食谱管理系统功能模块、数据库进行功能设计。
第五章:系统实现,主要介绍了基于ssm家庭食谱管理系统各个用户的功能、系统界面的实现。
第六章:系统测试,主要对基于ssm家庭食谱管理系统进行测试,验证功能完整性、稳定性和安全性,评估系统在实际运行中的性能表现。
第七章:总结。主要对系统的开发设计工作进行总结。
早在上个世纪90年代,Java就由詹姆斯·高斯林进行开发,自诞生之日起,Java就一直深深的受到了程序开发者的广泛喜爱,它作为计算机主要的编程语言,一直到今[1]。Java语言是真的是一种纯面向对象的计算机语言,在Java的世界中,所有的方法、数据类型、符号等都是以类的方式存在的,最顶层的就是Object,所有的类都是对object的继承。继承是Java中的核心思想,与C语言不同的是,子类只有一个父类,这样的好处就是操作更加的简便,让人更容易理解,在代码的书写上也会容易较多[2]。Java另外一个特性就是多态性,调用父类接口的方法可以实现子类的实现,这样的好处就是很好的对实现方法进行了隐藏(封装),而且又能够把API进行公开,一举两得。接口思想很好的诠释了想象对象的思想,让面向对象编程渐渐转向面向接口编程[3]。如今,随着编程思想的继续发展,Java也加入了一些函数式编程的思想,这样的好处就是让编程代码更加的简洁与方便。本系统采用Java编程语言进行后台的开发,一是鉴于标准化制定以后,Java语言常用于大型商业应用程序后台系统中,生态稳定;二是也希望通过本系统的开发提高自己编写Java代码的能力[4]。
MySQL是一种流行的开源关系型数据库管理系统,用于存储和管理数据。在基于ssm家庭食谱管理系统中,MySQL可以用于数据存储、数据查询和数据管理等方面,用户可以免费使用和修改源代码,为平台提供可靠和高性能的数据库支持[5]。MySQL支持多种存储引擎,如InnoDB和MyISAM,可以根据不同的应用场景选择合适的存储引擎,以提高性能;提供了多种数据安全机制,如用户权限管理、数据加密和备份恢复等,确保数据的安全性。
SSM框架是Java Web开发中的一种轻量级框架组合,包括Spring、SpringMVC和MyBatis三个核心组件。其中,Spring是一个开源的Java平台,提供了一套全面的技术方案,用于构建企业级应用程序;SpringMVC是Spring的一个模块,用于构建Web应用程序;MyBatis是一个优秀的持久层框架,支持自定义SQL、映射和事务管理。SSM框架组件详解:
Spring:
Spring框架的核心功能是依赖注入(DI)和面向切面编程(AOP)。依赖注入是通过配置文件或注解的方式,将应用程序中的对象及其依赖关系定义好,然后由Spring容器来创建和管理这些对象。面向切面编程则是通过预定义的切面(如事务管理、日志记录等)来增强应用程序的功能,而无需修改源代码。
SpringMVC
SpringMVC是一个基于Java的Web应用程序框架,它将URL请求与处理器(Handler)进行映射,并处理HTTP请求。SpringMVC采用了MVC(Model-View-Controller)设计模式,将业务逻辑、数据展示和用户交互分离,有助于降低模块之间的耦合度[6]。
MyBatis
MyBatis是一个持久层框架,它支持自定义SQL、映射和事务管理,可以将Java对象与数据库记录之间建立关联。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集,可以让开发者专注于SQL本身,提高了开发效率[7]。
系统分析是对系统开发的可行性进行研究,分析功能需求以确保系统满足用户期望。系统用例设计将明确定义系统与外部用户的交互场景,系统流程规划则细化系统内部功能流程,确保系统各模块协调工作。通过系统分析,可以建立清晰的系统框架,明确系统目标和功能,为系统开发和实施奠定基础。
3.1可行性分析
3.1.1技术可行性
SSM是一种常用的Java Web开发框架,它将Spring的loC容器、SpringMVC的模型-视图-控制器模式和MyBatis的ORM映射功能相结合,提供了强大的Web应用程序开发能力。目前,SSM框架已经非常成熟,有大量的成功案例和社区支持,可以快速构建稳定、高效、可扩展的Web应用程序。因此,从技术层面分析是可行的。
SSM框架是开源的,拥有大量的社区支持和丰富的学习资源。使用SSM框架进行开发可以降低开发成本,缩短开发周期。此外,SSM框架具备良好的性能和稳定性,可以降低系统的运行成本和维护成本。因此,从经济层面分析是可行的。
SSM框架具有良好的可维护性和可扩展性,便于后期的维护和升级。此外,采用Web方式进行管理,用户界面友好,操作简便,可以满足不同用户的需求。因此,从操作层面来说是可行的。
本系统分为普通用户和管理员这两大用户模块,各用户模块的具体功能说明如下:
(1)普通用户功能
1.注册与登录:用户可以通过注册账号进入系统,支持用户名、密码和邮箱绑定等多种方式进行身份认证,并在登录后访问个性化的功能与信息。
2.首页:首页提供系统的核心功能导航,展示热门食谱推荐、最新公告、新闻资讯及论坛动态,让用户快速了解平台最新动态。
3.美食论坛:用户可以在美食论坛板块发布帖子、分享烹饪心得、参与互动讨论,并对感兴趣的话题进行点赞、评论和收藏。
4.公告通知:系统公告通知模块向用户推送重要信息,包括系统维护公告、新增功能介绍、活动预告等,确保用户及时获取最新动态。
5. 新闻资讯:用户可以浏览最新的美食新闻、健康饮食指南、烹饪技巧等信息,并通过分类筛选获取个性化推荐内容。
6.食谱信息:食谱模块提供丰富的家庭食谱,用户可以根据食材、菜系、口味等多维度筛选,并查看详细的制作步骤与食材搭配建议。
7.修改密码:用户可以在个人账户设置中修改登录密码,需验证旧密码后设置新密码,以提高账号安全性。
8. 我的账户:用户可以在个人中心查看和管理自己的基本信息,包括用户名、头像、联系方式等,支持修改个人资料。
9.个人中心:个人中心整合用户的所有操作记录,包括收藏的食谱、发布的帖子、评论历史等,便于用户快速查看个人数据。
10.个人首页:用户的个人首页展示其近期活动、发布的内容、收藏的食谱等信息,营造个性化的使用体验。
11.收藏:用户可以将自己喜欢的食谱、帖子等内容收藏,方便随时查看和学习,提升使用便捷性。
12.评论管理:用户可以管理自己发布的评论内容,包括编辑、删除评论,以及查看收到的回复和互动信息。
普通用户角色用例如下图所示。

图3.1普通用户用例图
(1)管理员功能
1.登录:管理员通过专属的管理端登录系统,凭借账号权限进入后台,进行系统数据维护和管理操作。
2.后台首页:后台首页展示系统运营数据、用户统计、待审核信息等内容,为管理员提供直观的管理入口。
3.系统用户管理:管理员可以管理普通用户和其他管理员的账号,包括添加、修改、禁用或删除用户,以确保系统正常运营。
4.食谱类型管理:管理员可以对系统中的食谱分类进行增删改查,使食谱结构更加清晰,方便用户筛选和查找。
5.食谱信息管理:管理员可以添加、修改或删除食谱信息,确保食谱内容的规范性,并对用户提交的食谱进行审核。
6.材料信息管理:管理员可以维护食谱所需的食材信息,新增食材分类、调整食材内容,以优化食谱配方的完整性。
7.系统管理:管理员可以对系统轮播图、页面内容、导航菜单等进行管理,提升平台的视觉效果和用户体验。
8.公告通知管理:管理员可以发布、修改和删除公告通知,确保重要信息能及时传达给所有用户。
9.资源管理:管理员可以管理新闻资讯和资讯分类,对内容进行审核、更新和发布,保证信息的时效性和权威性。
10.交流论坛管理:管理员可以管理美食论坛的版块分类、用户帖子、评论等内容,维护论坛秩序,优化用户交流环境。
管理员角色用例如下图所示。

图3.2管理员用例图
非功能性需求分析主要是分析本系统的安全性怎么样(是否会泄露用户个人信息),可靠性怎么样(用户操作的时候是不是能够根据实际操作显示信息),性能怎么样(运行是否操作流畅),可拓展性怎么样(功能能否继续拓展)等。具体可以表示在如下3-1表格中:
表3-1基于ssm家庭食谱管理系统非功能性需求表
|
需求类型 |
描述 |
|
性能 |
系统应具有高性能,能够快速响应用户请求,保持稳定的性能水平,支持高并发访问和大规模数据处理。 |
|
可靠性 |
系统应具有高可靠性,确保系统稳定运行,防止系统故障和数据丢失,提供数据备份和恢复机制。 |
|
安全性 |
系统应具有高安全性,保护用户隐私信息和数据安全,采用加密传输技术、访问控制和身份验证机制。 |
|
可用性 |
系统应具有高可用性,保证系统全天候运行,最大限度减少系统故障和维护时间,提供灾备和故障转移功能。 |
|
易用性 |
系统应具有良好的易用性,用户界面设计友好,操作简单直观,提供清晰的指导和帮助文档。 |
|
可维护性 |
系统应具有良好的可维护性,易于维护和升级,提供模块化和结构化代码,方便开发人员进行维护和修改。 |
|
可扩展性 |
系统应具有良好的可扩展性,支持新增功能和模块的集成,具备良好的架构设计和扩展性能。 |
用户访问系统,可以选择进行注册或登录操作。注册成功后,用户可以使用注册的账号登录平台。登录后的用户可以进入系统功能界面,使用自己权限内的功能操作。程序操作流程图如下图所示。

图3.3程序操作流程图
用户访问系统,进入登录页面页面,入其用户名和密码,后端服务接收登录请求,验证用户提供的用户名和密码是否匹配数据库中存储的信息,验证通过即可登录成功。登录流程图如下图所示。

图3.4登录流程图
未有账号的用户可进入注册界面进行注册操作,填写注册表格,包括用户名、密码、邮箱等必要信息。后台系统验证并保存用户提交的信息。分配唯一用户标识符。注册成功后,用户可以使用账号密码进行登录。用户注册流程图如下图所示。

图3.5注册流程图
3.4本章小结
本章主要通过对基于ssm家庭食谱管理系统的可行性分析、功能分析、系统用例分析、流程分析,确定整个系统要实现的功能。同时也为系统的代码实现和测试提供了标准。
本章主要介绍基于ssm家庭食谱管理系统的架构设计、功能模块设计和数据库系统设计。
在系统架构设计中,我将确定系统的整体结构和组件之间的关系。这包括选择适当的架构风格,划分系统的层次结构,并定义各个模块的职责和交互方式。架构图如下图所示。

图4.1系统架构设计图
表示层(Presentation Layer):负责与用户进行交互,将系统的功能和数据以易于理解和操作的方式展示给用户。通常包括用户界面、页面设计和用户输入验证等。
业务逻辑层(Business Logic Layer):处理系统的核心业务逻辑,包括对用户请求的处理、业务规则的执行以及数据的处理和转换。它独立于表现层和数据层,实现了业务逻辑的封装和复用。
数据层(Data Layer):负责数据的存储、访问和管理,包括数据库和持久化机制。数据层提供了对数据的增删改查操作,并与业务逻辑层进行交互,使系统能够有效地存储和检索数据。
这三个层次相互独立,通过明确的接口和协议进行通信,实现了系统的模块化和可扩展性。表现层负责将用户的请求传递给业务逻辑层,业务逻辑层处理请求并返回结果,最后数据层负责与数据库交互并提供数据支持。这种分层架构有助于实现系统的可维护性、灵活性和可测试性。
功能模块设计是系统开发过程中的重要阶段,它旨在将系统划分为不同的模块,每个模块负责完成特定的功能或任务。基于ssm家庭食谱管理系统由多个功能模块组成,每个模块下又包含具体的功能操作。功能整体功能结果图如下图所示。

图4.2系统整体功能结构图
4.2.2系统用户模块设计
(1)系统用户模块结构图
本系统主要分为管理员和普通用户这两个用户角色。他们共享基本功能,但普通用户多了一个注册功能,以便能够注册使用系统。管理员用户在系统中有着操作权限和功能,确保了系统的一致性和易用性。系统用户模块结构图如下图4.3所示:

图4.3用户角色模块结构图
(2)各个结构的具体业务逻辑
a.查询用户信息:设计基础的查询功能,允许用户根据用户姓名查询用户信息。此功能主要用于管理员查询用户信息和用户自行查询个人信息。
b.添加用户信息:用户可以通过注册获取账号,成为系统的用户,以便享受系统提供的服务和功能。管理员可以在后台添加用户信息。
c.重置用户信息:用户可以根据需要修改个人基本信息,包括姓名、密码、头像等。这种操作可以提高用户个性化体验。
d.删除用户信息:管理员可以对删除用户信息。
本文在系统分析阶段就抽取了一些实体,根据实体之间的关系,经过分析进行系统E-R图的设计。基于ssm家庭食谱管理系统总体E-R图如下图4.4所示。

图4.4总E-R图
在E-R图确定后,接下来可以根据实体和关系的属性设计数据库表结构。在E-R图明确了实体和它们之间的关系后,接下来可以开始设计数据库表结构。每个实体对应一个数据库表,每个属性对应表中的字段。如下列表格所示,在此列举主要数据表。
表 4-1-access_token(登陆访问时长)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
token_id |
int |
是 |
是 |
临时访问牌ID |
|
|
2 |
token |
varchar |
64 |
否 |
否 |
临时访问牌 |
|
3 |
info |
text |
65535 |
否 |
否 |
信息 |
|
4 |
maxage |
int |
是 |
否 |
最大寿命:默认2小时 |
|
|
5 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
7 |
user_id |
int |
是 |
否 |
用户编号 |
表 4-2-article(文章)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
article_id |
mediumint |
是 |
是 |
文章id |
|
|
2 |
title |
varchar |
125 |
是 |
是 |
标题 |
|
3 |
type |
varchar |
64 |
是 |
否 |
文章分类 |
|
4 |
hits |
int |
是 |
否 |
点击数 |
|
|
5 |
praise_len |
int |
是 |
否 |
点赞数 |
|
|
6 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
7 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
8 |
source |
varchar |
255 |
否 |
否 |
来源 |
|
9 |
url |
varchar |
255 |
否 |
否 |
来源地址 |
|
10 |
tag |
varchar |
255 |
否 |
否 |
标签 |
|
11 |
content |
longtext |
4294967295 |
否 |
否 |
正文 |
|
12 |
img |
varchar |
255 |
否 |
否 |
封面图 |
|
13 |
description |
text |
65535 |
否 |
否 |
文章描述 |
表 4-3-article_type(文章分类)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
type_id |
smallint |
是 |
是 |
分类ID |
|
|
2 |
display |
smallint |
是 |
否 |
显示顺序 |
|
|
3 |
name |
varchar |
16 |
是 |
否 |
分类名称 |
|
4 |
father_id |
smallint |
是 |
否 |
上级分类ID |
|
|
5 |
description |
varchar |
255 |
否 |
否 |
描述 |
|
6 |
icon |
text |
65535 |
否 |
否 |
分类图标 |
|
7 |
url |
varchar |
255 |
否 |
否 |
外链地址 |
|
8 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
9 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-4-auth(用户权限管理)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
auth_id |
int |
是 |
是 |
授权ID |
|
|
2 |
user_group |
varchar |
64 |
否 |
否 |
用户组 |
|
3 |
mod_name |
varchar |
64 |
否 |
否 |
模块名 |
|
4 |
table_name |
varchar |
64 |
否 |
否 |
表名 |
|
5 |
page_title |
varchar |
255 |
否 |
否 |
页面标题 |
|
6 |
path |
varchar |
255 |
否 |
否 |
路由路径 |
|
7 |
parent |
varchar |
64 |
否 |
否 |
父级菜单 |
|
8 |
parent_sort |
int |
是 |
否 |
父级菜单排序 |
|
|
9 |
position |
varchar |
32 |
否 |
否 |
位置 |
|
10 |
mode |
varchar |
32 |
是 |
否 |
跳转方式 |
|
11 |
add |
tinyint |
是 |
否 |
是否可增加 |
|
|
12 |
del |
tinyint |
是 |
否 |
是否可删除 |
|
|
13 |
set |
tinyint |
是 |
否 |
是否可修改 |
|
|
14 |
get |
tinyint |
是 |
否 |
是否可查看 |
|
|
15 |
field_add |
text |
65535 |
否 |
否 |
添加字段 |
|
16 |
field_set |
text |
65535 |
否 |
否 |
修改字段 |
|
17 |
field_get |
text |
65535 |
否 |
否 |
查询字段 |
|
18 |
table_nav_name |
varchar |
500 |
否 |
否 |
跨表导航名称 |
|
19 |
table_nav |
varchar |
500 |
否 |
否 |
跨表导航 |
|
20 |
option |
text |
65535 |
否 |
否 |
配置 |
|
21 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
22 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-5-code_token(验证码)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
code_token_id |
int |
是 |
是 |
验证码ID |
|
|
2 |
token |
varchar |
255 |
否 |
否 |
令牌 |
|
3 |
code |
varchar |
255 |
否 |
否 |
验证码 |
|
4 |
expire_time |
timestamp |
是 |
否 |
失效时间 |
|
|
5 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-6-collect(收藏)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
collect_id |
int |
是 |
是 |
收藏ID |
|
|
2 |
user_id |
int |
是 |
是 |
收藏人ID |
|
|
3 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
4 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
5 |
source_id |
int |
是 |
否 |
来源ID |
|
|
6 |
title |
varchar |
255 |
否 |
否 |
标题 |
|
7 |
img |
varchar |
255 |
否 |
否 |
封面 |
|
8 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
9 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-7-comment(评论)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
comment_id |
int |
是 |
是 |
评论ID |
|
|
2 |
user_id |
int |
是 |
是 |
评论人ID |
|
|
3 |
reply_to_id |
int |
是 |
否 |
回复评论ID |
|
|
4 |
content |
longtext |
4294967295 |
否 |
否 |
内容 |
|
5 |
nickname |
varchar |
255 |
否 |
否 |
昵称 |
|
6 |
avatar |
varchar |
255 |
否 |
否 |
头像地址 |
|
7 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
9 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
10 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
11 |
source_id |
int |
是 |
否 |
来源ID |
表 4-8-forum(论坛)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
forum_id |
mediumint |
是 |
是 |
论坛ID |
|
|
2 |
display |
smallint |
是 |
否 |
排序 |
|
|
3 |
user_id |
mediumint |
是 |
否 |
用户ID |
|
|
4 |
nickname |
varchar |
16 |
否 |
否 |
昵称 |
|
5 |
praise_len |
int |
否 |
否 |
点赞数 |
|
|
6 |
hits |
int |
是 |
否 |
访问数 |
|
|
7 |
title |
varchar |
125 |
是 |
否 |
标题 |
|
8 |
keywords |
varchar |
125 |
否 |
否 |
关键词 |
|
9 |
description |
varchar |
255 |
否 |
否 |
描述 |
|
10 |
url |
varchar |
255 |
否 |
否 |
来源地址 |
|
11 |
tag |
varchar |
255 |
否 |
否 |
标签 |
|
12 |
img |
text |
65535 |
否 |
否 |
封面图 |
|
13 |
content |
longtext |
4294967295 |
否 |
否 |
正文 |
|
14 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
15 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
16 |
avatar |
varchar |
255 |
否 |
否 |
发帖人头像 |
|
17 |
type |
varchar |
64 |
是 |
否 |
论坛分类 |
|
18 |
istop |
int |
是 |
否 |
是否置顶 |
表 4-9-forum_type(论坛分类)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
type_id |
smallint |
是 |
是 |
分类ID |
|
|
2 |
name |
varchar |
16 |
是 |
否 |
分类名称 |
|
3 |
description |
varchar |
255 |
否 |
否 |
描述 |
|
4 |
url |
varchar |
255 |
否 |
否 |
外链地址 |
|
5 |
father_id |
smallint |
是 |
否 |
上级分类ID |
|
|
6 |
icon |
varchar |
255 |
否 |
否 |
分类图标 |
|
7 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-10-hits(用户点击)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
hits_id |
int |
是 |
是 |
点赞ID |
|
|
2 |
user_id |
int |
是 |
否 |
点赞人 |
|
|
3 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
4 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
5 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
6 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
7 |
source_id |
int |
是 |
否 |
来源ID |
表 4-11-material_information(材料信息)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
material_information_id |
int |
是 |
是 |
材料信息ID |
|
|
2 |
material_name |
varchar |
64 |
否 |
否 |
材料名称 |
|
3 |
material_type |
varchar |
64 |
否 |
否 |
材料类型 |
|
4 |
material_quantity |
double |
否 |
否 |
材料数量 |
|
|
5 |
storage_location |
varchar |
64 |
否 |
否 |
存放位置 |
|
6 |
note_details |
text |
65535 |
否 |
否 |
备注详情 |
|
7 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-12-notice(公告)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
notice_id |
mediumint |
是 |
是 |
公告ID |
|
|
2 |
title |
varchar |
125 |
是 |
否 |
标题 |
|
3 |
content |
longtext |
4294967295 |
否 |
否 |
正文 |
|
4 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
5 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-13-ordinary_user(普通用户)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
ordinary_user_id |
int |
是 |
是 |
普通用户ID |
|
|
2 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
|
3 |
user_age |
varchar |
64 |
否 |
否 |
用户年龄 |
|
4 |
user_gender |
varchar |
64 |
否 |
否 |
用户性别 |
|
5 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
6 |
user_id |
int |
是 |
否 |
用户ID |
|
|
7 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-14-praise(点赞)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
praise_id |
int |
是 |
是 |
点赞ID |
|
|
2 |
user_id |
int |
是 |
是 |
点赞人 |
|
|
3 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
4 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
5 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
6 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
7 |
source_id |
int |
是 |
否 |
来源ID |
|
|
8 |
status |
tinyint |
是 |
否 |
点赞状态:1为点赞,0已取消 |
表 4-15-recipe_information(食谱信息)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
recipe_information_id |
int |
是 |
是 |
食谱信息ID |
|
|
2 |
recipe_name |
varchar |
64 |
否 |
否 |
食谱名称 |
|
3 |
recipe_type |
varchar |
64 |
否 |
否 |
食谱类型 |
|
4 |
cover_image |
varchar |
255 |
否 |
否 |
封面图片 |
|
5 |
cooking_time |
varchar |
64 |
否 |
否 |
烹饪时间 |
|
6 |
recipe_calories |
varchar |
64 |
否 |
否 |
食谱热量 |
|
7 |
release_date |
date |
否 |
否 |
发布日期 |
|
|
8 |
materials_used |
text |
65535 |
否 |
否 |
所用材料 |
|
9 |
recipe_details |
longtext |
4294967295 |
否 |
否 |
食谱详情 |
|
10 |
hits |
int |
是 |
否 |
点击数 |
|
|
11 |
praise_len |
int |
是 |
否 |
点赞数 |
|
|
12 |
collect_len |
int |
是 |
否 |
收藏数 |
|
|
13 |
comment_len |
int |
是 |
否 |
评论数 |
|
|
14 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
15 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-16-recipe_type(食谱类型)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
recipe_type_id |
int |
是 |
是 |
食谱类型ID |
|
|
2 |
recipe_type |
varchar |
64 |
否 |
否 |
食谱类型 |
|
3 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
4 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-17-schedule(日程管理)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
schedule_id |
smallint |
是 |
是 |
日程ID |
|
|
2 |
content |
varchar |
255 |
否 |
否 |
日程内容 |
|
3 |
scheduled_time |
datetime |
否 |
否 |
计划时间 |
|
|
4 |
user_id |
int |
是 |
否 |
用户ID |
|
|
5 |
create_time |
datetime |
否 |
否 |
创建时间 |
|
|
6 |
update_time |
datetime |
否 |
否 |
更新时间 |
表 4-18-score(评分)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
score_id |
int |
是 |
是 |
评分ID |
|
|
2 |
user_id |
int |
是 |
否 |
评分人 |
|
|
3 |
nickname |
varchar |
64 |
否 |
否 |
昵称 |
|
4 |
score_num |
double |
是 |
否 |
评分 |
|
|
5 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
6 |
update_time |
timestamp |
是 |
否 |
更新时间 |
|
|
7 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
8 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
9 |
source_id |
int |
是 |
否 |
来源ID |
表 4-19-slides(轮播图)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
slides_id |
int |
是 |
是 |
轮播图ID |
|
|
2 |
title |
varchar |
64 |
否 |
否 |
标题 |
|
3 |
content |
varchar |
255 |
否 |
否 |
内容 |
|
4 |
url |
varchar |
255 |
否 |
否 |
链接 |
|
5 |
img |
varchar |
255 |
否 |
否 |
轮播图 |
|
6 |
hits |
int |
是 |
否 |
点击量 |
|
|
7 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
表 4-20-upload(文件上传)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
upload_id |
int |
是 |
是 |
上传ID |
|
|
2 |
name |
varchar |
64 |
否 |
否 |
文件名 |
|
3 |
path |
varchar |
255 |
否 |
否 |
访问路径 |
|
4 |
file |
varchar |
255 |
否 |
否 |
文件路径 |
|
5 |
display |
varchar |
255 |
否 |
否 |
显示顺序 |
|
6 |
father_id |
int |
否 |
否 |
父级ID |
|
|
7 |
dir |
varchar |
255 |
否 |
否 |
文件夹 |
|
8 |
type |
varchar |
32 |
否 |
否 |
文件类型 |
表 4-21-user(用户账户)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
user_id |
int |
是 |
是 |
用户ID |
|
|
2 |
state |
smallint |
是 |
否 |
账户状态:(1可用|2异常|3已冻结|4已注销) |
|
|
3 |
user_group |
varchar |
32 |
否 |
否 |
所在用户组 |
|
4 |
login_time |
timestamp |
是 |
否 |
上次登录时间 |
|
|
5 |
phone |
varchar |
11 |
否 |
否 |
手机号码 |
|
6 |
phone_state |
smallint |
是 |
否 |
手机认证:(0未认证|1审核中|2已认证) |
|
|
7 |
username |
varchar |
16 |
是 |
否 |
用户名 |
|
8 |
nickname |
varchar |
16 |
否 |
否 |
昵称 |
|
9 |
password |
varchar |
64 |
是 |
否 |
密码 |
|
10 |
|
varchar |
64 |
否 |
否 |
邮箱 |
|
11 |
email_state |
smallint |
是 |
否 |
邮箱认证:(0未认证|1审核中|2已认证) |
|
|
12 |
avatar |
varchar |
255 |
否 |
否 |
头像地址 |
|
13 |
open_id |
varchar |
255 |
否 |
否 |
针对获取用户信息字段 |
|
14 |
create_time |
timestamp |
是 |
否 |
创建时间 |
表 4-22-user_group(用户组)
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
group_id |
mediumint |
是 |
是 |
用户组ID |
|
|
2 |
display |
smallint |
是 |
否 |
显示顺序 |
|
|
3 |
name |
varchar |
16 |
是 |
否 |
名称 |
|
4 |
description |
varchar |
255 |
否 |
否 |
描述 |
|
5 |
source_table |
varchar |
255 |
否 |
否 |
来源表 |
|
6 |
source_field |
varchar |
255 |
否 |
否 |
来源字段 |
|
7 |
source_id |
int |
是 |
否 |
来源ID |
|
|
8 |
register |
smallint |
否 |
否 |
注册位置 |
|
|
9 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
10 |
update_time |
timestamp |
是 |
否 |
更新时间 |
4.4本章小结
整个基于ssm家庭食谱管理系统的需求分析主要对系统架构以及功能模块的设计,通过建立E-R模型和数据库逻辑设计完成了数据库系统设计。
5 系统实现
本系统的实现主要是根据前面的系统需求分析和系统总体设计来设计页面并实现业务逻辑。主要从基于ssm家庭食谱管理系统界面实现、业务逻辑实现这两部分进行介绍。
用户注册:输入账号、设置密码、确认密码、昵称、邮箱、选择用户身份、填写用户姓名、性别等个人信息,点击“注册”按钮完成注册。其界面如下图所示。
图5.1用户注册界面设计
用户登录:用户注册后可以用账号密码登录系统,在登录界面输入用户名、密码和验证码后点击“登录”按钮,校验通过后即可登录,同时提供找回密码的选项。其界面如下图所示。
图5.2用户登录界面设计
登录代码如下:
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
QueryWrapper wrapper = new QueryWrapper<User>();
Map<String, String> map = new HashMap<>();
首页界面是用户访问系统的入口页面,它展示系统的主要功能和特色。用户可以查看首页展示的轮播图、新闻资讯、公告通知等信息。首页界面图如下图所示。
图5.3首页界面设计
用户可以查看系统发布的公告通知、关于我们、联系方式、网站介绍等信息。点击公告通知进入页面可以查看该公告的详细信息。其界面图如下图所示。
图5.4公告通知界面设计
点击系统导航栏上的“新闻资讯”菜单按钮,将进入新闻资讯列表,用户可以查看系统发布的所有新闻资讯内容。点击某新闻资讯后进入详情页,可以查看该资讯的详细内容,用户可以点赞、收藏、评论等。其界面图如下图所示。
图5.5新闻资讯界面设计
食谱信息模块为用户提供详细的产品数据展示,包括商品名称、图片、属性、价格、库存等信息。用户可以浏览商品详情并执行相关操作。此外,系统还支持食谱搜索功能,用户可通过关键词快速查找目标食谱信息,提升使用便捷性。其界面图如下图所示。
图5.6食谱信息界面设计
用户点击我的头像下拉菜单“个人中心”可以查看个人首页、收藏和评论管理并进行相关操作。其界面图如下图所示。
图5.7个人中心界面设计
删除的代码如下:
@RequestMapping(value = "/del")
@Transactional
public Map<String, Object> del(HttpServletRequest request) {
service.delete(service.readQuery(request), service.readConfig(request));
return success(1);
}
管理员可以查看所有用户角色(管理员、普通用户)信息并进行增删改查操作。例如,点击某个普通用户后面的“详情”可以查看该用户的信息详情并可以对用户状态等信息进行修改。其界面图如下图所示。
图5.8系统用户界面设计
修改的代码如下:
@PostMapping("/set")
@Transactional
public Map<String, Object> set(HttpServletRequest request) throws IOException {
service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));
return success(1);
}
食谱类型管理:管理员可以灵活调整食谱分类,包括新增分类、查询现有分类详情、重置分类信息、删除不再需要的分类,以及添加或编辑分类下的食谱其界面图如下图所示。
图5.9食谱类型管理列表界面设计
管理员点击“食谱信息管理”这一菜单会显示食谱信息列表和食谱信息添加两个子菜单,点击“食谱信息列表”可以查看所有的食谱信息和用户评论,还可以进行重置、查询、删除等操作。点击“食谱信息添加”,管理员可以添加新的食谱信息。其界面图如下图所示。
图5.10食谱信息管理界面设计
添加的代码如下:
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
@Transactional
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
在该模块管理员可以对系统轮播图信息进行增删改查操作。点击“添加”进入页面上传轮播图图片和填写标题、链接后点击“提交”即可完成轮播图的添加。其界面图如下图所示。
图5.11系统管理界面设计
文件上传的代码如下:
@PostMapping("/upload")
public Map<String, Object> upload(@RequestParam(value = "file",required=false) MultipartFile file,HttpServletRequest request) {
log.info("进入方法");
if (file.isEmpty()) {
return error(30000, "没有选择文件");
}
try {
//判断有没路径,没有则创建
String filePath = request.getSession().getServletContext().getRealPath("\\") +"upload\\";
File targetDir = new File(filePath);
if (!targetDir.exists() && !targetDir.isDirectory()) {
if (targetDir.mkdirs()) {
log.info("创建目录成功");
} else {
log.error("创建目录失败");
}
}
String fileName = file.getOriginalFilename();
int lastIndexOf = fileName.lastIndexOf(".");
String suffix = fileName.substring(lastIndexOf);
fileName = IdWorker.getId()+suffix;
File dest = new File(filePath + fileName);
log.info("文件路径:{}", dest.getPath());
log.info("文件名:{}", dest.getName());
file.transferTo(dest);
JSONObject jsonObject = new JSONObject();
jsonObject.put("url", "/api/upload/" + fileName);
return success(jsonObject);
} catch (IOException e) {
log.info("上传失败:{}", e.getMessage());
}
return error(30000, "上传失败");
}
公告通知管理界面供管理员创建、编辑、发布和删除公告消息,确保能及时向用户传达重要信息、公告、更新或事件等内容。通过该界面,管理员可以高效地管理所有系统公告,保证信息传递的准确性和时效性。其界面图如下图所示。
图5.12公告通知管理界面设计
在该模块管理员可以对新闻资讯和资讯分类信息进行增删改查操作。例如,点击“新闻资讯”可以查看列表中某个资讯的详情和评论。以新闻资讯为例,其界面图如下图所示。
图5.13资源管理界面设计
6 系统测试
6.1系统测试目标
为了保证“基于ssm家庭食谱管理系统设计与实现 ”的质量,使其能够稳定的运行,并排除其可能存在的未知隐患,解除软件可能存在的故障,理清楚测试与纠错的关系,如图6-1所示。
图6-1测试与纠错信息流程
6.2系统功能测试
通过对系统中所含的主要实体对象及其功能操作进行测试用例设计。系统功能测试包括:用户注册登录功能测试、用户发表评论功能测试、用户食谱信息功能测试、管理员添加轮播图信息功能测试、管理员删除公告消息功能测试,如表6-1、6-2、6-3、6-4、6-5所示:
表6-1用户注册登录测试表
用户注册登录测试用例:
|
用例说明 |
测试目的 |
测试步骤 |
预期结果 |
输出结果 |
通过情况 |
|
用户注册、登录 |
测试用户正确注册、登录 |
|
用户注册成功,登录成功 |
结果输出符合预期 |
通过 |
表6-2前台用户发表评论测试表
前台用户发表评论测试用例:
|
用例说明 |
测试目的 |
测试步骤 |
预期结果 |
输出结果 |
通过情况 |
|
前台用户发表评论 |
测试前台用户发表评论操作 |
|
用户发表评论成功,展示用户评论信息 |
结果输出符合预期 |
通过 |
表6-3用户食谱信息功能测试表
用户食谱信息功能测试用例:
|
用例说明 |
测试目的 |
测试步骤 |
预期结果 |
输出结果 |
通过情况 |
|
用户食谱信息功能测试 |
测试普通用户食谱信息功能功能 |
|
用户可以在线提交领食谱信息 |
结果输出符合预期 |
通过 |
表6-4管理员添加轮播图测试表
管理员添加轮播图测试用例:
|
用例说明 |
测试目的 |
测试步骤 |
预期结果 |
输出结果 |
通过情况 |
|
管理员添加轮播图测试 |
测试轮播图信息添加 |
|
轮播图信息添加成功,前端用户可以查看该轮播图信息 |
结果输出符合预期 |
通过 |
表6-5管理员删除公告消息测试表
管理员删除公告消息测试用例:
|
用例说明 |
测试目的 |
测试步骤 |
预期结果 |
输出结果 |
通过情况 |
|
管理员删除公告消息测试 |
测试公告消息删除 |
|
公告消息删除成功,前端不在展示该公告消息信息 |
结果输出符合预期 |
通过 |
6.3测试结果总结
通过编写基于ssm家庭食谱管理系统的功能测试用例,已经检测完毕系统测试,包括用户注册登录功能测试、用户发表评论功能测试、用户食谱信息功能测试、管理员添加轮播图信息功能测试、管理员删除公告消息功能测试,通过这五大模块功能测试将为基于ssm家庭食谱管理系统的后期推广运营提供了强力的技术支撑。
本课题基于SSM(Spring、Spring MVC、MyBatis)框架,设计并实现了一款高效、便捷的家庭食谱管理系统。系统充分利用现代信息技术,提供了普通用户和管理员两个功能模块,涵盖注册登录、食谱信息管理、用户交互、美食论坛、公告通知等核心功能,满足了用户对个性化食谱管理、交流分享以及便捷查询的需求。通过本系统,用户可以轻松获取各类食谱信息,收藏喜爱的食谱,参与美食论坛进行互动交流,同时管理员可以高效地管理食谱内容和用户信息,保证系统的正常运行。整体而言,该系统有效提升了家庭烹饪的数字化管理水平,提高了用户体验,同时优化了食谱内容的组织和展示方式,使食谱信息更加系统化、规范化。
尽管本系统在食谱管理和用户交互方面取得了一定的成效,但仍有进一步优化和拓展的空间。未来,本系统可以集成人工智能推荐算法,根据用户的浏览记录、收藏习惯和饮食偏好,提供更加精准的个性化食谱推荐。此外,可以引入视频教学功能,让用户通过视频直观学习烹饪技巧,提高实用性。同时,移动端应用的开发也是未来的重点方向,以适应现代用户碎片化的使用习惯,提供更便捷的食谱浏览和管理体验。进一步,本系统可以扩展社交功能,支持用户上传自己的食谱,形成更加丰富的美食社区,促进用户之间的经验交流。综上,本系统在家庭食谱管理领域具有广阔的应用前景,未来将朝着更智能化、个性化、便捷化的方向持续优化和完善。
- 朱金波.Java编程语言在计算机软件开发中的应用优势分析[J].信息记录材料,2023,24(05):68-70.
- 熊群毓.大数据时代MySQL数据库的应用分析[J].信息与电脑(理论版),2023,35(14):209-212.
- 赵停停.基于MySQL数据库技术的Web动态网页设计研究[J].信息与电脑(理论版),2023,35(17):174-176.
- 张浩.SSM框架在Web应用开发中的设计与实现研究[J].电脑知识与技术,2023,19(08):52-54.
- Yang Y .Design and Implementation of Student Information Management System Based on Springboot[J].Advances in Computer, Signals and Systems,2022,6(6):
- 何蒙.个性化营养食谱:让减肥更健康持久[N].中国妇女报,2022-10-25(008).
- 钟良堂,谭昊,廖瑾睿等.基于图像识别的智慧餐饮管理系统[J].信息与电脑(理论版),2022,34(06):175-179.
- 弭霁航.基于深度学习的中餐菜品识别及营养成分估计系统研究与实现[D].北京邮电大学,2022.001585.
- Hejing W .Commerce Middle Office Management System Based on Springboot[J].International Journal of Advanced Network, Monitoring and Controls,2022,7(2):32-45.
- ]李绪远,陈云贵,何敏等.智能烹饪小助手的设计与实现[J].电脑知识与技术,2021,17(32):81-83.
- 李磊.基于深度学习的中式菜品识别方法研究[D].南京信息工程大学,2021.000496.
- 郭广颂,席俊杰,文振华.个性化食谱智能优化系统[J].计算机工程与设计,2021,42(04):1143-1150.
- 鲜易洲,杨蕊,吴蓉等.时食美食分享系统的设计与分析[J].电脑知识与技术,2021,17(09):85-87.
- Chen G ,Xu J .Design and implementation of efficient Learning platform based on SpringBoot Framework[J].Journal of Electronics and Information Science,2020,6(1):
- 兰传浩. 基于知识图谱的中文食谱智能问答系统设计与实现[D]. 曲阜师范大学, 2023.
- 刘子豪,闭祖松,简钰轩,等. 基于大数据的食谱推荐系统设计 [J]. 工业控制计算机, 2022, 35 (07): 92-93+96.
- 刘展. 基于知识图谱的母婴食谱问答系统的设计与实现[D]. 厦门大学, 2020.
- 陈虹. 基于HTML5的校园食谱推荐系统的设计与实现 [J]. 智库时代, 2020, (15): 257-258.
- 仲亮靓. 基于饮食知识图谱的食谱推荐系统的设计与实现[D]. 东南大学, 2019.
- 缪应生,李杰,闫伟,等. “互联网+”时代下基于健康食谱的点餐系统设计 [J]. 电脑知识与技术, 2019, 15 (13): 101-103.
这次毕业设计能够完成,最重要的就是来自指导老师的帮助,老师不厌其烦的对我的论文及毕业设计提出非常有建设性的建议,我的毕设施能够完成离不开老师的帮助。我对老师由衷的表示感谢,
其次要感谢大学四年里学院里所有的任课老师的教导,老师们在我整个大学四年里给予了我丰富的知识,让我能够在大学中不虚度光阴,踏踏实实的学习,没有这些老师不辞辛劳的教诲,我无法完成这四年的学业。
最后,我要感谢我的家人和同学们。感谢父母在物质与精神上给予我无限的支持和鼓励。感谢我的同学们,在论文写作期间,你们给予了我许多宝贵的建议和帮助,让我在学术研究的道路上不再孤单。
再次感谢所有在我大学生活中给予我帮助和支持的人们。您们的关怀和鼓励将永远铭刻在我的心中,成为我未来前行的动力。
点赞+收藏+关注 → 私信领取本源代码、数据库
更多推荐

所有评论(0)