热门标签:代写本科论文 写作发表 工程师论文 代写一篇论文多少钱
当前位置: 代写一篇论文多少钱 > 计算机论文 > 在线留学生学习系统的设计与开发

在线留学生学习系统的设计与开发

时间:2019-07-31 15:03作者:曼切
本文导读:这是一篇关于在线留学生学习系统的设计与开发的文章,本文主要研究实现了一个在线留学生学习系统, 能够让留学生自主获取知识, 在线学习课堂相关知识, 同时也能够通过课程论坛与老师沟通交流。

  摘    要: 在国家进一步扩大来华留学生规模的大背景下, 各高校如何克服生源质量、师资力量、硬件投入、软环境建设等方面的不利因素, 迅速提升留学生教育质量, 跟上教育国际化的时代步伐, 已成目前留学生教育中一个重要的工作。留学生在线学习系统目的是为了方便留学生自主学习, 同时辅助任课教师对留学生进行课外教学, 最终实现任课教师、学生及管理员端的登录验证、学生选课、在线学习、用户管理、课程论坛等模块的相关功能。

  关键词: 在线系统; 留学生; 自主学习;

  2010年7月29日, 《国家中长期教育改革和发展规划摘要 (2010-2020年) 》正式发布, 纲要对来华留学生教育有如下表述:“进一步扩大外国留学生规模。增加中国政府奖学金数量, 重点资助发展中国家学生, 优化来华留学人员结构。实施来华留学预备教育, 增加高等学校外语授课的学科专业, 不断提高来华留学教育质量。”[1]同时在保证措施中提到要“实施留学中国计划, 扩大来华留学生规模”。同年还召开了全国来华留学生工作会议, 发布了《留学中国计划》[2]。现阶段要进一步扩大来华留学生规模, 应该把提升来华留学生教育质量作为重要抓手, 只有质量提高了, 才能吸引更多的留学生, 其规模也才能做大。地方高校对此更应把如何提升留学生教学质量作为吸引更多留学生和扩大自身国际影响力的重要举措[3,4,5,6]。

  本文主要研究实现了一个在线留学生学习系统, 能够让留学生自主获取知识, 在线学习课堂相关知识, 同时也能够通过课程论坛与老师沟通交流。任课教师可以在系统上传视频和课件, 这些学习资料可以完成对课内知识的补充, 课外知识的延伸, 同时能够覆盖到不同基础的学生, 保证教学进度;另一方面, 课程论坛能够让任课教师更全面的了解到留学生的学习情况, 发现学生普遍存在的问题, 及时调整授课计划。

  一、系统设计

  (一) 系统内容设计

  本系统主要以本校留学生对在线学习系统的需求, 对在线学习系统进行流程分析和业务需求分析, 其中涉及到了三种角色, 分别是任课教师、学生和管理员。将系统主要功能划分为登录验证, 用户信息管理, 在线学习, 课程论坛四大模块, 教师、学生和管理员通过权限管理系统来进行不同级别的操作。

  1.管理员通过导入excel文件来导入学生和任课教师信息, 并可以对学生和任课教师信息实现增加、删除、修改、审查, 也可以添加其他管理员。

  2.管理员需要对任课教师开设的课程和上传的课件进行审核, 只有通过审核的课程, 学生用户才能进行选课、作业提交和视频查看的操作。

  3.用户登录“。”通过学号、任课教师号或者管理员账号进行登录, 登录验证成功后, 服务端会返回令牌, 用户根据令牌中的角色权限可以进行不同的操作。

  4.打破传统在课堂上交流讨论的模式, 课程论坛让学生在课堂以外也能获得和同学老师交流的机会。

  5.通过国际化技术, 一定程度的缓解了留学生教育中文化差异的影响, 方便外国留学生进行自主学习。

在线留学生学习系统的设计与开发

  (二) 系统架构

  系统基于MVC架构模型[7,8,9,10], 采取前后端分离的方式, 包含:前端页面显示, 界面跳转路由, 异步请求控制器, 数据库服务器。系统架构图如图1所示。

  图1 落千丈系统架构图
