【源码+文档+调试讲解】食物营养分析与推荐网站

摘  要

食物营养分析与推荐网站是一个综合性的在线平台,它汇集了各类食材的详细营养数据,为用户提供深入的食物营养分析。通过输入个人需求和健康状况,网站能够智能生成个性化的饮食建议,帮助用户更好地规划日常饮食,实现营养均衡。此外,网站还提供丰富的食物营养和美食资讯,帮助用户提升营养意识,享受更加健康的生活方式。

系统采用基于Java语言网站开发技术设计的,结合Mysql数据库管理系统对食物营养分析相关信息进行管理。按照软件工程学理论完成各阶段设计,经过调试测试达到了管理食物营养分析与推荐的能力。满足了管理员和用户的需要。论文从系统开发过程概述、开发工具简介、系统总体设计、系统开发、软件测试等几个方面进行了介绍。最后总结了系统开发的得失。

关键词食物营养;java技术;springboot框架;Mysql;

Abstract

The Food Nutrition Analysis and Recommendation website is a comprehensive online platform that brings together detailed nutrition data of various food ingredients to provide users with in-depth food nutrition analysis. By entering individual needs and health conditions, the website can intelligently generate personalized diet recommendations to help users better plan their daily meals and achieve a balanced nutrition. In addition, the website also provides a wealth of food nutrition and gastronomic information to help users enhance nutrition awareness and enjoy a healthier lifestyle.

The system is designed based on Java language website development technology, combined with Mysql database management system to manage the relevant information of food nutrition analysis. According to the software engineering theory, the design of each stage was completed, and the ability to manage food nutrition analysis and recommendation was achieved through debugging and testing. Meet the needs of administrators and users. This paper introduces the system development process, development tools, system design, system development, software testing and so on. Finally, the gains and losses of system development are summarized.

Key words: food nutrition; java Technology; springboot framework; Mysql;

目  录

1 绪  论

1.1研究背景和意义

1.2国内外研究现状

1.3论文的结构

2 相关技术简介及部署环境说明

2.1 Java语言

2.2 SpringBoot框架

2.3 Vue框架

2.4 MySQL简介

2.5 B/S结构

2.6 Hadoop介绍

2.7 Scrapy介绍

2.8 协同过滤算法

2.9系统的开发环境

3.0小结

3 需求分析

3.1系统的可行性分析

3.2系统需求分析

3.3开发目标

3.4 系统用例分析

3.5系统流程分析

3.5.1 用户登录流程

3.5.2 系统操作流程

3.6小结

4 系统总体设计

4.1系统功能结构设计图

4.2 数据库设计与实现

4.2.1  E-R模型简介

4.2.2  系统E-R图

4.2.3 系统数据表设计

4.3小结

5 系统详细设计与实现

5.1前台功能实现

5.1.1系统首页注册页面

5.1.2个人中心

5.2管理员功能实现

5.3 小结

6 系统测试

6.1 测试的任务及目标

6.1.1  测试的任务

6.1.2  测试的目标

6.2  测试方案

6.3  实例测试

6.4  系统维护

参考文献

致  谢

1 绪  论

1.1研究背景和意义

随着生活水平的提高,人们对食物营养的需求也日益增长。食物营养分析与推荐网站应运而生,其研究背景源于现代人对健康饮食的追求和对个性化营养指导的需求。在信息化时代,借助互联网和大数据技术,能够实现对食物营养成分的科学分析和个性化推荐,帮助用户更好地了解食物营养,指导健康饮食。

此类网站的意义在于,它们不仅提供了丰富的食物营养信息,还通过智能算法为用户推荐符合其营养需求的食谱,有助于改善人们的饮食习惯,提高营养水平。这类网站也有助于推动食品产业的健康发展,促进食品营养知识的普及和传播。食物营养分析与推荐网站的研究具有重要的现实意义和社会价值。

1.2国内外研究现状

在国外,食物营养分析与推荐网站的研究与应用均呈现出蓬勃发展的态势。国外方面,一些知名的健康饮食网站,如MyFitnessPal、Nutritionix等,已经建立了完善的食物数据库和营养分析系统,能够为用户提供个性化的饮食建议。这些网站还结合大数据和人工智能技术,不断优化推荐算法,提高推荐的准确性和用户满意度。

国内方面,虽然起步较晚,但近年来也涌现出了一批优秀的食物营养分析与推荐网站。这些网站在借鉴国外先进经验的基础上,结合中国人的饮食习惯和营养需求,提供了更加贴近实际的服务。随着国内大数据和人工智能技术的快速发展,这些网站在推荐算法的优化和个性化服务方面也有着广阔的提升空间。

