django健身目标人群饮食推荐系统08024-计算机课程设计/毕业设计

前言

📌博主简介:本人为在职全栈开发工程师,深耕毕设指导多年。熟练掌握 Java、Python、C#、PHP、Node.js 以及 Uni‑App 跨平台开发,精通多语言项目落地搭建与整体架构设计。日常持续分享毕设源码资源、开题写作思路、技术选型方案以及职场避坑心得。秉持工程化编码思维,助力大家把毕业设计打磨成高质量求职作品集。

👇🏻 精彩专栏 推荐订阅👇🏻

深耕多年的2000+套Java项目,附带数据库

深耕多年的800+套Python项目,附带数据库

深耕多年的500+套小程序/app项目,附带数据库

精选100个热门Java毕业设计项目|适配2026‑2027届选题参考✅

精选100个热门Python毕业设计项目|适配2026‑2027届选题参考✅

精选100个热门微信小程序/安卓APP毕业设计项目|适配2026‑2027届选题参考✅

✅获取源码私信✅

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人❤️

1绪论

1.1研究背景

全民健身战略持续推进,健康中国建设不断深化,饮食管理在体重控制、体能提升与慢病风险干预中的作用愈发突出。健身目标人群在实际生活中面临饮食信息来源分散、营养结构难以量化、计划执行缺乏连续监督、阶段效果难以直观评估等现实困境。移动互联网普及带来线上健康服务快速增长,围绕食谱查询、饮食打卡、健康知识阅读与社群交流的应用形态日益丰富,但不同功能之间常存在割裂现象,导致记录与指导无法形成连贯闭环。营养服务供给侧同样存在标准不一、内容质量参差、管理流程不统一等问题,难以支撑稳定、长期的个体化饮食管理需求。基于 Django、Python、MySQL 与 Vue 的开发技术路线具备成熟度高、工程实现稳定、维护成本可控等优势,能够支撑多角色协同、业务流程管理与数据化留痕,为健身饮食管理场景提供可靠实现基础。围绕健身目标人群构建集推荐、计划、记录、建议与管理于一体的饮食服务平台,已成为健康管理数字化发展的现实方向。

1.2研究意义

健身目标人群饮食推荐平台的建设具有明显的实践价值与应用价值。通过统一入口整合食谱资源、饮食计划、健康记录与交流互动,能够改善信息检索效率,降低饮食决策成本,帮助使用者形成更清晰的目标导向与更稳定的执行节律。引入营养师参与内容维护与建议输出,可增强指导的专业性与可持续性,推动饮食管理从经验驱动转向规则化、流程化。后台审核与权限管理机制有助于保障内容质量与数据安全,提升平台治理能力与运营规范水平。面向管理环节沉淀的统计信息,可为食谱优化、计划调整、服务改进提供客观依据,增强健康服务的可评估性。对于高校毕业设计与同类项目实践而言,基于 Django/Python/MySQL/Vue 的实现路径兼顾工程可行性与教学适配性,能够完整覆盖需求分析、架构设计、功能开发、测试验证等关键环节,具有良好的技术训练价值与推广参考意义。

1.3研究现状

1.3.1国内研究现状

国内健身与饮食管理平台研究起步较早,发展路径大致经历了信息展示、工具集成、流程管理三个阶段。早期成果以食谱查询、热量换算、基础打卡为主,功能聚焦于单点服务,能够满足入门用户的日常记录需求,但在个体差异适配、长期行为引导与专业服务衔接方面仍显不足。随着健康管理理念普及,研究与应用逐步转向多角色协同,围绕普通用户、营养师、平台管理人员构建分层功能框架,强调食谱维护、计划审核、建议反馈、社区互动与后台监管的联动关系。

在技术实现层面,国内高校与企业项目普遍采用 Django、Spring Boot、Vue、MySQL 等成熟技术栈,关注开发效率、部署稳定性与运维可控性。数据库设计方面,常见做法是围绕用户档案、食谱分类、计划执行、打卡记录、健康指标、评论互动建立关联模型,以支持全过程留痕与统计分析。权限控制方面,多数研究引入基于角色的访问控制机制,实现前台业务与后台管理的边界隔离。

现有成果已在功能完整性与工程落地性方面取得明显进展,但仍存在若干共性问题:推荐逻辑多依赖显式标签或点击行为,个体化程度有待提高;饮食计划与运动目标之间的联动规则仍不够细化;论坛内容治理、建议质量评估、跨周期效果对比等模块在不少平台中仍偏薄弱。整体来看,国内研究正从“可用”向“好用、易用、可持续使用”推进,重点逐渐转向服务闭环质量与运营精细化。

1.3.2国外研究现状

国外在数字健康与营养管理领域形成了较为成熟的产品生态与研究体系,商业平台与学术研究之间联动紧密。相关应用通常将饮食记录、营养分析、体重管理、行为追踪与社区支持整合到统一服务框架中,强调长期使用体验与循证营养理念的结合。研究重点集中在饮食行为干预机制、依从性提升路径、可解释的营养建议表达方式以及多场景下的数据一致性维护。

在功能形态上,国外平台普遍重视目标分层管理,支持减脂、增肌、体重维持等不同方向的阶段化计划安排,并通过连续打卡、进度可视化、周期复盘强化执行反馈。专业服务方面,营养师参与内容审核与个案指导的机制较为常见,能够在通用方案之外提供更具针对性的干预建议。社区模块建设相对完善,围绕经验分享、同伴监督、挑战活动形成较强的用户黏性。

从工程实现看,国外研究更强调标准化接口、模块解耦与可扩展架构,便于后续接入第三方数据源和多终端服务。数据治理层面重视隐私保护与合规要求,围绕访问控制、审计日志、数据最小化使用形成较完整的管理规范。与此同时,国外成果也面临现实挑战,如高质量内容持续供给成本较高、不同人群文化与饮食习惯差异导致通用方案迁移难度增大、长期行为改变效果存在波动。总体而言,国外研究在服务链路完整性、专业支撑体系与平台治理规范方面具有较强借鉴价值。

1.4论文章节安排

本文将围绕健身目标人群饮食推荐系统设计与实现展开全面论述,各章节内容紧密相连,逻辑清晰。

