一、启动说明

  • 项目为maven管理,最近集成了redis,所以在运行项目是先要下载redis并启动客户端,方可正常运行项目,除了基本的maven,mysql外,只需要下载redis,无需其他配置,这里就不做过多说明。

二、相关技术说明

  1. 集成redis来保存用户登录信息,添加过滤器重置用户登录有效期。拦截器实现统一登录和权限校验(相关重构还未完成)。
  2. 项目采用前后端分离技术实现
  3. 框架:SSM(Spring,SpringMVC,Mybatis)
  4. 缓存:redis
  5. 数据库:MySQL
  6. IDE:Intellij IDEA
  7. 其他:Maven,Git

 三、项目亮点

  1. 前后端分离。
  2. 用户登录权限区分和控制。
  3. 防止横向越权和纵向越权。
  4. 密码MD5明文加密。
  5. 设计高复用的服务器响应对象。
  6. guava缓存。
  7. pojo,vo抽象模型。
  8. 数据绑定对象。
  9. Mybatis分页
  10. Bootstrap。
  11. artTemplate,artDialog,iframe前端模板使用。
  12. select2、toastr、sweetalert等等前端插件的使用。
  13. redis缓存。
  14. 全局异常处理,拦截器权限统一检验。

用例分析

学生主要操作的是网站前台,他的用例主要有登录、浏览课程信息、下载课程资料、在线测评考试、查看考试成绩、查看公告通知。对于没有登录的学生来说,他的操作权限比较小,所以只能查看网站的课程信息以及下载课程的资源。而登录后的学生就可以有权限操作系统前台的所有内容了,比如在线测评考试,查看考试成绩,修改个人用户信息,查看通知公告信息等等。学生首次进入教学网站是没有进行登录的,如果没有登录的学生操作这些内容,则系统会提示登录。学生用例图如图3-1所示。

教师端的功能比较复杂,它主要由题库管理,试卷管理和资源管理组成。在题库管理中,有添加试题,修改试题,删除试题等功能。试卷管理中负责将题库的试题进行组装,进而发布给学生进行作答。最后的资源管理中主要用来给学生上传教学过程中的资料,比如文档,视频等。教师通过这些模块和功能可以对学生进行线上的学习沟通和交流,为教学资源提供更全面的平台。教师用例图如图3-2所示。

管理员的主要功能是负责维护学生和教师的信息,还有对学生年级和专业科目的管理,以及发布一些通知公告,管理员在管理学生和教师管理功能中主要负责添加学生和教师的个人信息。管理员主要分为公告管理,教师管理,学生管理,专业年级管理。并且管理员还可以进行个人信息的管理。管理员用例图如图3-3所示。

系统功能模块设计

学生功能

(1)登录功能

学生登录是为了存储学生的个人信息,在学生进行在线测试的时候方便记录学生的姓名已经分数,学生的账号和密码由管理员统一录入,所以不需要学生自己注册账号。如果输入的密码或者账号不正确,则系统会提示相应的错误信息。

(2)课程查看

课程查看是开放在系统的前端首页中的,学生不需要登录就可以看到各种课程的相关信息,比如学生想查看关于数据库的课程,只需要点击课程查看中的数据库菜单就可以进入数据库栏目的教学课程之中。

(3)资源下载

资源下载也不需要学生进行登录,学生只要找到资源下载模块,就可以进入资源下载列表,资源列表中包含所有教师上传的资源包括PPT、文档、图片等。类似于一个线上的FTP服务器,学生只需要选择自己需要的资源点击下载,就可以在本地下载。在资源下载的列表中,还会显示资源的大小以及上传的时间,方便学生有选择性的进行下载。

(4)在线考试

在线考试是整个系统的核心功能,它包括了学生在线作答,以及系统的自动评分。

进入在线考试时,学生必须进行登录,否则提示无权限进入。当学生登录后,可以选择考试,通过选择试卷名称来进行相应的试题答卷。学生答题完毕后,系统进行自动评分,通过计算学生答卷的正确个数,给出相应的题目得分,并算出总分。

(5)查看成绩

当学生答题完毕后,点击提交按钮,试卷便会提交并且自动核实答案进行给出相应的分数。本次的考试试卷以及分数自动保存在考试成绩中,方便学生进行查看。学生也可以点击成绩查询来查看历次的考试成绩。

(6)查看公告

在前台首页中有系统公告栏目,栏目信息由管理员发布,学生可以进行查看公告栏目中的信息。这个通知按照时间线顺序,学生可以很清楚的知道管理员发布的通知内容和发布的时间。

教师功能

(1)查看公告

教师模块是为老师提供教学服务的一个模块,教师通过登录账号进入到教师管理页面进行管理。老师进入到教师系统后,同样也可以看到管理员发布的通知。

(2)管理题目

