Bootstrap

基于协同过滤的校内餐厅推荐系统设计与实现(源码+论文)

 基于协同过滤的校内餐厅推荐系统设计与实现

摘  要

      随着互联网时代的不断进步,人们在日常生活中获取餐饮信息、进行消费的方式也在不断创新。相比传统餐厅,互联网餐厅得到了更快的发展。然而,校内餐厅作为餐饮行业佼佼者,由于经营管理方面存在问题,其发展受到了制约。为解决这一问题,本文开发了一款基于协同过滤算法的校内餐厅推荐系统。该系统针对校内餐饮实际需求,运用互联网JavaWeb、大数据Spark等技术,提供高效的餐饮业务和个性化定制服务。具体来说,本系统包括研究背景、意义与国内外发展状况;运用软件工程知识提出需求分析并明确功能、性能、业务与数据库;分析协同过滤算法并运用Spring、SpringMVC、Mybatis等架构知识进行详细实现。系统实现包括用户餐饮模块、管理员管理模块和商家管理模块。

      通过搭建一个高校可用的协同过滤算法的校内餐厅推荐系统,最终实现校园内部餐饮的升级转型,并为校园餐饮提供了全新的管理思路。

关键词  Spring;校园餐饮;协同过滤;餐饮信息

Design and implementation of campus restaurant recommendation system based on collaborative filtering

Abstract

    With the continuous progress of the Internet era, people are constantly innovating their ways of obtaining catering information and consuming in their daily lives. Compared to traditional restaurants, internet restaurants have developed faster. However, as a leading restaurant in the catering industry, the development of campus restaurants has been constrained due to operational and management issues. To solve this problem, this paper develops a campus restaurant recommendation system based on collaborative filtering algorithm. This system is tailored to the actual needs of campus catering and utilizes technologies such as Internet JavaWeb and Big Data Spark to provide efficient catering business and personalized customization services. Specifically, this system includes research background, significance, and domestic and international development status; Using software engineering knowledge to propose requirement analysis and clarify functions, performance, business, and databases; Analyze the collaborative filtering algorithm and use the architecture knowledge of Spring, SpringMVC, Mybatis, etc. to implement it in detail. The system implementation includes a user catering module, an administrator management module, and a merchant management module.

    By building a campus restaurant recommendation system based on the collaborative filtering algorithm available to colleges and universities, the upgrading and transformation of campus catering will be realized, and a new management idea will be provided for campus catering.

Keywords  Spring;Campus catering;Collaborative filtering;Catering Information

目  录

第1章       绪论... 1

1.1 论文背景与意义... 1

1.2 国内外研究现状... 1

1.3 论文研究内容与结构... 2

1.4 本章小结... 3

第2章       系统技术介绍... 4

2.1 平台框架介绍... 4

2.1.1 前台架构... 4

2.1.2 后台框架... 5

2.2 推荐系统与相关技术... 5

2.2.1 推荐系统... 5

2.2.2 协同过滤... 6

2.2.3 数据挖掘... 7

2.2.4 相似度公式... 8

2.2.5 评价指标... 8

2.3 本章小结... 8

第3章       系统需求分析... 9

3.1 功能需求分析... 9

3.2 性能需求分析... 10

3.3 架构需求分析... 11

3.4 本章小结... 12

第4章       系统设计... 13

4.1 业务模块设计... 13

4.2 系统总体设计... 13

4.3 数据库设计... 14

4.3.1 数据库E-R图设计... 14

4.3.2 数据库表设计... 15

4.4 协同过滤算法设计... 17

4.5 本章小结... 18

第5章       系统实现... 19

5.1 架构整合... 19

5.2 前台页面实现... 20

5.2.1 用户餐饮页面实现... 20

5.2.2 商家与管理员页面实现... 22

5.3 后台核心功能实现... 24

5.3.1 协同过滤算法的实现... 24

5.3.2 商家餐饮推荐与特价代码实现... 25

5.4 本章小结... 25

第6章       系统测试... 26

6.1 环境介绍... 26

6.2 测试用例... 26

6.3 测试结果... 27

6.4 本章小结... 28

第7章       总结与展望... 29

7.1 总结... 29

7.2 展望... 29

致  谢... 30

参 考 文 献... 31