第一章为绪论,主要介绍了研究背景、研究意义、国内外研究现状以及论文章节安排,为全文的研究奠定基础。

第二章为相关技术介绍,分别对B/S架构、Django框架、Python语言和MySQL数据库进行了详细阐述,说明这些技术在本系统开发中的作用和优势。

第三章为系统分析,包括系统可行性分析、系统功能性分析和系统用例分析,从技术、经济、操作、市场等方面论证了系统开发的可行性,明确了系统的功能需求和用例场景。

第四章为系统设计,涉及系统架构设计、系统功能模块设计、系统流程设计和数据库设计,确定了系统的整体架构和各模块的功能,设计了系统的主要流程和数据库表结构。

第五章为系统实现,详细介绍了前台用户功能和后台管理员功能的实现过程,包括注册登录、交流论坛、网站公告、健康知识、健康食谱、饮食计划等功能的具体实现方法。

第六章为系统测试,阐述了测试目的,设计了系统功能性测试用例和性能测试用例,并对测试结果进行了分析,验证了系统的功能和性能。

第七章为总结与展望,总结了本系统的开发成果和存在的不足,对系统的未来发展方向进行了展望。

2相关技术介绍

2.1B/S架构

B/S(Browser/Server,浏览器/服务器)架构是一种基于互联网的软件架构模式,它由客户端、服务器端和数据库三部分组成[1]。客户端无需安装专门的软件,只需通过浏览器(如Chrome、Firefox、Edge等)即可访问服务器端提供的服务。服务器端负责处理业务逻辑、数据存储和交互等工作,数据库则用于存储系统所需的各种数据。

B/S架构具有诸多优势,首先,它简化了客户端的部署和维护,用户只需安装浏览器就能使用系统,降低了对客户端设备的要求,也减少了系统升级和维护的成本。其次,系统的扩展性强,当用户数量增加或业务需求变化时,只需对服务器端进行升级和调整,无需修改客户端,方便系统的扩展和升级。此外,B/S 架构支持跨平台操作,无论用户使用的是Windows、Mac还是Linux操作系统,只要有浏览器就能访问系统,提高了系统的通用性和灵活性[2]。

在本健身目标人群饮食推荐系统中,采用B/S架构使得用户可以通过任何联网的设备访问系统,无需安装额外的客户端软件,极大地提高了系统的易用性和便捷性,符合现代用户对网络服务的使用习惯。

2.2Django框架

Django是基于Python的高级Web框架,采用MVT(Model-View-Template)架构模式,将数据模型、视图逻辑和模板分离[3]。模型借助内置强大的ORM系统与数据库交互,开发者用Python代码就能操作数据库,无需复杂SQL语句,提升开发效率和代码可维护性。视图负责处理业务逻辑,根据URL路由调用模型方法,并把结果传给模板渲染。模板通过模板语言定义HTML页面结构和样式,实现前后端分离。

Django提供自动管理后台,开发者能快速创建管理界面[4]。它还内置多种安全机制,防止SQL注入等攻击。同时支持插件式开发,有丰富第三方库。在本系统开发中,其MVT架构使代码结构清晰,分工协作更高效。ORM简化数据库操作,自动管理后台方便管理员管理数据,安全机制保障系统安全,第三方库能快速集成功能,加快开发进程。

2.3Python语言

Python是高级、解释型、面向对象的编程语言,语法简洁,用缩进来表示代码块,避免复杂符号,代码结构清晰,易于编写和理解[5]。比如定义函数,使用def关键字即可,减少代码冗余。它拥有强大标准库,涵盖文件操作、网络通信等多个领域,像os模块用于操作系统任务,json模块处理JSON数据,http.server模块提供简单HTTP服务器用于本地测试。而且Python社区活跃,不断有新库和工具涌现,如Django、Flask等Web框架,NumPy、Pandas等数据分析库。

Python与Django框架结合开发时优势尽显[6]。Python简洁语法和强大表达能力,让开发者用Django实现业务逻辑更高效,减少开发时间和工作量。其丰富库和模块能与Django结合扩展系统功能,如用Pillow库处理图片,requests库与外部API交互。Python的跨平台特性还让基于Django开发的系统可在不同操作系统运行,提高通用性和可移植性。

2.4MySQL数据库

MySQL是一种开源的关系型数据库管理系统(RDBMS),由Oracle公司开发和维护[7]。它具有体积小、速度快、成本低、开源免费等特点,被广泛应用于Web应用开发中。

MySQL支持多用户、多线程操作,能够处理大量的数据,具有良好的性能和稳定性。它采用结构化查询语言(SQL)进行数据操作,提供了丰富的数据类型和函数,支持事务处理、索引、存储过程、触发器等高级功能,能够满足各种复杂的数据管理需求[8]。

在本系统中,MySQL 数据库用于存储用户信息、健康食谱、借阅记录、留言信息等数据,为系统的正常运行提供数据支持,保证了数据的安全性和完整性。

2.5协同过滤算法

协同过滤算法根据用户行为数据挖掘兴趣偏好。通过分析历史行为来计算出用户的相似度,基于用户的协同过滤就是通过找到与自己喜好相近的用户来进行推荐[9]。而基于项目的协同过滤则是通过项目之间的属性类似来进行推荐。

该算法用用户 - 项目评分矩阵表示交互数据,相似性度量往往选用余弦相似度或者皮尔逊相关系数作为关键指标[10]。协同过滤属于一种典型的信息过滤方法,它既可精准挖掘用户的潜在需求,又可以明显减轻信息过载现象,在推荐系统领域有着非常重要的应用价值。它的基本原理可以用下面这个公式来说明。

3系统分析

3.1系统可行性分析

3.1.1技术可行性

本系统基于Django、Python和MySQL等技术开发。Django采用MVT架构,让开发高效、代码结构清晰、可维护性强;Python语法简洁、库丰富、功能强大,有庞大社区支持;MySQL能高效存储和管理各类数据,提供快速查询和更新操作。B/S架构方便用户访问与系统部署维护。协同过滤算法是推荐系统的重要部分,在有关理论研究中已被证实有效,并被广泛应用于各类推荐场景下实现个性化需求匹配的任务当中。这些技术成熟、应用广泛,为系统开发运行提供可靠支持,技术层面可行。

3.1.2经济可行性