1.3论文的结构

本文的主体结构如下:

第一章主要对当下的食物营养分析与推荐网站的背景及开发意义、国内外研究方面进行了重点论述。

第二章 重点介绍本系统的相关的开发技术,并对软件的部署环境进行必要的说明。

第三章 重点对系统进行需求分析、流程分析和可行性论述。

第四章 主要对系统整体功能进行设计和对数据库进行设计。

第五章 详细的对各个模块进行阐述,各个模块总体的设计以文字加图表的形式进行说明。

第六章 对系统的测试方法进行说明及测试结果的展示。


2 相关技术简介及部署环境说明

2.1 Java语言

Java是一种面向对象的静态式编程语言。它具有多线程和对象定向的特点,使得程序开发更加灵活和高效。Java语言的模块化特性将方案划分为多个封闭且多样化的模块,增强了代码的独立性和可维护性。通过交互操作和数据交换,Java能够有效地处理所需的数据,确保软件开发的可控性和可见性。同时,Java保留了网络接口,与web应用程序编程所依赖的类别库相匹配,提高了应用程序的稳定性和强健性。Java还具备自动垃圾收集和异常处理机制,使程序更加健壮。作为通用基本语言,Java广泛应用于日常开发中,其课程库、句子、语法规则和关键字为计算机软件的开发和编程提供了便利。

面向对象编程是Java语言最显著的特点之一。它支持原始接口和补充接口以及继承关系,实现了类、接口和接口之间以及类和接口之间的有效通信。Java的面向对象特性主要包括封装、多态性和继承三个方面。封装是Java的核心概念,可以隐藏数据操作的细节,提高代码的安全性和可读性。多态性允许不同对象对同一消息做出不同的响应,增加了程序的灵活性和扩展性。继承作为特殊的编程模式,分为父类和子类两种类型,它们具有相同的功能和特性。子类可以继承父类的属性特性,并进行优化和扩展。这些面向对象的特性使得Java成为广泛使用的编程语言之一。

2.2 SpringBoot框架

SpringBoot是一个基于Spring框架的开源项目,它简化了Spring应用程序的创建、配置和部署。SpringBoot的主要目标是使开发人员能够快速构建可自行运行的生产级应用程序。SpringBoot提供了一种简明的方式来配置Spring应用程序,通过自动配置和约定优于配置的原则大大减少了开发人员的配置工作。它还内置了一系列常用的功能模块,如数据库访问、安全认证、缓存等,使开发人员可以更专注于业务逻辑的开发。SpringBoot还支持多种打包选项,如JAR、WAR和Docker,以方便在不同环境中部署应用程序。它还提供了丰富的监视和管理功能,以帮助开发人员更好地了解其应用程序的运行状况。如果您正在寻找一个易于使用、功能强大的Java开发框架,那么SpringBoot绝对值得一试。它可以帮助开发人员快速构建高质量的Spring应用程序。

2.3 Vue框架

Vue是一款轻量级的JavaScript框架,它主要用于构建用户界面。Vue具有简单易学、灵活高效的特点,可以快速地开发出交互性强的单页面应用。

Vue采用MVVM(Model-View-ViewModel)架构模式,将数据与视图分离,使得开发者可以更加专注于业务逻辑的开发。同时,Vue还提供了丰富的指令和组件库,可以帮助开发者快速构建复杂的用户界面。除此之外,Vue还具有响应式数据绑定、虚拟DOM、异步更新队列等特性,使得其在性能方面表现优秀。此外,Vue还有一个庞大的社区,提供了大量的第三方插件和工具,可以帮助开发者更好地使用Vue框架。总之,Vue是一款非常优秀的前端框架,可以帮助开发者快速构建高质量的单页面应用。

2.4 MySQL简介

MySQL是一个关系型数据库管理系统,是Oracle公司的产品。MySQL是一种非结构化的语言,用户可以处理数据。自问世以来,MySQL受到了社会的广泛关注。与同类数据库相比,MySQL具有突出的优势,如运行速度快、应用范围广、数据库安全性高等。在语言结构上,MySQL语言简单,其他数据库需要大段代码才能实现操作,而MySQL只需要一小部分甚至几行代码。综上所述,MySQL作为一种关系型数据库管理系统,已经成为开发人员开发和存储项目数据的唯一选择。MySQL还具有多种功能,如数据操作和数据库的建立与维护。该数据库具有数据共享度高、冗余度低、易于扩展等特点。MySQL在安全性方面也有自己的特点。它采用用户身份和认证技术对数据进行加密,尽量保证数据信息的可靠性。介于数据库系统的功能和强大之间,本数据库系统的设计主要采用MySQL来实现对数据的处理。本系统采用MySQL数据库,在Web应用中,MySQL是最好的选择。它在整个系统的开发、建设、运行和维护中起着极其重要的作用。