教室进入到题目管理,老师可以查看题库,题库中是所有类型的题目,老师可以启用和停用题库中的题,也可以对题库中的题进行查找。若题库中找不到考点相关的题目,老师也可以新增试题,并将新题加入到题库中。

(3)管理试卷

试卷管理是让老师从题库中进行选择题型,然后组装成一张试卷,最后发布给学生进行作答。试卷管理中可以进行老师的手动组卷,也可以让系统自动组卷,做装好的试卷存放在试卷中心中,老师可以进入试卷中心查看试卷,并可以选择试卷是否启用,启用试卷在试卷发布中可以进行发布,发布成功的试卷学生就可以进行选择作答。

(4)管理成绩

教师发布后的试卷当学生做完后,系统会自动进行打分,并且保存在数据库中。当学生做完试卷后,教师的成绩管理自动进行更新,出现学生考试的成绩。并且老师可以查看所有学生所做试卷的成绩。

(5)管理资源

在教学管理中,老师可以根据自己的教学目标,将资料上传。上传使用批量进行上传,教师选择所需要上传的资料,等待系统加载完毕后,点击上传,资料便会上传至系统服务器之中。

(6)个人中心

在教师的个人管理中,老师也同样可以在个人中心中修改自己的密码以及密保问题。即使教师忘记了自己的密码,也可以通过找回密码进行重新设置密码。

管理员功能

(1)管理公告

管理员模块仅提供给系统管理员,其功能主要是管理学生和教师的信息。管理员登录系统后,可以向老师和学生发出通知。默认情况下,系统将获取当前发布时间,发布的信息将按照发布时间的顺序进行排序。同样,除了发布公告信息,管理员还可以修改和删除已经发布的信息。

(2)管理教师

管理员进入教师管理,可以看到所有老师的信息,管理员可以进行添加教师,也可以对老师的信息进行修改或者删除操作。

(3)学生管理

管理员进入学生管理,可以看到所有的学生信息,可以对学生进行添加,也可以对学生的信息进行修改和删除。这里的学生信息即为学生登录的信息。

(4)专业管理

专业年级管理主要是对年级和专业进行操作,管理员可以通过专业年级来增加新的年级或者新的专业。同样,管理员也可以对已经添加的专业或者年级进行删除或者修改操作。专业年级也将和学生的个人信息以及学科的类别进行关联。

项目展示

学生可以通过浏览器输入网站地址就可以进入到教学网站的前台页面,在前台页面中,有课程的相关信息,这些课程根据自己的技术进行分类。学生在没有登录网站的情况下可以进行查看网站课程的相关信息,点击课程类,可以进入到此类课程的相关教程,相关课程中包括本课程的相关信息。前台教学网站首页展示图如图5-1所示。

在网站首页的右上角有登录按钮,这是为学生专门设计的登录接口。学生通过管理员录入的学生信息和密码进行登录。如果学生没有输入任何信息进行登录时,前端会进行判断,并且提醒学生输入用户名和密码。当学生正确的输入自己的用户名和密码时,系统自动跳转到网站首页,在右上角会显示已登录学生的姓名。此时,学生登录成功,登录成功的学生就可以进行在线考试和查看成绩。学生登录页面如图5-2所示。

如果学生进入网站后没有进行登录就点击在线测试,系统会提示学生进行登录。当用户点击登录并且成功登录系统后,方可进入在线考试。当学生进入在线考试系统后,可以看见教师发布的专业试卷信息列表,并且有对应的发布时间和相应的操作。如果学生选择一个专业试卷后,点击试卷后的答卷操作就可以进行试卷的答卷。当学生进入考试系统后,会出现本次考试试卷的试题信息,以及出卷老师和试卷的总分。学生通过选择正确的试题答案就可以进行在线的作答。学生在线考试页面图如图5-3所示。

老师通过登录后,进入到老师管理页面,老师首页同样可以看到管理员所发布的通知。在左侧的教师功能栏目中包括题目管理,试卷管理,学生管理以及资源管理。同样在右上方中有老师的相关信息,老师可以通过设置进入个人信息进行密码等信息的修改。教师首页展示图如图5-4所示。

在题目管理中,包括了题库中心,试卷管理以及新增试卷功能。点击题库,可以进入到试题管理列表,列表中存放所有的试题信息,教师可以对试题进行查询和查看详情。在试题中心中,存放的是该教师所出的题目,与题库不同的是,该教师可以对自己所出的试题进行删除和修改,启用或停用。而在题库中存放的是所有教师所出的试题,只有查看的权限。在新增试题中,教师可以选择新增试题的类型,然后进行出题和提交。试题管理界面图如图5-5所示。

具体项目功能展示视频:https://www.bilibili.com/video/av81396646

下载地址

项目由本人设计,由于下载区下架了程序源码,所以需要的小伙伴可以加群下载,有什么部署问题可以留言或者群中讨论。

QQ群:671408308