基于SSM的实验课程预约管理系统
作者:杨泽平 梁伟 陈浩 韩志彦 秦鄂东
来源:《物联网技术》2020年第09期
作者:杨泽平 梁伟 陈浩 韩志彦 秦鄂东
来源:《物联网技术》2020年第09期
摘 要:针对由于沟通不畅所造成的无法及时安排预约实验课程的情况,文中设计并实现了一个实验课程预约管理系统。该系统基于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,l存放了对Classroom操作的所有SQL语句,其部分代码如下:
<insert id="insertSelective" parameterType="com.ity. Classroom">
insert into classroom
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="classroomId != null">
classroom_id,
</if>
<if test="name != null">
name,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="classroomId != null">
#{classroomId,jdbcType=VARCHAR},
</if>
ssm框架主要代码在哪里 <if test="name != null">
#{name,jdbcType=VARCHAR},
</if>
</trim>
</insert>
然后根据配置文件l将Spring与MyBatis进行整合,由Spring管理MyBatis;再根据配置文件l将Spring与SpringMVC整合起来。
2.3 基于Shiro的角控制
任何一个Web系统都有一个十分关键、不能缺少的角就是超级管理员,通过他们的操作不仅可以创设相应角, 同时还可以为各个角进行权限的分配。不同权限的人对系统有着不同的操作权力和能见度,比如,拥有菜单维护权限的用户能够管理前台网站菜单,并且同时可以管理菜单相对的页面。各种角的管理者都有专属的权限,这也极大地确保了前台Web系统所具备的安全性特征。
Apache Shiro是一个常用且使用最多的Java安全框架,它可以提供身份验证、授权、会话管理和加密[7]。根据机房需要,系统使用Shiro设计了4个主要权限角:超级管理员、管理员、领导、教师用户。通过注解的方式以及HTML标签两种Shiro应用方式,对4个权限角进行权限划分,如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论