基于大数据的学习资源推荐系统的设计与实现(论文+源码)_kaic

摘 要

本文首先实现了学习资源推送管理技术的发展,随后依照传统的软件开发流程,最先为系统挑选适用的语言和软件开发平台,依据需求分析开展控制模块制作和数据库查询构造设计,依据系统整体功能模块的设计,制作系统的功能模块图、流程表和E-R图。其次进行设计框架,依据设计的框架撰写编码,完成系统的每个功能模块。最终,对基本系统开展了检测,包含软件性能测试、单元测试和性能指标。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。

关键字:B/S模式、Python、学习资源

Abstract

This paper firstly realizes the development of learning resource push management technology, then according to the traditional software development process, firstly selects the appropriate language and software development platform for the system, carries out the control module production and database query construction design according to the demand analysis, and makes the system function module diagram, process table and E-R diagram according to the design of the whole system function module. Secondly, I design the framework, write the code according to the framework, and complete each function module of the system. Finally, the basic system is tested, including software performance tests, unit tests and performance indicators. The test results show that the system can achieve the required function, the running condition is acceptable without obvious shortcomings.

Keywords: B/S mode, Python, learning resources

目 录

1 绪 论

1.1项目研究的背景

1.2课题研究现状

1.3系统总概

1.4论文结构

2 开发技术介绍

2.1大数据介绍

2.2 MySQL 数据库介绍

2.3 MySQL环境配置

2.4 Python可视化技术

2.5 Django框架

2.6 Hadoop介绍

2.7 B/S架构

3 系统分析

3.1系统可行性分析

3.1.1技术可行性

3.1.2经济可行性

3.1.3操作可行性

3.2系统性能需求分析

3.3系统功能分析

3.4系统流程的分析

3.4.1个人中心管理流程

3.4.2登录流程

4系统设计

4.1软件功能模块设计

4.2数据库设计

4.2.1概念模型设计

4.2.2物理模型设计

5系统详细设计

5.1系统功能实现

5.2后台管理员功能实现

6系统测试

6.1软件测试原则

6.2软件测试过程

6.3测试用例

6.4本章小结

结 论

参考文献

致 谢

1 绪 论

1.1项目研究的背景

随着科学技术发展,计算机已成为人们生活中必不可少的生活办公工具,在这样的背景下,网络技术被应用到各个方面,为了提高办公生活效率,网络信息技术飞速发展。人类社会进入了全新的信息化时代。学习资源推送管理一直是信息管理的一大难题,学习资源推送信息数量多,此时寻找有效便捷的学习资源推送管理方法就是当务之急。而日趋成熟的计算机信息管理技术便成为解决这一难题的唯一之选。如今计算机信息管理技术来处理学习资源推送管理早已游刃有余,其实信息管理技术已经渗透到各个行业的信息控制管理当中,且有着举足轻重的地位。而随着现代化社会主义不断进步,普通群众生活水平有了大幅提高,很多方面都在网络上去实现,从而网络也就成为了最直接、即方便又快捷的接入口。

使用学习资源推送系统相对传统学习资源推送管理方式具备很多优点:首先可以大幅提高学习资源推送检索,只需输入相关信息就能在数秒内反馈想要的结果;其次可存储大量的学习资源推送信息,同时学习资源推送系统安全性有更高的保障;相比纸质文档来管理学习资源推送信息,学习资源推送系统更节省空间和人力资源。这些优点大大提高管理效率并节省运营成本。因此,必须开发一个学习资源推送系统开展合理有效的管理方法,这提高了学习资源推送管理的效率和特性,增加了用户信息安全性,方便用户及时反馈信息给管理员,增加了用户之间的互动交流,更能提高用户的体验强度。

本系统为了数据库结构的灵活性所以打算采用MySQL来设计数据库,而Python技术, B/S架构则保证了较高的平台适应性。文中主要是讲解了该系统的开发环境、要实现的基本功能和开发步骤,并主要讲述了系统设计方案的关键点、设计思想。

1.2课题研究现状

现今,越来越多的人乐于选择一项合适的管理方案,但是普通用户往往受到管理经验地限制,这时各类管理系统作为新型产业崛起,大量制度进入人们生活,而无疑是学习资源推送最好的管理制度,在这样成功的管理模式背景下,学习资源推送信息越来越多。但是随着学习资源推送信息的增多,管理员的管理成为了一个难题。高效便捷地管理成为了转变管理模式,与时代兼容的当务之急。

