APP下载

基于SSM的实验课程预约管理系统

2020-10-09杨泽平梁伟陈浩韩志彦秦鄂东

物联网技术 2020年9期
关键词:数据分析系统设计管理系统

杨泽平 梁伟 陈浩 韩志彦 秦鄂东

摘 要:针对由于沟通不畅所造成的无法及时安排预约实验课程的情况,文中设计并实现了一个实验课程预约管理系统。该系统基于Spring,Spring MVC和MyBatis框架,采用Shiro对角色、权限管理并进行加密处理,辅以Echarts等数据可视化工具,实现了课程预约、实验室信息管理、数据分析等功能。该系统为实验管理人员提供了实验数据支撑,并方便了任课教师和实验管理人员的沟通。

关键词:SSM;实验课程预约;管理系统;系统设计;数据分析;实验室信息管理

中图分类号:TP315文献标识码:A文章编号:2095-1302(2020)09-0-03

0 引 言

目前,从以往的实验课程预约来看,全校的实验课程具有跨专业、多样性等特点,所需软件及环境往往由于沟通不便利等客观因素造成了预约延迟或者不能安排的情况。鉴于此,设计并实现一个实验课程预约管理系统对于实验人员及时安排预约课程是非常有意义的。

SSM(Spring,SpringMVC,MyBatis)是目前比较成熟的Web项目框架[1],相比于SSH(Spring,Struts,Hibernate)框架,更容易入手;并且SpringMVC是轻量级Web框架,而MyBatis支持动态SQL查询,存储过程和高级映射是一个优秀的持久层框架。因此,其被广泛地应用于各种系统的开发,比如:商品智能推荐系统[2]、项目管理平台[3]、植物辨识交互系统[4]、水质监测数据管理系统[5]、创客教育教学资源库研发系统[6]等。

因此,该实验课程预约管理系统基于SSM框架进行开发,主要是方便实验室管理人员管理以及教师实验课程预约,可以实现实验室软件信息的及时更新,实验室管理人员随时安排、导出预约实验课程信息等。此外,通过该系统还可以对实验课程信息及学生实验情况等进行数据分析,为各专业上机实践情况提供参考意见。因此,实验课程预约管理系统对于教师与实验室管理人员之间的沟通更便利、更流程化,避免了各种信息不畅的情况。

1 系统的功能设计

该系统主要是方便实验室管理人员管理以及任课教师课程预约,可有效地弥补之前信息不均衡的缺憾,实现以下几方面的功能。

(1)有效地完善实验相关信息以备教务人员查询

之前通过Email或者电话预约实验课程时,往往由于一些客观原因,遗漏一些重要的实验信息,或者课程名称、所需软件环境等关键字段不准确,造成任课教师和实验室管理人员之间的信息不均衡。通过该系统,所有必要信息必须通过网上申请纠错,可以有效避免此类问题的出现。

(2)加强任课教师与实验室管理人员的互动沟通

通过该系统,任课教师可以向实验室管理人员提出所需机器数、软件环境、网络等要求,并可以得到反馈意见,比如:上机时间不合适、机房软件无法满足等信息,都可以及时反馈,加强任课教师与实验室管理人员的沟通。另外,所需软件也可以得到及时安装。

(3)提供丰富的实验数据分析信息

通过该系统,任课教师可以查看自己所带的实验学生信息,尤其是大面积基础课,实验学生的专业、班级等信息;实验室管理人员可以查看所有时间段的实验情况,给出一个学期某个时间段实验课程情况、某个学年实验课程信息等,方便进行统计,以备教务人员查询。

(4)实现优秀教学资源共享接口

该系统可以预约虚拟实验,并预留在线虚拟实验、教师上传课件资源和学生上传下载资源等的接口,以备后续扩展。其主要具体功能模块有机房信息管理、教师实验课程预约、实验室管理预约信息、安排预约实验课程信息、统计并導出预约课程信息、角色控制、数据分析等。

2 系统实现及关键技术

2.1 开发及运行环境