第一章 绪论

1.1论文背景与意义

        随着我国现阶段科技水平的不断发展,传统的校园餐饮管理力量与经营处理方式已经不能满足现阶段发展水平的需要,影响了校园餐饮行业的进步的步伐。大学作为餐饮行业的主阵地,却没有将餐饮信息等进行充分使用。其大学餐厅的工作人员着眼现状、运用互联网科技力量、信息化思维壮大大学餐饮行业,让大学生详细了解到校园餐饮的具体情况,让餐厅变得更加丰富、多彩。如何让大学生购买大学校内餐厅内的美食,并提供个性化的购餐配送服务是当下进行研究的技术热点。

        如果大学校园的校内餐厅能够将互联网技术、创新思维灵活且正确的运用在各大食堂,就能够促进校园中大学生群体的购买欲望,提高校内餐厅在美食市场中的比重,带来更加丰厚的收益。此外,在满足学生购餐的同时,提供个性化配送服务,可以与学生建立良好、快捷、稳定的关系,提高学生的购买力,增加用户的忠诚度,还能带动同宿舍人员在校就餐的环境。作为大学校园的校内餐厅工作人员,可通过运用信息化管理平台、微信小程序提高管理效率,增加餐厅效益。综上所述,现阶段校内餐厅系统的上线和部署具有极高的意义。

1.2国内外研究现状

        在国内,在大城市中非校园点餐系统已经进入智能化餐饮阶段,通过结合信息化技术手段、算法、互联网技术结合传统餐厅订餐管理的方式,实现餐饮线上销售、在线支付、实时配送。但在二三线城市中,智慧化餐饮服务总体呈现倒退的趋势,智慧化餐饮企业总市场占比较低且无智能化应用。其均依据现有平台进行餐饮服务的开展,绝大部分餐饮行业未进行深化应用。只有一些较大的餐饮服务行业公司,例如麦当劳、小菜园、饿了么等第三方平台,花费大量的资金、人力与物力开发属于自己、适合本产品的智慧管理系统。国内一些学者通过对近年来餐饮系统相关文献进行梳理和分析,总结出餐饮系统的发展现状和未来趋势。例如,有研究指出,餐饮行业面临的主要挑战包括竞争加剧、成本上升、食品安全等问题,而应对这些挑战需要加强数字化管理、优化物流供应链、提升顾客服务等方面。在技术方面,移动支付、云计算、大数据、人工智能等技术也被广泛应用于餐饮系统中。在国外,一些欧美国家的大学校园中,早在七八十年代就已经出现了通过互联网技术进行点餐服务的提供。截止2023年,国外的校内餐饮系统已经非常成熟,且在各大餐饮提供商中得到了广泛的应用,形成了以现代技术为基础、传统餐饮为切入点的餐饮行业系统。国外也有许多学者对餐饮系统进行了深入研究。例如,有研究探讨了基于移动互联网的餐饮系统对用户满意度的影响;有研究基于数据挖掘技术开发出智能餐厅预约系统,以提高餐厅运营效率。

        协同过滤算法是一种推荐系统算法,指在分析用户行为和偏好,提供个性化的推荐服务。目前,该算法在国内外的研究得到了广泛的应用和深入的探究。国际研究方面,在过去十年中,协同过滤算法出现了一系列的改进和扩展,包括基于因子分解的模型、混合模型、随机游走模型等。这些改进和扩展大大提高了协同过滤算法的精度和效率。另外,一些新兴的技术如深度学习、强化学习也被应用到了协同过滤算法中,取得了不错的效果。在国内,协同过滤算法的研究和应用也得到了很大的发展。目前,协同过滤算法广泛应用于电子商务、社交网络、在线教育等领域,用于推荐商品、人脉、课程、文章等内容。同时,国内研究者也在尝试将深度学习和协同过滤算法相结合,以提高推荐效果。另外,随着大数据和人工智能技术的发展,协同过滤算法在国内的研究和应用前景依然广阔。