学习资源推送系统,为用户随时随地查看学习资源推送提供了便捷的方法,更重要的是大大的简化了管理员管理学习资源推送信息的方式方法,更提供了其他想要了解学习资源推送系统及运作情况以及挑选方便快捷的可靠管道。相比于传统学习资源推送管理方法,这样的电子信息管理更为简洁方便,在维护信息反馈和处理意见方面也有得天独厚的优势。

学习资源推送系统能做到的不仅是大大简化管理员的信息管理工作,在提高管理效率的同时还能缩减开支,更能在数字化的平面网络上将最好的一面展示给用户,而这个系统在带给全新用户信息管理统计和分类的同时,还成为日后制定管理思路的重要数据参考。过程永远比结果重要。毕业设计是大学生活中最为浓墨重彩的一笔,在这个过程中不仅学到更为全面的书本和实践知识,更让我感受到了浓浓的同窗之情及师生情。这个系统成为学习资源推送管理最不可或缺的内容。尽管目前大部分已经将系统投入使用,但是人们对于系统要求也变得越来越高,大部分系统已经能完美处理各类信息,但是为了更好地契合管理方针,不同系统有不同的要求,个性化也是管理系统十分重要的一点,所以都希望自己能有一个个性化定制的学习资源推送系统,但这又涉及到成本控制问题,目前定制一个系统价值不菲,但是如果有这样一个可以根据需求自己制定页面和内容的学习资源推送系统就可以大大缩减开支,但是凭借目前自身技术恐怕难以实现,不过让系统可二次设计却是有可能实现的。随着规模的不断扩大,用户信息共享也成一种趋势。系统的发展也证明了系统管理在不断发展进步,各种理念也越来越先进,对各方面的要求也变得越来越高。

1.3系统总概

作为一个学习资源推送系统,数据流量是非常大的,因而,系统的制定需要达到方便使用、实际操作灵便的规定。所以,在设计学习资源推送系统时,应完成下列总体目标:

(1)页面应美观大方友善,查找应便捷方便,数据储存应可以信赖;

(2)全方位呈现全部学习资源推送信息,方便使用者迅速查询全部信息;

(3)方便用户快速搜索学习资源推送信息;

(4)用户可以随意调整自身的基本信息;

(5)完成学习资源推送管理作用;

(6)系统使用方便,便于维护;

(7)系统运作平稳、安全可靠。

1.4论文结构

1.绪论:剖析项目可行性,表明研究方向。

2.开发技术:系统关键运用了Python语言、b/s方式和myspl数据库查询,并进行了详细介绍。

3.系统分析:包含系统的总体构造,剖析系统的特性、作用和流程图。

4.系统设计:软件程序功能模块和数据库查询的总体设计。

5.系统总体设计:叙述系统的作用,

6.测试系统。

7.在文章的最终,我个人总结了自身在系统开发和论文撰写全过程中的汇总、感想,包括致谢。

2 开发技术介绍

2.1大数据介绍

什么是大数据,大数据的定义应该是多层次的。狭义的大数据停留在技术处理的层面;而广义的大数据则包含了大数据产业链的各个环节所提供的产品和服务;泛义的大数据扩展到每个细分的行业大数据中,成为"数据+";伪义大数据则以营销为目的,虽然不可避免地包含了一部分炒作的成分,但也确确实实起到了一定的推广作用,是一股不可低估的市场力量。大规模数据的概念是由一家全球知名的咨询公司的麦肯锡(McKinsey)首先提出的,目前人们普遍认为它是一种数据管理模式,可以根据广泛、多样和有价值的信息快速处理数据。大数据的传递,作为大交响曲的创作,需要三部曲的策划、实施和操作。现在社会发展很快,科技发展,信息流通,人们的交流越来越紧密,生活越来越舒适,大数据是这个时代的结果。对于大数据背景下信息管理与信息系统的研究,首先要知道什么是大数据,以及大数据的一些性质特征。

2.2 MySQL 数据库介绍

MySQL是数据库是比较灵活的方式,优势就在于更加的切合开发者的思考逻辑,所以理解起来也会比较的方便,还能够和其他的语言一起使用,在连接起来就是比较的易懂,同时对于一些基本的查询以及添加的操作也是必须能够掌握的功能。