开发成本上,Django、Python和MySQL是开源技术,降低软件成本,普通硬件设备即可,还减少硬件成本。运行维护成本方面,B/S架构减少维护工作量,MySQL维护成本低,社区支持可降低技术维护成本。收益上,系统能提高健康管理效率,减少人工成本,提升服务质量带来潜在经济效益,经济层面可行。

3.1.3操作可行性

系统采用B/S架构符合用户操作习惯,无需复杂培训即可上手。界面设计简洁直观,功能模块布局合理、操作流程清晰,还有操作提示和帮助文档,对错误操作有友好提示和处理,操作便捷可行。

3.2系统功能性分析

3.2.1用户功能需求分析

本系统为“健身目标人群饮食推荐系统”,面向普通用户、营养师用户和管理员三类角色,围绕“饮食推荐—计划执行—健康记录—互动反馈—后台监管”构建完整业务流程。系统需满足个性化推荐、计划管理、数据记录与内容审核等核心需求。

1.普通用户功能描述:

普通用户是系统主要服务对象,功能覆盖账户使用、饮食管理、健康记录和社区互动等方面。

(1)登录注册

系统需提供用户注册、登录、退出与身份校验功能,支持基础信息录入与合法性校验,保障账户安全访问。

(2)首页

首页用于聚合核心内容,需包含:轮播图展示、健康食谱推荐,根据用户点击过的食谱类型进行动态排序,提高推荐匹配度和使用粘性。

(3)交流论坛

支持用户发帖、浏览帖子、评论互动、点赞收藏等行为,满足经验分享与同伴激励需求,形成良好交流氛围。

(4)网站公告

用于查看系统发布的通知、活动信息与维护说明,确保用户及时获取平台动态。

(5)健康知识

提供饮食营养、健身科普、体重管理等内容浏览功能,帮助用户提升健康认知与自我管理能力。

(6)健康食谱

支持食谱列表浏览、分类筛选、详情查看、收藏点赞等操作,便于用户按目标选择适配饮食内容。

(7)饮食计划

用户可查看并执行系统/营养师制定的饮食计划,支持按日期查看、阶段执行与进度跟踪。

(8)我的账户

支持个人资料维护(头像、昵称、联系方式、密码等),确保账户信息可管理、可更新。

(9)个人中心

个人中心用于汇总用户行为与健康管理数据,包括:

任务计划:制作编辑个人任务安排;

打卡信息:记录每日执行打卡状态;

健康记录:记录体重、体脂、围度等健康数据;

饮食记录:记录每日饮食摄入情况;

饮食建议:查看营养建议与反馈内容;

交流论坛:管理本人发帖与互动记录;

收藏记录、点赞记录、评论管理:统一管理互动行为与历史痕迹。

2. 营养师用户功能需求

营养师用户主要承担专业内容生产与个性化指导职责,强调“可维护、可跟踪、可调整”。

(1)后台首页

展示营养师常用入口、待处理事项与关键提示信息,便于快速进入业务管理。

(2)健康食谱管理

营养师可新增、编辑、删除、查询食谱信息,包括食材、热量、营养成分、适用目标人群等,保证食谱内容专业、完整。

(3)饮食计划管理

支持按用户目标(减脂、增肌、塑形等)制定和维护阶段性饮食计划,支持计划调整与版本更新。

(4)饮食记录管理

查看用户提交的饮食记录,了解执行偏差与饮食习惯,为后续建议提供依据。

(5)饮食建议管理

基于用户记录和目标生成个性化建议,支持新增、修改、删除与查询,形成持续指导机制。

3. 管理员功能需求

管理员负责平台全局配置、数据监管、内容审核与权限控制,保障系统规范运行。

(1)后台首页

展示用户规模、食谱发布量、计划审核量、打卡活跃度等图表数据,为运营决策提供支持。

(2)系统用户管理

管理平台用户信息及状态,支持查询、维护、角色分配与异常账号处理。

(3)食谱类型管理

维护食谱分类体系(如减脂餐、增肌餐、低GI等),保证前台筛选和推荐结构清晰。

(4)健康食谱管理

对营养师提交的食谱内容进行审核发布,确保内容质量与规范性。

(5)饮食计划管理

对饮食计划进行审核与状态管理,保证计划科学性与适用性。

(6)任务计划管理

对系统任务模板、周期任务进行统一维护,支撑用户执行与打卡环节。

(7)打卡信息管理

查看与管理用户打卡数据,支持统计分析和异常检查。

(8)健康记录管理

监管用户健康数据记录情况,保证数据结构规范、可统计。

(9)饮食记录管理

统一查看用户饮食记录,支持筛查与数据分析。

(10)饮食建议管理

管理营养建议内容,确保建议信息有效、可追踪。

(11)轮播图管理

维护首页轮播资源,实现平台活动与重点内容展示。

(12)网站公告管理

发布和维护系统公告,保障平台信息触达及时。

(13)资源管理(健康知识、知识分类)

对健康知识内容及其分类进行增删改查,构建结构化知识库。

(14)交流管理(交流论坛、论坛分类)

管理论坛内容与分类,维护社区秩序与内容质量。

(15)权限管理

配置角色权限和菜单权限,确保不同角色访问边界清晰、系统安全可控。

(16)通知发布

面向不同角色定向发布通知,提高平台管理效率和信息传达效果。

3.2.2系统性能需求分析

为保证系统的良好运行和用户体验,本系统需要满足以下性能需求:

(1)响应时间:系统在处理用户请求时,如查询健康食谱、提交健康记录等,响应时间应控制在合理范围内,一般不超过3秒,确保用户操作的流畅性。

(2)并发处理能力:系统应能够支持一定数量的用户同时在线操作,在多用户并发访问时,仍能保持稳定的性能,不出现卡顿或崩溃现象。

(3)数据准确性:系统在处理和存储数据时,应保证数据的准确性和完整性,避免出现数据丢失、错误或重复的情况。

(4)安全性:系统应具备一定的安全防护能力,防止用户信息泄露、非法登录和恶意攻击等安全问题,采用密码加密存储、权限控制等安全措施。

(5)可扩展性:系统应具有良好的可扩展性,能够根据用户需求的变化和业务的发展,方便地添加新的功能模块或对现有功能进行升级和扩展。

