大连理工大学网络教育学院
本 科 生 毕 业 论 文(设 计)
题 目:数据库在在线学习平台中的应用
学习中心:
层 次: 专科起点本科
专 业: 计算机科学与技术
年 级: 年 季
学 号:
学 生:
指导教师:
完成日期: 2023年8月28日
内容摘要
为了提升自身的知识涵养和技术水平,人们可以到互联网上进行学习。网上的学习资料和平台数不胜数,但同时平台质量良莠不齐,资源信息不齐全,从而对学习平台提出了更高的要求。
面对以上的形势,运用前后端分离的模式,开发出了这套数据库系统及应用在线学习平台,该项目分为前台用户界面和后台权限管理功能:前台用户包括了展示课程、课程搜索、课程详细、用户登录等模块;而后台则有用户管理、课程管理、教师管理、导航菜单等重要模块。该平台省去了大量寻找资源的时间,可供各年龄段的人进行学习、提升自我。
此学习平台具有灵活的系统架构,采用了传统的B/S体系,在使用上简单方便,容易进行后期的维护和功能的扩展,并且对硬件需求很低,只需要有Web浏览器软件即可,可以达到很好的信息资源共享的效果。
关键词:学习;管理;数据库
目 录
1.2 本文的主要内容及组织结构........................................................................... 2
2.1 数据库的相关概念和原理............................................................................... 3
2.2 SQL语言与应用开发语言.............................................................................. 3
3 在线学习系统相关原理与技术................................................................................. 5
3.1 在线学习系统的相关概念和原理................................................................... 5
3.2 对数据管理的需求分析................................................................................... 5
4 数据库技术在在线学习平台中的应用实践........................................................... 10
4.1.1 用户管理功能分析............................................................................... 10
4.1.2 角色权限功能分析............................................................................... 10
4.1.3 课程搜索功能分析............................................................................... 11
4.1.4 上传课件功能分析............................................................................... 12
4.2.1 数据建模(ER图)............................................................................. 13
4.4.2 用户管理功能测试............................................................................... 33
4.4.3 角色权限功能测试............................................................................... 34
4.4.4 课程搜索功能测试............................................................................... 36
4.4.5 上传课件功能测试............................................................................... 38
引 言
现代社会发展得越来越快,信息技术的发展愈来愈快,科技水平也变成了国家之间的核心竞争力;人们在生活中的竞争变得更加的激烈,甚至出现了“内卷”的现象,如果人不时刻保持学习的状态就很有可能被社会所淘汰,所以学习显得格外重要,对于国家来说则是提升国家科学技术的一个重要途径。
为了提升自身的知识涵养和技术水平,人们可以到互联网上进行学习。网上的学习资料和平台数不胜数,但同时平台质量良莠不齐,资源信息不齐全,从而对学习平台提出了更高的要求,原有的学习平台已经不能更好地满足于人们,要求开发新的在线学习平台势在必行。
1 概述
1.1 课题研究背景及意义
此次开发的产品是在线学习平台1.0。
在线学习平台1.0主要目标是为各年龄段的人群提供一个资源齐全的学习平台,节省了使用者搜寻和过滤资源的时间,由平台教师筛选优质学习资源,设置了部分付费的课程,学生可购买课程而教师可从中获取报酬,通过这种方式吸引优质教师带来的优质资源,也为学习者能更好地学习提供了一个解决方案,通过该学习平台人们可快捷地选择自己的学习内容,并且做到利用碎片化的时间可随时随地的学习,时刻保持自身的核心竞争力。
本论文一开始介绍了学习平台的开发背景,解决的生活中的主要问题以及该文的整体架构,可以让论文的观看者有一个总体的概念;然后就是对该平台进行需求分析和可行性分析,确定好平台开发的可行性和对需求的理解,还有就是整个平台的设计开发和过程,包括系统的架构设计、详细设计、数据库结构设计以及对平台的实现和后续的测试;在系统设计中会采用一些图表的形式直观地展示系统的属性功能和逻辑,并且在实现的章节中详细描述了核心功能的实现方式和代码。在论文的最后总结了学习平台的特点和还存在的不足之处,给出不足的解决方案,对往后的开发与维护有了一定的展望。
1.2 本文的主要内容及组织结构
本文研究的内容为数据库在在线学习平台中的应用。
本文的组织结构:
全文共分五章。
第一章,主要是介绍了课题研究背景、意义,以及论文结构。
第二章,介绍数据库相关原理和开发技术。
第三章,介绍了在线学习系统相关原理与技术,对在线学习系统进行需求分析。
第四章,对在线学习系统进行分析与设计,对整个平台的设计开发,包括系统的架构设计、详细设计、数据库结构设计以及对平台的实现和后续的测试。
第五章,对文章进行总结。
2 数据库相关原理与技术
2.1 数据库的相关概念和原理
顾名思义,数据库就是用来存放数据的。它的空间很大,能存放很多数据。不过它不会随意存数据。有它自己的规则,不然查询的效率会很低。现在整个世界都是充满数据的。有很多数据的源头,比如出去玩的记录、花钱数据、登录过的网站、发出去的消息等。除了文本类型之外都是数据。
在在线学习系统的数据库设计中,要遵守以下几个原则。
1)一致性:分析各式各样的数据然后保证他们的一致性和有效性。
2)安全性:安全就是要保护数据,让他们可以合法的使用,还不用担心泄露、更改或破坏,更有不一样的检查机制。
3)可伸缩性与可扩展性:要考虑到开发和移植,可扩展性、适度的冗余性。
4)规范化:什么东西都是有规矩的,数据库也一样,有它自己的规范从而减少输入、删除、修改等各方面的错误。
2.2 SQL语言与应用开发语言
SQL server是由Microsoft公司创建的关系数据库管理系统。与有关的工具可以很融洽地结合,在不同的地方使用。此外,还提供了很靠谱的功能,可以让存放有关的数据有规律,然后给公司或者企业创造更好使用的程序。
2.3 开发技术介绍
该平台使用JAVA语言进行开发,使用到的是jdk8,这个版本经久不衰且稳定;Java语言的多线程机制能够使软件并行执行,其具备的同步原语也已经非常成熟,因此能够保证共享数据方面的正确性。Java语言能够在存储空间处理中制造的垃圾进行自动清理,把复杂的应用程序进行简单化。使用到的是B/S架构,它最大的优点就是只需要一个市面上通用的浏览器便可以把系统运行起来,还相对简化了部署过程,大大减少了开发周期和费用。
本系统利用Springboot的优势进行后台管理系统的设计,主要使用的技术还有lay UI+Mybatis,数据库使用到的是MySQL;在最基层,使用SQL语句来实现项目与数据库的连接以实现对数据库的增删查改等工作;源代码有很高的可移植性,并且性能稳定优越,支持多种语言,还有支持大量的图形化管理工具进行开发与管理,适合作为学习平台的数据的存储。在本系统中采用的是阿里云服务器,通信方式采用的是http网络协议。
Spring boot和lay-UI都是适合快速开发的技术:spring boot简化了配置、依赖、部署和监控,大大减少了编码量以及配置文件的数量,而且内置了tomcat,对于部署更加的方便快捷,提高了生产力,并且易于与其他框架进行整合开发;而lay-UI非常适合开发后端模式,简单美观的页面开发对于前端小白有很好地照顾,可以快速地设计出简洁优美的界面,两项技术都适合于中小型网站的快速搭建与实现。
Mybatis是一款优秀的持久层框架,简单来说就是直接操作数据库的技术栈,它封装好了对数据库的连接等操作,利用中间件对执行结果对客户端进行发送,只需专心编写sql语句和专注业务开发即可。Mybatis工作流程图如图2.1所示。
图2.1 Mybatis工作流程图
3 在线学习系统相关原理与技术
3.1 在线学习系统的相关概念和原理
系统设计为三级化登录系统角色分别为学生教师管理员。本学习平台主要分为前台用户界面和后台管理功能这两大部分,这两部分既有相互交融的部分,又可以独立使用。在前台用户界面中,学习者可登录进入,然后进入到此界面中根据关键词搜索选取相关课程进行学习;在前台页面中有滚动大条幅展示重要通知和课程或者活动,并且有部分付费课程可根据实际情况购买进行学习。而后台管理中主要包括了用户管理、权限分配、课程管理、菜单管理、订单管理等功能模块;管理员对教师角色进行分配相关权限,教师管理模块:针对教师添加、管理、分配课程和权限管理;并设置重要通知等,然后教师可发布相关的学习资源和内容,并可发布付费内容赚取报酬,通过这样的管理方法,调动教师积极性发布更优质的内容,也方便学习者可以快捷地学习到所想要的资源。
3.2 对数据管理的需求分析
3.2.1 功能需求
在后台管理中主要有两个权限角色,分别是管理员和教师。而管理员拥有了系统管理、课程管理、教师管理、导航菜单、轮播管理、订单管理、通知管理、礼品管理这八个主要的功能模块。系统管理员可管理全部专业、教师、课程、班级、学生和任课信息;在系统管理中可添加或者删除用户,并为用户分配相关的角色和权限,在通知和轮播管理中,可设置相关信息在前台中给用户观看。管理员的用例图如图3.1所示。
图3.1管理员用例图
管理员使用删除用户功能的用例描述如表3.1所示。
表3.1管理员删除用户用例描述表
用例编号 | 3-1 |
用例名称 | 管理员删除用户信息 |
用例概述 | 管理员删除用户信息 |
主参与者 | 管理员 |
前置条件 | 管理员成功登陆平台 |
后置条件 | 无 |
成功保证 | 数据库用户表数据更新 |
基本事件流 | 1.查看用户信息 |
2.根据信息选择需要删除的用户 | |
3.点击删除 |
这个角色中,则拥有课程管理和通知管理这两个功能模块。在课程管理中分为了公共课程、专业课程(付费)、免费课程管理等,还有对课程的审核和视频资源的管理,教师可根据自己的经验从网上筛选出优质的视频和文字资源,分别对每种课程分好类整理好之后并上传到平台,用户便可在前台界面查看到这些课程并学习;教师可以在通知管理这个模块中,发布相应的通知,用户可在前台界面中查看教师的通知安排,以便更好地学习。教师的用例图如图3.2所示。
图3.2教师用例图
教师使用发布公告功能的用例描述如表3.2所示。
表3.2教师发布通知用例描述表
用例编号 | 3-2 |
用例名称 | 教师发布通知 |
用例概述 | 教师根据需要发布通知 |
主参与者 | 教师 |
前置条件 | 教师成功登陆平台 |
后置条件 | 公告列表更新 |
成功保证 | 数据库公告表数据更新 |
基本事件流 | 1.点击发布通知 |
2.教师根据要求输入通知内容 | |
3.点击确认 | |
规则与约束 | 要求必填的通知内容不能为空 |
教师使用上传课件功能的用例描述如表3.3所示。
表3.3教师上传课件用例描述表
用例编号 | 3-3 |
用例名称 | 教师上传课件 |
用例概述 | 教师根据需要上传课件 |
主参与者 | 教师 |
前置条件 | 教师成功登陆平台 |
后置条件 | 课件列表更新 |
成功保证 | 数据库课件表数据更新 |
基本事件流 | 1.点击上传课件 |
2.教师根据要求上传文件 | |
3.点击确认 | |
规则与约束 | 要求上传的文件不能为空 |
在前台用户的界面中,主要是供给学习者使用。在该界面中有众多的功能模块:可以展示课程,根据自身的学习需求,搜索相关的最新、免费和实战课程;教师在后台的信息管理中可以发布通知信息,在前台大屏里就会有滚动大条幅展示重要通知和课程或者活动;课程搜索,用户可以根据关键字搜索查询,也可以根据课程的类别类型进行搜索,若有喜欢学习的课程,可左键单击课程进入查看课程的详情信息。
用户进入到界面中如果不选择登录以游客方式进入,也可以查看和搜索各类课程,但是无法查看课程的详细信息。用户进入界面中可根据自己需求查询课程、通过学习换取积分在商品兑换模块中换取礼品,并可在用户发布模块中,记录自己的学习过程和笔记。用户用例图如图3.3所示。
图3.3用户用例图
前台用户使用登录功能的用例描述如表3.4所示。
表3.4前台用户登录用例描述表
用例编号 | 3-4 |
用例名称 | 用户登录 |
用例概述 | 未登录的用户进行登录 |
主参与者 | 未登录的游客 |
前置条件 | 无 |
后置条件 | 会员登录成功 |
成功保证 | 显示登录成功 |
基本事件流 | 1.点击登录 |
2.用户根据要求输入各项信息 | |
3.点击确认 | |
规则与约束 | 要求的必填信息不能为空 |
3.2.2 性能需求
该学习平台的建立打破了时空的限制,为了确保在线学习平台系统可以长远稳定的运作,该学习本台需要满足下列的各种性能需求。
(1)数据的处理必须准确和及时
系统不能因为代码和程序的原因导致部分操作失败,要始终保持数据ACID的四个基本要素,必须保证数据的准确性。而在设计与开发平台的过程中,也必须考虑当前与未来所面对的工作量和数据量,学习平台主要是在于用户对数据的获取,所以重点的性能需求在于接口查询的速度不能太慢,当查询速度太慢时就会大大影响用户的使用体验,所以响应的速度应控制在300ms以下。并且能够完全符合用户对信息及时处理的需要,减少所浪费的时间。在涉及价格的字段时,数据的精度应至少控制到小数点2位。
(2)平台的标准性
在开发的过程中,严格遵守了现在大厂的开发规则,保证系统代码在编写上,没有太大的耦合性,便于后期的维护和增加功能,增加重要的注释,并确保代码中各种变量名字的规范,以便于后期更加容易的维护。
(3)平台的易用性
在线学习平台操作必须要设计得简单方便,同时在视觉设计上使用扁平化元素让用户能够聚焦于功能,并且页面要直观简洁,尽可能符合当今大部分群众的使用习惯,更加的人性化,让每个学习者都可以轻松使用。
(4)平台的安全性
是指平台在运行的过程中能够保证用户隐私不被泄露。保证平台信息的安全,防止SQL注入的恶意破坏,并管理好各人员账号的登录信息,对各人员的账号密码等信息进行加密处理后再储存,避免账号被恶意盗取。