1.3论文研究内容与结构

        本次基于协同过滤的校内餐厅推荐系统中研究内容有以下2点:

        (1) 校内餐厅系统的前后台设计。通过需求分析获取苏州科技大学天平学院餐厅的需求信息,了解餐厅的服务框架。设计与实现前端页面,后台服务。此外还需罗列出当前系统中所需要的相关功能。最后需确保本次系统具有健壮性、稳定性与韧性,防止出现系统Bug或崩溃的情况发生。

        (2) 协同过滤算法的具体实现。在本系统中设计多种情况,确保在数据充足与不充足的情况下推荐情况。此外还需确保数据稀疏性问题,引入大数据技术确保数据量以提高算法的准确程度与效率,提升用户的体验程度。

        本论文的结构如下所示:

        本系统第一章介绍论文背景意义、国内外发展现状与研究内容结构。

        第二章分析系统技术并给出协同过滤算算法的技术指标,运用Spring、SpringMVC、Mybatis架构进行详细代码分析与实现。

    第三章给出需求分析,分为系统模块功能、SSM架构基本性能、给出Spring+SpringMVC+Mybatis的架构功能与模块。

        第四章介绍业务与数据库设计分析,给出基本数据表、功能模块等详情数据。

        第五章介绍系统实现,给出用户餐饮模块、管理员管理模块和商家管理模块的具体实现。

        第六章给出系统测试环境、测试用例与测试结果。

第二章系统技术介绍

 2.1平台框架介绍

        本次基于协同过滤算法的校内餐厅推荐系统是一款单体应用程序,通过前端AJAX或AXIOS的请求访问到后台服务器并获得相应来展现数据信息。因此本系统对系统数据传输的正确性与结果数据格式的正确性有很大的要求。综上所述,本平台架构设计如下表1所示:

表1平台架构介绍

编号

前后端架构

用途

1

Spring

实现IOC、DI进行Bean对象管理

2

SpringMVC

前端控制器实现请求过滤

3

Mybatis

数据库持久层访问操作

4

Axios

前端数据请求与接收

5

HTML

前端页面标签语言

6

Jquery

前端事件监听访问

7

CSS

前端页面样式管理

8

H-UI

前端页面UI设计

9

MySQL

数据库管理

10

Maven

依赖库管理

​​​​​​​2.1.1 前台架构

        本次基于协同过滤算法的校内餐厅推荐系统中前端使用HTML、Jquery、CSS、H-UI、JavaScript、JSP技术进行实现。具体的功能如下所示:

        (1) HTML:其是一种超文本标记语言,通过一系列的标签进行文件逻辑控制,形成综合渲染页面。

        (2) Jquery:可进行页面优化、数据处理以及动画设计实现动态页面效果。

        (3) CSS:层叠样式运用静态方式修饰网页内容,配合JQ等相关语言能够精准控制页面效果。

        (4) H-UI:运用H-UI脚本工具实现页面实际渲染。

        (5) JavaScript:运用JS等相关函数实现多范式、多动态、函数式声明。

        (6) JSP:本系统运用动态页面渲染,使用JSP八大标签库实现快速编译。

​​​​​​​2.1.2 后台框架

        本次基于协同过滤算法的校内餐厅推荐系统中后端使用Spring、SpringMVC、Mybatis技术进行实现。具体的功能如下所示:

        (1) Spring:本系统运用SpringIOC控制反转、依赖注入等相关技术,帮助开发人员降低开发过程,实现注解开发。

        (2) SpringMVC:运用前端控制器,发送与接收请求参数实现动态前后端交互。

        (3) Mybatis:运用MP等技术要点实现持久成访问。

​​​​​​​2.2推荐系统与相关技术

        本次基于协同过滤算法的校内餐厅推荐系统中使用协同过滤推荐系统进行数据操作,因此在本节中依次介绍推荐系统的背景、协同过滤算法的具体流程、数据挖掘的具体过程与评价指标的设定。通过详细的技术介绍确保系统协同过滤算法设计准确、正确且无误。

​​​​​​​2.2.1推荐系统

        当今互联网发展极为迅速,成倍增长的数据量导致了信息严重过载。过量数据的出现让当今企业无法获得一些具体且有用的数据信息,从而导致系统功能、性能无法达到最佳状态。这些问题的出现严重违背了社会互联网发展的目标,因此推荐系统由此而产生。

        推荐系统在97年被美国的科学家所提出,其最早的概念是利用信息数据提供建议商品以提高购买力。这种销售推荐系统可以帮助消费者了解到自身所需要的产品,模拟销售人员实现销售从而增加利润率通过几十年的信息发展,现如今的推荐系统已经独立体系应用在不限于商务领域、智能管控等领域。随着社会精英、各大销售人员、高校建设人员的加入,推荐管理的算法研究日益强大且快速进步。截止2023年,推荐过滤系统成为一种建立在大量数据平台中的高级智能化系统,运用大数据的相关特性实现推荐、销售。