2.5 B/S结构

B/S结构是指将系统客户端和服务器分开,客户端通过浏览器访问服务器进行操作。

B/S结构被广泛应用于大多数系统建设中,这种结构没有分离C/S结构客户端服务器的缺点,具有更多的优点:跨平台:B/S标准由标准化组织建立,适用于绝大多数系统建设,应用程序之间通用。维护成本低:客户端和服务器分开,减少了两端的压力,特别是客户端,对客户端设备、硬件、软件的要求都比较低,而系统需要升级或维护时,只需要在服务器端进行升级或维护,这样就可以降低相应的成本。

2.6 Hadoop介绍

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,它允许使用简单的编程模型在大规模分布式集群上处理海量数据。Hadoop的核心组件包括分布式文件系统(HDFS)和MapReduce编程模型。HDFS为大数据提供了高度可靠和可扩展的存储,而MapReduce则提供了一种处理和分析大数据的编程范式。Hadoop广泛应用于数据仓库、数据挖掘、日志分析等领域,是大数据处理领域的基石之一。

2.7 Scrapy介绍

Scrapy是一个功能强大的Python网络爬虫框架,专为快速抓取、解析和提取网页数据而设计。它提供了简单易用的API,支持异步请求处理,能够高效地爬取大量网页数据。Scrapy还内置了数据解析器,可以方便地提取网页中的结构化信息。此外,Scrapy还支持多种数据持久化方式,如存储为JSON、CSV等格式,方便后续的数据分析和处理。无论是进行小规模的数据抓取还是构建大规模的网络爬虫,Scrapy都是一个非常实用的工具。

2.8 协同过滤算法

协同过滤算法是一种常用的推荐算法,基于用户或物品的相似性来预测用户的兴趣。它分为基于用户的协同过滤和基于物品的协同过滤。基于用户的协同过滤通过找到与目标用户相似的其他用户,然后推荐这些相似用户喜欢的物品给目标用户。而基于物品的协同过滤则是通过找到与目标用户喜欢的物品相似的其他物品,然后推荐给目标用户。这种算法简单有效,但可能受到数据稀疏性和冷启动问题的影响。

2.9系统的开发环境

系统使用Java语言,以Springboot作为框架进行开发,其所使用的硬件和软件环境如下:

硬件环境:Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz 2.50 GHz 处理器,16.0GB 运行内存。

软件环境:Windows10 64位操作系统,TomCat服务器,IDEA开发工具。

3.0小结

本章详细的介绍了开发食物营养分析与推荐网站所需要的技术与工具,工欲善其事必先利其器,对于技术和工具了解的越多越清晰,才会在开发过程中如鱼得水。

3 需求分析

3.1系统的可行性分析

任何一个管理信息系统的开发都需要投入时间和资源,如果系统开发失败必然遭受很大损失。在着手开发系统前需要对影响系统开发的各因素进行详细分析,明确各因素的影响有多大,是否会造成系统开发失败。可行性分析的目的就是尽可能节省开发所使用的资源。对本系统的可行性分析主要从四个方面来进行分析。

3.1.1  技术可行性

在进行技术可行性分析时,考虑到的主要是确定系统在开发时所需要的技术种类有哪些,运用到的相关技术是否是完善的,是否有成功案例,是否需要购买知识产权。系统开发人员是否已经掌握了相关技术或经过简单培训学习能否尽快用于系统开发。系统运行后用户是否有能力维护系统正常运行。

以计算机为核心的管理信息系统目前已经在很多领域得到运用,技术已经比较成熟。成功案例非常多,可查阅的参考资料和网上技术论坛也很多,内容非常丰富。进行信息管理系统的开发能够使用到的工具是非常多的,使用不同种类的功能能够进行不同架构的开发。管理信息系统以数据管理为核心,所以就需要使用到数据库管理系统进行实现。在开发信息管理系统时,则需要利用关系型数据库来进行开发了。如今市面上的关系型数据库有许多种类。其中MySQL、Microsoft Mysql能够对两种架构模式都进行开发。但是相比较而言,B/S架构在使用的时候能够对发布、维护等方面更方便成本更低,是目前管理信息系统采用的主要方式。根据本系统功能需求分析更适合采用B/S架构模式。在开发B/S架构系统的工具中选择了基于Java语言的动态网页开发技术,提供了丰富的服务器端数据管理功能,利用存储过程、触发器等可以开发丰富的后台管理功能。即能满足大型应用系统对数据库管理的需要,又能满足中小型企业乃至个人对数据简单管理需要。学校开设了软件工程、数据库原理、数据结构、网络、Java等相关课程,并做过相应的课程设计,积累了一定数据库设计、编程等方面的经验。自学了MyEclipse Java语言开发工具,做过一些小型的简单的网站。能够熟练使用以上相关技术和软件。在系统设计开发过程中难免会遇到各种问题和困难,我相信在指导老师的帮助和上网查询资料的情况下一定都能得到解决。所以本系统的开发在技术方面分析是可行的。