(6)易用性:系统界面友好,操作简单直观,用户无需进行复杂的培训就能熟练使用系统。

3.3系统用例分析

3.3.1普通用户用例分析

普通用户作为平台的核心服务对象,其用例覆盖“进入平台—获取推荐—执行计划—过程记录—互动反馈—个人管理”的完整链路。用户通过登录注册完成身份校验后进入首页,查看轮播图、网站公告与健康食谱推荐,其中首页推荐按点击偏好进行排序,满足个体化内容获取需求。在业务使用过程中,普通用户可浏览健康知识与健康食谱、查看详情并进行点赞、收藏、评论,也可在交流论坛发帖互动,形成经验分享与同伴监督。围绕日常管理,用户可查看和执行饮食计划,完成任务计划与打卡信息填报,持续维护健康记录、饮食记录,并接收饮食建议反馈。个人中心集中呈现任务计划、打卡信息、健康记录、饮食记录、饮食建议、论坛参与、收藏记录、点赞记录和评论管理,支持全过程状态追踪与历史留痕,满足健身饮食管理中的持续化、精细化使用需求。

普通用户用例图如图3.1所示。

图3.1 普通用户用例图

3.3.2营养师用户用例分析

营养师用户作为专业服务提供者,其用例重点体现在内容生产、方案制定与指导闭环。营养师登录后台后,可在首页查看待处理事项并进入业务模块,对健康食谱进行新增、编辑、删除与查询,确保食谱内容的专业性与可用性;对饮食计划进行新增、编辑、删除与查询,面向不同健身目标形成分阶段安排;通过饮食记录管理掌握用户执行情况与偏差特征;在饮食建议管理中完成建议内容的新增、编辑、删除与查询,实现从记录观察到干预反馈的连续指导过程。相关用例共同构成“食谱—计划—记录—建议”的专业服务路径,为用户长期饮食管理提供稳定支撑。

营养师用户用例图如图3.2所示。

图3.2营养师用户用例图

3.3.3管理员用例分析

管理员作为平台治理与运行保障角色,其用例覆盖全局监管、内容审核、资源维护与权限控制。管理员进入后台首页后可查看统计图表,掌握用户活跃、内容发布与业务处理等运行态势;在系统用户与权限管理中维护账户状态和角色边界;在食谱类型管理、健康食谱审核、饮食计划审核中保障内容规范与发布质量;在任务计划、打卡信息、健康记录、饮食记录、饮食建议等模块中实现业务数据监管与过程追踪;在轮播图、网站公告、健康知识及知识分类、交流论坛及论坛分类等模块中完成平台内容运营与社区秩序维护;通过通知发布实现信息统一下发与管理协同。上述用例共同支撑平台安全、稳定、有序运行。

管理员用例图如图3.3所示。

图3.3管理员用例图


4系统设计

4.1系统架构设计

本系统采用基于B/S架构的三层架构设计,分别为表示层、业务逻辑层和数据访问层,如图4.1所示。

图4.1 系统架构图

表示层:即用户界面层,负责与用户进行交互,展示系统信息并接收用户输入。对于普通用户,表现为浏览器中的网页界面,包括首页、功能模块信息页、个人中心等;对于管理员,表现为后台管理界面。表示层通过HTML、CSS、JavaScript 等技术实现页面的布局和交互效果,将用户的请求传递给业务逻辑层,并展示业务逻辑层返回的处理结果。

业务逻辑层:位于表示层和数据访问层之间,负责处理系统的核心业务逻辑,该层接收表示层传递的请求,进行相应的业务处理,如验证用户登录信息、计算推荐列表等,然后将处理结果传递给数据访问层进行数据操作,或直接返回给表示层。

数据访问层:负责与数据库进行交互,执行数据的查询、插入、更新、删除等操作。该层通过Django的ORM机制实现对MySQL数据库的访问,将业务逻辑层的操作转换为对数据库的操作,并将数据库返回的结果传递给业务逻辑层。

这种三层架构的设计使得系统的各层职责分明,降低了各层之间的耦合度,便于系统的开发、维护和扩展。当需要修改系统的界面时,只需调整表示层,而不影响业务逻辑层和数据访问层;当业务逻辑发生变化时,只需修改业务逻辑层,无需改动表示层和数据访问层。

4.2系统功能模块设计

系统功能模块设计是将系统需求转化为可实现、易维护的功能单元的关键步骤,它通过合理划分模块,提升系统的逻辑性与扩展性。系统功能模块设计是系统开发的核心环节,它将复杂的系统需求拆解为多个独立且相互协作的功能单元,不仅便于开发与维护,还能有效提升系统的扩展性和稳定性。

基于此,本系统的功能模块分为前台用户模块和后台管理员模块两大部分:前台用户模块涵盖登录注册、首页、交流论坛、网站公告、健康知识、健康食谱、饮食计划、我的账户、个人中心(任务计划、打卡信息、健康记录、饮食记录、饮食建议、交流论坛、收藏记录、点赞记录、评论管理)等功能,全方位满足用户日常使用需求;后台管理员和营养师用户模块则包含后台首页、系统用户、食谱类型管理、健康食谱管理、饮食计划管理、任务计划管理、打卡信息管理、健康记录管理、饮食记录管理、饮食建议管理、轮播图管理、网站公告管理、资源管理(健康知识、知识分类)、交流管理(交流论坛、论坛分类)、权限管理、通知发布等功能。

系统功能模块图如图4.2所示。

图4.2 系统功能模块图

4.3系统流程设计

4.3.1用户登录流程分析

用户登录流程为:用户在登录页面输入用户名和密码后,系统先进行数据验证,确保信息不为空;验证通过则对密码加密,与数据库中对应加密密码比对;若一致,创建session记录登录状态并跳转首页,若不一致或用户名不存在,提示 “用户名或密码错误”,返回登录页面供用户重新输入。

用户登录流程图如图4.3所示。

图4.3 用户登录流程图

4.3.2用户注册流程分析

用户点击注册按钮进入注册页面,填写用户名、密码、确认密码、邮箱等信息。系统对输入信息严格验证,包括用户名唯一性、密码长度合规性、密码一致性及邮箱格式正确性。若验证失败,系统反馈对应错误提示,引导用户重新填写;验证通过后,系统加密密码,将注册信息存入数据库用户表。注册成功后,系统提示 “注册成功”,并跳转至登录页面供用户登录。