​​​​​​​2.2.2 协同过滤

        在推荐系统的发展过程中,协同过滤算法是其领域中最为成熟的体系。其最早在1999年被英国计算机科学家所提出,截止进入高等院校研究的人员最多且称为应用最为广泛的推荐技术。所谓协同过滤,就是运用大量的计算机数据进行模型训练,借助数据的力量增加算法模型的健壮性;在运用信息数据手段降低数量大小以呈现趋势分析。

        在销售、电子商务等大多数领域中,均有此功能的应用。这些功能的实现是通过物以类聚人以群分的方式所实现。因此协同过滤算法的基本工作流程有收集处理用户人员的偏好、查询相似度最高的数据与物品和生成协同过滤推荐表格,具体如下所示:

        (1) 收集处理用户人员的偏好:用户在登录状态下会浏览自身所需的一些商品,系统后台将记录下当前的一系列操作并进行数据库写入。对于数据收集是协同过滤成功的最主要因素。在收集数据后还需要进行特定数据的预处理操作,核心操作为数据清洗转换,即将无用数据剔除后再计算 。通过数据预处理结束后将会成加权的二维数组,数组中记录了用户对商品的喜爱数值便于第二步相似度的匹配操作。

        (2) 查询相似度最高的数据与物品:在获得喜爱数值的二维数组后,算法会根据相似度最高的人和物进行匹配,找出相速度一致的用户和人从而进行下一步操作。

        (3) 生成协同过滤推荐表格:经过计算后得到协同过滤的列表,根据不同的功能对人和物进行商品、货物等信息的推送。

        如下图2-1所示是协同过滤算法的基本流程与步骤:

图2-1协同过滤算法的基本流程与步骤

        当然协同过滤算法还会存在一系列的问题,例如数据稀疏问题、冷启动无法解决和可扩展。因此在本系统设计与实现的过程中应尽量避免上述三个问题的出现。

​​​​​​​2.2.3 数据挖掘

        数据挖掘技术早在1988年就被美国科技工作者所提出,用来法学信息化系统中数据价值。如果没有数据挖掘技术就会导致信息系统中数据冗余情况多、数据孤岛等问题的产生。因此这种决策支持的数据挖掘技术能够应用在二十一世纪的新技术在,例如人工智能、AI技术、大数据技术、识别模式中。对于数据挖掘主要有数据信息收集、数据信息预处理操作、数据信息挖掘与数据信息应用。下面本文对四大过程一一介绍:(1) 数据信息收集:在信息系统中首先需要进行数据目标的确认,选择并展现数据信息。只有确定好数据信息的收集目标才能进行下一步的操作。(2) 数据信息预处理操作:数据处理就是将信息数据集成清洗,这种情况下会根据相应的算法实现垃圾数据的丢弃从而增加数据可靠性。清洗完成后将放入数据库中进行操作。(3) 数据信息挖掘:数据挖掘是采用具体情况进行确定。其主要有预测和描述两个方面。(4) 数据信息应用:数据信息得到后则进行系统应用。无法应用、量化和处理的数据信息则为无效信息。

​​​​​​​2.2.4相似度公式

        在本次基于协同过滤算法的校内餐厅推荐系统中选择使用余弦相似度进行公式计算。这种余弦相似度是采用向量夹角的余弦数值作为一个标准进行衡量操作。相对于其他的公式而言,其更加注重向量方向中的差异情况。当数值的范围在-1~1之间时则代表两个相似度越匹配;若趋近于-1则表示两个相似度完全不匹配;若计算出的结果为0时则表示相似度几乎相等。如下公式(2-1)所示是本次选择实用的余弦相似度计算公式:​​​​​​​​​​​​​​​​​​​​​