整个系统开发环境的操作系统是Windows 10,而运行环境的操作系统是CentOS 7.3,由此可以看出采用Java开发的系统具有平台无关性。因此,此系统不仅可以部署在Windows环境下,也可以部署在Linux,CentOS及树莓派上。整个系统开发环境见表1所列,系统运行环境见表2所列。

2.2 SSM框架配置

该系统采用SSM架构。Spring是非侵入式的框架,具有控制反转和面向切面的特点,根据配置文件指定使用特定参数,调用实体类的构造方法来实例化对象。Spring AOP可根据配置信息拦截请求,作“切面”进行业务处理能容易地实现分模块开发和维护。SpringMVC是MVC分层开发的理念,属于Spring下的子模块。SpringMVC将业务开发逻辑进行模块划分,实现不同层业务代码之间尽可能浅的交互,便于维护和拓展。它的核心DispatcherServlet会根据配置信息匹配相应的处理,这些处理的操作则是由Controller来实现的。MyBatis则是对JDBC的封装,避免了所有JDBC的手动设置等操作,标准化数据库操作,通过XML或注解来配置,实现SQL语句与服务器逻辑代码分离。

以实验室机房管理模块为例,来说明SSM框架的配置。首先,要在数据库中建立1张Classroom表,对应8个字段,包含机房的编号、校区(奉贤与徐汇)、可容纳学生人数、机房软件安装信息等;然后,MyBatis提供数据表和持久化类之间的映射关系,使用XML将接口和Java对象映射成数据库中的记录。这里与Classroom表相对应的持久化类(Java对象)为Classroom,Classroom Dao.xml存放了对Classroom操作的所有SQL语句,其部分代码如下:

insert into classroom

classroom_id,

name,

#{classroomId,jdbcType=VARCHAR},

#{name,jdbcType=VARCHAR},

然后根据配置文件applicationContext.xml将Spring与MyBatis进行整合,由Spring管理MyBatis;再根据配置文件springMVC.xml将Spring与SpringMVC整合起来。

2.3 基于Shiro的角色控制

任何一个Web系统都有一个十分关键、不能缺少的角色就是超级管理员,通过他们的操作不仅可以创设相应角色, 同时还可以为各个角色进行权限的分配。不同权限的人对系统有着不同的操作权力和能见度,比如,拥有菜单维护权限的用户能够管理前台网站菜单,并且同时可以管理菜单相对的页面。各种角色的管理者都有专属的权限,这也极大地确保了前台Web系统所具备的安全性特征。

Apache Shiro是一个常用且使用最多的Java安全框架,它可以提供身份验证、授权、会话管理和加密[7]。根据机房需要,系统使用Shiro设计了4个主要权限角色:超级管理员、管理员、领导、教师用户。通过注解的方式以及HTML标签两种Shiro应用方式,对4个权限角色进行权限划分,如下:

(1)教师用户权限:新增申请、撤销个人申请、接收安排反馈Email;

(2)领导权限:审核用户申请;

(3)管理员权限:新增用户、角色分配、用户删除、安排申请、退回申请、发送反馈邮件;

(4)超级管理员:以上权限均拥有。

Shiro的实现需要权限表、角色表和角色权限关系表,在web.xml,applicationContext-shiro.xml,SpringMVC.xml中加入配置信息,增加對Shiro的支持。在web.xml加中Shiro过滤器,代码如下:

shiroFilter

org.springframework.web.filter.DelegatingFilter Proxy

targetFilterLifecycle

true

shiroFilter