3.1.2  经济可行性

系统运行后所产生的直接价值、间接价值只有超过开发成本才有开发意义。有些系统的运行可能不会产生直接的经济效益,但是可能会产生间接经济效益或能够提高管理效率降低成本等其它方面价值。系统开发运行需要时间成本、经济成本、物资成本、人力资源成本等。食物营养分析与推荐网站由本人免费开发,系统开发运行使用公司现有计算机和宽带网络即可。开发工具、网站服务器和数据库服务器等大约需要花费些人民币。系统需要运行在互联网上满足各地用户的使用需要,因此需要申请IP地址和域名,大约每年需要部分费用。总体核算系统的开发运行费用不高,从成本的投入、产出的效益角度来看,系统开发成本不高所创造的价值是巨大的长期的。因此,系统满足经济可行性的分析。

3.1.3  操作可行性

这一点考虑到的是系统在使用过程中、维护管理时是否具有可操作性。运行维护是否需要非常高的专业技术知识,系统用户能否提供必要的技术人员来使用维护系统。系统的可操作性决定了系统能否正常运行。

本系统采用java技术开发的,该技术已经被广泛应用于各网络应用中。上网用户基本都使用过该技术开发的网站,对此并不陌生。系统设计时尽可能使用常见的页面设计方案,提供充足提示信息。即使普通用户也能方便的使用系统各项功能。食物营养分析与推荐网站的运行维护需要相应人员管理,系统功能设计简单直观操作简单,只需经过简单培训就可以完成日常维护管理工作。客户操作界面也非常简单只要上过网浏览过网页能简单打字就可以使用系统。系统在设计时尽可能为用户提供方便,尽量使用常见控件完成信息的输入,并对输入信息进行校验减少出错。在使用过程中适时弹出提示信息引导用户操作。因此,本系统满足操作可行性的分析。

3.1.4  法律可行性

本人对系统进行独立的开发与设计,所使用的代码、图片、控件等是自己设计的或使用开发工具自带标准控件。从调研分析设计每个环节都是在指导老师指导下独立完成的。虽然通过网络、图书馆查阅了很多资料,但是没有直接盗用其中的代码等。使用的所有软件都是经过授权或开源免费的。系统运行后由专职人员管理,避免违法信息、违法行为出现在系统中。因此,系统的开发从法律方面分析也是可行的。

3.2系统需求分析

需求分析是系统设计的基础,对系统的功能性能、业务流程进行分析,生成系统规格说明。是系统分析设计的起点,从设计的角度为切入点来进行对用户的需求的满足与调整。凭借需求说明书才能够进行后期的测试等操作。

在完成系统的可行性分析之后,确定系统可以开发然后进行系统需求分析。可行性分析是在抽象层次压缩、简化系统具体功能设计。需求分析是更准确、更具体地描述用户需求,从而构造出目标系统模型。对需求分析必须仔细验证反复确认其正确性完整性,与用户真实需求保持一致。开发人员以此为设计开发依据,用户以此验收系统。需求分析出现错误直接导致系统设计开发的失败。

需求分析主要目的就是确定新系统需要完成哪些功能,准确表达用户真实需求。

系统设计人员在开发新系统时通常不熟悉业务流程,有些业务流程比较复杂还会涉及很多专业性规定限制。管理人员与需求用户有时用语言很难准确表达内心所想。使用业务流程图可以清楚准确的描述系统处理过程,更重要的是开发人员和需求用户都能看得懂。业务流图主要由实体输入、信息传递、信息存储和加工处理构成。此外系统设计初期用户需求可能经常变更,也可能存在不合理之处,所以经常需要对业务流图进行修改完善,对图形进行修改非常直观方便。

3.3开发目标

食物营养分析与推荐网站主要开发目标如下:

(1)对零碎化、分布散的食物营养分析与推荐信息进行收纳、整理,通过网络服务平台使这些信息内容更加调理,更加方便化和清晰化,让访问该系统的每个用户享受浏览的过程。

