【个人作品参考案例】基于协同过滤的音乐推荐系统的设计与实现-初稿

摘  要
随着互联网的快速发展,大数据时代的到来,传统的在线音乐行业将要受到很大的冲击,原有的音乐数字化给人们生活带来了极大的便利。随着在线数字音乐的兴起,各大音乐平台软件层出不穷,人们在各大音乐平台上听音乐的同时,常常会因为音乐信息繁杂,无法找到自己想听的音乐。为了解决这个问题,本课题将设计并实现了一个基于协同过滤的音乐推荐系统。
经过前期对计算机知识的学习和用户在线听歌需求的了解,音乐推荐系统将采用JAVA语言作为其编码语言,所有系统后台功能逻辑实现将通过SpringBoot框架进行编码完成,所有功能数据存储将通过使用MySQL数据库存储,结合音乐推荐系统需要用到的一些功能,最终实现了用户与管理角色,实现了音乐管理,友情链接管理和留言管理等功能。
本系统的开发,可以给用户提供一个便捷的音乐推荐系统。相比于之前,不在音乐信息繁杂,无法找到自己想听的音乐,可以直接向用户进行音乐的个性化推荐。
关键词:协同过滤;音乐;推荐;JAVA;SpringBoot
Abstract
With the rapid development of the Internet and the arrival of the era of big data, the traditional online music industry will be greatly impacted. The original digital music has brought great convenience to people’s lives. With the rise of online digital music, software on various music platforms is constantly emerging. While listening to music on these platforms, people often find it difficult to find the music they want to listen to due to the complexity of song information. To address this issue, this project will design and implement a music recommendation system based on collaborative filtering.
After learning computer knowledge in the early stage and understanding the online listening needs of users, the music recommendation system will use Java language as its encoding language. All backend functional logic implementation of the system will be completed through the SpringBoot framework, and all functional data will be stored through the use of MySQL database. Combined with some functions required by the music recommendation system, the user and management roles will be realized, and functions such as music management, friendship link management, and message management will be implemented.
The development of this system can provide users with a convenient music recommendation system. Compared to before, without the complexity of song information and the inability to find the music you want to listen to, you can directly provide personalized music recommendations to users.
Keywords:Collaborative filtering; Music; Recommendation; JAVA; SpringBoot

