基于nodejs+vue智能菜谱推荐系统python-flask-django-php

 
本文拟采用nodejs技术和express 搭建系统框架,后台使用MySQL数据库进行信息管理,设计开发的智能菜谱推荐系统。通过调研和分析,系统拥有管理员和用户两个角色,主要具备登录注册、个人信息修改、对用户管理、类型管理、菜谱信息管理、评分信息管理、留言信息、系统管理等功能进行操作。将纸质管理有效实现为在线管理,极大提高工作效率。
前端技术:nodejs+vue+elementui,
Express 框架于Node运行环境的Web框架,
语言 node.js
框架:Express
前端:Vue.js
数据库:mysql
数据库工具:Navicat
开发软件:VScode
视图层其实质就是vue页面,通过编写vue页面从而展示在浏览器中,编写完成的vue页面要能够和控制器类进行交互,从而使得用户在点击网页进行操作时能够正常。

代码结构讲解
 1、 node_modules文件夹(有npn install产生)
    这文件夹就是在创建完项目后,cd到项目目录执行npm install后生成的文件夹,下载了项目需要的依赖项。
2、package.json文件
     此文件是项目的配置文件(可定义应用程序名,版本,依赖项等等)。node_modules文件夹下的依赖项是从哪里知道的呢?原因就是项目根目录下的这个package.json文件,执行npm install时会去找此文件中的dependencies,并安装指定的依赖项。
3、public文件夹(包含images、javascripts、stylesheets)
      这个文件夹做过Web开发的应该一看就知道,为了存放图片、脚本、样式等文件的。
4、routes文件夹
      用于存放路由文件。
5、views文件夹
      存放视图。 
近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,智能菜谱推荐系统利用计算机网络实现信息化管理,使整个智能菜谱推荐管理的发展和服务水平有显著提升。目 录
目 录 III
第一章 概述 1
1.1 研究背景 1
1.2研究目的及意义 1
1.3国内外发展现状 1
1.4 研究内容 1
1.5本文的结构 2
第二章 开发工具及技术介绍 3
2.1nodejs编程语言 3
2.2 MySQL数据库 3
2.3express 框架 4
第三章 系统分析 1
3.1功能需求分析 1
3.2系统可行性分析 1
3.2.1技术可行性 1
3.2.2 经济可行性 1
3.2.3社会可行性 2
3.3 系统用例分析 2
3.4系统流程分析 3
3.4.1 登录流程图 3
3.4.2 添加新用户流程图 3
第四章 系统概要设计 5
4.1系统设计原理 5
4.2功能模块设计 5
4.3 数据库设计 5
4.3.1数据库设计原则 5
4.3.2数据库E-R图设计 6
4.3.3数据库表结构设计 7
第五章 系统功能实现 12
5.1系统功能实现 12
5.2管理员功能模块实现 14
第六章 系统测试 18
6.1系统测试的目的 18
6.2软件测试过程 18
6.3系统测试用例 18
结 论 20
致 谢 21
参考文献 22