MySQL支持使用多线程,充分利用了CPU的计算资源,可以选择InnoDB, MyISAM和MEMORY等作为存储引擎,提供了丰富的数据库管理工具。在索引功能的加持下,其具有非常高的查询效率,并支持主从、多节点集群等高可用部署模式。MySQL凭借其低廉的成本、可靠的数据库服务和出色的性能;MySQL还是比较灵活的方式,优势就在于更加的切合开发者的思考逻辑,所以理解起来也会比较的方便,还能够和其他的语言一起使用,在连接起来就是比较的易懂,同时对于一些基本的查询以及添加的操作也是必须能够掌握的功能。目前己经成为绝大多数企业在进行开发时的首选;

2.3 MySQL环境配置

本文系统数据信息用的是MySQL,必须组装在特定的档目录下。假如免费下载非安装的MySQL压缩档,只需缓解压力到指定的档目录就可以。随后点一下文档C : \ Program Files \ MySQL \ bin \ winMySQLadmin.exe在其中C\ Program Files \ MySQL是MySQL安装档。键入winMySQLadmin的原始账户密码(留意:这不是MySQL中的账户密码)你不用在意。确定后,右下方的任务栏栏会出现一个红绿灯标志。红灯表明服务项目终止,绿灯表明服务项目是正常的,左击这个图示->winnt->install the service 安装此服务项目,随后点击一下v->winnt->start the service 运行MySQL服务项目。

改动MySQL数据库的root登陆密码。用cmd键键入命令行模式输入如下命令:

cd C:\Program Files\MySQL\bin

MySQLadmin -u root -p password 123

回车出现Enter password:代表着键入初始登陆密码。安装之初,登陆密码为空,立即键入就可以。至此,MySQL中账号root的登陆密码改成123,安装完毕。

2.4 Python可视化技术

Python语言是荷兰guido van rossum在1991年推出的一种免费开源语言,其开发的程序可读性非常强,非常适合初学者学习,功能强大并且易于开发,可扩展性很强,代码库也很丰富,它的应用范围也非常广,例如web应用开发、科学计算、人工智能等多个领域。自2005年开始,Python上涨的势头就非常明显,如今已经进入到3.0时代,近来在tiobe公布的2022年1月排行榜中,Python取得了第一的成绩,这说明Python语言在蓬勃发展并且其发展前景非常好。对于物联网专业的中职学生来说,学习Python语言不仅可以提高他们的专业水平和逻辑性,还可以提高他们的就业竞争力。

2.5 Django框架

Django用Python编写,属于开源Web应用程序框架。采用(模型M、视图V和模板t)的框架模式。该框架以比利时吉普赛爵士吉他手詹戈•莱因哈特命名。该架构的主要组件如下:

1.用于创建模型的对象关系映射。

2.最终目标是为用户设计一个完美的管理界面。

3.是目前最流行的URL设计解决方案。

4.模板语言对设计师来说是最友好的。

2.6 Hadoop介绍

Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。主要有以下优点:

(1)高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。

(2)高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

(3)高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。

(4)低成本。与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。

2.7 B/S架构

B/S结构就是指系统客户端与服务器分离,客户端通过浏览器访问服务端进行操作。

B/S结构目前广泛应用于绝大部分系统搭建中,这种结构摒弃C/S结构客户端服务端不分离的缺点,具有更多的优势:

(1)跨平台性:B/S的标准由标准化组织确立,适用于绝大多数的系统搭建,通用于应用之间。

(2)低维护成本:客户端和服务器端分离,减轻了两端的压力,尤其是客户端,对客户端设备,硬件、软件要求都比较低,并且系统需要升级或维护时,只需要在服务器端升级或维护就可以,使相应的费用减少。

3 系统分析

3.1系统可行性分析

在开发系统之前,必须对系统开展可行性研究,目地是用有效的方法处理最大的问题。程序流程一旦开发出去满足客户的要求,便会产生许多益处。下面咱们就从技术性、操作性、经济性等领域来挑选这一系统最后是不是会开发。

3.1.1技术可行性