第1章绪论
本章中主要包括对该论文的研究背景和研究意义进行分析介绍,同时着重针对音乐推荐系统计算机技术的当前国内外研究发展应用现状进行对比研究,结合现实应用的场景和技术需求等进行比较分析,找到未来需要着力解决研究的一些问题方向,同时重点对本论文研究内容的相关主要的内容体系和结构框架安排进行介绍。
1.1选题背景
21世纪以来,互联网的技术发生了突飞猛进的进步,给人们的生活质量和工作效率带来了极大的提升,互联网已和我们的生活息息相关,未来我们将处于一个万物互联的世界。在互联网的发展过程中,人们的文化生活日趋丰富,比如各种音乐平台不断出现,像酷狗,QQ音乐,网易云音乐都很火,所以在互联网的发展下,也涌现了很多的音乐平台,而传统的音乐网站多采用门户网站,音乐站点等方式,正式因为互联网的产生,让音乐无处不在,大家随时随地可以听到音乐。
互联网时代的音乐资源可以通过在线音乐平台获取资源,而传统的音乐主要是通过一些网站,网点等提供音乐下载服务,目前市面上出现了大量的在线音乐平台,移动互联网时代的在线音乐服务具有的无限潜力。音乐的根本动因在与相互关注和情感连带以及理性的“互动仪式市场”这一互动仪式链的核心机制。高速网络与资费降低的情况下,用户对音乐下载服务已经逐步丧失兴趣,而转向于流媒体音乐服务。对于移动音乐来说,早期的“播放器时代”意味着光靠音乐曲库留住用户已非上策,多元化发展、不断提升产品和服务的种类与质量才是出路。而在线音乐平台服务趋向与多元化,满足用户听(综合音乐服务)唱(移动K歌)看(视频MV)玩(粉丝互动)的多维需求。
1.2研究目的和意义
随着社会的发展和时代的进步,IT行业的发展也是日新月异,对人类的生存和发展方式产生了很大的影响,网络传播以其特有的快速、高效、便捷的传输方式被人们所接受,越来越多的走进千家万户,并在当今音乐浪潮的影响下,随着音乐事业逐渐走向高峰,音乐已无处不在,音乐与我们已密不可分。因此音乐网站的设计对于当今社会更是有不言而喻的重要性,通过对音乐网站的设计与分析,阐明了当前音乐发展的形势,简单介绍了音乐网站设计的内容、结构、规划、功能、发展前景等,提出音乐网站的设计实际上是一个发展性的问题。
因此可以看出,该音乐推荐系统很受大众欢迎的,因为它能够准确给用户推荐喜欢的音乐,音乐推荐系统在系统的应用使得音乐领域占据比较重要的地位,有利于提高系统中音乐的核心竞争力得到提升,因此音乐推荐系统的应用能够提高相关行业竞争的竞争力,有利于提高用户的音乐听歌体验,也有利于更加直观地剖析音乐数据,能够辅助音乐公司做出正确的决策。
1.3相关研究现状
1.3.1音乐推荐系统研究现状
推荐系统广泛应用于在音乐类的产品中,国际上著名的音乐产品有 Pandora(潘多拉)等,国内的音乐产品也很好,比较有代表性的有豆瓣电台、网易云音乐等。
Pandora 支持的后面技术是基于内容的音乐推荐算法,由专业人员亲自为不同歌手的歌进行标注,主要是对歌曲的特性细化,比如歌曲的编曲、乐器搭配乐器演奏特征、旋律等维度。然后,Pandora 电台根据专业人员的标注,计算歌曲的之间的相似度,并把用户之前喜欢的音乐相似的音乐推荐给用户。
在推荐系统领域中,音乐推荐系统是一个比较独特的存在,研究 Pandora 音乐产品的研究人员发现,在一次大会上对音乐推荐特点做出了总结:音乐的数量规模很大,种类丰富:用户喜欢听歌曲可能很多、对于喜欢的音乐用户会重复听很多次,用户反复收听这个行为远远高于电影和书,基本上用户读书或者看电影只看一遍。
1.3.2音乐推荐方法研究现状
音乐推荐系统在音乐领域有着非常多的应用,促进了音乐网站的发展,为音乐公司带来可观的利润,但是仍然存在一些比较难以解决的问题。音乐推荐系统大多数使用基于协同过滤、基于内容的推荐方法,主要分为以下两类:
(1) 基于协同过滤的音乐推荐
在基于协同过滤推荐算法研究中,用户对音乐所做的行为,比如用户搜索歌曲行为,收听歌曲的行为,对音乐打标签和对音乐评论等行为,系统都不仅将这些行为收集,还收集一些比如分享、收藏等重要的隐式反馈,该推荐算法会根据用户的行为数据进行推荐。
(2)基于内容的音乐推荐
基于内容的音乐推荐。用户对物品的行为数据对该算法不产生影响,只需要提取物品本身内容信息。如何从物物品本身信息得到用户的兴趣数据是一个问题,这时需要利用一些用机器学习的方法。该算法也有很多学者深入研究,提出不少代表的建议,而且推荐效果不错。
1.4主要研究内容
本文主要研究内容是针对当前用户的听歌现状,开发设计一个音乐推荐系统。首先,对目前市面上类似的在线音乐网站进行了优缺点分析,其次再对课题实现具体的用户听歌需求分析上,根据具体的用户听歌需求对具体实现的功能进行设计。结合前期的了解以及用户需求,拟决定Java语言作为此次音乐推荐系统功能实现的编码语言,使用SpringBoot框架实现后台的功能,使用JSP技术实现交互页面的渲染,通过协同过滤算法对音乐进行智能推荐。通过对音乐推荐系统进行具体的功能分析,主要实现登录注册、用户管理、音乐管理等方面的具体需求。
1.5本章小结
本章中根据音乐推荐系统课题相关的的选题背景及选题意义等方面进行了详细的概述,可以为后期系统功能模块设计做好铺垫。