2.2.5评价指标

        对于基于协同过滤算法的校内餐厅推荐系统中获取到二维数组表示的余弦相似度后,则需要进行评价操作。这种推荐方式的好与坏需要评估进行显示。因此在实际的开发工作中均需要采用指标信息进行评价算法质量。在本次系统中选择使用Sim进行平方差计算,得到数据标准后进行真是评分的获取。其计算数值越精确说明预测推荐的效果越好。如下(2-2)所示是评价指标选取的公式。

 第三章统需求分析

3.1功能需求分析

        需求分析是对指对解决问题进行详细分析,弄清系统需求,获取系统功能。本章主要介绍系统模块功能、应有性能、使用架构。通过需求分析的分析与介绍确保系统功能正确、流程稳定。作为一款餐饮推荐系统,内部应具有管理员模块、用户模块和商家模块。用户模块具有登录管理操作、信息管理操作、订单管理操作与点餐操作。每一个操作中均包括了增加、删除、查询和修改等功能。用户可以随时随地通过浏览URL地址采用游客模式、登录模式进行餐品的浏览、业务查询等。平台还提供了多种餐饮的相关服务,具体的用户功需求示意图如下图3-1所示:

图3-1 用户餐饮需求图

        管理员与商户本质上是同一种用户类型,均对餐饮后台数据进行详细管理。在管理员、商户管理页中应具有全面且正确的餐饮信息操作,例如商户信息管理、美食数据信息管理、订单管理、评价信息管理、优惠推荐管理以及数据统计操作。每一个操作中均包含了增加、删除、查询和修改等功能。此外,校园餐厅管理员还可以通过后台页面对所有的用户人员、商户账号信息进行批量操作,查询信息、优惠信息、统计数据等。如下图3-2所示是管理员、商户餐饮管理的需求图:

图3-2 管理员、商户餐饮管理需求图

        此外在本系统中需要拥有特殊的协同过滤的功能。由于本次系统上线后数据用户量很小,协同过滤算法所计算出来的相似度数据均很小,导致协同过滤餐饮推荐情况不是很高。因此本次系统考虑在用户状态下再进行协同过滤计算,游客模式中随即展现多条推荐信息。通过这种操作确保餐效率有所增加、提高用户的操作体验感并达到吸引多个用户的目的。

​​​​​​​3.2性能需求分析

        本次基于基于协同过滤算法的校内餐厅推荐系统的消费者主体为苏州科技大学天平学院的在校学生,应确保系统内部的功能流畅、便捷,服务器端口请求响应快速等。因此对本次系统设计中性能需求进行确定如下几点:(1) 系统界面UI美观大方,操作灵敏且易于交互。学生对于页面访问的速度有很大的要求,因此对于系统界面的色调、操作度以及响应应进行有效把控。(2) 本系统中的静态资源量大,内部的资源访问过程中可能存在丢包的情况出现。因此对于所有静态资源应放置在MinIO中进行实现,降低请求次数从而优化网络。(3)  系统内部采用单点登录进行实现,放置多次登录、多次支付等问题出现,确保系统的健壮性。(4) 本次系统服务器运行具有稳定性,可用性应该较高,且系统能够接收和承受主大量请求。在下课时间或中午午餐时间中会有大量的接口进行调用,应设计出正确的请求路径进行系统匹配。(5) 用户推荐系统中推荐功能应该正确,内部响应速度应快速且渲染界面正确。只有正确渲染且响应的时候才会让学生们接收和使用。

​​​​​​​3.3架构需求分析

        基于协同过滤算法的校内餐厅推荐系统中平台架构的选择至关重要。在本系统中进行业务逻辑、推荐架构的确定。在业务展现层中将渲染前台页面与管理台后台系统页面;业务应用层进行美食信息、商户管理、订单操作服务、平台管理等页面的渲染操作;技术架构服务层则主要为分布式集群、SpringCloud等技术架构整合,此外还包括了缓存技术、ELT、负载均衡和数据挖掘技术;在中间件中选择使用JSP脚本技术、Nginx图片上传和Tomact服务器;内容存储则采用NoSQL、JSON、关系型数据库进行设定。此外在推荐架构中设计任务调度、数据计算、数据存储和数据处理等相关技术。如下图3-3所示是业务架构图:

图3-3 系统业务架构图

        在推荐架构中其分为四层如下图3-4所示:

图3-4 推荐架构图  

第四章 系统实现

​​​​​​​4.1架构整合

        在本次协同过滤系统中采用Spring+SpringMVC+Mybatis架构进行实现。SpringMVC负责整体系统的前端页面请求管理、Spring负责后台服务器业务反转操作、Mybatis链接Dao数据层进行数据库增删查改。因此在本次系统中应进行详细的架构整合实现,具体流程如下所示:

        系统将URL分为三层次:域名服务器、路由接口与请求体。SpringMVC中HandlerMapping针对路由进行动态匹配,进入DispatcherServlet进行映射方法的调用。Web.xml配置文件的过滤请求拦截器采取URL路径解析并找到相应的Controller控制器。进入控制器后HandleExecution接续传递给DispatcherServlet进行控制层相应。控制层将调用HandlerAdapter、ModelAndView等多种方法进行数据处理,再调用Servlet中的Impl方法进行Mapper层数据库操作。通过层层分离实现解耦合效果。最后将数据转为JSON格式进行页面转发、数据传递并渲染前端页面。

图5-1 功能图

​​​​​​​4.2 前台页面实现

​​​​​​​4.3 用户餐饮页面实现

        登录页面是进入本系统后台的唯一入口。当用户输入账号与密码后点击登录,前端将发送/login的Post请求并封装Data对象进行数据传递。当检测到账号与密码匹配时则进行页面跳转,否则弹出错误对话框。当用户登录后,系统JSP将采取标签方式进行UserName的Session域对象设置,每次登录时均检测该对象是否存在。若对象内容为NULL则表示非法登录,之后进行页面跳转并提示错误信息。

        当用户登录到后台后,将展现用户中心、用户信息、修改密码、我的订单、我的购买、意见反馈与安全登录等按钮。该按钮数据均保存在MySQL数据库中。当登录成功后则紧跟这查询菜单列表,并进行数据信息格式化,以JSON数据格式进行保存传递。前端HTML接收到AJAX的数据后进行EL表达式的遍历。如下图5-3所示是本次用户后台页面的渲染图:

图5-3 用户后台页面

        用户可点击首页进入当前系统的购餐页面。在页面中分为首页轮播图、餐厅信息列表等信息。首页轮播图采用BootStrap框架的插件进行实现,通过数据库查询并给出IMG的SRC路径进行页面渲染。餐单列表则采用分组查询进行实现,运用Group By餐厅名获得多个数据列表,依次进行foreach标签渲染。如下图5-4所示是用户主页面:

图5-4 页面

        当用户选择好餐饮后可直接击图片进行页面跳转。在跳转过程中可附带传输餐饮名称、餐饮ID数值、餐饮价格等。前端将发送/findfood请求进行数据库连接查询。查询到的数据再以JSON数据格展现在页面中。如下图5-5所示是用户点餐页面渲染图:

图5-5 用户点餐页面

        用户点击加入购物车后进行购买页面,页面中需填写姓名电话与收货地址。设置完成后点击付款则发送Axios请求。当请求体有返回值后则进行数据判断是否购买成功。当购买成功时则进入点餐成功页面,反之弹出错误对话框。

​​​​​​​第五章系统测试

​​​​​​​5.1 环境介绍

        如下表2所示是本次系统测试的环境信息:

表2 环境集成

设备信息

设备号

设备说明

服务器

Tomact9

发布使用的服务器

部署环境

Linux红帽服务器

8083端口数据访问

数据库

MQ

数据库连接工具

​​​​​​​5.2测试用例

        本次系统主要对协同过滤进行详细测试。如下所示是本次设计的协同过滤算法的测试用例:

表3协同过滤测试用例

Demo

用例名

次数

目的

测试过程

测试结果

测试结论

1

协同过滤测试

2

游客访问模式协同过滤是否使用?

游客模式进入页面查看是否有推荐数据?多次访问查看推荐数据是否随机?

页面操作,测试结果正确随机推荐5款产品。

测试通过

2

协同过滤测试

4

账号内有数据的协同过滤计算是否正确?

账号密码登录查看协同过滤计算过程与结果是否有值,值是否正确?

Console查看,输出Log日志正常。

