摘要
互联网技术的发展促进了电影推荐服务的广泛应用,现有的推荐方式主要采用人工分类统计的方式进行推荐,导致推荐效率低,推荐准确性不高,不能满足用户个性化推荐的需求。本平台采用协同过滤算法,通过分析用户的历史行为数据进行电影的个性化推荐。平台前端采用Vue框架进行开发,后端采用Spring Boot框架进行开发,数据库采用MySQL进行数据管理。平台的主要功能有电影信息智能推荐、用户交互(点赞、收藏、评分、电影咨询、评论、新闻浏览。管理员端有角色管理、电影类型管理、信息内容管理等功能。
关键词:电影推荐系统;Spring Boot;MySQL
Abstract
The development of Internet technology has caused widespread usage of movie recommendation service. The existing recommendation method mainly adopts manual classification and statistical methods, which are easily caused to have low operational efficiency and low recommendation accuracy and is not easy to provide personalized recommendations to the user. This app adopts the collaborative filtering algorithm to do personal movie recommendation by looking into users historical behavior data The front end of the system is created using the Vue framework, and the back end is constructed using the Spring Boot framework. Use MySQL to handle the database. The basic function is that it can automatically recommend movies according to your information; Users like, collect, and rate movies, consult movies, view comments, view news. The administrator end has the function of role management and movie type management and information content management.
Key words:Movie Recommendation System; Spring Boot; MySQL
目 录
摘要
Abstract
1 绪论
1.1 研究背景与意义
1.1.1 研究背景
1.1.2 研究意义
1.2 国内外研究现状
1.3 论文组织结构
2 相关技术介绍
2.1 Java语言
2.2 Spring Boot框架
2.3 MySQL数据库
2.4 协同过滤推荐
3 需求分析
3.1 功能需求分析
3.1.1 用户功能
3.1.2 管理员功能
3.2 非功能需求分析
3.3 可行性分析
3.3.1 技术可行性
3.3.2 操作可行性
3.3.3 经济可行性
3.4 系统总体流程设计
3.4.1 数据开发流程
3.4.2 用户登录流程
3.4.3 系统操作流程
4 系统设计
4.1 系统架构设计
4.2 系统总体功能设计
4.3 数据库设计
4.3.1 概念设计
4.3.2 数据库表设计
4.4 推荐算法设计
5 系统实现
5.1 用户功能实现
5.1.1 首页推荐查看功能实现
5.1.2 通知公告查看功能实现
5.1.3 新闻资讯查看功能实现
5.1.4 影片信息查看功能实现
5.2 管理员功能实现
5.2.1 用户管理功能实现
5.2.2 资讯管理功能实现
5.2.3 影片信息管理功能实现
5.2.4 影视类型管理功能实现
5.2.5 通知公告管理功能实现
6 系统测试
6.1 测试目的
6.2 测试方法
6.3 测试内容
6.4 测试结论
7 总结
参考文献
致谢
1绪论
1.1研究背景与意义
1.1.1研究背景
电影行业从线下实体放映发展到数字化传播,电影传播的早期,观众获取电影信息主要靠报纸、杂志、海报宣传和口口相传,电影的选择多依据大众评价和传统影评人的推荐,观众很难快速找到符合自身兴趣的影片,广播电视普及后,电影资讯传播方式得到改善,但依然局限在固定频道和时段,观众的信息来源单一,无法满足个性化需求。
互联网的发展改变了电影行业的工作模式,观众获得信息的渠道也变得更加多元化,在线购票、影评网站、社交媒体的出现使电影信息传播更加广泛,但是信息过载,观众难以从众多的信息中找到符合自己兴趣的电影,传统的推荐方式还是以固定的分类、热门排行榜、人工推荐为主,没有针对个人兴趣的推荐,观众在选择电影时仍然存在大量的冗余信息,难以迅速做出决策。
1.1.2研究意义
本系统建立改善了观众获取电影信息的方式,提升了观影选择的精准度,个性化推荐能缩减观众筛选电影的时间成本,观众可快速找到契合自身兴趣的影片,智能化信息匹配规避了以往单纯排行,标签筛选的局限,提升了观影体验,管理功能的优化改善了电影资讯的发布和更新效率,保证了信息的时效性和准确性,系统缩减了人工筛选造成的主观偏差,电影信息的管理得以高效进行,系统改进信息流传方式,提升了电影行业的信息服务水平,观众可更便捷地获取所需内容,优化了电影行业的信息流传效率。
1.2国内外研究现状
近年来,大数据、人工智能技术迅猛发展,国内电影推荐系统备受关注和应用[1],各大视频网站和在线平台投入大量资源研发相关技术,争取为用户提供更精准的电影推荐,腾讯视频、爱奇艺、优酷等主流视频平台都采用个性化推荐算法,提高用户体验,增强用户粘性,腾讯视频通过用户观看历史、点赞、评论等行为数据,采用协同过滤、内容推荐等算法,生成个性化电影推荐列表[2]。 爱奇艺就通过深度学习算法和大数据分析来在电影推荐方面,构建起准确的用户画像,进一步提升推荐系统的效果,优酷则尝试根据用户的社会关系和行为数据,来提升推荐系统的准确性,力求让推荐结果更个性化,国内的电影推荐系统不仅存在于视频网站上,在社交平台,电影票务平台等领域,也都得到了应用[3]。猫眼电影借助分析用户的观影历史,评分行为以及社交网络上的互动数据,给予精准的电影推荐,经由数据分析,可助电影制片方改良营销策略,国内的研究大多着重于如何把用户行为数据和内容特征融合起来,做到高效地个性化推荐,诸如矩阵分解的协同过滤,深度学习的推荐算法等,已经在不少平台上得到应用[4]。
国内电影推荐系统研究还存在不少难题,尽管推荐算法的精准度和效率不断改善,不过随着用户需求改变,电影内容持续更新,怎样维持推荐系统长时间稳定又准确,仍旧是个关键问题,不少国内平台开始加大算法革新和改良力度,融合更多外部数据源,社交媒体数据,用户生成内容等等,以此改进推荐系统的丰富性,提升推荐系统的鲁棒性,人工智能,机器学习的进一步发展给推荐系统智能化赋予了更为可信的技术支撑。
在国外,电影推荐系统的研发开始得比较早,技术也比较成熟[5]。Netflix是全球最大的在线视频流媒体平台之一,其推荐系统是电影推荐领域的典范。Netflix的推荐算法主要依靠协同过滤技术,依靠对用户的观看历史和评分行为进行分析,给用户推荐个性化的电影内容。Netflix通过对用户的精细分析,不仅为用户推荐电影,还能根据不同用户的需求和兴趣,调整推荐策略,持续提升用户体验[6]。 为了提高推荐的效果,netflix不但使用了深度学习,强化学习等先进的机器学习技术,而且还在算法方面不断的进行更新和改造,netflix的推荐系统使得netflix的用户对网站的黏性大大提高,成为了netflix商业模式中的重要竞争力。Amazonprimevideo也使用了内容推荐和协同过滤混合的推荐方式,通过用户的历史行为和对产品的评价来做电影推荐。而像Spotify这类平台,同样将推荐系统运用到了音乐的推荐,采取与电影相似的方式,使用用户听歌的历史作为重要参数,预测用户未来听歌的兴趣[7]。在学术界,关于大数据与机器学习的推荐算法也成为了学习研究的重点,学者们争相提出新的推荐方法,这种新兴的推荐方式也进一步推进了电影推荐系统的进展。
国外电影推荐系统面临的问题主要有如何更好的处理冷启动问题,如何更好的提升推荐的多样性。在解决冷启动问题时,国外的学者和企业推荐算法中加入了更多的上下文信息和外部数据源,例如社交媒体数据、用户评论、专业影评等,以提高推荐的准确性和覆盖面。推荐系统的公平性和透明性问题也越来越受到关注,如何避免算法偏见、提高推荐结果的透明度成为研究的新方向。
1.3论文组织结构
本论文共分为七个主要章节,具体结构如下:
1. 绪论:介绍研究背景与意义,回顾国内外研究现状,并概述论文的组织结构。
2. 相关技术介绍:详细介绍与本研究相关的技术,包括Java语言、Spring Boot框架和MySQL数据库。
3. 需求分析:对系统的功能需求和非功能需求进行分析,明确用户和管理员的需求,并进行可行性分析,包括技术、操作和经济可行性。
4. 系统设计:涵盖系统架构设计、总体流程设计和功能设计,并进行数据库的概念设计与表设计。
5. 系统实现:具体描述各个功能模块的实现过程,展示系统如何根据需求进行开发。
6. 系统测试:阐述测试的目的、方法和内容,分析测试结果并得出结论,以验证系统的稳定性和功能完整性。
7. 总结:总结研究的主要成果和贡献。
2相关技术介绍
2.1Java语言
Java语言属于面向对象的通用编程语言,它的设计初衷是达成“一次编写,到处执行”的平台独立性,这主要借助Java虚拟机(JVM)达成,编写好的Java源代码会被编译成与特定硬件平台无关联的字节码格式[8],这些字节码文件可以在任何已安装对应版本JVM的操作系统上被解释执行,从而规避掉底层操作系统和硬件架构的不同,这种机制极大增强了软件的可移植性,Java应用程序可部署于从嵌入式设备到大型服务器集群的各类环境当中,语言本身给予了完备的多线程编程支持,内置的线程模型和同步机制,让开发者能够创建高并发的应用程序。 自动垃圾回收(GarbageCollection)功能会处理堆内存的分配和回收,这样就给开发者减轻了内存管理的负担,也有利于防止内存泄漏,指针错误等常见问题[9]。Java标准版(JavaSE)拥有丰富的应用程序编程接口(API,涉及集合框架,输入输出流,网络通信,数据库连接以及图形用户界面开发这些主要领域,这些经过精心设计并历经考验的类库,为创建复杂的企业级应用构筑了牢固的基础,Java语言严格的类型检查和编译时的错误检测,利于在开发初期就察觉到潜在的问题,从而优化代码的稳定性和安全性,它持续的版本更新,维持了语言的现代性与竞争力,不断吸纳函数式编程特性之类的新思想,以顺应软件开发范式的转变[10]。
2.2Spring Boot框架
SpringBoot框架是Spring项目的一个子项目,用于简化搭建新一代Spring应用程序的过程[11]。SpringBoot框架遵循“约定优于配置”的原则,提供大量的默认配置和自动装配。使用SpringBoot可以快速创建一个独立的、生产级别的Spring应用程序,不需要进行繁琐的XML配置。 SpringBoot包含Servlet容器,像Tomcat,Jetty或者Undertow,这样应用程序就可以当作一个独立的Java应用程序来运行,只要执行main方法就可以启动,这大大简化了应用的部署和发布。它具备强大的起步依赖(StarterDependencies)管理,这些预先定义的依赖描述文件包含了一组相关库,用来完成特定的功能,例如Web开发,数据访问,安全控制等等,解决了传统开发中库版本冲突和依赖管理的问题。 SpringBootActuator模块给应用程序供应了完备的生产就绪特性,健康检查,度量指标搜集,HTTP请求追踪,应用信息展示等等,这些功能对于守护和经营运作中的服务非常重要[12]。框架的自动规划(Auto-Configuration)机制可以按照项目里引入的类路径,已存在的Bean以及各种属性设置,自动地推测并安排Spring应用程序的组件,SpringBoot和Spring生态系统中的其他项目,SpringSecurity,SpringData,SpringCloud等完美融合,开发者可以轻松地创建起从数据存取到分布式微服务的全部解决方案,它的外部化配置许可经由属性文件,环境变量,命令行参数等多种途径灵活改变应用行为,适应不同的部署环境。
Spring Boot的安全性也很强,它自带很多防护功能,比如防止SQL注入,防止跨站请求伪造,防止跨站脚本攻击,可以帮助开发者搭建安全的Web应用。
2.3MySQL数据库
MySQL是一个开源的关系型数据库管理系统,它被广泛地应用于Web应用和企业级数据存储[13],MySQL支持结构化查询语言,开发者可以通过标准语句创建、读取、更新和删除数据,数据库的数据以表格的形式进行组织,数据的完整性和约束条件也可以被定义[14],MySQL的存储引擎机制让用户可以选择不同的存储引擎来满足自己不同的需求,从而优化性能和功能。
MySQL性能很高,可以存储大量数据,也支持高并发访问,系统有丰富的用户权限管理,数据加密安全功能,MySQL能兼容很多编程语言和框架,被广泛用于内容管理系统,电子商务平台,数据分析等各种场合。
2.4协同过滤推荐
协同过滤推荐是一种基于用户行为数据的推荐方法,通过分析用户历史交互信息预测用户潜在兴趣,依据用户评分、浏览记录、购买记录等数据,计算用户或物品相似度,提供个性化推荐。协同过滤推荐包含基于用户的协同过滤和基于物品的协同过滤,基于用户的方法寻找兴趣相似的其他用户,预测目标用户可能感兴趣的物品,基于物品的方法计算物品相似度,推荐用户偏好相似的物品。
协同过滤推荐的核心是相似度计算,相似度计算的常用方法有余弦相似度、皮尔逊相关系数等,基于矩阵分解的协同过滤推荐方法通过对用户-物品交互矩阵进行分解,把用户和物品映射到同一个隐空间,通过低维表示学习用户兴趣特征,从而提高推荐的准确性。协同过滤推荐方法适合处理数据量较大的场景,可以根据用户行为数据自动调整推荐结果,生成个性化推荐列表。
3需求分析
3.1功能需求分析
3.1.1用户功能
用户功能用例图如图3-1所示。

图3-1 用户功能用例图
3.1.2管理员功能
管理员功能用例图如图3-2所示。

图3-2 管理员功能用例图
3.2非功能需求分析
1. 可用性
系统可用性较高,用户随时都可以访问,系统正常运行时间要达到99.9%以上,用户不会因为系统出问题而影响使用,用户操作界面设计要简单明了,降低操作难度。
2. 可靠性
系统要可靠,遇到故障时要尽快恢复,数据要定期备份,遇到意外时不丢失,系统要有故障检测,自动识别问题并处理。
3. 安全性
系统要达成安全控制,要守护好用户数据的隐私和完整,用户信息应该加密存放,传送的时候也要用加密协议,以免数据外泄,系统要有权限管理功能,不一样的用户只能看各自的数据和功能。
4. 可扩展性
系统设计要有较好的可扩展性,模块化设计让新功能容易添加,系统可承受更多用户而不必重新搭建基础架构。
5. 性能
系统的响应时间应控制在合理范围内,通常不超过2秒。
3.3可行性分析
3.3.1技术可行性
系统采用目前主流的Spring Boot开发框架,技术基础良好,这些技术目前都已经被广泛的应用在多种商业项目中,有成熟的文档和社区支持,便于开发人员获取所需资源和解决方案,个人本身就有丰富的相关技术经验,可以应对各种潜在的技术难题。所需软硬件资源容易获取,且兼容性良好,技术难度较低。
3.3.2操作可行性
系统有直观友好的用户界面,简便的导航和功能访问,使用户使用体验很好,系统有自定义的工作流程和角色权限管理,不同层级的用户可以快速上手,各自完成任务。
3.3.3经济可行性
系统使用的软件是开源技术,使用费用较低,硬件成本较低,整体初始投入相对较低,具有较高的性价比。系统在经济上是可行的。
3.4系统总体流程设计
3.4.1数据开发流程
系统开发流程的主要步骤,从需求分析到系统完成的流程,流程包括需求分析、总体设计、详细设计、模块整合与调用、测试、扩展和完善,完成系统开发。本系统的开发流程图如图3-3所示:

图3-3系统开发流程图
3.4.2用户登录流程
用户输入用户名和密码之后,系统会先判断输入是否为空,接着验证用户名是否存在,如果存在,就利用用户名获取密码进行校验,如果密码正确,登录就成功,否则提示密码错误,如果用户名不存在或者无法登录,提示用户操作无效。如图3-4所示。

图3-4登录流程图
3.4.3系统操作流程
用户进入系统后进入登录界面,输入用户名和密码,验证信息是否正确,若验证失败,返回登录界面重新输入,若验证成功,进入功能界面,进行功能处理,结束。流程图如图3-5所示。

图3-5 系统操作流程图
4系统设计
4.1系统架构设计
系统是基于 SpringBoot、Freemarker、JPA 框架进行开发,采用标准的MVC架构模式。整个系统架构可以分为四个层次:视图层、控制器层、服务层和 DAO 层。在视图层,使用 Freemarker来提取和展示数据;Spring Boot 来处理和管理业务逻辑对象;JPA 来管理数据对象,作为持久化引擎。整个系统架构运行流程如图4-1所示。

图4-1 系统架构图
4.2系统总体功能设计
系统功能结构图如图4-2所示。

图4-2 功能结构图
4.3数据库设计
4.3.1概念设计
概念设计是数据库设计的第一步,它主要针对系统的数据有一个全方位的认识并作出抽象。概念设计的输出将是一个明确的ER图,它是后期数据库表设计的基础。以下是本系统的全局E-R图,各个实体的属性图。
总体E-R图如图4-3所示。

图4-3 总体E-R图
4.3.2数据库表设计
这个阶段的重点是把概念模型转换成实际的数据库结构,创建表,定义字段,选择数据类型。以下是本系统的数据库表设计。
文章表用于存储文章的相关信息,主要包括文章id、文章标题、文章分类、点击数等。文章表如表4-1所示。
表 4-1 文章
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
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 |
20 |
否 |
否 |
正文 |
|
12 |
img |
varchar |
255 |
否 |
否 |
封面图 |
|
13 |
description |
text |
20 |
否 |
否 |
文章描述 |
影视类型表主要用来存放影视类型分类,主要包含影视类型ID,影视类型,创建时间,更新时间等。影视类型表如表4-2所示。
表 4-2 影视类型
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
film_and_television_type_id |
int |
是 |
是 |
影视类型ID |
|
|
2 |
film_and_television_type |
varchar |
64 |
否 |
否 |
影视类型 |
|
3 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
4 |
update_time |
timestamp |
是 |
否 |
更新时间 |
影片信息表主要用来存储影片的基本信息,包括影片信息表ID、影片名称、影片类型、影片评分等。影片信息表如表4-3所示。
表 4-3 影片信息
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
movie_information_id |
int |
是 |
是 |
影片信息ID |
|
|
2 |
movie_name |
varchar |
64 |
否 |
否 |
影片名称 |
|
3 |
movie_type |
varchar |
64 |
否 |
否 |
影片类型 |
|
4 |
cover_photo |
varchar |
255 |
否 |
否 |
封面图片 |
|
5 |
release_date |
date |
否 |
否 |
上映年份 |
|
|
6 |
film_origin |
varchar |
64 |
否 |
否 |
影片产地 |
|
7 |
film_rating |
double |
否 |
否 |
影片评分 |
|
|
8 |
film_label |
varchar |
64 |
否 |
否 |
影片标签 |
|
9 |
film_director |
varchar |
64 |
否 |
否 |
影片导演 |
|
10 |
film_actor |
text |
20 |
否 |
否 |
影片演员 |
|
11 |
film_introduction |
longtext |
20 |
否 |
否 |
影片简介 |
|
12 |
hits |
int |
是 |
否 |
点击数 |
|
|
13 |
praise_len |
int |
是 |
否 |
点赞数 |
|
|
14 |
collect_len |
int |
是 |
否 |
点击量数 |
|
|
15 |
comment_len |
int |
是 |
否 |
评论数 |
|
|
16 |
recommend |
int |
是 |
否 |
智能推荐 |
|
|
17 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
18 |
update_time |
timestamp |
是 |
否 |
更新时间 |
公告表主要用于存放系统公告信息,公告表主要有公告ID、公告标题、公告内容、创建时间等。公告表如表4-4所示。
表 4-4 公告
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
notice_id |
mediumint |
是 |
是 |
公告ID |
|
|
2 |
title |
varchar |
125 |
是 |
否 |
标题 |
|
3 |
content |
longtext |
20 |
否 |
否 |
正文 |
|
4 |
create_time |
timestamp |
是 |
否 |
创建时间 |
|
|
5 |
update_time |
timestamp |
是 |
否 |
更新时间 |
用户表主要用于存储用户注册的信息,主要包括用户ID、用户姓名、审核状态、用户ID等。用户表如下图4-5所示。
表 4-5 用户
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
registered_user_id |
int |
是 |
是 |
用户ID |
|
|
2 |
user_name |
varchar |
64 |
否 |
否 |
用户姓名 |
|
3 |
user_age |
double |
否 |
否 |
用户年龄 |
|
|
4 |
user_gender |
varchar |
64 |
否 |
否 |
用户性别 |
|
5 |
examine_state |
varchar |
16 |
是 |
否 |
审核状态 |
|
6 |
user_id |
int |
是 |
否 |
用户ID |
|
|
7 |
create_time |
datetime |
是 |
否 |
创建时间 |
|
|
8 |
update_time |
timestamp |
是 |
否 |
更新时间 |
管理员表主要用来存放系统管理员的账号信息,主要有用户id,账户状态,用户名,登录时间等信息。管理员表如下表4-6所示。
表 4-6 管理员
|
编号 |
字段名 |
类型 |
长度 |
是否非空 |
是否主键 |
注释 |
|
1 |
user_id |
int |
是 |
是 |
管理员ID |
|
|
2 |
state |
smallint |
是 |
否 |
账户状态 |
|
|
3 |
login_time |
timestamp |
是 |
否 |
登录时间 |
|
|
4 |
phone |
varchar |
11 |
否 |
否 |
手机号码 |
|
5 |
phone_state |
smallint |
是 |
否 |
手机认证 |
|
|
6 |
username |
varchar |
16 |
是 |
否 |
用户名 |
|
7 |
nickname |
varchar |
16 |
否 |
否 |
昵称 |
|
8 |
password |
varchar |
64 |
是 |
否 |
密码 |
|
9 |
|
varchar |
64 |
否 |
否 |
邮箱 |
|
10 |
email_state |
smallint |
是 |
否 |
邮箱认证 |
|
|
11 |
avatar |
varchar |
255 |
否 |
否 |
头像地址 |
|
12 |
create_time |
timestamp |
是 |
否 |
创建时间 |
4.4推荐算法设计
本系统采用点击量行为的协同过滤算法进行个性化推荐,通过分析用户对电影的点击量行为,构建用户-商品矩阵,计算用户相似度,生成推荐结果。
用户行为矩阵构建: 用户-商品矩阵是通过对用户点击量数据进行分析得到的,每个用户的点击量行为被记录为一个字典,该字典记录了用户对不同电影的点击量次数,矩阵的元素表示用户对某个电影的点击量次数,如果用户没有点击量某电影,则该项为0。
余弦相似度计算: 使用余弦相似度来计算用户之间的相似度。假设用户A和B的点击量行为向量分别为a和b,其相似度计算公式如下:

其中ai和bi分别为用户A和B对电影i的点击量行为。计算目标用户与其他用户的相似度,选取最相似的用户。根据相似用户对电影的点击量情况,向目标用户推荐未点击量过的电影。推荐的电影根据相似用户对其的点击量强度进行排序,优先推荐点击量次数较高的电影。推荐结果按照相似度和点击量次数排序。对相似用户的点击量数据进行排序,推荐结果能最大程度符合目标用户兴趣。最后通过SQL查询语句获取推荐电影列表,根据推荐算法排序,查询结果按照用户个性化需求分页展示。
5系统实现
5.1用户功能实现
5.1.1首页推荐查看功能实现
用户进入首页,系统会根据用户点击量推荐影片,用户进入详情页面,可查看详细信息。首页推荐界面如图5-1所示。

图5-1 首页推荐界面
5.1.2通知公告查看功能实现
用户可以在通知公告页面查看系统发布的最新通知,内容包含网站公告、关于我们、联系方式、网站介绍。通知公告界面如图5-2所示。

图5-2 通知公告界面
5.1.3新闻资讯查看功能实现
用户可以在新闻资讯页面看到电影相关的资讯,用户可以通过分类筛选或者搜索关键词快速找到感兴趣的新闻,点击新闻标题可以进入新闻详情页面查看详细内容,新闻资讯界面如图5-3所示。

图5-3 新闻资讯界面
5.1.4影片信息查看功能实现
用户在影片信息页面可以按照分类、影片名进行搜索查找影片,用户可以点击查看详情介绍、导演、演员等信息,还可以看到其他用户对影片的评分和评论,影片信息界面如图5-4所示。

图5-4 影片信息界面
5.2管理员功能实现
5.2.1用户管理功能实现
管理员可以在用户管理页面看到用户列表,可以按照用户名、性别来搜索用户,管理员可以进行删除账号、新增账号等操作,也可以查看用户的详细信息。用户管理界面如图5-5所示。

图5-5 用户管理界面
5.2.2资讯管理功能实现
管理员可以在资讯管理页面新增、修改、删除新闻资讯。管理员可以按标题、标签、分类来搜索资讯。点击资讯标题可以进入资讯编辑页面,修改资讯内容、标签。资讯管理界面如图5-6所示。

图5-6 资讯管理界面
5.2.3影片信息管理功能实现
管理员可以在影片信息管理页面新增、编辑或者删除影片信息。支持影片信息批量导入,管理员可以对影片的分类、标签、评分等内容进行编辑。影片信息管理界面如图5-7所示。

图5-7 影片信息管理界面
5.2.4影视类型管理功能实现
管理员可以在影视类型管理页面对影片的分类进行管理,可以新增、修改或者删除影视类型,影视类型管理界面如图5-8所示。

图5-8 影视类型管理界面
5.2.5通知公告管理功能实现
管理员可以在通知公告管理页面查询公告、重置公告、删除公告、新增公告。管理员可以按照标题搜索公告,保证公告信息及时更新。通知公告管理界面如图5-9所示。

图5-9 通知公告管理界面
6系统测试
6.1测试目的
测试的主要目的就是要确保系统的功能和性能符合预期需求,并且能够发现和解决潜在问题,系统测试可以验证系统各个功能模块的正确性和稳定性,在不同使用场景下,系统的表现要符合设计要求,测试目的就是要确保系统功能完整,验证数据处理准确,评估系统性能和安全性,提高用户满意度,保证用户使用系统时有流畅可靠的体验,通过全面测试,降低后期维护成本,减少系统上线后出现故障的可能性,保证系统长期稳定运行。
6.2测试方法
在本系统中,主要的测试方法是测试用例的编写与执行,测试用例是根据系统的功能模块需求文档编写的,是系统中所有的功能模块以及边界情况的测试用例,每个测试用例中包含测试输入数据、预期结果和实际结果的对比,以此来判断系统的功能是否是按预期效果运行的。
常见的测试用例有功能测试用例、边界测试用例和异常测试用例[15]。功能测试用例是对系统功能的验证;边界测试用例是对输入数据的边界值的测试,验证系统在极端情况下的运行是否正常;异常测试用例是对系统在错误输入或异常情况下的反应的验证。本文选择功能测试用例进行系统测试。
测试执行的时候,把每个用例的执行结果记录下来,依照实际结果同预期结果的对比,判断系统有没有缺陷,经由系统化的测试用例执行,就能提升测试的覆盖率和效率,给系统的最终上线给予保障。
6.3测试内容
首页推荐查看测试表是用来验证首页推荐功能的正确性。首页推荐查看测试用例表如表6-1所示。
表6-1 首页推荐查看测试用例表
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
首页推荐功能测试 |
1. 进入系统首页 |
系统显示推荐影片列表 |
与预期结果一致 |
|
2. 点击任意推荐影片封面 |
进入影片详情页面 |
与预期结果一致 |
|
|
3. 在搜索框输入关键词,点击搜索 |
显示符合关键词的影片列表 |
与预期结果一致 |
|
|
4. 选择不同影片分类筛选推荐内容 |
显示对应分类的影片 |
与预期结果一致 |
通知公告查看测试表是测试查看通知公告功能是否正确。通知公告查看测试用例表如表6-2所示。
表6-2 通知公告查看测试用例表
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
通知公告功能测试 |
1. 进入通知公告页面 |
显示公告列表,按发布时间排序 |
与预期结果一致 |
|
2. 点击公告标题 |
进入公告详情页面 |
与预期结果一致 |
|
|
3. 在搜索框输入关键词,点击搜索 |
显示符合关键词的公告 |
与预期结果一致 |
新闻资讯查看测试表是用来测试新闻资讯查看的。新闻资讯查看测试用例表如表6-3所示。
表6-3 新闻资讯查看测试用例表
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
新闻资讯功能测试 |
1. 进入新闻资讯页面 |
显示资讯列表,按发布时间排序 |
与预期结果一致 |
|
2. 点击新闻标题 |
进入新闻详情页面 |
与预期结果一致 |
|
|
3. 选择不同资讯分类筛选内容 |
显示对应分类的新闻 |
与预期结果一致 |
|
|
4. 在搜索框输入关键词,点击搜索 |
显示符合关键词的新闻 |
与预期结果一致 |
影片信息查看测试表是用于测试影片信息查看功能是否正确,影片信息查看测试用例表如下表6-4所示。
表6-4 影片信息查看测试用例表
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
影片信息功能测试 |
1. 进入影片信息页面 |
显示所有影片列表 |
与预期结果一致 |
|
2. 点击影片封面 |
进入影片详情页面 |
与预期结果一致 |
|
|
3. 选择影片分类进行筛选 |
显示对应分类的影片列表 |
与预期结果一致 |
|
|
4. 在搜索框输入关键词,点击搜索 |
显示符合关键词的影片 |
与预期结果一致 |
用户管理测试表是用来验证用户管理功能的正确性。用户管理测试用例表如表6-5所示。
表6-5 用户管理测试用例表
|
测试项 |
测试用例 |
预期结果 |
结论 |
|
用户管理功能测试 |
1. 进入用户管理页面 |
显示所有用户列表 |
与预期结果一致 |
|
2. 按用户名筛选用户 |
显示符合条件的用户 |
与预期结果一致 |
|
|
3. 点击用户账号,查看用户详情 |
显示用户的详细信息 |
与预期结果一致 |
|
|
4. 对用户执行冻结、解封操作 |
用户状态更新,系统提示操作成功 |
与预期结果一致 |
6.4测试结论
经过系统全面的功能测试、性能测试、可靠性测试,本系统在测试环境下运行良好,功能模块均按照设计要求实现,核心功能稳定,没有严重功能缺陷和阻塞性问题,所有关键测试用例均通过,达到预期的覆盖率,证明系统功能完善,稳定,兼容。
7总结
本论文主要是写关于电影推荐系统的,主要对相关的技术,需求分析,系统的设计与实现,系统的测试进行了论述,首先介绍了研究的背景及意义,介绍了传统电影推荐方式的不足,以及基于计算机技术的电影推荐系统的优势,以及国内外研究状况,从而展开研究。 其次介绍了系统开发的技术,有JAVA语言、Spring Boot框架、MySQL数据库、协同过滤推荐方法,为系统开发提供技术基础。需求分析部分,对用户、管理员的功能需求进行了介绍,对系统的可行性进行了技术、操作、经济分析。对系统的数据开发流程、用户登录流程、系统操作流程进行了总体流程设计,为后续的系统设计和实现提供了基础。
系统设计部分包括了系统的部分设计、系统功能以及数据库设计,将系统设计和数据库表设计结合起来完成了系统的数据库设计,将推荐算法应用描述得十分详细。系统实现部分分别从用户、管理员的角度描述了各个功能模块的实现,结合推荐算法提升用户观影体验。系统测试部分通过功能测试、性能测试等完成了系统的测试,保证系统的稳定,确保系统的正常使用。最后对全文进行总结,总结研究的内容和成果,展望未来的方向。本文为协同过滤在电影推荐系统中的应用提供一个案例,为智能推荐系统优化和发展提供一个研究案例。
网硕互联帮助中心
-网硕互联帮助中心](https://www.wsisp.com/helps/wp-content/uploads/2026/08/20260801015707-6a6d52732288e-220x150.png)


评论前必须登录!
注册