第2章相关理论和技术
在技术实现方面,主要将采用Java语言和Springboot的框架,对系统后台功能进行编码实现。其次,通过使用协同过滤算法对用户的音乐信息进行智能推荐。本章将对音乐推荐系统中所涉及到的框架以及数据库的有关基础知识,加以简单阐述。
2.1 Java语言
Java语言是由Sun公司在1995年推出的一门新型的计算机编程语言,能够具有大部分计算机编程语言共同存在的一些特点。Java语言又是一门基于面向对象思想的计算机编程语言,不仅可以吸收接纳C++语言的优势,也在一定程度上放弃了它的一些不足之处。Java计算机语言具有分布式等特点。Java语言可以开发的应用主要有安卓应用、网站开发等应用。
2.2 SpringBoot框架
SpringBoot框架的最早设计开发是由Pivotal团队推出的一款Java语言的后端应用开发框架,该框架设计的目的是简化Spring框架在开发项目中的繁琐的配置。通过SpringBoot框架特殊的配置信息,可以直接让项目开发人员进行项目开发。SpringBoot框架官方给的概念来说是为了缩短项目研发环节,提供一种约定大于配置的好处, 可以能够很快速而便捷的来进行开展任何一个企业级的web应用的开发,几行简单的代码就好比是能够自己来开发设计出了一个完全基于Http协议的接口。
2.3 协同过滤算法
协同过滤算法在实际的应用过程中,其实是一种向用户推荐系统的算法,它根据用户对物品的历史行为记录以及多个用户之间操作的相似度,来预测用户对某个物品的喜好程度。通俗的来说,协同过滤算法就是能够直接根据用户以往的行为习惯,来推测其未来可能发生行为的一种算法。协同过滤算法目前的话,已经是被分为两种类型,第一种是被基于用户(User)的协同过滤算法以及第二种是被基于物品(item)的协同过滤算法。
2.4 MySQL数据库
在MySQL数据库,主要是由于MySQL在项目中运行速度快,对于平时开发使用到的平台是没用任何的限制,能够被广泛的应用在企业级开发中。MySQL数据库是指一个基于开源的和多线程的用户关系和管理的数据库系统,MySQL是基于开放源代码的数据库管理系统,能够跨一定的平台且可以正常的进行使用。
MySQL数据库管理并不是让所有的数据表都统一放在一个空间足够大的数据存储容器的里面,而是要把同一个数据库里面存储的全部数据信息都可以分别的存放在各个不同格式的存储表当中,MySQL数据库作为一种关联性数据库的管理系统,能够有效快速地去提升数据处理存储的速度安全性与效率。并且这样也可以让数据库的灵活程度得到很大幅度的提高。
2.5 IDEA开发工具
IDEA开发工具的全称是叫IntelliJ IDEA,是可以对Java项目进行编码的工具之一。IDEA开发工具是目前最理想的一种编译Java项目的开发工具,它本身既拥有智能的且便捷实用的代码助手、超强且高效简洁的快捷键体系,并且它能自动提示代码等方面的功能,在目前看来都极为优秀。其在编辑工具方面所具有和突出的主要特色功能之一就包括有:智能扩充的选取范围在很多实际情况时如果我们总是要选区某一个方法,为开发人员提供了基于语法的扩充选择,为我们重构项目提供了方便。
2.6 本章小结
本章节中描述了音乐推荐系统功能模块开发与设计中将用到的主要相关技术,主要介绍了IDEA开发工具、协同过滤算法等知识进行概述,为后续开发音乐推荐系统所有功能模块做好技术层次的准备工作,也是为了能够更好的进行开发。

第3章 系统需求分析
在音乐推荐系统的整个功能开发中,系统的需求分析、可行性分析是整个开发设计过程中的核心阶段,需求分析是指导系统设计的方案。本章以音乐推荐系统的用户需求为背景,进行系统功能设计开发,在系统开发之前,需要对系统需求进行分析。
3.1 可行性分析
3.1.1 技术可行性
技术可行性分析是对实现系统的功能以及实现的条件上进行分析,从专业的技术角度上去分析系统实现的可行性。通过相关技术以及理论介绍,本文课题音乐推荐系统在计算机技术上采用SpringBoot框架以及协同过滤算法等相关的计算机技术。这些技术是非常成熟的技术,可以很好的进行系统功能模块开发。
3.1.2 操作可行性
在音乐推荐系统的功能设计的目的是为了让用户能够更好的进行使用,所有操作习惯,需要站在的角度,对用户的使用体验进行着重考虑。通过系统的操作,用户不需要花费大量的时间进行学习以及熟悉。
3.1.3 经济可行性
经济可行性主要是在音乐推荐系统功能网站开发的经济成本上的支出。
本系统在开发的过程用到的计算机技术以及其他的开发工具,均是开源且免费的,无需大笔资金投入,同时开发所需要的工具,自身就具有,不需要额外进行采购。
3.1.4 法律可行性
音乐推荐系统的开发,从最开始的开题报告撰写到最后的毕业论文,都是本人独立完成的,没有跟相关类似的系统以及相关的资料存在侵权等行为的发生。因此,本课题的开发在法律上的可行性是完全没有问题的。
3.2 需求分析
通过查阅市面上的音乐网站,以网易云音乐来举例说明。在20023年中,网易云音乐在线活跃用户数量达到了2亿多人,其在线音乐服务收入达到了41亿元。面对这么庞大的用户群体,如何提供一个简洁、免费的音乐系统,是每个听歌用户关注的话题之一。用户在网易云上听音乐的同时,常常会因为音乐信息繁杂,无法找到自己想听的音乐而烦恼。在这样的用户听歌需求下,在线音乐平台结合计算机技术开发一个音乐推荐系统,不仅可以实现用户能够高效的选择自己喜欢的音乐,还能实现管理员在后台对音乐信息进行高效管理等操作。综上所述,喜欢听歌的用户以及后台管理员对音乐推荐系统具有显著且实际的需求。
3.3 系统功能性需求分析
音乐推荐系统,由用户端和管理员端两部分组成。用户端主要是实现对用户个人中心的查看、音乐信息的查看以及听歌。系统管理员作为本系统的最高用户权限角色,可以通过系统实现对用户信息以及音乐信息等进行管理。
系统管理员端模块用例图如图3.1所示,系统用户端模块用例图3.2所示。