/*

另外,在SpringMVC.xml中启用Shiro注解的配置如下:

depends-on="lifecycleBeanPostProcessor">

2.4 存储过程及触发器的应用

在排课的过程中,会对教师、教室、课程、课程安排等多张表进行操作,有时候会对多张表同时操作,为保证数据的完整性和一致性,在排课时采用存储过程和触发器。在实现排课过程中使用存储过程来查找可使用的实验室,根据输入的校区、起止周、星期、节次信息,设计存储过程查询多张表,找到在所需时间段空闲的实验室。触发器可以用于删除操作,当删除主表中的一行记录时,自动触发delete触发器,将表中的相应记录标记为删除,比如删除某一课程,则选课表中的该课程的所有选课记录标记为已经删除。触发器也可以用于新增和修改,比如当排课表中插入一条记录的时候,自动在排课详情表里插入对应的多条记录。同样,当排课表中的某条记录被更改时,排课详情表中对应的多条记录也将被删除与重建。删除课程的触发器部分代码如下:

CREATE TRIGGER `deleteCourse` BEFORE DELETE ON `course` FOR EACH ROW BEGIN

update application set is_existing = 0 where course_id = old.course_id;

delete from course_arrange where course_id = old.course_id;

END

这个触发器意味着一旦删除课程,申请表将会被修改,同时课程安排表将会删除该课程相关的安排。

2.5 数据可视化及实用化设计

采用Echarts开源数据可视化工具,可以让数据变成生动的图像,使数据更加直观,给用户带来更好的体验[8]。系统中对不同类型课程的选课人数进行统计,如图1所示。

另外,用户希望在自己的申请得到通过或者退回时立即收到通知,如果通过实验管理员排课后手动电话通知,就大大降低了办事效率。这里使用“一键发送”邮箱的方式极大地方便了实验管理员通知申请预约的教师,同时申请预约的教师还可以及时看到申请结果,然后做相应的处理。

此外,根据实际的需要,学校需要对实验室预约申请进行归档,教师需要填写纸质文档并且到管理中心上交。系统提供了PDF版的申请书,用户的申请信息全部由系统从数据库获取,然后生成,用户不需要重复填写申请。而且,系统提供了PDF文件在浏览器预览的功能,一方面,用户可以下载所有已经通过审核和排课的申请,下载PDF文件以便打印;另一方面,用户可以在线预览。动态生成PDF并进行预览的效果如图2所示。

除了在线打印PDF功能外,本系统还提供了Excel文件下载功能。在数据量比较大的时候,管理员可以下载Excel文件进行查看和统计。Excel导出功能如图3所示。

3 结 语

根据实际的预约实验课程的需求,本文设计并实现一个基于SSM的实验课程预约系统。该系统实现了实验课程的预约申请,实验课程的安排,发送邮件通知,实验室信息、学院信息、实验类别、用户等信息的管理以及纸质文档下载备案等功能。通过这样一个一体化的网站平台,大大节省了传统实验室在预约、排课时所浪费的人力、物力,以及避免了在手动排课时出现的失误,极大地方便了师生使用实验室。并且,该系统形成了权限分级,具有良好的接口,便于扩展。

参考文献

[1]李洋.SSM框架在Web应用开发中的设计与实现[J].计算机技术与发展,2016,26(12):190-194.

[2]潘承昌,吴恋,刘远珍,等.基于SSM的商品智能推荐系统的开发研究[J].物联网技术,2018,8(7):73-75.

[3]甄海涛,杨卓林,赵寒涛.基于SSM架构的项目管理平台设计[J].自动化技术与应用,2019,38(5):183-185.

[4]毛啟,崔忠伟,赵勇,等.植物辨识交互系统的设计及实现[J].物联网技术,2019,9(5):70-72.

[5]王梓,夏凯.基于SSM框架的水质监测数据管理系统研究[J].计算机时代,2018(7):25-27.

[6]陈林龙,李志飞,向凯悦,等.基于SSM的创客教育教學资源库研发系统[J].物联网技术,2019,9(1):111-113.

[7]易文康,程骅,程耕国.Shiro框架在Web系统安全性上的改进与应用[J].计算机工程,2018,44(11):135-139.

[8]王龙,王一男.基于ECharts的可视化高校综合信息分析决策系统[J].现代电子技术,2017,40(6):68-70.

[9]白春强.基于SSM框架的投资项目经济评价系统分析与实现[D].济南:山东大学,2019.

[10]李文杰.基于SSM框架的高校信息采集与管理系统[J].信息记录材料,2019(10):144-145.

猜你喜欢

数据分析系统设计管理系统
基于James的院内邮件管理系统的实现
基于LED联动显示的违停管理系统
海盾压载水管理系统
浅析大数据时代对企业营销模式的影响
基于RFID的仓储管理系统实现