第一章 概述
1.1 研究背景
近些年,随着中国经济发展,人民的生活质量逐渐提高,对网络的依赖性越来越高,通过网络处理的事务越来越多。随着智能菜谱推荐管理的常态化,如果依然采用传统的管理方式,将会为工作人员带来庞大的工作量,这将是一个巨大考验,需要投入大量人力开展对智能菜谱推荐信息等相关工作进行管理,单一且反复的操作容易出错且不易被察觉,工作人员对此风险并不能完全归避。利用现代信息技术,设计开发一款智能菜谱推荐系统,能够极大的节省人力物力、提高工作效率、降低工作成本。
1.2研究目的及意义
本论文拟采用计算机技术设计并开发的智能菜谱推荐系统,主要是为菜谱推荐提供服务。使得的用户可依据、时间、地点或者其他特定条件,筛选出符合的信息,给客户提供更符合实际的合理化建议,再为客户提供服务。本课题的意义在于,用户能通过使用智能菜谱推荐系统,提高用户的工作效率和服务质量,进而提高客户的体验感。
1.3国内外发展现状
相比于国内,国外的线上管理系统建设比较早,在上世纪就已经很先进,但受七十年代的经济危机影响,导致部分国家发展缓慢,但也有些发达国家走群众路线,全面发展网络技术。
在国内,线下管理系统已经特别完善,它基于计算机技术,让系统具有信息化、科学化、自动化等特性。在计算机的辅助下,国内该类系统可使管理者提高信息的复用率,对数据的处理、备份等方面也有了显著的效率提升,这种有效的工作可使管理者能更快的做好决定,也实现了“无纸化”的信息管理方式。由于其功能特别完善,也导致系统比较庞大,所以在了解该类系统的功能、操作后,决定开发一款智能菜谱推荐系统,它的功能小,但是操作简单、快速、准确的特点,也体现了设计它的意义。
1.4 研究内容
(1)调研:通过网络、图书馆等渠道调查该课题的参考资料。
(2)系统需求分析:对参考资料分类整理,设想需求与功能,再研究实现功能所需的开发工具、技术、数据库等。
(3)系统概要设计:设计功能模块、流程、数据库模型、表与字段间的关系等。
(4)系统实现:对系统用户以文字加截图的形式进行精细化分解。
(5)系统测试:测试的作用和好处,测试的具体操作步骤,分析需求与测试结果是否一致。
1.5本文的结构
本论文分为六个章节。
第一章,绪论,其包含课题背景及意义,现国内外的发展现状,本课题要研究的内容,所使用开发工具的描述等信息。
第二章,主要介绍了系统的开发技术。
第三章,先讲述功能需求分析,再讲述系统可行性分析和流程图的设计。
第四章,是系统设计原理,功能模块设计和数据库设计。
第五章,详细讲述每个界面的正确操作步骤。
第六章,该章讲述了测试的目的以及测试过程及用例。
最后对论文进行总结,包括致谢和参考文献等内容。
第三章 系统分析
3.1功能需求分析
需求分析的首要任务是要分析用户的需求,知道用户存在的一些情况,并且要明确用户的使用状况,然后设计规划解决的问题。其中在使用定性的分析以及定量的分析,从这两个方面获取用户的需求。一方面定性的分析获得的应该是用户的基本需求,能够发现现在人们的习惯要求。所以定性的需要主要是为了多与用户交流,从而更为深刻的了解一些存在的需求问题;定量的分析则是发现一些潜在的用户,并且获得不一样的反馈内容。所以定量的需求要让用户来阐述一些情况,一定让使用者清晰的进行客观的描述,这样才能够比较全面的获得用户的需求所在。
其中获得用户需求以后,就要可以将用户需求设计为系统的功能模块。在能及时的分析和发现有关需求的情况下,需要系统同时的跟进需求设计。在智能菜谱推荐管理过程中还需要创建需求工作的数据分析,以便于后面的分析做总结。写入一个需求的报告内容,其中需要包含完整的描述需求、以及功能需求、模型等后续开发过程中还需要用到的部分资料。
需求的分析中用户需求就是比较的重要,而且可以通过各种的路径,以及各用户对于系统的功能需求,你需要对这些内容做出整理以及分类,然后分析这些需求的现实情况下的可能原因,还需要有认真的分析过程,结合现实的情况下最终做出一系列的需求资料。在有关用户的期望分析中能够明确一些可能实现的情况,智能菜谱推荐管理功能是许多个可以测试的功能相结合的,正是由于这些功可以使得用户能够更加积极的提供出需求,让系统功能可以变得更加的完善。这样就可以保证所有设计的功能模块都是可以用到的,而且也是可测试的,对于后续系统的开发能够有比较关键的作用,也能快速完成用户所提供的需求。
3.2.3社会可行性
社会可行性,广义而讲可涉及到道德方面、法律方面、社会方面,每个方面都会影响系统的形成。本系统的是独立且没有任何传播性质的信息,更涉及不到道德层面,法律层面;本系统也没有触发法律,没有赌博、黄色等类型信息,同时也是遵从国家法律,不会显示任何触发法律层面的信息;社会方面,该系统是为方便客户提供更好的服务,是轻量级的智能菜谱推荐,会为人们带来快速并有效查询的功能,也是具有贡献意义的。总体而言,该系统也是具有社会可行性的。
3.3 系统用例分析
智能菜谱推荐系统综合网络空间开发设计要求。目的是将传统管理方式转换为在网上管理,完成智能菜谱推荐管理的方便快捷、安全性高、交易规范做了保障,目标明确。智能菜谱推荐系统可以将功能划分为管理员功能和用户功能。
(1)、管理员关键功能包含个人中心、用户管理、类型管理、菜谱信息管理、评分信息管理、留言信息、系统管理等进行管理。
 4.3.1数据库设计原则