图3.1 系统管理员端功能用例图

图3.2 系统用户端功能用例图
3.4 系统非功能性需求分析
3.4.1系统性能需求分析
(1)服务器向用户的响应数据的能力要求不少于2000条每秒;
(2)页面打开速度应当在3秒以内;
(3)同时在线使用系统的总人数不能少于2000个;
(4)对于数据的存储要保证在50G以上;
(5)全年提供服务的时间要求占本年的95%;
(6)因故障所需修复时间不能大于60分钟;
3.4.2系统可靠性需求分析
(1)降低因为故障而引起的数据错误的概率;
(2)当用户操作失误的时候必须及时给出相应的提示信息和处理手段,防止产生在错误的操作下形成的数据;
3.4.3系统安全性需求分析
(1)系统安全:本系统采用Shiro框架实现本系统的用户权限配置,严格控制用户操作,对于不同的管理员所拥有的权限和操作是不一样的。另外对于用户登录方面采用了Token校验。
(2)数据安全:通过使用集群部署方式,提高数据库的存储安全,以及分库分表,读写分离的操作提高对数据的访问速度。
3.5 本章小结
本章首先从音乐推荐系统的技术可行性要求等方面分析系统需要分析当下的音乐相关的需求,为后期系统功能模块设计与实现做好基础。

第四章系统设计
系统设计主要讨论的内容包括系统架构设计、系统的功能模块设计以及系统数据库设计等方面。
4.1 系统架构设计
“蕴芝音”音乐网站的后台所有功能的实现主要是以IDEA开发工具为主,后台所有的功能模块的编码实现使用SpringBoot框架进行编码实现。本系统使用B/S架构模式进行开发,B/S架构主要是将系统所有的功能通过分离的模式进行项目的开发,将相关的功能业务逻辑从系统用户界面中能够进行解耦出来,这种将系统中的业务分离的模式能够更好的对业务逻辑进行控制。B/S架构图如图4.1所示。

图4.1 B/S架构图
4.2 系统总体功能模块
通过第三章的系统需求分析,可以得知“蕴芝音”音乐网站最终实现了三类用户角色,分别是用户和管理员角色。通过权限设计,让不同的用户角色赋予不同的功能模块。不仅可以实现用户能够高效的选择自己喜欢的音乐,还能实现管理员在后台能够对音乐信息进行高效管理等操作。在音乐系统中,将具体实现音乐管理、友情链接管理等相关的功能模块。系统总体功能模块图如图4.2所示。

图4.2 系统总体功能模块图
4.3 系统核心功能模块设计
4.3.1 用户管理功能模块设计
用户管理主要是管理使用音乐推荐系统进行听歌用户的账号信息的功能模块。管理员可以添加用户的名称等账号信息,还能对目前在使用本系统进行听歌的用户账号信息进行编辑。
4.3.2 留言管理功能模块设计
管理员通过后台的留言管理界面,可以查看所有用户对音乐信息的留言信息,还能实现对之前用户的留言信息进行编辑等操作。用户可以通过在系统的前台,对用户的音乐留言信息进行添加以及其他相关的操作。
4.3.3 音乐管理功能模块设计
管理员可以通过音乐管理的添加音乐页面,实现对音乐的标题、音乐简介等内容进行添加,还能实现对已经存在的音乐信息进行编辑以及其他相关的操作。用户在前台,可以通过榜单进行音乐在线听歌。
4.3.4 标签管理功能模块设计
管理员可以通过榜单管理的添加标签页面,实现对音乐标签的标签名称、标签描述等进行添加,还能对之前存在的音乐标签进行编辑以及其他相关的操作。标签管理的页面数据,是为了音乐信息添加的时候,能够更好的选择好对应的音乐标签。
4.3.5 公告管理功能模块设计
管理员可以通过对公告信息的添加公告页面,对公告信息的通知标题以及通知内容进行添加,还能实现对已经存在的通知公告信息进行删除以及编辑等其他相关的操作。用户在前台,可以通过公告界面,对公告信息的标题以及其他信息进行编辑和删除等操作。
4.4 数据库设计
4.4.1数据库逻辑结构设计
数据库概念结构设计与数据建模的观点基本是一致的,用于存储功能模块数据信息的工具。通过绘制E-R图可以更加地清楚和直观的所有实体之间存在的关系。
(1)用户信息实体属性,主要包括用户的姓名等相关的信息,实体的E-R图如图4.3所示。