(2)生活中存在的一些现象:人员冗余。食物营养分析与推荐网站应尽量减少用户的需求压力,给他们提供省时省力省心的服务平台,降低其工作量。

(3)便于查询信息及管理信息等。

(4)通过计算机网络技术,提升解决管理问题和技术工作的质量,为用户一种规范方便的服务。

(5)该系统的面向用户为管理员和用户,系统的设计风格应该简约整洁,操作容易上手,目标信息明确,避免花里胡哨。

(6)为社会稳定和发展贡献一份力量。

3.4 系统用例分析 

食物营养分析与推荐网站综合网络空间开发设计要求。目的是将传统管理方式转换为在网上管理,完成食物营养分析与推荐管理的方便快捷、安全性高、交易规范做了保障,目标明确。食物营养分析与推荐网站可以将功能划分为管理员功能和用户功能。

(1)、管理员关键功能包含用户管理、食物营养管理、系统管理、我的信息等进行管理。管理员用例如下:

图3-1 管理员用例图

(2)、用户关键功能包含个人中心、修改密码、我的收藏等进行管理。用户用例如下:

图3-2 用户用例图

3.5系统流程分析

3.5.1 用户登录流程

登录流程实现了管理员和用户的登录,在登录页面需要用户填写自己的信息,前端页面会将信息传递给后端接口,然后查询数据库确定该身份有效后登录成功,否则此用户登录失败,需要重新填写信息,进行再次验证,如图3-3所示。

图3-3登录流程图

3.5.2 系统操作流程

系统操作流程分析是软件开发过程中的一个关键环节,它是整个系统整体的运行过程,必须保证其中的每一个步骤都是确定的,这样一个规范的流程图可以使开发者易于理解,快速的投入到接口开发中,从而提升系统开发效率。

同时,流程图还能减少开发者对系统操作流程产生歧义和降低沟通的成本,系统操作流程如图3-4所示。

图3-4系统操作流程图

3.6小结

食物营养分析与推荐网站旨在让用户能够轻松便捷的管理系统信息,让管理员的工作负担减轻。本章主要对系统的经济、技术、法律、市场可行性进行分析。确认可行后,对食物营养分析与推荐网站进行了需求分析和流程分析,从用户角度思考了可能会有的需求,是后续论文和应用开发的基础指导。

4 系统总体设计

4.1系统功能结构设计图

根据需求说明设计系统各功能模块。采用模块化设计方法实现一个复杂结构进行简化,分成一个个小的容易解决的板块,然后再将小的板块继续分化成功能单一的更小模块。模块化设计方法使测试调试、维护更容易,减少模块间的干扰。各模块可以同时开发提高开发效率。本系统功能结构图:

图 4-1系统功能结构图

4.2 数据库设计与实现

在进行信息管理类型的系统的开发中,都是需要以数据库的设计为基础来进行详细的设计与开发的。

4.2.1  E-R模型简介

一般在进行数据库结构的划分时,常使用到E-R图来进行直观的展示。在一个图中有三种元素,分别为实体、属性,以及两者之间的联系。

(1)实体指的是一种具体的事务,可以是任何东西。

(2)联系指的是实体与它的属性之间的关系,可以有不同种类的联系。

(3)属性指的是一个实体本身的特点。

4.2.2  系统E-R图

E-R图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。将“健康资讯、营养评估、社会互动、饮食计划、用户等作为实体,它们的局部E-R图,如图4-2所示:

图4-2局部E-R图

4.2.3 系统数据表设计

数据库表的设计通常是根据业务逻辑设置的。数据库模型在数据库中设计,并根据模型创建数据库表。数据库包含以下数据表来实现对数据库的存储和调用。以下是每个数据表的字段名称、类型、长度、字段说明、主键和默认值

表4-1:饮食计划

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

yinshijihua

varchar

200

饮食计划

shouzhongrenqun

varchar

200

受众人群

jihuaneirong

longtext

4294967295

计划内容

jihuatupian

longtext

4294967295

计划图片

storeupnum

int

收藏数

0

表4-2:营养评估

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

tizhong

varchar

200

体重/kg

shengao

varchar

200

身高/cm

yinshixiguan

varchar

200

饮食习惯

tijiaoshijian

varchar

200

提交时间

zhanghao

varchar

200

账号

xingming

varchar

200

姓名

shouji

varchar

200

手机

touxiang

longtext

4294967295

头像

yingyangpinggu

longtext

4294967295

营养评估

jiankangzhuangtai

varchar

200

健康状态

gaishanjianyi

longtext

4294967295

改善建议

pinggushijian

datetime

评估时间

表4-3:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

url

varchar

500

url

获取源码 ⬇

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值