作业管理系统设计与实现.docx

上传人:b****6 文档编号:6747722 上传时间:2023-01-09 格式:DOCX 页数:18 大小:641.64KB
下载 相关 举报
作业管理系统设计与实现.docx_第1页
第1页 / 共18页
作业管理系统设计与实现.docx_第2页
第2页 / 共18页
作业管理系统设计与实现.docx_第3页
第3页 / 共18页
作业管理系统设计与实现.docx_第4页
第4页 / 共18页
作业管理系统设计与实现.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

作业管理系统设计与实现.docx

《作业管理系统设计与实现.docx》由会员分享,可在线阅读,更多相关《作业管理系统设计与实现.docx(18页珍藏版)》请在冰豆网上搜索。

作业管理系统设计与实现.docx

作业管理系统设计与实现

 

作业管理系统设计与实现

摘要

为了解决现今教师们对学生作业管理问题,设计了作业学习管理系统。

应用目前前沿的微服务架构技术搭建一套作业管理系统,实现了老师对学习作业管理的难题。

在线下对系统进行了实验,结果表明:

该系统是能够解决老师管理学生作业的问题,该系统对教师具有很强的实用意义。

教师通过本系统可以很轻松的将自己学生的作业上传上来进行管理,教师可以在线批改作业以及在线回复学生的问题。

该系统可以减轻教师平常的工作,办公从传统的线下转换到线上,顺应了当今互联网时代的风潮。

将之前纸质化的东西电子化,不仅节省了资源,而且数据更容易存储与传输。

真正意义上的做到随时随地办公,无需受地域的限制。

更重要的是教师们还可以共享自己的资源,形成教育资源的互通更好的去丰富自己的教学内容。

关键词:

教育;作业;共享;互联

Abstract

Inordertosolvetheproblemofstudents'homeworkmanagement,ahomeworklearningmanagementsystemisdesigned.Asetofjobmanagementsystemisbuiltbyapplyingtheadvancedmicroservicearchitecturetechnology,whichrealizestheteacher'sproblemoflearningjobmanagement.Theresultshowsthatthesystemcansolvetheproblemofteachers'managementofstudents'homework,andithasastrongpracticalsignificanceforteachers.Teacherscaneasilyuploadtheirstudents'homeworkthroughthissystemformanagement.Teacherscangradehomeworkonlineandreplystudents'questionsonline.

Thesystemcanreducethenormalworkofteachers,officefromthetraditionalofflinetoonline,inlinewiththetrendoftheInternetera.Itnotonlysavesresources,butalsomakesdataeasiertostoreandtransmit.Inarealsense,itcanworkatanytimeandplacewithoutthelimitationoftheregion.What'smore,teacherscanalsosharetheirownresourcesandformabetterexchangeofeducationalresourcestoenrichtheirownteachingcontent.

Keywords:

Education;Homework;Share;Interconnection

第一章绪论

1.1研究的背景

随着互联网的普及和数字化的不断发展,传统教育行业的教学模式发生了颠覆性的改变。

随着信息化的普及,越来越多的教师也掌握了如何运用网络课堂、网络授课等在线系统进行教学,教师可以在网上管理整个教学流程,比如在网上发布作业,在线批改作业等操作。

本系统的目的就是为了能让教师可以在网上管理自己教学的内容而产生的。

经过调查,现阶段高校进行作业管理的方式主要有三种:

方式一:

搭建属于自己学校的FTP网盘,学生通过连接学校的内网网络就可以进入学校搭建的FTP网盘进行下载作业以及相关课件。

大部分的高校都是采用这种方式进行作业的管理。

这种方式唯一的缺点就是学生一旦不再校园的时候就没有办法连接学校的网络,从而导致学生出了学校的大门之后就没有办法提交作业以及下载相关的作业资料。

方式二:

第二种方式就是通过邮件进行管理,此种方式在大学也是非常常见,高校基本上每个教师都会有一个邮箱专门来接收学生发过来的邮件。

教师可以通过这种方式管理学生的作业,学生将自己已经完成好的作业直接发送到教师的邮箱上,教师收到后就可以上去将其下载下来进行批改。

这种方式的缺点是教师有可能教的班级不止一个,可能有五到六个班级。

这样一来学生将自己的作业发送到教师的邮箱就会导致教师在收邮件的时候特别的混乱。

方式三:

最后一种方式就是最为传统的方式,直接通过U盘进行文件的拷贝。

一般教师的做法就是叫班长先收集好同学们的作业,班长收集完成后之间将文件拷贝到教师的U盘中。

这种方式的缺点就是数据安全问题,一旦教师的U盘不小心弄丢了那里面的所有文件都不复存在。