图4.3用户实体的E-R图
(2)留言信息实体属性,主要包括留言的用户名等相关的信息,实体的E-R图如图4.4所示。

图4.4留言实体的E-R图
(3)音乐信息实体属性,主要包括音乐信息的标题等相关的信息,实体的E-R图如图4.5所示。

图4.5音乐信息实体的E-R图
(4)标签信息实体属性,主要包括音乐信息的标签名称等相关的信息,实体的E-R图如图4.6所示。

图4.标签信息实体的E-R图
(5)公告信息实体属性,主要包括音乐信息的标签名称等相关的信息,实体的E-R图如图4.7所示。

图4.7公告信息实体的E-R图
4.4.2数据库表结构设计
数据库概念结构设计后,可以让数据库概念转化为实际管理需要用到的逻辑数据模型,这里面实际也是为了设计出一种能够支持数据库系统运行的数据库逻辑结构,就是企业需要先将数据库这种概念结构与一个真正可以支持数据库开发和数据库管理等系统需求应用的数据库逻辑模型结构相符合。
(1)用户信息表,主要存储用户的姓名等相关的信息,具体的表结构如表4.1所示。
表4.1 用户信息表
序号 列名 数据类型 长度 主键 说明
1 id int 11 是 ID
2 name varchar 255 否 姓名
3 phone varchar 255 否 电话
4 picurl varchar 255 否 头像
5 email varchar 255 否 邮箱
6 role varchar 255 否 角色
7 money varchar 255 否 金额
8 sex varchar 255 否 性别
9 password varchar 255 否 密码
10 intro varchar 255 否 备注
11 createtime datetime 否 创建时间

(2)留言信息表,主要存储留言的用户名等相关的信息,具体的表结构如表4.2所示。
表4.2 留言表
序号 列名 数据类型 长度 主键 说明
1 id int 11 是 ID
2 fid int 11 否 父ID
3 level int 11 否 层级
4 username varchar 255 否 用户名
5 content varchar 255 否 留言内容
6 intro varchar 255 否 备注
7 picurl varchar 255 否 图片
8 score int 11 否 评分
9 createtime datetime 否 创建时间

(3)音乐信息表,主要存储音乐信息的标题等相关的信息,具体的表结构如表4.3所示。
表4.3音乐信息表
序号 列名 数据类型 长度 主键 说明
1 id int 11 是 ID
2 title varchar 255 否 标题
3 outline varchar 255 否 大纲
4 picurl varchar 255 否 音乐主图
5 type varchar 255 否 音乐分类
6 content varchar 10000 否 音乐内容
7 author varchar 255 否 音乐作者
8 hits int 11 否 点击数
9 state varchar 255 否 音乐状态
10 intro varchar 255 否 备注
11 createtime datetime 否 创建时间

(4)标签信息表,主要存储音乐信息的标签名称等相关的信息,具体的表结构如表4.4所示。
表4.4 标签信息表
序号 列名 数据类型 长度 主键 说明
1 id int 11 是 ID
2 sortname varchar 255 否 分类名称
3 intro varchar 255 否 分类描述
4 createtime datetime 否 创建时间

(5)公告信息表,主要存储音乐信息的标签名称等相关的信息,具体的表结构如表4.5所示。
表4.5 公告信息表
序号 列名 数据类型 长度 主键 说明
1 id int 11 是 通知ID
2 title varchar 255 否 通知标题
3 content varchar 20000 否 通知内容
4 createtime datetime 否 创建时间
5 intro varchar 255 否 备注
6 picurl varchar 255 否 图片
4.5本章小结
本章主要从系统架构设计等内容进行具体的设计描述。其中系统功能设计部分,对主要模块的具体设计思路和技术实现方法进行详细论述。数据库设计部分,主要包括数据实体属性和数据设计。系统设计工作的完成,能够为后期系统的实现做好准备。