图1 落千丈系统架构图

  用户在页面上的操作通过浏览器发送请求, 控制器接受到请求, 获取用户发送的数据, 交给service层进行业务处理, 生成数据模型, 交由控制器, 控制器再将模型交给前端框架进行展示。

  (三) 系统结构设计

  系统由登录模块进入系统首页, 根据权限不同开放课程模块、后台管理模块和课程论坛模块, 如图2所示。

  图2 系统结构图
图2 系统结构图

  各模块主要功能如下:

  1.系统首页模块包括课程展示和推荐课程。课程展示是按课程所处类别来做展示各个课程。推荐课程是后台管理员从所有课程中选出优秀课程进行推荐。

  2.课程模块包括学生选课、视频课程、作业管理、课件下载四个功能。

  学生选课:学生查询自己感兴趣的课程, 报名参加对应课程。

  视频课程:学生在完成选课以后可以看到教师在对应课程下上传的视频。

  作业管理:学生在截止日期之前, 提交老师在课程中所布置的作业。

  课件下载:学生可以下载已选课程的课件。

  3.后台管理模块。此模块的角色只有管理员, 学生和教师没有后台管理的权限。

  后台管理模块包含用户信息的导入导出, 课程课件的审核, 课程信息的管理。

  信息导入导出:主要功能是使用excel批量导入师生信息, 将数据库数据导出成excel文件。

  课程课件审核:对课程, 课件进行审核, 只有审核通过的课程和课件学生才能查看。

  课程信息管理:包括课程管理, 课件管理和视频管理, 后台管理员可以实现对课程、课件、视频的增加、删除、修改、审查。

  4.课程论坛模块分为精品置顶版块和课程交流版块。精品置顶版块是由管理员选择优秀发帖进行制定操作的版块, 排在所有发帖顶端课内技术跟视频课程对应的每一门课的论坛版块。课程交流版块包括了各类课程的发帖。

  (四) 数据库设计

  根据对学生、教师和课程以及选课的需求进行全面分析, 设计规划出了该系统的数据库结构, 总共包含八张表, 分别是用户表、课程表、课程附件表、作业表、提交表、选课表、课件表、视频表。以下对这八张表做详细介绍。

  1. 用户表 (user)

  用户表主要用来存储用户信息, 分别是学生、教师、主任。管理员可以编辑用户, 分配用户权限。

  2. 课程表 (course)

  课程表主要表示课程信息。当教师添加相对应的课程后, 在对应的地方添加相对应的课程资料, 前台页面会展示课程的所有信息以及相关的学习资料, 学生可以打开平台来进行报名课程, 此表的操作权限是管理员和教师。

  3. 课件表 (courseware)

  课件表主要包含了课件的相关信息。

  4. 附件表 (append_document)

  附件表主要包含了提交作业附件相关的信息。

  5. 作业表 (homework)

  作业表包含了教师布置的课程作业信息。

  6. 提交作业表 (submit_homework)

  提交作业表保存了学生提交作业后的信息。

  7. 选课表 (user_course)

  选课表保存了学生选课后的信息。

  8. 视频表 (video)

  视频表保存了视频有关的信息。

  二、系统实现

  本小节介绍系统具体实现的过程。

  (一) 前后端项目结构

  项目后端采用了较为经典的maven目录结构, 其中main中存放了Java的源码 (Java文件夹) 和项目所需的资源文件 (resource文件夹) , 而target文件夹则存放着编译好的class文件。aspect:包含了日志的切面文件。cahce:存放redis连接池和缓存工具类。common:用于存放通用模块, 包括常量, enum类, 自定义异常, 过滤器, 全局的异常处理类, 响应处理类和通用工具类。config:包含了一些项目的全局配置类, 包括跨域配置、防XSS攻配置和项目国际化配置。controller:包含了项目控制层的代码, 用来接收并转发请求。entity:项目中所有涉及到的实体类, 原则上字段和数据库表中相同。mapper:数据库操作类, 用于存放MyBaits映射文件对应的dao层类。service:业务逻辑处理类, 控制层转发的请求将在这里进行处理, service层完成了dao层取出数据的处理, 连接了数据模型层和控制层。vo:前端业务实体类, 用于保存页面所需的对象, 剔除了请求所不需要的字段, 增加了一些entity中不存在的、通过计算得出的字段。LearnApplication:SpringBoot应用的入口, 项目的启动类, main函数会启动一个springboot内置的Tomcat来作为整个web项目的容器。pom.xml:maven的配置文件, 用了规定该项目所用的第三方包。

  项目前端采用了较为典型的Vue项目的目录结构。build/config:用来存放所有webpack的配置项。node_modules:主要包括所有node.js需要的第三方依赖。src:前端源码的存放路径, 包含了图标等静态资源文件, components包含了项目的所有组件, router文件夹内为所有前端路由, App.vue为整个项目模板的入口。一些需要在整个项目中被使用的方法被定义在main.js中。

  (二) 功能实现

  1. 跨域功能及实现

  由于系统整体上使用了前后端分离的开发方式, 前后端在会分别在不同的端口启动, 而浏览器的同源机制, 只有协议、域名和端口号都一致的请求才会被认为是同源, 所以在这里需要解决跨域问题。

  跨域问题有很多成熟的解决方案, 比如使用jsoup, 但是jsoup只能支持get请求, 而get请求在很多场景下存在着安全性问题, 所以该系统采用了HTML5带来的新的跨域解决方案CORS。CORS是一个万维网联盟 (W3C) 所制定的跨域标准, 是“跨域资源共享”的缩写。在SpringBoot中整合CORS十分方便, 通过@Configuration来创建Cors配置类进行全局性的跨域配置。在buildConfig通过addAllowedOrigin方法设置可以跨越访问的域, 通过@Bean注解corsFilter过滤器, 该过滤器会自动为请求添加跨越请求头Access-Control-Allow-Origin来允许相应的请求到达。

  2. 登录功能及实现

  由于登录的业务逻辑较为简单, 即匹配用户的学号和密码来给予用户相应的鉴权, 并保存用户的登录状态来保证用户访问的安全性。但是传统以session保存数据的方法存在缺陷。由于HTTP的无状态性, HTTP服务器是不知道客户机发送的这个请求和上一个请求有什么关联性, 为此引入了session来保存信息, 而传统session保存于单服务器上, 在分布式和服务器集群环境中客户机的请求会经常会根据负载来分配到不同的服务器上, 如果session不能共享, 那么单服务器session中保存的用户信息将毫无意义。所以本项目采用来了基于token的认证方式来区分用户鉴权并保证访问的安全性。

  首先, 前端将用户名和密码以json的形式请求/login接口, LoginController将会寻找@RequestMapping注解中value为login的方法, 并将请求转发到该方法, 之后login会调用对应service方法, 将获取到的数据传入service中。

  在service中, 首先判断查找的用户是否存在, 如果不存在则直接抛出自定义异常OBJECT_FIND_NULL, 如果存在则通过generateToken方法生成token, token使用md5加密。

  然后创建一个UserElement类对象用来进行用户登录认证, 这个类保存了用户名 (学号/工号) userNumber、生成的token和该用户的角色role (学生、教师、管理员) , 将这个类的信息封装好之后, 和token一起存入redis缓存以模拟session, 该缓存对象不仅要用来验证用户是否登录还可以获得当前用户的信息。所以使用token机制代替session的策略是这样的, 将用户名作为键, token作为值保存为一个数据, 用来校验是否登录, 把token作为键, UserElement作为值保存为一个数据, 用于当用户发送请求的时候根据token获取UserElement, 然后根据UserElement中的userNumber获取当前用户的信息。另外, 在redis中还可以通过设置缓存过期时间来实现自动登录。

  最后将service将token返回给controller, 然后controller将该对象返回给页面, 前端通过js将token保存在cookie中, 对于需要验证的请求 (除了登录和swagger测试用以外的接口) , 在每个请求的请求头里加入controller-token, 给后台传入token进行身份认证, 每次身份认证都会刷新token有效期。每个controller继承BaseController, 其中一个根据token获取当前用户的方法, 所有的路由都要通过权限验证才能完成访问, 至此, 用户的登录权限认证基本完成。

  3. 学生端口

  学生端的课程模块的功能主要包括修改个人信息、学生选课、查询和观看教学视频、下载课件、下载和提交作业等功能。

  学生在完成登录以后会进入系统首页, 首页中会有一些推荐课程的轮播以及精品课程的展示, 如图3所示。

  图3 系统首页图