学习程序设计,如果想要了解数据库管理系统或者是按照系统接口的要求制作的,就必须创建一个数据库管理系统模型,用来存储数据,这样在进行应用程序编程的过程中,就不需要加载操作系统页面的信息,从而提高整个系统的工作效率。在数据库管理系统中承载着众多的数据,应该说,一个管理信息系统的建设中心和基地,也为建设管理信息系统和信息管理系统提出了新的查询、删除、修改和操作功能,使管理信息系统建设可以快速查询需要的数据,而不是直接从代码中查找。信息库管理系统由各个组成部分的信息表按照具体的方法进行准确的归并、排序和组成信息库管理系统。
 第六章 系统测试
6.1系统测试的目的
测试是为了发现问题,而不是证明程序没有问题。测试是可编写测试用例来描述测试的步骤、预想的界面或效果与实际的差距,来验证程序是否正确。测试的原则有几条,测试需要输入条件和输出结果,制定测试用例来规范测试的步骤,也会适当的推进测试的进度。正常的测试流程是从项目立项开始,就可按需求先写测试用例,与程序开发同步进行,等程序开发完成,测试用例也可同时完成,等程序开发交接到测试时,可直接展开测试工作。
6.2软件测试过程
软件测试是软件设计的最后一个阶段,它贯穿于整个设计过程,是一项巨大的任务。软件测试需要测试程序的所有部分。每个部分的测试是不同的,在测试之前需要分为以下几个阶段:
一、单元测试,即模块测试;这是检查软件程序代码的测试。用于软件的最小单位部分。单元测试分为手动测试和动态测试。为了保证程序算法的正确性,静态检测应标准化程序的逻辑、标准化和正确性。该步骤是检测尽可能多的错误。动态检测通过将实际结果与预期结果进行比较来检测错误。
二、集成测试:该测试基于单元测试,用于测试系统的各个功能模块。任何软件设计都会有一个集成阶段,因此在软件测试过程中,集成测试是必不可少的一部分。在集成测试过程中,由于测试是在模块之间进行的,因此在测试过程中可能不会发现问题,但在整个测试过程中会暴露出来。同时,在集成测试过程中,注意模块连接过程中是否有数据丢失。还应注意的是,尽管单个模块的误差可能很少且没有影响,但拼接可能对系统产生很大影响。
三、系统测试:系统测试遵循集成测试。系统测试将通过集成测试的部分作为整个系统的一部分。它与电子设备的所有软硬件一起,可以通过实际操作检测模拟的实际环境中是否存在错误。系统测试需要与计划中的理想情况进行比较,以找出与预期的差异。在分析设计器后确定如何修改。在软件的实际操作过程中,会出现许多意外错误,测试人员可能无法在第一时间解决问题。因此,系统测试应尽可能在实际运行情况下进行,以达到更好的测试目的。
四、验收测试:验收测试是在设计完成和发布之前对系统的最终测试。它需要了解用户和合作伙伴的需求。我们将与他们一起完成测试,并根据他们的需求进行有针对性的修改,成为能够更好地同时满足两者需求的软件。
6.3系统测试用例
性能测试是指通过自动化测试工具模拟系统在不同负载和压力情况下,观察平均响应时间、CPU占用率和内存占用率等性能评价指标的变化情况,以检验系统性能是否能达到预期目标,确保平台上线后稳定运行。
本文采用开源的测试工具JMeter模拟用户对平台API网关的并发请求行为,并发量从200开始逐渐递增,利用JMeter自带的监听器与插件记录平均响应时间、CPU占用率和内存占用率等性能评价指标,具体测试结果如表6.1所示。
表6.1 API网关性能测试结果


由测试结果可知,在系统并发量逐渐递增到1200的过程中,平均响应时间控制在1.5秒内,异常率保持为0%,响应失败率小于5%} CPU占用率小于80%,内存占用率小于95%,达到了预期的性能目标。当并发量达到1400时,有一部分请求出现异常,各项性能指标也超出以上标准,说明目前系统在1400并发请求时达到了性能瓶颈。