第五章系统实现
在通过对系统的分析和系统设计之后,本章将针对具体的系统功能进行详细设计与实现,在下文中将对核心模块实现为主线阐述其详细设计,最终通过程序编码实现前端界面和后端逻辑,将需求转换为可实际操作的软件产品。
5.1系统实现环境
音乐推荐统开发设计过程中的实现环境包括硬件环境跟软件环境,硬件环境指的是开发系统所用到的笔记本电脑,软件环境指的是开发系统所用到的软件信息。
①音乐推荐统开发的电脑的配置信息如下所示:
1)音乐推荐统开发的电脑的名称为:联想Pro16;
2)音乐推荐统开发的电脑的CPU类型为:i5-8250U;
3)音乐推荐统开发的电脑的内存大小为:8.00GB;
4)音乐推荐统电脑的硬盘大小为:512.00GB;
5)音乐推荐统电脑的操作系统为:Windows10家庭中文版。
②音乐推荐统开发软件信息如下所示:
1)音乐推荐统开发语言:Java;
2)音乐推荐统所用到的框架:SpringBoot;
3)音乐推荐统数据库版本为:MySQL 5.7;
4)音乐推荐统用到的数据库工具为:Navicat11;
5)音乐推荐统Jdk版本为:1.8;
6)音乐推荐统用到的Maven版本为:3.6.3;
7)开发音乐推荐统所用到的工具为:Intellij IDEA。
5.2管理员功能实现
5.2.1用户管理功能实现
用户管理主要是管理使用音乐推荐系统进行听歌用户的账号信息的功能模块。管理员可以添加用户的名称等账号信息,还能对目前在使用音乐推荐系统进行在线听歌的用户账号信息进行编辑。用户管理效果图如图5.1所示。

图5.1 用户管理效果图
5.2.2留言管理功能实现
管理员通过后台的留言管理界面,可以查看所有用户对音乐信息的留言信息,还能实现对之前用户的留言信息进行编辑等操作。留言信息能够很好的知道,用户对系统中的音乐是怎样的体验以及评价。留言管理效果图如图5.2所示。

图5.2 留言管理效果图
5.2.3音乐管理功能实现

管理员可以通过音乐管理的添加音乐页面,实现对音乐的标题、音乐简介等内容进行添加,还能实现对已经存在的音乐信息进行编辑以及其他相关的操作。音乐管理效果图如图5.3所示。

图5.3 音乐管理效果图
5.2.4标签管理功能实现
管理员可以通过榜单管理的添加标签页面,实现对音乐标签的标签名称、标签描述等进行添加,还能对之前存在的音乐标签进行编辑以及其他相关的操作。标签管理的页面数据,是为了音乐信息添加的时候,能够更好的选择好对应的音乐标签。标签管理效果图如图5.4所示。

图5.4 标签管理效果图
5.2.5公告管理功能实现
管理员可以通过对公告信息的添加公告页面,对公告信息的通知标题以及通知内容进行添加,还能实现对已经存在的通知公告信息进行删除以及编辑等其他相关的操作。公告管理效果图如图5.5所示。

图5.5 公告管理效果图
5.3用户功能实现
5.3.1留言功能实现
用户可以通过在系统的前台,对用户的音乐留言信息进行添加以及其他相关的操作。留言功能效果图如图5.6所示。

图5.6留言效果图
5.3.2榜单功能实现
用户可以对榜单的音乐信息进行查看,可以查看音乐的标题、音乐作者等相关的信息,还能对音乐进行听歌以及在线评分等相关的操作。榜单效果图如图5.7所示。

图5.7榜单效果图
5.3.3公告功能实现
用户在前台,可以通过公告界面,对公告信息的标题以及其他信息进行编辑和删除等操作。公告效果图如图5.8所示。

图5.8公告效果图
5.3.4音乐标签推荐功能实现
用户通过音乐标签功能页面,可以查看所有音乐的标签信息,根据标签信息进行音乐听歌的功能。音乐标签推荐效果图如图5.9所示。

图5.9音乐标签推荐效果图
5.3.5协同过滤推荐功能实现
用户通过协同过滤推荐功能页面,可以查看所有音乐的协同过滤推荐信息,根据协同过滤推荐信息进行音乐听歌的功能。协同过滤推荐信息效果图如图5.10所示。

图5.10协同过滤推荐效果图
5.4本章小结
本章首先介绍的是音乐推荐系统,主要功能模块的的详细设计与具体实现,通过对每个功能模块的文字描述+每个功能模块的效果图进行展现。在本章介绍,主要对音乐管理、公告管理、留言管理、用户管理等功能具体的实现思路进行描述与分析。