图3 系统首页图

  学生在点开课程导航栏以后可以根据课程id, 课程名, 所属学院等查询课程列表, 并点击查看课程详情, 如图4所示。

  图4 课程查询页面
图4 课程查询页面

  课程详情页如图5所示, 点击立即参加即可完成选课, 已经完成选课的课程可以在我的课程页面查询到, 同时也可以通过申请课程按钮在弹出框中进行选课, 如图6所示。

  图5 课程详情页面
图5 课程详情页面

  图6 我的课程页面
图6 我的课程页面

  学生在完成选课之后, 通过点击课程下的视频进行视频学习。

  另外, 学生能够在课程作业的列表里查询到老师布置的作业, 在作业截止日期之前, 通过上传页面提交到静态资源服务器储存。

  4. 论坛实现

  论坛可以根据响应课程分成不同的板块, 教师可以选择不同的主题查看内容。教师要进入系统必须先在登录界面进行登录, 验证用户名和密码成功后进入系统, 然后可以进行发布帖子、回复帖子等相关操作。本系统中设计的论坛能够为师生提供一个交流对话的平台, 促进师生共同学习、共同进步。

  图7 论坛实现界面
图7 论坛实现界面

  5. 网站国际化

  对于软件方向来说, 系统的国际化是指在开发系统时使网站不再局限于某一国家的某一地区, 使网站的语言随着地点的变化可以进行切换以适应当地需求。当系统在不同国家不同地区使用的时候, 系统不必进行任何重构, 因为它在开发时其功能就已经可以适应不同地区的运行需求, 不必再开发一套系统, 大大降低了开发的成本。开发这样的系统的过程, 就称为国际化。“国际化”的本质把所有用于界面显示的字符串全部提取出来, 做成语言文件、每种语言一份文件, 运行的时候按照需要的语言访问对应的语言文件获取字符串来显示。

  图8 国际化界面