用户注册流程图如图4.4所示。

图4.4 用户注册流程图

4.3.3数据添加流程分析

用户成功登录系统后,即可进行添加数据操作。添加的数据具有一个由系统自动生成的特定编号,用户可根据提示输入其余信息并提交,系统会对提交信息进行验证,验证通过则显示添加数据成功。数据添加流程如下图所示。

图4.5数据添加流程图

4.3.4数据修改流程分析

用户成功登录系统后,可进行修改数据操作,流程与添加数据操作相似,数据修改流程如下图所示。

图4.6 数据修改流程图

4.3.5数据删除流程分析

当系统里面存在一些无效或过期的数据信息,系统支持相关的管理人员对这些数据进行删除操作,数据修改流程如下图所示。

图4.7 数据删除流程图

4.3.6数据搜索流程图

用户可以通过输入关键字方式在系统大量的数据中检索所需的信息,在搜索框输入关键字确认查询后,系统会自动检索数据库并显示特定的数据信息,数据搜索流程如下图所示。

图4.8 数据搜索流程图

4.4.系统流程设计

4.4.1数据库概念结构设计

数据库概念结构设计作为健身目标人群饮食推荐系统开发的核心环节,通过E-R图将用户、健康食谱、健康记录、在线作业等关键实体及其属性进行可视化呈现,以直观的图形化方式清晰界定系统组成要素。同时,精准梳理实体间的逻辑关系,为数据库的逻辑设计与物理实现奠定坚实基础。这一设计不仅确保数据存储结构科学合理,还能提升数据操作效率,从根本上保障数据完整性与一致性,极大增强系统运行的稳定性和可靠性,对系统的高效运转与长期发展具有不可替代的重要意义。

系统E-R图如图4.9所示。

图4.9系统ER图

4.4.2数据库表结构设计

根据数据库概念结构设计,将 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-badge_record(徽章记录)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

badge_record_id

int

徽章记录ID

2

badge_name

varchar

64

徽章名称

3

ordinary_user

int

普通用户

4

pictures_of_badges

varchar

255

徽章图片

5

date_acquired

date

获得日期

6

note_information

text

65535

备注信息

7

create_time

datetime

创建时间

8

create_by

int

创建用户ID

9

update_time

timestamp

更新时间

表 4-6-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-7-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-8-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

12

hidden

tinyint

是否隐藏

13

sticky

tinyint

是否置顶

表 4-9-diet_plan(饮食计划)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

diet_plan_id

int

饮食计划ID

2

plan_name

varchar

64

计划名称

3

target_population

varchar

64

目标人群

4

cover_image

varchar

255

封面图片

5

daily_meals

varchar

64

每日餐次

6

meal_energy

varchar

64

餐次能量

7

nutritionist_user

int

营养师用户

8

applicable_period

varchar

64

适用周期

9

plan_specificss

longtext

4294967295

计划详情

10

praise_len

int

点赞数

11

collect_len

int

收藏数

12

comment_len

int

评论数

13

examine_state

varchar

16

审核状态

14

create_time

datetime

创建时间

15

create_by

int

创建用户ID

16

update_time

timestamp

更新时间

表 4-10-diet_record(饮食记录)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

diet_record_id

int

饮食记录ID

2

ordinary_user

int

普通用户

3

user_name

varchar

64

用户姓名

4

nutritionist_user

int

营养师用户

5

record_date

date

记录日期

6

diet_specificss

text

65535

饮食详情

7

dietary_recommendations_limit_times

int

建议限制次数

8

create_time

datetime

创建时间

9

create_by

int

创建用户ID

10

update_time

timestamp

更新时间

表 4-11-dietary_recommendations(饮食建议)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

dietary_recommendations_id

int

饮食建议ID

2

ordinary_user

int

普通用户

3

user_name

varchar

64

用户姓名

4

nutritionist_user

int

营养师用户

5

health_status

varchar

64

健康状态

6

record_date

date

记录日期

7

recommended_optimization

text

65535

建议优化

8

create_time

datetime

创建时间

9

create_by

int

创建用户ID

10

update_time

timestamp

更新时间

11

extra

text

65535

额外信息

12

source_table

varchar

255

来源表

13

source_id

int

来源ID

14

source_user_id

int

来源用户

表 4-12-follow(用户关注)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

follow_id

int

用户关注ID

2

follower_id

int

关注人ID

3

follower_avatar

varchar

255

关注人头像

4

follower_nickname

varchar

255

关注人昵称

5

followed_id

int

被关注人ID

6

followed_avatar

varchar

255

被关注人头像

7

followed_nickname

varchar

255

被关注人昵称

8

create_time

timestamp

创建时间

9

update_time

timestamp

更新时间

表 4-13-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-14-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-15-health_records(健康记录)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

health_records_id

int

健康记录ID

2

ordinary_user

int

普通用户

3

user_name

varchar

64

用户姓名

4

user_weight

double

用户体重

5

user_body_fat

double

用户体脂

6

diet_calories

double

饮食热量

7

amount_of_exercise

double

运动量

8

record_date

date

记录日期

9

note_information

text

65535

备注信息

10

create_time

datetime

创建时间

11

create_by

int

创建用户ID

12

update_time

timestamp

更新时间

表 4-16-healthy_recipes(健康食谱)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

healthy_recipes_id

int

健康食谱ID

2

recipe_name

varchar

64

食谱名称

3

recipe_type

varchar

64

食谱类型

4

cover_image

varchar

255

封面图片

5

applicable_scenarios

varchar

64

适用场景

6

nutritionist_user

int

营养师用户

7

release_date

date

发布日期

8

nutritional_value

text

65535

营养价值

9

specificss_of_ingredients

longtext

4294967295

食材详情

10

hits

int

点击数

11

praise_len

int

点赞数

12

collect_len

int

收藏数

13

comment_len

int

评论数

14

examine_state

varchar

16

审核状态

15

recommend

int

智能推荐

16

create_time

datetime

创建时间

17

create_by

int

创建用户ID

18

update_time

timestamp

更新时间