6 系统测试
本章 音乐推荐系统设计与实现给出相应的测试介绍,主要包括系统测试目的、系统功能测试等。其中系统功能测试主要包括音乐资讯管理、用户管理、留言管理等功能模块测试从而保障系统功能上的可用性、安全性、稳定性等,方便系统上线、使用和后期功能的扩展。
6.1测试目的
音乐推荐系统功能测试的目的主要是为了找出在开发所有功能模块的的过程中存在的一些问题。对于开发 音乐推荐系统的开发人员,在设计程序的过程中,肯定会存在一些错误信息。同时,也有人理解系统测试是为了发现系统的缺陷,通过系统的测试,通过完善系统,提高整个系统的代码质量。
6.2测试方法
音乐推荐系统测试方法由很大,对系统功能模块的测试主要有白盒测试跟黑盒测试。目前使用的比较多的系统测试方法是黑盒测试法。在本系统中,将采用黑盒测试法对音乐管理等功能模块进行测试。
6.3系统功能测试
经过前面对测试方法的了解,本系统的功能测试将用到黑盒测试法。由于本系统功能实现的比较多且多半功能模块的实现原理类似,因此,本章节将对音乐推荐系统主要的功能模块进行测试用例说明。
6.3.1公告管理功能的实现
管理员可以通过对公告信息的添加公告页面,对公告信息的通知标题以及通知内容进行添加,还能实现对已经存在的通知公告信息进行删除以及编辑等其他相关的操作。用户在前台,可以通过公告界面,对公告信息的标题以及其他信息进行编辑和删除等操作。公告管理测试用例如表6.1所示。
表6.1 公告管理测试用例表
编号 测试功能 操作 预期结果 实际结果
1 公告管理数据信息的新增 管理员新增一条公告管理数据信息,用户登录账号进行查看公告管理数据信息 用户可以查看到管理员刚刚新增的公告管理数据信息 与预期结果一致,用户可以查看到管理员刚刚新增的公告管理数据信息
2 音公告管理数据信息的修改 管理员将公告管理数据信息进行修改,用户登录账号进行查看公告管理数据信息的变化 用户可以查看到公告管理数据信息内容已经发生了变化 与预期结果一致,可以查看到公告管理数据信息发生了变化

6.3.2用户管理功能的实现
用户管理主要是管理使用音乐推荐系统进行听歌用户的账号信息的功能模块。管理员可以添加用户的名称等账号信息,还能对目前在使用本系统进行听歌的用户账号信息进行编辑。用户管理测试用例如表6.2所示。
表6.2 用户管理测试用例表
编号 测试功能 操作 预期结果 实际结果
1 用户信息的新增 管理员新增一条用户账号信息,使用新增的用户账号进行登录 使用新的用户账号可以登录且可以进入界面 与预期结果一致,用户使用账号信息可以成功进行登录
2 用户信息的修改 管理员将用户的账号信息的密码进行修改,使用原来的账号密码进行登录 用户点击登录之后,提示登录失败,页面提示账号密码错误 与预期结果一致,页面提示账号密码错误

6.3.3音乐管理功能的实现
管理员可以通过音乐管理的添加音乐页面,实现对音乐的标题、音乐简介等内容进行添加,还能实现对已经存在的音乐信息进行编辑以及其他相关的操作。用户在前台,可以通过榜单进行音乐在线听歌。歌曲管理测试用例如表6.3所示。
表6.3 音乐信息管理测试用例表
编号 测试功能 操作 预期结果 实际结果
1 音乐信息的新增 管理员新增一条音乐信息,用户登录账号进行查看音乐信息 用户可以查看到管理员新增的音乐信息并可以进行在线听歌 与预期结果一致,用户可以查看到管理员新增的音乐信息并可以进行在线听歌
2 音乐信息的留言 当管理员新增音乐信息之后,用户可以进行音乐信息的留言 用户可以对音乐信息进行留言 与预期结果一致,用户可以对音乐信息进行留言

6.3.4留言管理功能的实现
管理员通过后台的留言管理界面,可以查看所有用户对音乐信息的留言信息,还能实现对之前用户的留言信息进行编辑等操作。用户可以通过在系统的前台,对用户的音乐留言信息进行添加以及其他相关的操作。留言管理效果图如图6.4所示。
表6.4留言管理测试用例表
编号 测试功能 操作 预期结果 实际结果
1 留言管理的新增 用户在音乐信息处新增一条留言管理信息,管理员登录账号进行查看 管理员可以查看到用户新增的留言信息 与预期结果一致,可以查看到用户新增的留言信息
2 留言信息的修改 当用户新增留言之后,管理员进行修改用户的留言信息 管理员可以对用户的留言信息进行修改 与预期结果一致,可以对用户的留言信息进行修改
6.4测试总结
通过对系统目前实现的上述功能通过测试之后,所有的功能都达到了预期目标。通过测试结果得出此系统的各功能模块基本实现,满足了音乐推荐系统所有用户的使用并且系统能够运行稳定。但是在测试过程中也有些不足之处,还有待改进。
6.5本章小结
本章主要对音乐推荐系统测试进行介绍,通过系统测试目的、测试方法以及功能测试,对系统测试进行具体的描述。
总结
第一次独立完成一个基于协同过滤的音乐推荐系统功能的开发,虽然在整个设计过程中,确实遇到了很多困难,但是通过在网上查找相关音乐推荐系统的相关资料,对所有困难都得到了解决。在完成毕业设计的过程中,自己也学到了不少的知识,得到了编码能力的提升。
本文通过对目前用户音乐推荐进行分析,从系统前期的用户需求分析、数据库设计等方面对音乐推荐系统实现过程进行了说明。在技术涉及上,主要用到SpringBoot框架、协同过滤算法等技术进行开发与实现。音乐推荐系统,将面向两类用户群体,不仅可以实现用户能够高效的选择自己喜欢的音乐,还能实现管理员在后台能够对音乐信息进行高效管理等操作。
系统开发完成之后,虽已达到了基本的需求,但是还是存在一些不足之处。用户听歌无法听到流行歌曲,歌曲的MV无法进行智能推荐。其次,该系统没有实现数据可视化分析,无法对相关数据进行分析与实现。最后,该功能目前实现较为简单,没有复杂的功能模块。

