摘 要
现阶段,社会的发展和科技的进步,以及大数据时代下纷繁数据信息的融合,使得人们在生产及生活过程中,都将会接收到各种类型的数据信息,而通过计算机技术与网络技术,则能够将众多人们所不了解或不常用的信息,以简单的模式转化并传递给人们,使得人们的生产及生活质量得以显著提升。而视频个性化推荐系统,即是利用现阶段极为普及的互联网与移动终端,通过计算机协同过滤算法模式,所制定成的,有针对性的个性化系统。通过此种视频个性化推荐系统,用户可以根据自身的兴趣与爱好,通过查询与分类等个性化服务,找寻到喜爱类型的视频内容,这不仅能够缩短用户找寻喜好视频的时间,更能增强用户的体验度,这也使得此种个性化推荐系统受到众多视频爱好者的喜爱。
系统采用了B/S结构,将所有业务模块采用以浏览器交互的模式,选择MySQL作为系统的数据库,开发工具选择My eclipse来进行系统的设计。基本实现了视频推荐系统应有的主要功能模块,本系统有管理员、用户两大大功能模块,管理员:首页、站点管理(轮播图、公告栏)用户管理(管理员、普通用户)内容管理(留言板、论坛分类、信息介绍、信息分类)更多管理(视频分类、视频中心);用户:首页、留言板、公告栏、信息介绍、视频中心等操作。
对系统进行测试后,改善了程序逻辑和代码。同时确保系统中所有的程序都能正常运行,所有的功能都能操作,并且该系统有很好的操作体验,实现了对于管理员与用户双赢。
关键词:视频推荐系统;Mysql;
Abstract
At this stage, with the development of society and the progress of science and technology, as well as the integration of numerous data information in the era of big data, people will receive various types of data information in the process of production and life. Through computer technology and network technology, many information that people don't know or commonly use can be transformed and transmitted to people in a simple mode, so that people's production and quality of life can be significantly improved. The video personalized recommendation system is a targeted personalized system developed by using the extremely popular Internet and mobile terminals at this stage and through the computer collaborative filtering algorithm mode. Through this video personalized recommendation system, users can find favorite types of video content through personalized services such as query and classification according to their own interests and hobbies, which can not only shorten the time for users to find favorite videos, but also enhance the user experience, which also makes this personalized recommendation system loved by many video lovers.
The system adopts B / S structure, adopts browser interaction mode for all business modules, selects MySQL as the database of the system, and selects my eclipse as the development tool to design the system. The main functional modules of the video recommendation system are basically realized. The system has two functional modules: administrator and user. Administrator: home page, site management (rotation diagram and bulletin board), user management (administrator and ordinary users), content management (message board, forum classification, information introduction and information classification) and more management (video classification and video center); Users: home page, message board, bulletin board, information introduction, video center and other operations.
After testing the system, the program logic and code are improved. At the same time, ensure that all programs in the system can run normally, all functions can be operated, and the system has a good operation experience, which realizes a win-win situation for administrators and users.
Keywords: Video recommendation system; Mysql;
目 录
摘 要
Abstract
第1章 前 言
1.1 研究意义
1.2 国外研究现状
1.3 国内研究现状
1.4 系统开发目标
第2章 技术与原理
2.1 开发技术
2.2 JAVA技术
2.3 MySQL数据库
2.4 B/S结构
第3章 需求分析
3.1 需求分析
3.2 系统可行性分析
3.2.1 技术可行性
3.2.2 经济可行性
3.2.3 操作可行性
3.3 项目设计目标与原则
3.4 系统流程分析
第4章 架构设计
4.1 系统体系结构
4.2 数据库实体设计
4.3 数据库表设计
第5章 系统实现
5.1 系统功能模块
5.3 管理员功能模块
第6章 系统测试
6.1 测试目的
6.2 测试方法
6.3 功能测试
6.4 测试结论
第7章 结 论
参考文献
致 谢
在当今信息过载的时代,如何从海量的视频中发现感兴趣的视频,是每个视频爱好者(用户)关心的问题。在已有明确需求的情况下,用户可以借助互联网搜索引擎通过搜索关键词获取到较好的筛选结果。但是,如果用户没有明确的需求时,没法提供合适的关键词,就难以通过这种方式获得自己感兴趣的视频。当然,用户可以通过视频网站的各类排行榜获得热门视频的推荐,但这种推荐往往由于推荐的种类和内容有很大的局限性,新颖性不足,难以满足用户的个性化需求。采用协同过滤算法的推荐系统是这个问题的有效解决方案,本文通过分析用户的历史观看视频数据,挖掘用户的个性化需求,为用户提供个性化的视频推荐信息服务。因此,对于“采用协同过滤算法的视频推荐系统设计与实现”的研究,就具有极大的现实意义。
国外把推荐系统作为单一的项目研究是在上世纪90年代,研究人员想通过用户对物品的一些反馈,如对物品的评价,和用户的多次购买行为,以及推荐给朋友多次购买等隐性和显性的反馈来预测用户可能喜欢的物品。1994年美国明尼苏达大学GroupLens研究团队发表了一篇关于网络新闻推荐引擎(An openarchitecture for collaborative filtering of netnews)的一个架构体系[3],是比较早使用协同过滤算法的研究团队。电子商务领域非常有名的亚马逊公司,在2003年在IEEE上发布了一篇名为"Amazon.com Recommendations ltem-to-ItemCollaborative Filtering"的论文[4],该论文详细介绍了基于Item的协同过滤算法,后来该算法(Item-based)在商业系统中被大量运用。
由于缺乏大量数据集的原因,早期推荐系统的研发只局限于少数具有大量数据的网站或者研究团队,1994年到2006年间学术界没有大量团队对推荐系统进行更多深入地研究。2006年美国著名的电影租赁网站Netflix[5],面对全球举行推荐算法大赛,该网站公布了大量数据集,包含48万用户,对17770部电影产生的1亿个1-5颗星的评分,以及评分的详细日期,评分星数和电影片名等数据集。要求参赛团队能够比该网站现有的推荐系统预测力提高10%,并对最后的胜利者给以100万美元的奖励。此项赛事吸引了186个国家4万多个团队参加,经过三年的研究最后 BPC(BellKor's Pragmatic Chaos)团队险胜来自中国中科院自动化所的The Ensemble团队。Netflix竞赛让学术界对推荐系统重视起来,公开的大量数据为推荐系统的研究提供基础性数据。竞赛中产生了很多非常好的算法,让工业界收益颇多,是推荐系统研发过程中的里程碑。
目前在国外推荐系统被广泛地应用于各个领域,在音乐领域Pandora运用了推荐系统技术为用户提供非常好的听觉服务,Pandora推荐系统分析了音乐的基因[6],包括旋律、调式、节奏、歌词、编曲、乐器等音乐元素。当用户输入一首歌的名字,或者输入一个歌手的名字的时候,pandora将会给你推荐相关的音乐。用户也可以对当时听的音乐进行评价“喜欢”、“不喜欢”“听腻了”,这为改进推荐提供了很好的反馈数据,使推荐的内容更符合用户兴趣。Google 公司在搜索和 google news 中也加入了个性化推荐,当登录用户在搜索框中输入关键词进行搜索的时候,后台的服务器会根据用户以前的信息,运用推荐技术对搜索结果进行重新排序,用户输入搜索框的关键词信息越多推荐的结果也会更加准确。Google news[7]使用了 Minhash聚合、PLSI[8]、Co-visitation counts三种方法相结合[9],根据新闻的实时性更新速度,充分理解用户的数据,把google用户长期对新闻的关注和阅读作为用户的兴趣,结合新闻的热点性和实时性,为用户提供新闻推荐服务。
丰富的网络信息资源,网络信息内容的制造变得不再是重点,用户对信息的寻找和筛选变得尤为重要,使得个性化推荐成为信息检索和内容发掘的主要方法和工具。在国内随着电子商务的发展,推荐系统也被更多的公司所重视。淘宝网、京东商城、当当网等研发了相应的购物推荐。大多是根据用户的购买记录、收藏、或者浏览的物品信息,产生推荐物品。最近几年随着社交网站SNS 的发展,社会化关联推荐也被广泛地关注。国内做得比较好的推荐系统,有豆瓣,根据用户登录后建立起社交化的信息,以图书、电影影评、音乐和同城的社区化为元素,把用户联系起来。当你把一些电影加入到想看或者看过的时候,会提示用户加入相应的标签。这为推荐系统提供了很好的种子数据,系统会根据这些数据为你提供相应的推荐。
本文为研发的推荐系统称为协同过滤算法视频推荐系统,它能为用户提供更好的观看体验,给那些不能准确找到自己想要视频的用户提供推荐服务,让更多的用户停留观看更多的视频。协同过滤算法视频推荐系统推荐系统能够发现很多优质的视频,并根据用户的个性化需求,推荐给用户观看;能解决部分长尾视频效应,让视频的马太效应不会越来越严重。系统运用协同过滤算法,在保护用户隐私的情况下,分析用户的行为日志,挖掘学习出用户可能感兴趣的视频,计算出视频项目(Video item)和视频观看用户(Video user)之间的相似度,最后协同过滤算法视频推荐系统系统能精准推荐出针对观看用户兴趣的视频。
对于网站的前台设计,要保证主界面的整洁有序,能够抓住人的眼球,不会产生视觉疲劳,更重要的是,带给人容易操作的直观感受,这样才能留住用户去进行使用,增加三分热度的延续期。在系统的后台设计上,要采取非常简洁有效的技术,开发方便的同时,便于以后的维护。我们不但要确保所有的功能都能够满足用户的需求,用户还要能自己主动通过网站去实现想要的操作,而管理者的简单通过网站对用户的需求情况进行了解和管理。为达到这一目的,提出以下目标:
(1)用户可以实时查看最新的视频推荐信息,以及相关资讯;
(2)用户可以通过论坛互相交流视频推荐心得;
(3)管理员可以在后台方便管理前台网页的各种信息;
(4)管理员可以方便查询、汇总用户的使用状态。
本系统前端框架采用了比较流行的渐进式JavaScript框架Vue.js。使用Vue-Router和Vuex实现动态路由和全局状态管理,Ajax实现前后端通信,Element UI组件库使页面快速成型。后端部分:采用springboot作为开发框架,同时集成MyBatis、Redis等相关技术。
Java语言是目前使用率最高的一个语言类程序,并且他的代码还是开源的,任何的软件开发者都可以进行使用,目前已经在人类计算机编程语言发展史上产生了深远影响。所以Java语言是很成熟的,将他应用到我们的系统的开发中是不错的选择,而且由于常见所以绝大多数的人们都可以操作。
Java语言具有非常多种的特性,他的代码编写非常的简单,并且有多种编写方式,他有很好的面向对象性,而且他对使用的平台没有任何的要求,所有的平台都可以进行操作,他的安全性能也很高,因此他非常适合该系统的开发。
Java可以对平台没有任何的要求限制,可以在任何的平台上进行运行,不需要借助其他的语言编辑器来对代码进行编辑就可以开始运行了,这一点是非常好的,不仅我们在使用的时候更加的方便而且由于不需要借助其他的程序就能实现,所以可以节约我们的开发成本,而且经过Java编辑过的程序代码,可以直接进行使用,不需要重新编译,因此它是非常便利的,而且程序的运用不需要有专业的技术就可以运行了,为软件开发提供了很大的可行性。
mysql数据库具有很多的优点,他操作起来非常的简单,只需要编写一小段代码就可以实现相应的功能,而且编写出的代码可以在任何的平台下进行使用,对使用平台没有任何的要求,因此任何的软件开发人员都可以利用mysql数据库来进行系统的开发设计,同时他也可以为软件开发节省了很多的开销,mysql数据库由于存储量大、操作简单。功能强大因此将他最为该系统的数据存储是完全可以的。
mysq数据库是一个开放的架构,任何软件开发员都可以进行使用,随着计算机网络的不断发展,MySQL数据库也在功能方面不断的进行提升,也更加适应所有的系统的开发,我们在对数据库进行操作的时候,是非常简单易上手的,我们只需要编写一小段的代码就可以实现相应的功能,而且编辑出的代码可以在任何的平台上使用,不需要在进行二次的编译。由于MySQL数据库具有以上非常多的优点,我们将它最为数据库的首选应用到系统的开发中,由于他的体积非常小,开发的成本也非常的低,所有受到很多软件开发者的喜欢,被更多的运用到系统的开放中,所以本系统也是利用MySQL数据库来对所有的数据进行存储和编辑。
B/S(浏览器/服务器)结构是目前使用最多的结构模式,它可以使得系统的开发更加的简单,好操作,而且还可以对其进行维护。使用该结构时只需要在计算机中安装数据库,和一些很常用的浏览器就可以了。浏览器就会与数据库进行信息的连接,可以实现很多的功能,B/S结构是可以直接进行使用的,而且B/S结构在使用中极大的减少了工作的维护。基于B/S的软件,所有的数据库之间都是相互独立的,因此是非常安全的。因为基于B/S结构可以清楚的看到系统正在处理的业务,并且能够及时的让管理人员作出决策,这样就可以避免学校的损失。B/S结构的基本特点是集中式的管理模式,用户使用系统生成数据后,这些数据就可以存储到系统的数据库中,方便日后能够用到,这样就可以满足人们的所有的需求。
图2-1 B/S模式三层结构图
开发系统的过程中,去调查用户的功能诉求,对需要存在的功能进行需求分析是特别重要的,且对于系统的开发有着实际的意义,设计视频推荐系统通过对用户的需求进行分析,结合实际情况进行开发研究,对用户的所有需求做出一个完整的基本的框架,然后一步一步的完成、实现。需求分析可以为系统的开发提供一个目标,只有按照这个目标进行开发设计,才能进行完整的开发,这样设计出的系统才有使用的意义,才能在竞争激烈的软件市场中生存,才能真正的帮助人们解决问题,提高实际的效率。
3.2.1 技术可行性
本系统采取的是目前应用最广泛的程序进行技术的支持,主要的技术支持是java语言,他作为一个相当成熟的语言程序,在众多的软件开发中起着很大作用。而且用java语言编辑出来程序可以直接运行,不需要借助其他的翻译器进行翻译。所以在技术方面是完全可以行的。
3.2.2 经济可行性
本项目开发的初衷就是为了节约,因为系统开发的所有过程都是我自己开发的我,而且在开发过程使用到的技术也都是市面上常见的容易操作的,所以不需要请专业的人士花资金来进行系统的开发,而且在项目开发的过程中我也学到了更多的知识。开发的这个软件可以在网络中进行免费的下载,对计算机的软硬件没有很高的要求,因此这个项目是非常实惠的,在经济方面是完全可性的。
3.2.3 操作可行性
操作可行性也就是系统的可用性,一个系统的操作是否容易决定着这个系统的使用度,在系统的操作方面的设计我都是采取简洁易懂的方式,操作的整个菜单界面整齐有序,所有的功能都有序的排列,不会出现重叠或者需要转换的现象,用户想要哪方面的操作都可以直接进行操作,所以该系统任何人都可以进行操作,不需要有相关专业的技术这样用户在操作起来就容易很多。
1、关于视频推荐系统的基本要求
(1)功能要求:管理员可以对所有的视频推荐信息进行查看管理,可以对信息进行管理,可以及时的查看管理的情况,还可以对留言进行查看和管理等功能模块。
(2)性能:因为视频推荐系统有很多的信息需要存储,因此对于系统的存储量有很大的要求,需要有一个强大的数据库的支持才能确保所有的信息都能安全稳定的进行存储。
(3)安全与保密要求:用户都必须通过管理员审核才能进入系统。
(4)环境要求:支持Windows系列、Vista系统等多种操作系统使用。
2、开发目标
视频推荐系统的主要开发目标如下:
(1)用户可以实时查看最新的视频推荐信息,以及相关资讯;
(2)用户可以通过留言互相交流视频推荐心得;
(3)管理员可以在后台方便管理前台网页的各种信息;
3、设计原则
本视频推荐系统采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。
(1)系统响应效率:由于是视频推荐系统,因此就需要系统的响应效率是非常高的,并且可以支持很多人同时进行系统的使用。
(2)界面简洁清晰:系统界面要简单有序,所有的功能一目了然。
(3)储存性高:因为是视频推荐系统,所以就会在数据库要求上比较严格,信息录入的比较多,而且丰富复杂, 这就需要一个强大的数据库来存放更多的数据和保证数据的时时性。
(4)易学性:系统的设计一定要简单,使得人们使用起来非常好的顺手。
(5)稳定性需求:该系统在使用过程中必须保持稳定,不要出现卡顿、模糊等情况。
(6)稳定性:由于是视频推荐系统,因此系统运行必须要十分的稳定。
用户需要拥有属于自己的账号和密码,且必须正确,这样才能顺利登录到系统中。进入网站后,用户可以自行查询各种视频,在自己满意的视频的详情页面的最后,可以直接选择浏览操作。具体流程如下图3-1所示:
图3-1 用户操作流程图
为了保证系统的安全性,要使用本系统对系统信息进行管理,必须先登陆到系统中。其具体登录流程图如图3-1所示:
图3-1 系统操作流程图
视频推荐系统的结构图4-1所示:
图4-1 系统结构
登录系统结构图,如图4-2所示:
图4-2 登录结构图
系统结构图,如图4-3所示:
图4-3 系统结构图
数据库的功能就是对系统中所有的数据进行存储和管理。所有的数据可以在数据库中产时间的进行存储,方便用户的使用。而且所有的数据库中的数据也应该具有一定的共享性,任何的系统可以对一些数据进行使用,同时还应该保持一定的独立性,每一个数据库中的数据都有很强的安全性,可以被很好的存放到数据库,没有进行身份的验证是不能对这些数据进行查看和使用的。数据库的设计需要明确每一个实体之间的联系,系统的E-R图如下图所示:
图4-4用户管理实体属性图
视频推荐信息管理实体属性图如图4-5所示。
图4-5视频中心管理实体属性图
当视频推荐系统在运行的时候,数据库要能确保自己的独立性,想要哪部分的数据就选择相应的设置选项,对应的数据就会以表格的形式展现出来。当对这一个功能进行设置,他就会与数据库进行连接,会在对话框中弹出相应的数据源。
|
|||||
auth |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
auth_id |
int |
11 |
否 |
主键 |
授权ID |
user_group |
varchar |
64 |
是 |
用户组 |
|
mod_name |
varchar |
64 |
是 |
模块名 |
|
table_name |
varchar |
64 |
是 |
表名 |
|
page_title |
varchar |
255 |
是 |
页面标题 |
|
path |
varchar |
255 |
是 |
路由路径 |
|
position |
varchar |
32 |
是 |
位置 |
|
mode |
varchar |
32 |
否 |
跳转方式 |
|
add |
tinyint |
1 |
否 |
是否可增加 |
|
del |
tinyint |
1 |
否 |
是否可删除 |
|
set |
tinyint |
1 |
否 |
是否可修改 |
|
get |
tinyint |
1 |
否 |
是否可查看 |
|
field_add |
varchar |
500 |
是 |
添加字段 |
|
field_set |
varchar |
500 |
是 |
修改字段 |
|
field_get |
varchar |
500 |
是 |
查询字段 |
|
table_nav_name |
varchar |
255 |
是 |
跨表导航名称 |
|
table_nav |
varchar |
255 |
是 |
跨表导航 |
|
option |
text |
0 |
是 |
配置 |
|
create_time |
timestamp |
0 |
否 |
创建时间 |
|
update_time |
timestamp |
0 |
否 |
更新时间 |
|
collect |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
collect_id |
int |
10 |
否 |
主键 |
收藏ID |
user_id |
int |
10 |
否 |
收藏人ID |
|
source_table |
varchar |
255 |
是 |
来源表 |
|
source_field |
varchar |
255 |
是 |
来源字段 |
|
source_id |
int |
10 |
否 |
来源ID |
|
title |
varchar |
255 |
是 |
标题 |
|
img |
varchar |
255 |
是 |
封面 |
|
create_time |
timestamp |
0 |
否 |
创建时间 |
|
update_time |
timestamp |
0 |
否 |
更新时间 |
|
comment |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
comment_id |
int |
11 |
否 |
主键 |
评论ID |
user_id |
int |
11 |
否 |
评论人ID |
|
reply_to_id |
int |
11 |
否 |
回复评论ID空为0 |
|
content |
longtext |
0 |
是 |
内容 |
|
nickname |
varchar |
255 |
是 |
昵称 |
|
avatar |
varchar |
255 |
是 |
头像地址[0,255] |
|
create_time |
timestamp |
0 |
否 |
创建时间 |
|
update_time |
timestamp |
0 |
否 |
更新时间 |
|
source_table |
varchar |
255 |
是 |
来源表 |
|
source_field |
varchar |
255 |
是 |
来源字段 |
|
source_id |
int |
10 |
否 |
来源ID |
|
forum |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
forum_id |
mediumint |
8 |
否 |
主键 |
论坛id |
display |
smallint |
5 |
否 |
排序 |
|
user_id |
mediumint |
8 |
否 |
用户ID |
|
nickname |
varchar |
16 |
是 |
昵称[0,16] |
|
praise_len |
int |
10 |
是 |
点赞数 |
|
hits |
int |
10 |
否 |
访问数 |
|
title |
varchar |
125 |
否 |
标题 |
|
keywords |
varchar |
125 |
是 |
关键词 |
|
description |
varchar |
255 |
是 |
描述 |
|
url |
varchar |
255 |
是 |
来源地址 |
|
tag |
varchar |
255 |
是 |
标签 |
|
img |
text |
0 |
是 |
封面图 |
|
content |
longtext |
0 |
是 |
正文 |
|
create_time |
timestamp |
0 |
否 |
创建时间 |
|
update_time |
timestamp |
0 |
否 |
更新时间 |
|
avatar |
varchar |
255 |
是 |
发帖人头像 |
|
type |
varchar |
64 |
否 |
论坛分类[0,1000]用来搜索指定类型的论坛帖 |
|
ordinary_users |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
ordinary_users_id |
int |
11 |
否 |
主键 |
普通用户ID |
gender |
varchar |
64 |
是 |
性别 |
|
full_name |
varchar |
64 |
是 |
姓名 |
|
examine_state |
varchar |
16 |
否 |
审核状态 |
|
recommend |
int |
11 |
否 |
智能推荐 |
|
user_id |
int |
11 |
否 |
用户ID |
|
create_time |
datetime |
0 |
否 |
创建时间 |
|
update_time |
timestamp |
0 |
否 |
更新时间 |
|
slides |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
slides_id |
int |
10 |
否 |
主键 |
轮播图ID |
title |
varchar |
64 |
是 |
标题 |
|
content |
varchar |
255 |
是 |
内容 |
|
url |
varchar |
255 |
是 |
链接 |
|
img |
varchar |
255 |
是 |
轮播图 |
|
hits |
int |
10 |
否 |
点击量 |
|
create_time |
timestamp |
0 |
否 |
创建时间 |
|
update_time |
timestamp |
0 |
否 |
更新时间 |
|
video_center |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
video_center_id |
int |
11 |
否 |
主键 |
视频中心ID |
video_title |
varchar |
64 |
是 |
视频标题 |
|
video_number |
varchar |
64 |
是 |
视频编号 |
|
video_classification |
varchar |
64 |
是 |
视频分类 |
|
cover |
varchar |
255 |
是 |
封面 |
|
video |
varchar |
255 |
是 |
视频 |
|
release_date |
date |
0 |
是 |
发布日期 |
|
video_introduction |
text |
0 |
是 |
视频简介 |
|
hits |
int |
11 |
否 |
点击数 |
|
praise_len |
int |
11 |
否 |
点赞数 |
|
recommend |
int |
11 |
否 |
智能推荐 |
|
create_time |
datetime |
0 |
否 |
创建时间 |
|
update_time |
timestamp |
0 |
否 |
更新时间 |
|
video_classification |
|||||
字段名称 |
类型 |
长度 |
不是null |
主键 |
字段说明 |
video_classification_id |
int |
11 |
否 |
主键 |
视频分类ID |
classification_name |
varchar |
64 |
是 |
分类名称 |
|
classification_description |
text |
0 |
是 |
分类描述 |
|
recommend |
int |
11 |
否 |
智能推荐 |
|
create_time |
datetime |
0 |
否 |
创建时间 |
|
update_time |
timestamp |
0 |
否 |
更新时间 |
视频推荐系统,在系统的首页可以查看首页、留言板、公告栏、信息介绍、视频中心等信息进行相关操作,如图5-1所示。
图5-1系统首页界面图
用户注册,在用户注册页面可以填写账号、密码、姓名、昵称、手机等信息进行注册操作,如图5-2所示。在个人中心页面可以填写用户名、密码、手机等信息进行更新操作,如图5-3所示。
图5-2用户注册界面图
图5-3个人中心界面图
公告栏,在公告栏页面中可以查看标题、名称、图片、内容、发布时间、账号、点赞数、点击数等信息,如图5-4所示。
图5-4公告栏界面图
视频中心列表,在视频中心页面可以查看视频名称、视频分类、封面等信息进行操作,如图5-5所示。
图5-5视频中心界面图
留言板,在留言板页面可以填写留言信息,并查看留言回复等信息进行操作,如图5-6所示。
图5-6留言板界面图
信息介绍,在信息介绍页面中可以查看文章列表、标题、内容、点赞数、点击数、发布日期等信息,如图5-7所示。
图5-7信息介绍界面图
管理员登录,管理员通过输入界面上显示的信息然后点击登录就能登录到系统进行系统的使用了,如图5-8所示。
图5-8管理员登录界面图
管理员登录进入系统之后,就可以对首页、站点管理(轮播图、公告栏)用户管理(管理员、普通用户)内容管理(留言板、论坛分类、信息介绍、信息分类)更多管理(视频分类、视频中心)等信息进行相应的操作管理,如图5-9所示。
图5-9管理员功能界面图
用户管理,在用户管理页面中可以对账号、密码、姓名、性别、头像、电话、邮箱等信息进行修改或删除等操作,如图5-10所示。
图5-10用户管理界面图
视频中心,在视频中心页面可以查看视频标题、视频分类、视频编号、封面、视频、视频简介等信息进行操作,如图5-11所示。
图5-11视频中心界面图
随着互联网不断的发展,目前各大领域都利用互联网进行了信息的管理,因此产品能否存货,质量问题是很重要的标准,也决定着是否有更多的人使用。所以软件的质量我们必须要把关,必须要把软件做好,做到位,少出不必要的问题,这样才能有更多的用户使用,并且得到更多的推广。所以,我们在开发完系统后,需要进行大量的测试,以确保系统的稳定性和可使用性,并要确定系统的质量能否做到满足不同人的需求。这是系统在开发设计中非常重要的环节,测试的结果直接关系到系统的好坏。
集成测试:在系统测试当中会出现很多的问题,我们要及时的进行标注并且在进行测试的时候要采取自动化的测试,这样即准确又快速,而且不会出现疲劳,手动的测试很容易出现疲劳期,而且测试的结果也有时候会出错,所以在测试的时候才去自动测试时最好的测试方法。
在测试的过程中及时的发现问题,并且进行问题的解决,这样设计出的系统可以正常稳定的运行,不会出现重大的问题。我所进行的软件测试参照以下三个步骤进行测试:
(1)模块测试:对系统中的每一项都进行针对的测试,发现并找到问题。
(2)系统测试:让系统长时间进行各种情况下的运行,反馈运行期间的稳定性问题并解决。
(3)验收测试:其他测试完成后,最后检测阶段,确保软件准备就绪。
在对系统进行测试的时候我们主要应用到两种测试的方法,通过测试我们就能找出可能存在的问题保证系统成功运行。
从软件的内部构造和具体实施是否有关系的观点来看:黑盒测试和白盒测试。
1)黑盒测试:测试系统功能,当用户进行相应的操作时,系统是否能够及时且准确的反馈数据,并执行相应功能。需要对功能以及使用方法进行详细的测试,保证所有的操作信息都能够完整的输出输入。
2)白盒测试:主要是对系统的结构进行测试,了解系统在运行过程中是否可以正常的工作。
视频推荐系统的测试也会从下面几方面进行:
(1)窗体测试:例如用户登录界面,在用户名和密码输入时,需要界面窗口弹出,给予用户反馈,我对窗口的设计进行了测试,确保每一个窗口在用户进行相应操作后,能够及时的弹出。
(2)数据跟踪:进行数据跟踪,我们就能知道系统功能是否在顺利的执行当中。将数据库中的相关的信息进行调动,弹出我们需要的相对应的数据信息。同时,在追踪过程中,我们也更容易的发现系统的问题所在,便于解决问题和维护系统。
(3)综合测试:完成上述测试后,需要对系统进行由内而外的重新检测,来宏观的发现系统中存在的问题,并且及时的进行解决,系统的设计要结合实际的使用情况有针对性的进行开发,可以满足不同人的需求。
本视频推荐系统设计基本达到我理想的开发状态,在各个功能的运行方面,表现较为良好,基本满足用户的使用需求,及时矫正了较多的错误信息。总体说来,软件通过了相应的测试。
表6-1:用户登录测试表
模块名称 |
测试用例 |
预期结果 |
实际结果 |
是否通过 |
登录模块 |
用户名:admin 密码:123 |
弹出错误提示,提示密码错误 |
弹出错误提示,提示密码错误 |
通过 |
登录模块 |
用户名:123 密码:admin |
弹出错误提示,提示用户名错误 |
弹出错误提示,提示用户名错误 |
通过 |
登录模块 |
用户名:admin 密码:admin |
管理员登录成功 |
管理员登录成功 |
通过 |
表6-2:修改密码测试表
模块名称 |
测试用例 |
预期结果 |
实际结果 |
是否通过 |
修改密码模块 |
原密码:666 新密码:123 确认密码:123 |
弹出错误提示,提示原密码错误 |
弹出错误提示,提示原密码错误 |
通过 |
修改密码模块 |
原密码:admin 新密码:123 确认密码:333 |
弹出错误提示,提示确认密码不一致 |
弹出错误提示,提示确认密码不一致 |
通过 |
修改密码模块 |
原密码:admin 新密码:123 确认密码:123 |
密码修改成功 |
密码修改成功 |
通过 |
测试的过程要按照指定好的计划一步一步的实行,测试时候一定不要着急,并且将测试的结果进行详细的记录,我们在进行测试的时候做好选择自动化的测试,这样更加的准确也更快捷,如果采用人工测试的方法就不会这么的方便,很可能会出现一些问题,而且极其测试不会疲劳也不会出现问题。在测试的时候一定要非常专注,时刻关注着测试的结果,一旦发现异常及时进行修改,;最后,测试完之后的文档应该保存下来,方便以后测试时用到。
通过测试,我们也可以直观的感受到,在我们最开始进行系统设计的时候,先把思路理清楚,才能有机会把代码写好。有好的逻辑性的代码在后期的测试中才能避免出现问题,也可以给我们节省很多的时间和不必要的操作。
第7章 结 论
视频推荐系统为用户提供了公平的、相互包容的、操作方便的使用系统,基本满足了用户的使用需要,以及我最初的开发目标和方向。Java语言、MySQL数据库等技术时是我开发的基础,这些技术都有各自的优点,学好这些技术,至关重要。通过这些优点设计出来的系统能够正常稳定的运行,并且可以满足人们的所有需求,在对系统的需求以及各个模块进行了详细的分析后,有针对性的进行设计,最后通过测试,系统能够正常的运行,该视频推荐系统设计完成。
本次开发过程中使用的是Java技术,该技术具有代码编写简单方便,对平台没有要求对技术方面也没有要求,并且有很好的面像对象性,所以在技术方面是相当成熟的。利用java技术作为系统主要的技术支持可以使得系统能够正常的运行并且实现相应的功能。在这次的系统的设计过程中遇到了很多的困难,幸好有老师同学们的帮助,在他们的帮助下完成了这次系统的设计。
参考文献
[1]王宁,沈正一,崔德龙,刘晴瑞.结合协同过滤与隐语义模型的视频推荐策略[J].湖南工程学院学报(自然科学版),2021,31(04):40-43.
[2]李雅琴.Java编程语言的优势及其应用实践研究[J].互联网周刊,2021(24):60-62.
[3]张章松.Java生产者和消费者模型分析[J].电脑编程技巧与维护,2021(12):46-48.
[4]佟亚超.计算机软件Java编程特点及技术探析[J].技术与市场,2021,28(12):86-87+89.
[5]Lee Stemkoski,James Cona. Developing Graphics Frameworks with Java and OpenGL[M].CRC Press:2021-11-24.
[6]Sufyan bin Uzayr. Mastering Java:A Beginner's Guide[M].CRC Press:2021-11-01.
[7]单树倩,任佳勋.基于SpringBoot和Vue框架的数据库原理网站设计与实现[J].电脑知识与技术,2021,17(30):40-41+50.
[8]苏文强,刘紫阳,苗玉恒.基于SpringBoot的缺陷管理系统设计与实现[J].大众科技,2021,23(10):4-6+10.
[9]齐善鲁,马徳俊,梁雪.基于SpringBoot的开放式软件开发案例教学平台设计[J].电脑知识与技术,2021,17(28):71-73.
[10]喻佳,吴丹新.基于SpringBoot的Web快速开发框架[J].电脑编程技巧与维护,2021(09):31-33.
[11]秦蓉.基于Java语言的安卓软件开发研究[J].电子技术与软件工程,2021(05):44-45.
[12]符毓晟.视频推荐视频推荐系统设计与实现[J].电脑知识与技术,2020,16(27):75-78.DOI:10.14004/j.cnki.ckt.2020.2879.
[13]曹光辉.基于Web的高校视频推荐系统设计与实现[J].无线互联科技,2020,17(08):38-40.
[14]Hu Xin,Yan Chaobing. Development and application of JAVA language development test evaluation system software[J]. Journal of Computational Methods in Sciences and Engineering,2020,20(4).
[15]惠苗,张晓冬.“互联网+”高校视频推荐系统的设计与实现[J].萍乡学院学报,2019,36(03):78-83.
[16]海莉花.基于模糊评价体系的高校视频推荐系统研究[J].电子设计工程,2019,27(12):30-33+38.DOI:10.14022/j.cnki.dzsjgc.2019.12.005.
[17]张冰,梁致远,田元元,严竞雄.基于Web的高校视频推荐系统的设计与实现[J].信息与电脑(理论版),2019(07):109-112.
[18]罗超,王志辉.高校电影推荐信息系统的设计与实现[J].信息记录材料,2019,20(04):27-28.DOI:10.16009/j.cnki.cn13-1295/tq.2019.04.011.
[19]周洋,何丽丽.基于B/S模式的高校视频推荐系统的研究与设计[J].电脑知识与技术,2018,14(33):84-85+96.DOI:10.14004/j.cnki.ckt.2018.3877.
[20]彭科.视频推荐视频推荐系统分析[J].山西青年,2016(17):223.
致 谢
光阴似箭,一晃大学生活即将过去了。一直以严谨的态度和积极的热情投身于学习和工作中,虽然有竞争,也有泪水,但是通过我不断学习和奋斗不断的完善自己,不仅很好的完成了我的学业而且也让我的各方面得到了发展,取得了很大的进步。
大学的生活也即将结束,虽然也有许多的不舍,但是终究是要告别的。回想大学的学习生活,有泪水也有汗水。在此期间我严格要求自己,凭着对知识的强烈追求,刻苦钻研,勤奋好学,态度端正,目标明确,牢固的掌握了一些专业知识和技能,做到了理论联系实际。除了专业知识的学习外,我还不断的扩展我的知识面,从不同的领域以不同的方式来获得新的知识。争取成为一名各方面都很合格的大学生。
这次的毕业设计,是我独自完成周期最长,也是耗力最大的一个项目。值得庆幸的是,在我毕业设计完成的过程当中,有许多帮助我的同学和老师。在几个月的开发过程中,我遇到了大大小小无数个问题。是我的舍友和老师,不断地帮助鼓励。
我的指导老师,在自身工作十分繁忙的情况下,依然能做到及时恢复我们发去的问题邮件,并抽时间对我们进行线下的辅导。指出我们设计上的失误,逻辑错误以及产品力规划问题,可以说没有导师的帮助,我的毕设会陷入死胡同,是导师为我指点了迷津,像迷雾中的路灯,为我指明方向!
免费领取本源代码,请关注点赞+私信