结 论
本系统将采用nodejs 技术和express框架来搭建本系统的框架。系统从选题开始,共经历了搜集选题背景信息和选题目的及意义的分析,通过对国内外的研究,需求分析的整理,数据库的模型和表的设计,具体代码的实现。
通过调研和分析,该系统的功能设计为登录注册、个人信息修改、对用户管理、类型管理、菜谱信息管理、评分信息管理、留言信息、系统管理等功能进行管理。
该系统从设计和实现,再到系统的测试,每个环节都一一经历学习,每个环节都顺利完成。其实,在配置系统的开发工具时,就已遇到各种问题,但在导师和同学的帮助下,都已顺利的解决。本系统很多功能都不够完善,希望日后技术和经验都更丰富的情况下,能完善系统的不足之处。

致 谢
时光荏苒,岁月如梭。大学美好的四年学涯生活即将结束,但仔细想想,这四年之间发生了很多故事。曾经与同学、老师、亲朋好友在大学里所有美好的事物都将成为回忆,心中浮满好多不舍。如果让我总结大学四年生活,我会说我成长了,这四年时光非常值得!感谢所有相遇的老师、朋友们!
首先,我要感谢我的指导老师,谢谢您这段时间对我的论文修改,是您的耐心、细心辅助我顺利的完成了论文的编写,也感谢您的奉献精神,让我学习到了职业精神,希望我以后也能对我的工作同样的负责。
其次,我要感谢我的同学,四年里分享我的情感生活,让我们成为了志同道合的朋友,感谢在大学认识你们。
最后,我要感谢我的父母和亲戚,是你们这些年的耐心的陪伴,让我成为了现在能独立思想的个人,有思想、有理想的人。谢谢所有感谢曾经帮助过我的人,谢谢你们,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/487941.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JMeter元件作用域和执行顺序