此次系统开发挑选Python语言,这也是一种面向对象编程的语言,Python为开发者提供了丰富的类库,大大减少了使用windows编程的难度,减少开发人员在设计算法上的难度[9-11],作为Python开发 Visual Studio更是一个必不可少的角色,它友好的界面,以及强大的功能,给程序开发人员带来了很多方便,加上环境简单,转移方便,无疑使此系统最佳的选择。所以系统设计选择使用MySQL数据库查询主要运用于创建和维护信息。从未来发展趋势看来,应当具备功能完善,使用方便的优势,数据库的要求则是能够建立和维护数据信息的统一性和完整性。

依据上述目标来分析本系统的硬件如下:

Intel(R) Core(TM) i7-7700HQ CPU ;

存储器是 16G;

硬盘是1000G;

操作系统是Window 10;

软件层面,安装了Visul Studio和MySQL数据库开发专用工具。依据以上硬件配置和系统规定,得到本系统的技术水平是有效的。

3.1.2经济可行性

本系统的软件开发只要一台一般的计算机就可以进行开发,其成本费很低。此外作为毕业设计论文,开发花费基本上可以忽略,系统软件的交付使用,可以实现更加快速高效的学习资源推送管理,同时还能实现对人力资源和管理资源的有效节约,该学习资源推送系统设计与实现在经济上完全可行。

3.1.3操作可行性

伴随着科学技术的迅猛发展,计算机早就进到大家的日常生活,大家的办公环境都不像过去那么极端了。规定工作人员在指定地点工作,有一些工作可以在家里进行。这促使大家工作效能更高一些。操作的多样化也变的更高一些。因而,管理方法的便利化和数字化是现代社会的大势所趋。各种各样智能系统五花八门,不一样的系统可以满足消费者不一样的要求,既增强了工作效能,又达到了一些特殊的要求。该系统不但页面简洁明了,并且使用了数据可视化页面。客户可以应用鼠标和键盘来改动、删掉、加上等有关信息。由于这一系统的使用比较简单实用,第一次应用系统只要一点时间就能很快上手。因而,该系统在使用上是有效的。

3.2系统性能需求分析

对系统性能进行分析,可对系统反应度、界面简洁清晰度、储存能性、易学性和稳定性进行分析;

系统反应度:同时上万人在线时反应时间应该在两三秒以内,。

简单明了的页面:系统界面规定简单明了,使用方便,有利于客户实际操作。

储存特性高:学习资源推送系统的设计方案和完成必须储存很多的信息,因此系统的存储量十分高,因此数据库查询要十分强力,确保信息的可靠平稳储存;

易懂:系统在使用上一定要实用。不用许多繁杂的实际操作,只要简洁的学习培训就可以实际操作。

可靠性:学习资源推送系统的设计方案、完成和运行平稳,页面清楚,字体样式清楚。

3.3系统功能分析

考虑到实际生活中在学习资源推送管理方面的需要以及对该系统认真的分析,将系统按权限进行划分。

管理员登入使用本系统涉到的功能主要有个人中心、用户管理、学习视频管理、学习类型管理、系统管理等功能。管理员用例如图3-1所示。

图3-1 管理员用例图

用户注册登入进入系统可以对首页、学习视频、新闻资讯、个人中心等功能进行操作。用户用例如图3-2所示。

图3-2 用户用例图

3.4系统流程的分析

由于不同的系统实际使用用户角色的不同,他们的业务分析也会变得有所不一样,为了论述方便接下来都将以管理员功能权限下的系统业务流程来分析,如下图所展示:

3.4.1个人中心管理流程

个人中心管理流程如图3-3所示:

图3-3个人中心管理流程

3.4.2登录流程

登录流程如图3-4所示:

相关推荐
Chrikk3 分钟前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*6 分钟前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue6 分钟前
go语言连续监控事件并回调处理
开发语言·后端·golang
杜杜的man9 分钟前
【go从零单排】go语言中的指针
开发语言·后端·golang
测开小菜鸟10 分钟前
使用python向钉钉群聊发送消息
java·python·钉钉
P.H. Infinity1 小时前
【RabbitMQ】04-发送者可靠性
java·rabbitmq·java-rabbitmq
生命几十年3万天1 小时前
java的threadlocal为何内存泄漏
java
Json_181790144801 小时前
An In-depth Look into the 1688 Product Details Data API Interface
大数据·json
caridle1 小时前
教程:使用 InterBase Express 访问数据库(五):TIBTransaction
java·数据库·express
^velpro^1 小时前
数据库连接池的创建
java·开发语言·数据库