参考文献

[1]耿屿,韩筱璞.中国在线音乐社会的地域多样性分析[J]. 电子科技大学学报,2020(04):38-39.
[2]胡雪丽,罗茜.对在线音乐平台版权之争的思考.人民音乐,2018.77-79.
[3]王茹葳.Java编程语言在大数据开发中的应用[J].电子技术,2022(01):160-161
[4]关海伟.基于Java Web的云存储技术研究. 西安电子科技大学,2019:69.
[5]黄兰椿.中国数字音乐产业版权保护研究——以QQ音乐为例. 新闻战线,2018:19-20
[6]张宸靓.在线音乐平台发展模式探析——以网易云音乐和QQ音乐为例[J]. 科技传播,2020(23):155-157.
[7]许秀芳.在线音乐教育平台的营销策略研究. 东华大学,2016:69
[8]李照东,郭谦.论著作权法定许可制度的完善——以《著作权法》第23条为例[J]. 山东社会科学,2018(02):98-99.
[9]郭梦仪.在线音乐步入后独家版权时代[N]. 中国经营报,2022-04-11:1
[10]魏蔚.在线音乐寻路:C端巨头挤 版权少人问[N]. 北京商报,2021-01-22
[11]时静思.持续优化音乐版权保护[N]. 经济日报,2023-01-05
[12]任晓宁,曾路瑶.中国在线音乐十年变迁[N]. 经济观察报,2021-01-18
[13]Trapezoidal Fuzzy VIKOR.Mathematics; Researchers from Diponegoro University Describe Research in Mathematics (Analysis of Priority Scale for Watershed Reforestation Using Method: A Case Study in Semarang, Central Java Indonesia)[J]. Journal of Mathematics,2020.
[14]Rudiarto Iwan,Hidayani Rizqa,Fisher Micah. The bilocal migrant: Economic drivers of mobility across the rural-urban interface in Central Java, Indonesia[J]. Journal of Rural Studies,2020,74©.
[15]Puspaningrum Mika R.van den Bergh Gerrit D.,Chivas Allan R.,Setiabudi Erick,Kurniawan Iwan. Isotopic reconstruction of Proboscidean habitats and diets on Java since the Early Pleistocene: Implications for adaptation and extinction[J]. Quaternary Science Reviews,2020,228©.

致谢
大学四年的时光如白驹过隙,稍纵即逝,当毕业论文完成提交的时候,我的大学生活也要结束了,从此我将要正式步入社会,开启我人生中新的篇章。四年虽然短暂,但却留给我非常珍贵的回忆,在大学里我不仅学到了有用的知识和为人处事的原则,而且也结识了良师和志同道合的朋友,他们的鼓励和帮助给予我不断前行的勇气!
这次能够顺利完成毕业设计和毕业论文离不开导师XXX老师的帮助,XXX老师认真地对我的论文进行修改批注、对我的毕业设计指出问题并且提出解决办法,在此期间,老师与我进行电话联系,对论文和毕业设计项目中出现的问题详细说明和提出建议,这使我在撰写论文和设计系统上有了新的收获!
因为有老师和同学们的帮助,使我更加有信心克服困难,在规定的时间内完成了毕业设计,顺利完成了毕业论文。在完成毕业设计的整个过程中,除了灵活运用所有的所学知识,同时也学到了丰富的课外知识,让我对软件设计有了更加深刻的了解和认识。
最后,我要感谢我的父母,感谢他们多年里对我的培养和鼓励,每当我在生活中遇到困难,他们都会鼓励我,帮助我,有他们做我最坚强的后盾,才能让我没有后顾之忧地去探索。我会在今后更加努力,不辜负父母和老师们的期望!

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值