表 4-17-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-18-message_inform(通知记录)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

inform_id

int

通知ID

2

user_id

int

通知人ID

3

title

varchar

255

标题

4

state

varchar

255

状态

5

type

varchar

64

分类

6

content

varchar

255

内容

7

create_time

timestamp

创建时间

8

update_time

timestamp

更新时间

表 4-19-notice(公告)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

notice_id

mediumint

公告ID

2

title

varchar

125

标题

3

content

longtext

4294967295

正文

4

create_time

timestamp

创建时间

5

update_time

timestamp

更新时间

表 4-20-nutritionist_user(营养师用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

nutritionist_user_id

int

营养师用户ID

2

name_of_personnel

varchar

64

人员姓名

3

age_of_personnel

varchar

64

人员年龄

4

gender_of_staff

varchar

64

人员性别

5

qualification_certificate

varchar

255

资质证明

6

examine_state

varchar

16

审核状态

7

user_id

int

用户ID

8

create_time

datetime

创建时间

9

create_by

int

创建用户ID

10

update_time

timestamp

更新时间

表 4-21-ordinary_user(普通用户)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

ordinary_user_id

int

普通用户ID

2

user_name

varchar

64

用户姓名

3

user_gender

varchar

64

用户性别

4

user_age

varchar

64

用户年龄

5

examine_state

varchar

16

审核状态

6

user_id

int

用户ID

7

create_time

datetime

创建时间

8

create_by

int

创建用户ID

9

update_time

timestamp

更新时间

表 4-22-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已取消

9

img

varchar

255

10

title

varchar

255

表 4-23-punch_in_information(打卡信息)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

punch_in_information_id

int

打卡信息ID

2

title_name

varchar

64

标题名称

3

target_type

varchar

64

目标类型

4

ordinary_user

int

普通用户

5

user_name

varchar

64

用户姓名

6

clock_in_time

datetime

打卡时间

7

clock_in_remarks

text

65535

打卡备注

8

create_time

datetime

创建时间

9

create_by

int

创建用户ID

10

update_time

timestamp

更新时间

11

extra

text

65535

额外信息

12

source_table

varchar

255

来源表

13

source_id

int

来源ID

14

source_user_id

int

来源用户

表 4-24-recipe_type(食谱类型)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

recipe_type_id

int

食谱类型ID

2

recipe_type

varchar

64

食谱类型

3

create_time

datetime

创建时间

4

create_by

int

创建用户ID

5

update_time

timestamp

更新时间

表 4-25-releasing_notices(通知发布)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

notices_id

int

通知ID

2

title

varchar

255

通知标题

3

type

varchar

64

通知方式

4

content

varchar

255

通知内容

5

create_time

timestamp

创建时间

6

update_time

timestamp

更新时间

表 4-26-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-27-task_plan(任务计划)

编号

字段名

类型

长度

是否非空

是否主键

注释

1

task_plan_id

int

任务计划ID

2

title_name

varchar

64

标题名称

3

target_type

varchar

64

目标类型

4

ordinary_user

int

普通用户

5

user_name

varchar

64

用户姓名

6

target_cycle

varchar

64

目标周期

7

target_content

text

65535

目标内容

8

punch_in_information_limit_times

int

打卡限制次数

9

create_time

datetime

创建时间

10

create_by

int

创建用户ID

11

update_time

timestamp

更新时间

表 4-28-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-29-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

email

varchar

64

邮箱

11

email_state

smallint

邮箱认证:(0未认证|1审核中|2已认证)

12

avatar

varchar

255

头像地址

13

open_id

varchar

255

针对获取用户信息字段

14

create_time

timestamp

创建时间

表 4-30-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

更新时间

5系统实现

5.1前台普通用户功能实现

5.1.1注册登录

注册功能实现:用户在注册页面填写相关信息后,前端通过JavaScript进行表单验证,如检查密码长度、确认密码是否一致等。验证通过后,将数据发送到后端的注册接口。后端接收数据后,首先查询数据库判断用户名和邮箱是否已存在,若存在则返回错误信息;若不存在,对密码进行加密处理,然后创建用户对象并保存到数据库,返回注册成功信息。

登录功能实现:用户输入用户名和密码后,前端将数据发送到后端登录接口。后端使用Django的认证系统进行验证,若验证通过,调用login函数创建session,记录用户登录状态,并返回登录成功信息和用户基本信息;若验证失败,返回错误信息。登录成功后,前端跳转到首页。

注册页面如图5.1所示。

图5.1 注册页面图

登录页面如图5.2所示。

图5.2 登录页面图

5.1.2系统首页

首页是系统的主界面,展示平台的核心内容,包括轮播图、最新公告信息、健康知识等。首页还设置健康食谱喜好推荐排序,根据用户点击过的食谱类型进行动态排序。用户可以通过首页快速访问各个功能模块,还可以根据关键词搜索相关内容,首页页面如图5.3所示。

图5.3 首页页面图

5.1.3交流论坛

用户点击首页“交流论坛”按钮,会进入交流论坛列表,支持通过文章名称进行搜索,用户点击可查看其他用户的帖子内容,可以进行点赞、收藏、评论等操作点击“发布内容”,用户可以进行发帖。交流论坛列表界面如下图5.4所示。

图5.4 交流论坛列表页面图

5.1.4健康知识

点击系统导航栏上的“健康知识”菜单按钮,将进入健康知识列表,用户可以查看系统发布的所有健康知识内容。点击某健康知识后进入详情页,可以查看该知识的详细内容,用户可以点赞、收藏、评论等。健康知识列表页面如图5.5所示。

图5.5 健康知识列表页面图

5.1.5健康食谱

点击系统导航栏上的“健康食谱”菜单按钮,将进入健康食谱列表,用户可以浏览所有的健康食谱,支持根据关键词搜索和下拉搜索、排序。点击某条食谱可查看该食谱的详细内容,用户可以进行点赞、收藏、评论等操作。健康食谱列表如图5.6所示。

图5.6 健康食谱列表页面图

5.1.6饮食计划

点击系统导航栏上的“饮食计划”菜单按钮,将进入饮食计划列表,用户可以浏览所有的饮食计划,支持根据关键词搜索和下拉搜索、排序。点击某条饮食计划可查看该计划的详细内容,用户可以进行点赞、收藏、评论等操作。饮食计划列表如图5.7所示。

图5.7 饮食计划列表页面图

5.1.7卡路里消耗

点击系统导航栏上的“卡路里消耗”菜单按钮,用户可以输入相关数值,系统自动生成卡路里消耗数值。卡路里消耗如图5.8所示。

图5.8 卡路里消耗页面图

5.1.8个人中心

个人中心页面是用户管理个人信息和相关记录的地方,包含务计划、打卡信息、健康记录、饮食记录、饮食建议、交流论坛、收藏记录、点赞记录、评论管理等子模块。每个子模块通过后端查询相应的数据表,将结果传递给前端进行展示,并提供相应的操作按钮和功能。相关页面如下图所示。

图5.9 任务计划添加页面图

图5.10 提交打卡信息页面图

图5.11 健康记录页面图

图5.12饮食记录页面图

5.2后台管理员功能实现

5.2.1用户管理

管理员登录后台后,进入用户管理页面,可查看所有用户的列表,包括用户名、联系电话、性别等信息,管理员可以点击“详情”按钮进入修改用户的联系电话和性别,也可以点击“删除”按钮删除用户。

系统用户管理页面如图5.13所示。

图5.13 系统用户管理页面图

5.2.2轮播图管理

管理员点击“轮播图管理”菜单,可以对前台展示的轮播图进行设置,界面如下图5.14所示。

图5.14 轮播图管理页面图

5.2.3网站公告管理

管理员点击“网站公告管理”这个菜单,可以对系统中的网站公告信息进行管理,包括网站公告信息的增删改查等操作。网站公告管理界面如图5.11所示。

图5.15 网站公告管理页面图

5.2.4资源管理

管理员点击“资源管理”菜单,管理员可以上传、编辑或删除系统的资源,如文章、图片、视频等。这些资源可用于健康知识模块的展示。管理员还可以对知识分类和标签化,方便用户查找和使用,界面如下图所示。

图5.16 资源管理页面图

5.2.5健康食谱管理

管理员点击“健康食谱管理”这一菜单会显示健康食谱列表和健康食谱添加两个子菜单,点击“健康食谱列表”可以查看和审核营养师用户发布的健康食谱,可以查看历史健康菜谱记录和用户评论,还可以进行重置、查询、删除等操作。点击“健康食谱添加”,管理员可以添加新的健康食谱。健康食谱审核页面如图5.17所示。

图5.17 健康食谱审核页面图

5.2.6饮食计划管理

管理员点击“饮食计划管理”这一菜单会显示饮食计划列表和饮食计划添加两个子菜单,点击“饮食计划列表”可以查看和审核营养师用户发布的饮食计划,可以查看历史饮食计划记录和用户评论,还可以进行重置、查询、删除等操作。点击“饮食计划添加”,管理员可以添加新的饮食计划。饮食计划审核页面如图5.18所示。

图5.18 饮食计划审核页面图

5.3后台营养师用户功能实现

5.3.1健康食谱管理

营养师用户点击“健康食谱管理”这一菜单会显示健康食谱列表和健康食谱添加两个子菜单,点击“健康食谱列表”可以查看历史健康食谱记录和用户评论,还可以进行重置、查询、删除等操作。点击“健康食谱添加”,营养师可以添加新的健康食谱。健康食谱添加页面如图5.19所示。

图5.19 健康食谱添加页面图

5.3.2饮食计划管理

营养师用户点击“饮食计划管理”这一菜单会显示饮食计划列表和饮食计划添加两个子菜单,点击“饮食计划列表”可以查看历史饮食计划记录和用户评论,还可以进行重置、查询、删除等操作。点击“饮食计划添加”,营养师可以添加新的饮食计划。饮食计划添加页面如图5.20所示。

图5.20 饮食计划添加页面图

5.3.3饮食建议管理

营养师用户点击“饮食建议管理”这一菜单会显示饮食建议列表,可以基于用户记录和目标录入合理的饮食建议,还可以进行重置、查询、修改等操作。饮食建议录入页面如图5.21所示。

图5.21 饮食建议录入页面图

6系统测试

6.1测试目的

系统测试的目的是验证本健身目标人群饮食推荐系统是否能够满足设计需求,确保系统的功能完整、性能稳定、操作便捷和数据安全。通过测试发现系统中存在的缺陷和漏洞,并及时进行修复,提高系统的质量和可靠性,为系统的正式上线和使用提供保障。

具体来说,测试目的包括:

验证系统的各项功能是否按照需求规格说明书正确实现,如用户注册登录、管理员的信息管理等功能是否正常工作。

检查系统的性能是否达到预期指标,如响应时间、并发处理能力等。

确保系统的数据处理准确无误,数据的存储、查询、更新和删除等操作是否正确。

测试系统的安全性,防止出现用户信息泄露、非法登录等安全问题。

检验系统的易用性,用户界面是否友好,操作是否简便。

6.2测试用例

6.2.1系统功能性测试用例

  1. 用户注册功能测试

表6.1 注册功能测试用例

编号

测试目的

测试步骤

预期结果

测试结果

TC001

验证用户注册成功流程

1. 进入注册页面。2. 输入合法的用户名、邮箱、手机号和密码。3. 点击“注册”按钮。

注册成功并跳转至登录页面

与预期一致

TC002

验证用户名重复注册

1. 进入注册页面。2. 输入已存在的用户名。3. 提交注册信息。

显示“用户名已被占用”提示信息

与预期一致

TC003

验证邮箱格式合法性

1. 进入注册页面。2. 输入格式不正确的邮箱地址。3. 提交注册信息。

显示“邮箱格式不正确”提示信息

与预期一致

TC004

验证手机号重复注册

1. 进入注册页面。2. 输入已注册的手机号。3. 提交注册信息。

显示“该手机号已被注册”提示信息

与预期一致

  1. 用户登录功能测试

表6.2 登录功能测试用例

编号

测试目的

测试步骤

预期结果

测试结果

TC001

验证用户登录成功

1. 进入登录页面。2. 输入正确的用户名和密码。3. 点击“登录”按钮。

登录成功并跳转至系统首页

与预期一致

TC002

验证错误密码登录失败

1. 进入登录页面。2. 输入正确的用户名和错误的密码。3. 点击“登录”按钮。

显示“密码错误”提示信息

与预期一致

TC003

验证用户名不存在

1. 进入登录页面。2. 输入不存在的用户名。3. 输入任意密码并提交。

显示“用户名不存在”提示信息

与预期一致

TC004

验证空用户名登录

1. 进入登录页面。2. 不输入用户名,输入密码并提交。

显示“请输入用户名”提示信息

与预期一致

  1. 健康食谱管理功能测试

表6.3 健康食谱管理功能测试用例

编号

测试目的

测试步骤

预期结果

测试结果

TC001

验证新增健康食谱功能

1. 管理员登录系统。2. 进入健康食谱管理界面。3. 点击“新增”按钮,填写健康食谱并提交。

健康食谱成功添加并显示在列表中

与预期一致

TC002

验证编辑健康食谱功能

1. 管理员登录系统。2. 进入健康食谱管理界面。3. 选择一条记录,点击“编辑”按钮修改信息并提交。

健康食谱更新成功并在列表中更新显示

与预期一致

TC003

验证删除健康食谱功能

1. 管理员登录系统。2. 进入健康食谱管理界面。3. 选择一条记录,点击“删除”按钮。

健康食谱成功删除,列表中不再显示

与预期一致

TC004

验证健康食谱搜索功能

1. 管理员登录系统。2. 进入健康食谱管理界面。3. 在搜索框中输入食谱类型适用场景并搜索。

显示与搜索关键词匹配的健康食谱

与预期一致

  1. 健康知识管理功能测试

表6.4 健康知识管理功能测试用例

编号

测试目的

测试步骤

预期结果

测试结果

TC001

验证新增健康知识功能

1. 管理员登录系统。2. 进入资源管理界面。3. 点击“新增”按钮,填写健康知识并提交。

健康知识成功添加并显示在列表中

与预期一致

TC002

验证编辑健康知识功能

1. 管理员登录系统。2. 进入健康知识管理界面。3. 选择一条记录,点击“编辑”按钮修改信息并提交。

健康知识更新成功并在列表中更新显示

与预期一致

TC003

验证删除健康知识功能

1. 管理员登录系统。2. 进入健康知识管理界面。3. 选择一条记录,点击“删除”按钮。

健康知识成功删除,列表中不再显示

与预期一致

TC004

验证健康知识搜索功能

1. 管理员登录系统。2. 进入健康知识管理界面。3. 在搜索框中输入文章标题并搜索。

显示与搜索关键词匹配的健康知识

与预期一致

  1. 健康食谱发布功能测试

表6.5 健康食谱发布功能测试用例

编号

测试目的

测试步骤

预期结果

测试结果

TC001

验证营养师用户发布健康食谱

1. 营养师用户登录系统。2. 进入健康食谱管理界面。3. 点击“健康食谱添加”,填写相关信息并提交。

健康食谱提交成功,状态为“待审批”。

与预期一致

TC002

验证管理员审批健康食谱

1. 管理员登录系统。2. 进入健康食谱管理界面。3. 选择待审批记录并点击“通过”或“拒绝”。

健康食谱状态更新为“已通过”或“未通过”。

与预期一致

TC003

验证健康食谱查询功能

1. 营养师用户登录系统。2. 进入健康食谱管理界面。3. 输入食谱类型适用场景进行搜索。

显示符合条件的健康食谱信息

与预期一致

TC004

验证无效信息提交

1. 营养师用户登录系统。2. 进入健康食谱管理界面。3. 输入无效的食谱类型适用场景并提交。

系统提示“请填写有效信息”

与预期一致

6.2.2系统性能测试用例

表6.6 系统性能测试用例表

测试功能

测试环境

测试步骤

预期结果

实际结果

测试结果

页面响应时间

普通PC,网络环境良好

访问首页、健康食谱列表页、健康食谱详情页,记录页面加载完成时间

各页面响应时间均小于3秒

首页1.2秒,健康食谱列表页:1.5秒,健康食谱详情页:1.8秒

通过

并发用户登录

测试服务器,使用 LoadRunner工具

模拟50个用户同时登录系统,记录登录成功情况和响应时间

所有用户登录成功,平均响应时间小于5秒

50个用户均登录成功,平均响应时间3.2秒

通过

健康食谱查询性能

数据库中存10000条健康食谱记录

进行健康食谱名称模糊查询,记录查询响应时间

查询响应时间小于2 秒

查询响应时间1.3秒

通过

系统稳定性

持续运行 24小时,模拟10个用户进行常规操作(评论、点赞、浏览等)

观察系统是否出现崩溃、数据错误等情况

系统稳定运行,无崩溃和数据错误

系统稳定运行24小时,无异常

通过

6.3测试结果

通过对系统的功能性测试和性能测试,大部分测试用例都通过了测试,系统的主要功能都能够正常实现,性能也基本达到了预期指标。

在功能性测试中,用户注册登录、健康食谱管理、健康知识管理、健康食谱发布等核心功能都能正确工作,边界情况如用户名已存在、密码错误等也能得到正确处理。

在性能测试中,系统页面响应时间、并发用户登录响应时间和健康食谱查询响应时间都在合理范围内,系统能够稳定运行 24 小时,满足日常使用的需求。

但测试过程中也发现了一些问题,例如:在健康食谱评论功能中,当评论内容过长时(超过1000字),前端没有进行限制,导致后端存储时出现数据截断;在轮播图管理中,上传大尺寸图片时,页面加载速度较慢。针对这些问题,已经进行了修复,对评论内容长度进行了限制,对上传的图片进行压缩处理。

总体来说,本系统通过了测试,具备了上线使用的条件。

👇🏻 精彩专栏 推荐订阅👇🏻

深耕多年的2000+套Java项目,附带数据库

深耕多年的800+套Python项目,附带数据库

深耕多年的500+套小程序/app项目,附带数据库

精选100个热门Java毕业设计项目|适配2026‑2027届选题参考✅

精选100个热门Python毕业设计项目|适配2026‑2027届选题参考✅

精选100个热门微信小程序/安卓APP毕业设计项目|适配2026‑2027届选题参考✅

✅获取源码私信✅

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以找我咨询,希望帮助更多的人❤️

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值