图8 国际化界面

  三、结束语

  综上所述, 留学生在线学习系统完全能够为留学生和任课老师提供一个综合性教学平台, 实现留学生和教师可以在任何时间、任何地点参与教学活动, 留学生观看课程视频既可以巩固课堂所学, 也能弥补语言类学习的不足, 国际化的学习系统让他们能够更快更好地接受知识。而系统后台也为学校统一管理留学生教学提供了方便快捷的渠道, 为管理留学生信息提供了支持, 有利于学校对留学生学习的教学计划安排。

  参考文献

  [1] 中华人民共和国教育部.国家中长期教育改革和发展规划纲要 (2010-2020年) [DB/OL].http://old.moe.gov.cn/publicfiles/business/htmlfiles/moe/info_list/201407/xxgk_171904.html
  [2] 中华人民共和国教育部.留学中国计划[DB/OL].http://www.gov.cn/zwgk/2010-09/28/content_1711971.html
  [3]文雯, 陈丽, 白羽, 等.北京地区来华留学生就读经验和满意度的国际比较研究[J].北京社会科学, 2013 (2)
  [4]郭秀晶.北京高校留学生教育发展的限制性因素调查报告[J].中国高教研究, 2008 (7) :48-50.
  [5]谢永飞, 刘衍军.高校来华留学生的教育满意度测评——以江西省为例[J].现代教育管理, 2010 (6) :57-59.
  [6]王永秀.来华留学生教学质量的问题与对策[J].现代教育论丛, 2013 (3) :73-77.
  [7]彭霞, 朱萍.MVC模式高校科研管理平台构建方案[J].计算机技术与发展, 2013 (4) :249-253.
  [8]仝茵.基于ASP.NETMVC模式的软件开发架构的研究与探讨[J].中国电子科学研究院学报, 2016 (6) :599-605.
  [9]司飙.MVC模式下的考试系统建模研究[J].计算机科学, 2013 (6A) :403-406.
  [10]任广震, 侯进, 王献.MVC模式在B/S结构政务系统的应用研究[J].计算机应用与软件, 2014 (8) :54-58.

联系我们
  • 写作QQ:79211969
  • 发表QQ:78303642
  • 服务电话:18930620780
  • 售后电话:18930493766
  • 邮箱:lunwen021@163.com
范文范例
网站地图 | 网站介绍 | 联系我们 | 服务承诺| 服务报价| 论文要求 | 期刊发表 | 服务流程