JMeter元件作用域和执行顺序 元件的基本介绍基本元件总结 作用域的基本介绍作用域的原则元件执行顺序Jmeter第一个案例: Jmeter三个重要组件(重点)线程组特点线程组分类线程组的属性案例分析 HTTP请求案例一(使用HTTP请求路径来传…

学习鸿蒙基础(7)

一、Watch状态变量更改通知 Watch应用于对状态变量的监听。如果开发者需要关注某个状态变量的值是否改变,可以使用Watch为状态变量设置回调函数。 1、装饰器参数:必填。常量字符串,字符串需要有引号。是(string)> void自定义成员函数的方法…

西安石油大学数学建模校赛培训(2)matlab的使用

1.1.MATLAB是什么? MATLAB是MathWorks公司推出的一套高性能数值分析计算软件,其名字来源于"Matrix Laboratory"(矩阵实验室)的缩写。它将矩阵运算、数值分析、图形处理、编程技术等功能集成在一起,为科学计…

203基于matlab的曲柄滑块机构的运动学仿真分析GUI

基于matlab的曲柄滑块机构的运动学仿真分析GUI,包括《系统仿真与matlab》综合试题文档。分析滑块速度、角速度,曲轴投影长。曲柄滑块机构的动画。程序已调通,可直接运行。 203 曲柄滑块机构 运动学仿真分析 - 小红书 (xiaohongshu.com)

【Docker】使用 Docker 主机启动 Nginx 服务器的步骤详解

文章目录 步骤一:安装Docker步骤二:拉取Nginx镜像步骤三:启动Nginx容器步骤四:访问Nginx服务器步骤五:管理Nginx容器总结 在本文中,我们将介绍如何使用Docker在主机上启动Nginx服务器。Nginx是一个高性能的…

Qt教程 — 3.5 深入了解Qt 控件:Display Widgets部件(1)

目录 1 Display Widgets简介 2 如何使用Display Widgets部件 2.1 QLabel组件-显示图像或文本 2.2 QCalendarWidget组件-日历简单的使用 2.3 QLCDNumber组件-控件作时钟的显示 2.4 QProgressBar组件-模拟手机电池充电 2.5 QFrame组件-绘制水平/垂直线 Display Widgets将分…

【物联网】Kafka 数据采集

基础信息 组件名称 : kafka-connector 组件版本: 1.0.0 组件类型: 系统默认 状 态: 正式发布 组件描述:通用kafka连接网关,消费来自kafka的数据,并转发给下一个节点做相关的数据解析。 配置文…

喜报 | 聚合科技荣获江苏省数字经济学会科学技术奖

近日,江苏省数字经济学会公布了2023年度江苏省数字经济学会科学技术奖获奖名单。本次在全省范围内共评选出科学技术进步奖、科学技术创新奖、优秀成果奖获奖项目共计19项。“聚合数据资产服务API平台”凭借其前沿的创新性和优秀的应用前景成功获得科学技术创新奖二等…

视频推拉流EasyDSS点播平台云端录像播放异常的问题排查与解决

视频推拉流EasyDSS视频直播点播平台可提供一站式的视频转码、点播、直播、视频推拉流、播放H.265视频等服务,搭配RTMP高清摄像头使用,可将无人机设备的实时流推送到平台上,实现无人机视频推流直播、巡检等应用。 有用户反馈,项目现…

2.7、创建列表(List)

概述 列表是一种复杂的容器,当列表项达到一定数量,内容超过屏幕大小时,可以自动提供滚动功能。它适合用于呈现同类数据类型或数据类型集,例如图片和文本。在列表中显示数据集合是许多应用程序中的常见要求(如通讯录、…

Apache Spark

一、Apache Spark 1、Spark简介 Apache Spark是用于大规模数据 (large-scala data) 处理的统一 (unified) 分析引擎。 Spark官网 Spark最早源于一篇论文Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing,该论文是由加州大学柏…

Harmony OS 网络编程 实验指南

netcat简介 netcat 是什么? netcat是一个非常强大的网络实用工具,可以用它来调试TCP/UDP应用程序; netcat 如何安装? Linux上可以使用发行版的包管理器安装,例如Debian/Ubuntu上: sudo apt-get instal…

cas学习2:idea里搭建cas项目

在上篇中介绍了cas服务在tomcat中怎么启动的及某j集成cas,这篇讲下idea怎么集成cas成一个项目,为后续的定制化开发做好铺垫。 1.下载CAS 模板 Overlay Template,我这里使用 Apereo CAS 5.3 版本,JDK需要1.8 地址:Git…

钡铼技术R40路由器助力构建无人值守的智能化污水处理厂

钡铼技术R40路由器作为智能化污水处理厂的关键网络设备,发挥着至关重要的作用,助力构建无人值守的智能化污水处理系统。在现代社会,污水处理是城市环境保护和可持续发展的重要组成部分,而智能化污水处理厂借助先进的技术和设备&am…

微信小程序wx.navigateTo无法跳转到Component组件问题解决。(共享元素动画必备)

关于Component构造器官方是有文档说明的,然后官方文档内部也给出了组件是可以通过像pages一样跳转的。但是官方文档缺少了必要的说明,会引起wx.navigateTo无法跳转到组件问题! 以下是官方文档截图: 解决方式: 组件创建…

4.2 循环语句loop,等差数列求和

汇编语言 1. 循环语句loop loop指令的格式是:loop 标号,CPU执行loop指令的时候,要进行两部操作 cx cx - 1;判断cx中的值,不为0则转至标号处执行程序,如果为0则向下执行 循环使用loop来实现,循环次数存…

flask_restful的基本使用

优势: Flask-Restful 是一个专门用来写 restful api 的一个插件。 使用它可以快速的集成restful api 接口功能。 在系统的纯api 的后台中,这个插件可以帮助我们节省很多时间。 缺点: 如果在普通的网站中,这个插件就没有优势了&…

技术文件分享 | 《基于倾斜摄影测量的城市级实景三维地理场景模型生产技术规程》.pdf

为提高利用倾斜摄影测量技术生产城市级实景三维地理场景模型成果水平,湖北省地理国情监测中心联合武汉大学、武汉大势智慧科技有限公司等单位制定了《基于倾斜摄影测量的城市级实景三维地理场景模型生产技术规程》,经湖北省市场监管局批准、备案,被收录为…

如何调用occtproxy放入自己的wpf文件

1.创建一个wpf程序 2.添加项目occtproxy.vcxproj 3.把该项目配置类型设为dll 4.添加引用 5.报错显示,这是因为还没有生成dll 6.把occtproxy设为启动项目运行,设定输出目录在该目录下,生成dll 7.再运行,即可

Oracle 控制文件详解

1、控制文件存储的数据信息 1)数据库名称和数据库唯一标识符(DBID) 2)创建数据库的时间戳 3)有关数据文件、联机重做日志文件、归档重做日志文件的信息 4)表空间信息 5)检查点信息 6)日志序列号…