基于现在这些管理学生作业的方式,提出了作业管理系统的想法。

教师可以登录作业管理系统对学生的作业进行管理,通过网站的形式解决了教师对学生作业管理难的问题,教师可以随时随地的登录上作业管理系统发布作业给自己的学生,也可以在系统上下载自己教学班的所有作业。

基于此种想法,所以想自己研究并且开发一套可以方便教师管理学生作业的系统。

1.2研究内容

研发出一套实用的作业管理系统提供给教师们进行使用,主要的研究方向是通过现有的网站技术打造出一个简洁易用的管理系统。

通过向各大高校调研以及在网上查找资料的方式,分析出日常教师们工作的重心是什么,在日常的管理上面是什么工作最为麻烦最难管理。

系统将针对这些问题去做优化和升级,让教师在使用系统的时候可以方便快捷的完成之前觉得麻烦的工作,比如作业的归档整理、作业的收发、教学资料的整理等日常教学工作。

系统是朝着怎么提高教师教学质量的方向去开发的,在系统初期的设计和构想当中会先去对比现有其它系统的设计理念。

将其它系统做的好的操作和功能记录下来,结合多个系统再加上自己的想法进行一个研究,最终研究出一套作业管理系统。

研究参考的系统有目前有雨课堂、课堂派、班级优化大师、UMU、微助教。

这些都是在教学管理这方面做的比较好的系统,他们各自有各自优点和缺点。

本套系统会结合上述系统的优点进行开发。

1.3研究的意义

本项目主要是针对市面上面现有的系统,将其优点功能进行参考改进。

将功能变得更加符合老师使用的习惯。

实现让老师更快、更高效、更灵活的管理自己的作业。

传统的教学模式已经更不上时代,以前一支粉笔一个黑板檫的教学时代已经过去,21世纪我们应该向更高的领域看齐,互联网是一个非常巨大的工具和资源。

教师们应该结合互联网,利用好互联网对传统的教学模式进行创新。

而本系统就是为了帮助教师解决这些教学问题而研发出来的。

本系统使用了当前前沿的技术,将教师的工作从线下搬迁到了线上,解决了教师对教学资源管理难的问题。

教师们还可以通过本系统共享文件,将教学资源公开可以让更多的教师在系统上下载不同的资源,从而改善自己教学方案。

这无疑可以让教师的教学质量得到提升,从而更好的服务学生。

学生也可以在系统上提问教师。

教师看到后可以对学生提出的问题进行解答,不用再像之前那样学生要问一个问题,必须去到教师的跟前。

有了本套系统,学生和教师都可以很轻松的进行互动。

本套系统结合了多套系统的优点,可以给到教师更好的用户体验感。

本套系统最大的意义就在于将教师的工作化繁为简,提高教师的工作效率,解决平常教师在教学过程中遇到的管理问题。

提高教师和学生的互动率,让学生和老师可以在日常的学习和教学过程中体验到线上教学的魅力和轻便。

1.4章节安排

本文一共分为七个章节,每个章节的主要内容如下:

第一章介绍了本课题的研究背景和意义以及研究的方向。

第二章介绍了系统设计思路,以及所涉及的技术。

第三章介绍了系统可行性以及对系统的需求进行拆解。

第四章主要是分析系统的整个业务流程,以及各个功能模块的设计。

第五章是对系统数据库设计做一个分析。

第六章主要是分析系统整体的架构模式以及实现原则。

第七章主要是工作总结与系统现存问题的分析。

第二章系统的设计模式与技术准备

2.1系统设计模式

2.1.1设计模式概念

