摘 要
移动互联网的飞快发展与进步,给我们普通人的生活带来了巨大且深刻的改变,改变了我们生活的方方面面,越来越前卫的电影推荐网站,不仅方便了用户,更促进了企业的发展。电影推荐网站能够省去用户的时间,提高效率,降低人力成本,提升用户观看电影的体验。
电影推荐系统给用户带来了巨大的便利,因此开发一个电影推荐系统是非常有意义的。观看电影看似过程简单,但其背后的逻辑是十分复杂的,需要考虑的因素非常多。本设计是电影推荐系统,通过分析观看电影的需求,并且对比现在主流的电影推荐网站。本系统将采用目前行业流行的SSM框架开发和使开源的MySQL数据库,采用了协同过滤法进行推荐电影。本毕设详细介绍系统的开发背景、系统设计的意义和系统功能实现。在阅读相的文献、书籍、网上资源后,最终顺利实现了系统的要求和完成了毕设的撰写。
关键词;电影推荐;SSM;MySQL
Abstract
The rapid development and progress of the mobile internet have brought great and profound changes to the lives of ordinary people and changed all aspects of our lives. The increasingly avantgarde film recommendation websites not only facilitate users, but also promote the development of enterprises. The movie recommendation website can save users' time, improve efficiency, reduce labor costs, and improve users' experience of watching movies.
The movie recommendation system has brought great convenience to users, so it is very meaningful to develop a movie recommendation system. Watching a movie seems simple, but the logic behind it is very complex, and there are many factors to consider. This design is a movie recommendation system, which analyzes the needs of watching movies and compares with the current mainstream movie recommendation websites. The system will adopt the SSM framework currently popular in the industry to develop and use the open source MySQL database, and adopt the collaborative filtering method to recommend movies. This design introduces the development background of the system, the significance of system design and the realization of system functions in detail. After reading the relevant documents, books and online resources, the system requirements and the writing of the final design were successfully realized.
Key words:Film recommendation;SSM;MySQL
目 录
1 绪论
1.1 研究背景
伴随着硬件和软件的不断发展,传统观看电影的发展已经不能给用户带来更好的体验和用户的需求。越来越多的人出行选择通过网络观看电影,线下观看电影也在不断的减少,这种趋势已经无法避免,只有改变才能跟上社会发展的步伐,需要顺应时代的潮流。
在现在这个互联网高度发达社会里,以及人们观看电影的改变,网上观看电影已经是主流的方式,这种方式也催生出了大量的电影推荐网站的需求,满足了不同用户的观看电影体验。为此有必要开发出一个完善的网上电影推荐系统,促进企业高效的工作,也可以方便广大用户观看电影[1]。
1.2 开发意义
互联网的快速进步和相比于传统方式的优势明显,网上观看电影是大势所趋,受到广大用户所欢迎,网上观看电影信息也是其中的一部分,得到了迅速发展。计算机软件和系统的成熟,电影推荐网站的管理成了企业所重视的问题,而建立网上电影推荐系统是一个很好的解决问题的办法。为此,我们有必要开发出一个完善的网上电影推荐系统,促使企业高效的工作,也可以方便用户进行观看电影。
此系统具有手工所无法比拟的优点,可以利用它进行大量的数据存储,检索信息迅速、方便,数据的可靠性高且保密性好。
本毕设通过对整体设计把数据库与应用程序相连接,做成一个网上电影推荐系统,使得管理员能够有效的管理电影推荐等。同时用户可以用它方便的查询到电影信息,从而进行观看电影。
该项目开发计划是根据用户对电影推荐的要求编写的,目的是讨论小组成员做的可行性研究,共同制定该项目开发的总体计划,使小组成员在工作前有纲领性计划,提高工作效率,节约人力和物力资源[2]。
1.3 课题研究主要内容
(1)本项目的电影推荐系统的设计与实施,采用软件开发过程,首先对所采用的开发工具进行调查,以确定所采用的开发工具的可行性,以及是否能够完成功能模块的实施,最终决定采用何种方案。
(2)该框架属于编程编程人员所编写的一组函数,通过该框架可以帮助我们完成整个软件的结构。该系统采用的是一个开放源码框架,它在开发与部署方面有很大的优势,能够帮助开发者迅速地建立起基础的软件架构,并能有效地降低开发人员所需的代码,提高系统的安全性和稳定性,有利于软件开发者进行功能模块的开发和调用。
(3)数据的管理要求采用数据库来进行规范的约束,利用SQL数据库语句可以建立数据库表,并对数据库的记录进行操作,从而在系统实施过程中生成对应的系统实体,并建立对应的关系模型。该系统的各个模块都是独立的,可以满足不同的功能模块。他们相互影响,最终使软件得以运行和发展[3]。
2 核心技术介绍
2.1 Java简介
Java语言是目前使用最为广泛的面向对象的编程语言。在服务器端的软件开发中占据重要地位,它具有高重用性,高安全性,高移植性。Java通过提供丰富的类库来实现各种功能,并使代码具有较高的重用性,大大提高了软件开发的效率和速度。
2.2 协同过滤算法
协同过滤也称为社会过滤,是目前为止市场上研究最多并且应用最为广范的个性化的推荐算法,该算法的基本思路是根据该系统中用户给出的评分信息,计算出目标用户或者物品之间的相似度,之后再利用计算得出的相似度找到与目标用户或者物品的最近的邻居集合。
2.3 MVC模式
MVC模式(三层架构模式)(Model-View-Controller)是Web项目开发最重要的软件架构模式,它根据功能和数据流转的路径,将整个Web项目划分为Model(模型)、View(视图)和Controller(控制器)三部分。
2.4 IDEA简介
IDEA,全名Intellij IDEA。Intellij是为Java编程语言设计的集成环境。Intellij是业内认可的最优秀Java设计工具一种,尤其适合于智能代码助手、代码自动提示符、重构、Java EE支持、各种版本工具(git、svn和github等)、JUnit、CVS整合、代码解析、创新性的GUI设计等。
2.5 MySQL数据库简介
在各种信息管理系统中,数据库系统作为一种十分关键的组成部分,通常被设计为整个信息系统的核心,数据库管理系统必须具备良好的数据存储和处理的功能。而对于一个大型网络系统而言,数据库的管理和维护更显得尤为重要了,所以本文主要对数据库系统中的相关问题展开研究。通过分析,提出相应的解决措施,为今后的发展奠定基础。本系统使用MySQL数据库。虽然MySQL是一种小型数据库系统,但是由于它的开放特点,使其具有很强大的数据分析力量,在许多领域都得到广泛的使用,越来越多的商业应用中都开始采用MySQL数据库,加之MySQL数据库建设成本低廉,体积小巧,执行速度极快,质量也非常好,因此成为目前许多中小型网站的首选数据库系统。
3 系统设计
3.1 设计目标
本文所设计的电影推荐系统是为了使用户能够方便地观看电影。在电影推荐系统的设计中,对用户的需求进行了详细的分析,因此,在实现该系统时,必须达到如下目的:
(1)稳定性:系统在运行的过程中,必须保证系统的稳定性,并且在不影响系统正常工作的情况下,对计算机的硬件进行修改。如果有一个模块出了问题,其他的功能模块也不会受到影响。
(2)精确度:管理员在对电影推荐系统的各功能模块进行调试之后,必须满足更好的使用条件,一旦出现错误,就会有相应的记录。
(3)扩充:当需要增加新的业务类型时,可以增加新的功能模块,同时保留现有的电影推荐系统的功能模块。
(4)可维护性:当需要修改调节界面时,不需要修改电影推荐系统的结构。
(5)独立性:各功能模块必须独立存在,管理员可按实际情况增减或添加对应的功能模块[4]。
3.2 可行性分析
3.2.1 经济可行性研究
电影推荐系统带来的收益不少,自从有了电影推荐系统,管理员便可以对系统进行简单管理,可以节省不少资金。电影推荐系统的开发与实现能够解决传统模块带来的经济支出,尤其是人力资源的支出。传统的电影推荐系统不仅需要很多人力资源的支持,并且往往需要以手工的方式进行管理。本次设计的电影推荐系统目的是降低经济支出,并且可以提高管理员的工作效率。
3.2.2 技术可行性研究
idea是电影推荐系统体系的主要开发平台,它可以对用户求职管理进行系统的编译、运行,选择MySQL作为系统的并行和安全保障,同时也能确保系统的兼容和高可用性。因为已经学习了一些软件开发方面的知识,所以在实际操作中并没有什么问题,尤其是 idea的开发工具,因为它具有很好的兼容性,所以许多软件都能在 idea上运行,而 MyEslipse所采用的开发工具也比较普遍,所以从技术上讲,这个电影推荐系统是切实可行的。
3.3 功能需求分析
图3.1 用户用例图
图3.2 管理员用例图
3.4 非功能需求分析
(1) 稳定性;电影推荐系统体系,可以在一定的人数下,进行正常的工作,遇到一些小的问题,也可以迅速的做出处理。
(2) 流畅性。在用户通过客户机进行信息管理时,不能长时间地对各功能模块进行响应。
(3) 可扩充性。软件开发人员在进行电影推荐系统的功能模块的设计时,应注意各功能模块之间的层次关系,以便维护各功能模块的独立性,便于以后的修改时对其进行扩充。
(4) 操作简单性。在设计和实现电影推荐系统的过程中,不能有太多的繁琐,用户在使用的时候要方便的点击[5]。
4.4 物理模型结构
在系统实施前,必须对数据库的特定设计进行详细的设计。
(1)用户信息表
表4.1 用户信息表
列名 | 数据类型 | 长度 | 主外键 |
id | bigint | 20 | 是 |
addtime | timestamp | 50 | |
zhanghao | varchar | 200 | |
mima | varchar | 200 | |
xingming | varchar | 200 | |
nianling | int | 11 | |
xingbie | varchar | 200 | |
shouji | varchar | 200 | |
youxiang | varchar | 200 | |
money | float | 50 |
(2)电影购买信息表
表4.2 电影购买信息表
列名 | 数据类型 | 长度 | 主外键 |
id | bigint | 20 | 是 |
addtime | timestamp | 50 | |
dingdanbianhao | varchar | 200 | |
dianyingmingcheng | varchar | 200 | |
dianyingfenlei | varchar | 200 | |
yonghuming | varchar | 200 | |
xingming | varchar | 200 | |
jiage | float | 50 | |
xiadanshijian | date | 50 | |
ispay | varchar | 200 |
(3)免费电影信息表
表4.3 免费电影信息表
列名 | 数据类型 | 长度 | 主外键 |
id | bigint | 20 | 是 |
addtime | timestamp | 50 | |
dianyingmingcheng | varchar | 200 | |
dianyingfenlei | varchar | 200 | |
fengmian | longtext | 4294967295 | |
shangyingshijian | date | 50 | |
dianyingbofang | longtext | 4294967295 | |
shizhang | varchar | 200 | |
zhuyan | varchar | 200 | |
daoyan | varchar | 200 | |
shangyingdiqu | varchar | 200 | |
yingpianjieshao | longtext | 4294967295 | |
clicktime | datetime | 50 |