测试通过

3

协同过滤测试

2

账号内无数据的协同过滤计算是否有用?

账号密码登录查看协同过滤计算过程与结果是否有值,值是否正确?

Console查看,输出Log日志正常。

测试通过

4

压力测试

33

系统具有压力管理?

1.配置JMeter。设置请求方式为HTTP POST方式,设置线程数为100,持续时间为10分钟。

2.设置测试脚本。在JMeter中添加一个HTTP Request Sampler,输入URL地址和需要测试的参数

3.启动JMeter进行测试,观察系统响应时间和错误率等指标,并记录测试数据。

通过Jmeter测试线程发现本系统在10分钟内未操作后将自动退出系统;URL访问次数和响应值表均正常。

测试通过

​​​​​​​5.3测试结果

        通过上述测试,Demo1中的页面数据能够随机展现后台餐饮数据;Demo2后台计算过程正确且输出内容正确。

第六章 总结与展望

 6.1总结

        在本次系统开发的过程中根据实际的需求进行功能的设计,主要的任务有:(1) 校内餐厅系统的前后台设计。通过需求分析获取苏州科技大学天平学院餐厅的需求信息,了解餐厅的服务框架。设计与实现前端页面,后台服务。此外还需罗列出当前系统中所需要的相关功能。最后需确保本次系统具有健壮性、稳定性与韧性,防止出现系统Bug或崩溃的情况发生。(2) 协同过滤算法的具体实现。在本系统中设计多种情况,确保在数据充足与不充足的情况下推荐情况。此外还需确保数据稀疏性问题,引入大数据技术确保数据量以提高算法的准确程度与效率,提升用户的体验程度。(3) 架构整合。其中前台架构采用HTML、CSS、JQ等技术整合;后台采用SpringIOC、SpringMVC、MybatisPlus整合开发。通过前后台技术选型与确定以确保系统正确运转。最后对推荐系统中协同过滤算法计算过程、相似度公式处理与评价指标进行实现。

​​​​​​​6.2 展望

        本次基于协同过滤的校内餐厅推荐系统搭建了一个稳定的操作平台并对协同过滤进行了应用,但还需要进行管理功能的优化,具体补充有:(1) 校园作为餐饮的重点地区,应进行高并发信息的设计,确保服务可用、可操作。(2) 引入管理员管理等相应功能,确保系统内部具有更加全面的权限管理。(3) 后序在管理过程中应添加机器学习或自动化管理以提升管理水平。

考 文 献

[1]阮玉洁.外卖软件的使用特点分析——以美团外卖为例[J].商场现代化,2016(25):10-11.

[2]李晓瑜.协同过滤推荐算法综述[J].商丘师范学院学报,2018,34(9):7-10.

[3]陈洁敏,汤庸,李建国,蔡奕彬.个性化推荐算法研究[J].华南师范大学学报(自然科学版),2014,05:8-12.

[4]肖诗涛,邵蓥侠,宋卫平,崔斌.面向协同过滤推荐的新型混合评分函数[J].计算机科学,2021,(03):58-59.

[5]刘增杰.MySQL5.7从入门到精通[M].北京:清华大学出版社,2016,1-6.

[6]项亮.推荐系统实战,北京:人民邮电出版化,2012,6-18.

[7]郑鹏,王应明,梁薇.基于信任和矩阵分解的协同过滤推荐算法[J].计算机工程与应用,2018(13):10-20.

[8]高团阳.推荐系统开发实战[M].电子工业出版社,2019,7-7.

[9]王俊淑,张国明,胡斌.基于深度学习的推荐算法研究综述[J].南京师范大学学报(工程技术版),2018,18(4):13-43.

[10]高山,刘炜,崔勇.一种融合多种用户行为的协同过滤推荐算法[J].计算机科学,2016,43(9):227-231.

[11]王明佳,韩景倜.基于多维度用户相似性度量的协同过滤推荐算法[J].统计与决策,2018(9):66-69.

[12]喻国明,侯伟鹏,程雪梅.个性化新闻推送对新闻业务链的重塑[J].新闻记者,2017:09-13.

[13]刘辉,郭梦梦,潘伟强.个性化推荐系统综述[J].常州大学学报(自然科学版),2017:51-59

;