设计模式(Designpattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。

设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。

这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

(也就是站在巨人的肩膀上)设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。

2.1.2设计模式使用

本系统采用了MVC(Model-View-Controller)设计模式,该种模式将系统划分为三个基础部分。

模型层(Model)、视图层(View)、控制层(Controller)。

目前绝大部分的系统软件都采用此种设计模式,该种设计模式简单易用层次分明。

用户在浏览器浏览的界面都可以理解为是视图层,用户通过视图层将自己的请求提交到控制层,由控制层将用户的请求发送到后台,后台通过模型层将用户发送过来的数据进行逻辑运算并且进行存储。

完成之后再通知控制层,控制层再将信息反馈给视图层,视图层进行呈现。

此种模式最大的优点就是开发人员可以很清晰的知道每一层的逻辑,在MVC模式中开发人员的编程逻辑非常简单,开发人员首先要做的就是编写视图层接收用户提交的数据。

视图层的呈现方式一般就是html、css、js等前端技术构成的页面。

当视图层构建好之后,开发人员就可以着手开发控制层的代码,控制层包括逻辑处理、数据储存、页面跳转等工作,而数据存储则是控制层和模型层一同完成的工作。

开发人员会建立多个不同的数据模型进行数据的存储,通过控制层的逻辑代码调用模型层完成数据存储,基本上MVC设计模式开发就是按照这三个步骤,具体模式关系图如图2.1所示。

图2-1MVC设计模式关系图

2.2技术准备

2.2.1系统技术选型

本系统采用SpringBoot作为项目的基础框架,集成SpringMVC、SpringCloud、MybatisPlus、SpringSecurityOauth2、Redis。

其中SpringCloud的注册中心采用的是阿里巴巴自主开发的spring-cloud-alibaba代替了原生的Eureka。

阿里巴巴的Spring-Cloud-Alibaba更易于管理,它提供了图形界面化的操作方式我们可以通过其内置的网页进行登录管理我们所需要的配置文件,而且Spring-Cloud-Alibaba整合了eureka和SpringConfig做到了配置文件统一管理、实时刷新配置文件等功能。

要比原生单一的eureka强大许多。

微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。

这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。

这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术[1]。

本系统采用的是微服务架构模式,微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。

系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。

每个微服务仅关注于完成一件任务并很好地完成该任务。

在所有情况下,每个任务代表着一个小的业务能力。

使用微服务可以很轻松的将一个系统拆分成一个一个的小模块,这样有利于系统维护以及开发。

开发对应模块的人就只需要关注他所负责的那一块工作即可。

系统采用的数据库是MYSQL数据库,因为MYSQL数据库是开源且免费。

而且对于本套系统而言MYSQL数据库完全够用。

就数据量来说MYSQL目前是最佳的选择。

系统使用的前端技术是蚂蚁金服所提供的前端框架AntDesignVue,这套框架结合了vue.js和其它前端组件包,AntDesignVue具有丰富的开发文档和社区,遇到不会实现的页面功能可以很轻松的查找文档进行开发。

Vue.js是一套轻量级MVVM框架,由时任Google工程师的尤雨溪(现担任阿里Weex团队技术顾问)创作并开源。

截至本书编写时,Vue.js已在GitHub获得star数9.3万个,而同为MVVM框架且更早诞生的React获得的star数不过9.5万个,Angular则是5.8万,如图1.10所示。

与其他重量级框架不同的是,Vue的核心库只关注视图层,并且提供尽可能简单的API以实现数据绑定、组件复用等机制,且非常容易学习并混入其他库。

同时,Vue也完全有能力支持采用SPA设计和组合其他Vue生态库的系统[3]。

系统还集成了Redis缓存数据库,用于分摊MYSQL数据库的压力,系统对数据持久化的操作采用了MybatisPlus持久化框架,MybatisPlus简化了开发人员对SQL语句的操作,MybatisPlus提供了基础的CRUD数据操作接口,开发人员直接调用这些方法就可以对数据进行持久化,无需编写简单而重复的SQL,大大节约了系统开发人员的开发时间。

安全权限框架我这选用了SpringSecurityOauth2,SpringSecurityOauth2安全框架作为Spring生态圈里面的一员拥有着极高的使用量,它提供了四种授权码模式分别是授权码模式(authorizationcode)、简化模式(implicit)、密码模式(resourceownerpasswordcredentials)、客户端模式(clientcredentials)。

这四种模式对应着不同的业务场景,非常强大根据不同业务进行密码权限的校验,而且是Spring系列的产品,所有优先选择SpringSecurityOauth2作为系统的安全框架。

2.2.2项目管理工具

本套系统是maven项目,使用的maven对系统的jar包进行管理。

Maven是一个很强大的项目管理工具,有别于传统项目,传统项目管理jar包更多的是靠开发人员自己去导入ja,这样会很麻烦而且一旦开发人员不熟悉jar包之间的版本关联的之后很容易造成jar包因为版本不一致导致冲突的情况。

所以,使用maven这种jar包管理工具是非常有必要的。

还使用了svn进行项目文件和项目代码的管理,虽然说现在是一个人开发,但是可以同过svn这个管理工具进行代码版本的记录以及开发过程中文件的记录。

这样日后想知道之前的代码逻辑也可以很轻松的查找回来。

2.2.3项目文件结构

系统分为通用模块(common)、通用配置(config)、注册中心(eureka)、网关(gateway)、服务外部接口(service-api)、微服务(service)、系统公用工具(tool)、前端(ant)。

具体结构如图2.2。

图2-2系统目录结构图

2.3本章小结

本章主要介绍了系统的技术选型,讲解了为什么要选择这些技术作为系统的底层架构。

系统选择使用微服务的技术,这就意味着本系统以后开发的功能模块会不断的进行叠加更新,微服务就是有这样的好处。

当你想添加一个全新的功能的时候,如果系统已开始采用的不是微服务架构模式,那相当于你需要将项目重新编写集成新的接口。

这样就有可能改动到之前的功能,导致系统发生错误。

但是,系统采用的是微服务架构模式的话,集成新的功能就非常简单而且不需要改动之前的功能,因为每一个功能都是一个新的服务,你只要编写好服务即可。

所以,微服务对于现在的系统而言是首选的开发模式。

第三章系统设计

3.1可行性分析

3.1.1经济可行性

随着互联网行业的不断发展,互联网已经渗透到各行各业中去了。

教育行业也是在这几年得到了迅速的发展,政府也大力支持现在的教育行业。

近几年年来出现了许多教育行业的平台和软件,这些软件和平台都是服务教师和学生,目的就是为了打造出一个教育行业的生态圈。

目前,就做教育这一块的软件服务来说前景还是一片大好。

虽然有些比较大型的平台已经可以做到很多东西,但是这些平台由于功能迭代过多从而导致系统功能过于复杂,用户使用起来特别麻烦。

这样就会衍生出许多其它小型企业针对这一块进行开发系统,从中获取市场。

就目前而言这块的市场还是一片大好,而且加上现在软件开发行业基本是零边际成本,有想法有能力里就可以进行开发。

3.1.2技术可行性

系统采用的是微服务架构手段,将系统拆分成多个服务进行实现。

每一个功能模块就作为一个服务,每个单独的服务通过接口的形式进行通讯实现数据的相互传输。

目前有许多成型的微服务框架,里面已经集成好了微服务所需的功能。

系统采用的是目前相对稳定的项目框架RuoYiCloud,若依这套框架在码云和GitHub上面也是名列前茅。

拥有完整的项目文档和技术支持,目前这套框架还有其他开发者对其进行优化,所以这套框架还是相对稳定。

作业管理系统使用这套框架我认为是非常有利的,因为这套框架除了将微服务的基础功能搭建好了,其中还附带了一些系统功能,比如用户的权限管理、系统日志监控、系统内存监控、代码生成等系统功能。

这些系统功能可以让开发人员快速完成自己的功能模块节省开发时间。

若依文档中提供了从开发到上线部署一系列的操作步骤,让不会部署的开发人员也可以完成上线部署的工作。

而且,若依框架的开发人员们创建了一个技术交流群提供给开发人员,开发人员在实际开发中遇到无法实现的功能可以在群上进行讨论交流,所有技术这块基本没有什么太大的问题。

3.2需求分析

3.2.1功能性需求

本系统主要包括五大模块,分别是课程管理模块、作业管理模块、资源管理模块、师生互动模块、作业分析模块。

(1)课程管理模块:

教师可以创建属于自己的课程,教师可以对课程设置一些限制,比如该课程允许加入人数的上线值,该课程是否允许学生自动加入,教师还可以设置加课码,学生通过输入加课码加入该老师创建的课程中。

在课程可以与自己的学生进行互动,学生可以进行留言和提问。

(2)作业管理模块:

教师可以看到学生上传的作业,对学生的作业进行修改评分。

教师可以很轻松对学生的作业进行查重的操作,可以设置查重率来对学生的作业进行判定。

达到一定的查重率就将作业自动退回给学生,这样不仅可以提高学生作业的质量,而且也让教师省去麻烦的查重工作。

(3)资源管理模块:

教师可以将自己的教学资源上传到公共的教学资源区,其他的教师都可以上去下载。

这个模块就是让教师的资源可以相互共享达到教学资源的最大化。

同一个专业的老师无需自己再去做一份教学文案,如果有其他老师的资源又是刚好合适的话,就可以直接使用。

节省老师们的时间,将更多的时间放到学术研究上。

(4)师生互动模块:

教师和学生可以相互留言进行交流,学生对作业中不明白的地方或者对教师有什么意见建议都可以通过系统的这个模块进行交流。

(5)作业分析模块:

教师可以在这个模块看到自己学生的作业完成情况,该模块有数据图表和数据报表对学生作业成绩、达标率、掌握程度进行分析。

这些数据提供给教师进行教学方案的调整。

教师可以通过这些数据得知自己的教学模式和教学资料是否出现问题,教师可以及时的去调整自己的教学方案,以便达到最好的教学质量。

3.3本章小结

本章主要介绍系统各个功能模块是做什么的,从市场的角度和技术的角度进行分析得出现在教育行业的软件开发前景一片大好。

还有就是简单的介绍了本套系统每个功能模块具体的功能是什么以及每个功能的作用。

第四章系统设计

4.1系统业务流程分析

(1)作业提交流程,学生自己上作业管理系统,将作业下载下来。

学生将作业完成之后,提交作业到系统上。

提交上来的作业系统会根据教师设置的查重值进行查重操作,一旦查重率高于教师设置的值。

作业将自动被打回,作业打回的时候会通知学生进行修改。

学生可以重复提交直到查重率低于教师设置的数值。

具体流程如图4.1。

图4-1作业提交流程图

(2)作业批改流程,教师可以进入自己创建的教学班,在教学班里面可以看到该教学班所有学生提交的作业。

教师可以在线批改作业,对于没有按要求去写的学生可以一键打回该学生的作业。

教师在线上评完分之后还可以进行复审,复审没有问题之后就可以将该做业发布,发布之后的作业学生就可以在系统上面看到。

学生看到自己的成绩,可以对成绩提出质疑,可以再次提交申请让教师进行修改。

但是提交的次数只有三次机会,三次之后学生将无法对本次作业进行修改和提交。

具体流程如图4.2。

图4-2作业批改流程

(3)创建课程流程,教师登录上系统之后可以看见自己创建的课程,教师可以随意的创建教学班,但是创建的数量也是有上限的默认普通教师只能创建50个教学班,教学班达到上限的时候需要将之前的教学班停用或者是联系后台管理人员进行扩充。

扩充需要支付一定的金额,开通会员可以获得无上限的教学班创建权限。

教师可以设置每个教学班上限人数,当一个教学班达到上限人数的时候,学生将不可以加入该教学班。

教学班的加入可以通过加课码进行加入,一个教学班对应一个码。

学生可以通过输入加课码进行加入。

加入时候如果教师没有设置加入审核的操作,则学生输入对应的加课码就可以加入到该教学班下。

如果教师设置了加课审核的话,学生的申请需要教师去审核通过,通过之后学生才可以加入对应的教学班。

具体流程如图4.3。

图4-3教学班创建和加入流程

(4)发布作业流程,教师可以发布两种作业,第一种个人作业,个人作业对于教学班内的学生都是一样的,每个在该教学班的学生都必须要完成该作业。

另外一种作业就是小组作业,教师可以指定学生组成一个小组,学生也可以自行组建一个小组。

教师可以对不同的小组指定不同的作业。

对于小组的作业教师可以看见小组作业完成的百分比。

具体流程如图4.4

图4-4作业发布流程

(5)作业分析流程,系统会对学生提交上来的作业进行分析,比如一个学生多次提交的作业都被教师打回或者是被系统自动退回。

达到一定的次数之后,系统会提示教师注意改名学生的学习情况。

系统还会对每个教学班做数据分析,分析出作业查重率最低,作业被打回次数最少的教学班。

前五名的教学班会展示出来,对该优秀教学班的教师进行系统上的权限的开放,比如提高教学班的创建数量等这种系统权限限制。

4.2功能模块设计与分析

本系统分为五大模块,分别是作业模块、课程模块、互动模块、分析模块、资源模块。

(1)作业模块,这个模块主要是管理学生提交上来的作业,作业的形式主要有word文档和压缩文件。

这里会涉及到文件上传的操作。

这块采用OSS,将文件资源上传到OSS资源站上。

目前考虑的是七牛或者阿里的OSS。

作业模块涉及到大量的IO操作,用户在上传文件时采用异步上传,这样用户在上传的时候可以减少因为上传文件带来的卡顿。

此模块还有就是查重功能,会对学生上传的作业进行查重。

查重的接口采用Python的接口,调用API将文件作为文本传入进行判断得出查重率。

(2)课程模块,此模块的主要是教师角色使用,教师可以开创一个教学班。

将同学加入到此教学班中,进行教学。

这里每一个教学班都会有一个加课码,创建教学班的时候就会生成。

教师可以重新生成加课码,学生可以通过扫描二维码的方式获得加课码,二维码的生成调用聚合的API,扫码出来的是一串字符编码。

学生输入这6位编码加入到教学班中。

(3)互动模块,此模块可以理解为留言模块,此模块主要是可以让学生在线提问题,学生将自己在作业中遇到的问题发到讨论区,讨论区里面可以看到其他学生提出的问题,以及学生们可以回答其他学生的问题。

学生还可以私信老师,可以向老师提出问题。

每个提交的作业都设有留言模块,你可以给老师留言,比如你对作业中存在的一些疑问,可以在提交完作业之

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1