高校课程重修管理系统设计与开发研究
2020-05-29广东东软学院付冬波李达志林燕萍
文/广东东软学院 付冬波 李达志 林燕萍
随着云计算、物联网、大数据、人工智能和虚拟现实等技术的快速发展,党和国家对教育信息化工作愈加重视。在2018年4月13日,教育部正式印发了《教育信息化2.0行动计划》的通知,提出要加快教育现代化和教育强国建设[1]。该通知引领我们要更加坚持应用驱动、更加坚持深度融合,以有效地运用信息化工具及技术来促进教育[2]。
一、开发背景及意义
我校课程重修业务由教务部和各学院协同完成。由教务部负责工作组织,各院系部及专业负责组织学生报名及审核。之前一直采用的是传统的纸质版流程申请及利用EXCEL报表进行数据统计这一管理模式。每学期开学之初,需要进行课程重修选择的学生人数较多,那么如何合理地将各学生安排在各开课班级,以及根据重修人数重开教学班等问题,暂时没有得到有效合理的方法解决。学生与老师之间的交互反馈、各班级人数的统计等工作往往会耗费大量的时间和精力,且工作效率低下、学生满意度低以及数据的准确性也难以得到有效的保障。
图1 MVC框架设计图
通过开发该系统,在教务部下发重修报名通知后,学生可通过系统便捷地查询和选择本学期可申请重修的课程和教学班级;各学院能通过专业、课程、学生等多重复合条件查询本学院重修申请记录,批量审阅学生的重修申请,调整重修教学班或退回重修申请,并能及时反馈意见给学生。从而为学生和老师提供了便利的申请和审批渠道,打破了课程重修的数据孤立和数据互传空间问题,提高了学校教育信息化建设工作。
二、系统设计
1.开发工具
本系统运用Idea作为开发工具。
2.框架设计
系统共分4大模块,分别为重修申请模块、专业负责人模块、开课学院模块和教务模块。
3.基本处理流程
首先将课表数据从教务系统搜集到数据平台(ETL),通过ETL工具将数据从数据集成平台服务器导入到业务数据库中。在导入数据库后利用接口进行获取,利用页面进行展示。
4.技术架构
(1)基础软件。包括操作系统、Java运行环境、Web服务器软件、Oracle 11g、安全组件、单点登录组件、其他需要的软件等。
(2)支撑层。采用自主研发的成熟技术开发平台,主要提供界面集成框架、报表分析、用户管理及权限控制、业务流程服务、接口服务发布等。
(3)应用层。主要采用时下流程的Java开源技术—SSM框架。其中Mybatis负责加载数据,并将数据持久化到数据库;Spring负责对象的依赖注入及面向切面的日志处理、事务处理。另外采用SpringMVC作为应用的MVC框架。SpringMVC是采用Java Servlet/JSP 技术实现了基于Java EE Web的应用框架,也是MVC设计模式的经典实现。如图1所示,MVC即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,将单个应用划分为模型层、视图层、控制层。
(4)展现层。采用自主设计的HTML&CSS,结合Bootstrap+jQuery+layerui的前端框架组合,提供美观的界面展示组件和灵活的前端脚本控制。
5.部署架构
有一台服务器作为应用服务器和数据库服务器。服务器上部署了tomcat中间件、oracle数据库,并且根据备份策略设定了定时备份任务等。
6.接口设计原则
专用化原则:接口支持的功能应明确,确保单个接口支持单一功能。
最小化原则:接口的输入输出不宜过大,应针对不同的输入输出组合给出不同的接口设计。
兼容性原则:接口的更新迭代应确保版本兼容,避免对已开发系统造成太大影响。
健壮性原则:接口应对输入、输出数据的合法性进行检查,并确保内部错误不对调用方造成影响。
表1 出错处理设计
7.安全保密设计
(1)应用安全。
身份验证:要求身份验证贯串在Web程序的各个页面。
授权:对用户的授权要区分用户的角色,及要细分用户的权限划分。
输入检验:适当的输入检验是对付现今应用程序攻击的最有力的防范措施之一。适当的输入检验是一个有效的对策,它有助于防止 XSS、SQL 注入、缓冲区溢出以及其他的输入攻击。
SQL注入防范:采取必要的sql注入防范措施。
XSS攻击防范:采取HTTP过滤器,过滤XSS危险字符。
会话管理:Web应用程序是建立在无状态的 HTTP 协议上的,所以会话管理是应用程序级需要负责的。可通过加密身份验证Cookie的内容,以及限制会话的生命周期,以保护会话状态不被未经授权访问等来加强系统的安全。
异常操作:通过控制,不向客户端泄漏信息,且记录详细的错误消息,以及通过捕获异常数据和行为等方式来保证系统的安全。
(2)数据安全。
备份:通过备份保证数据本身的存储安全。
数据库用户权限限制:通过数据库用户权限限制,使用户只能访问权限范围内的数据。
加密存储:用户口令、数据库口令等加密存储。
授权体制:业务数据通过严格的授权体制得以保护。
8.出错处理设计
系统出错处理设计如表1所示。
9.运行环境
(1)服务端运行环境:Windows server 2008,Mysql5.7,Tomcat 8服务器,JDK1.8及以上。
(2)客户端运行环境:客户端浏览器需要IE9及以上或 Google Chrome 浏览器。
web网页端在校园网内24小时运行,用户在校园网内可以随时进行访问。
三、系统功能
1.学生申请功能模块
学生能登录该系统查看自己的学科历史成绩,且能在教务部指定的时间内选择需要重修的课程。重修的课程显示可申请重修课程的教学班信息(教学班上课时间及与其个人课程冲突信息),学生进行申请操作。若所选课程无开班记录,则把信息反馈给专业负责人,由专业负责人负责该课程的替换。在审核结束以后,学生能查看审核结果以及驳回反馈信息。开课班级人数已满的,可进行重修预报名操作,供教务部在课程重修结束以后统计各开课课程重修申请失败人数,根据其实际情况决定是否重修开班。
2.专业负责人功能模块
学生所选重修课程没开课时,专业负责人可根据实际情况指定相应的课程进行课程替换。若无替换课程,则把结果反馈给相应学生。
3.开课系部功能模块
开课院系负责人在规定的时间内完成学生重修申请的审批,系统提供批量审批功能,若需退回学生的申请,则需将退回原因反馈给学生;开课院系负责人可根据该学生的课程冲突情况,为学生替换其他教学班。
4.教务负责人功能模块
教务部负责人可设置课程重修申请的起止时间段;查阅已完成审批的课程重修请求,并可对其进行最终审阅并导出课程重修汇总表;查看各开课课程重修申请预报名人数,根据其实际情况决定是否重修开班。
四、系统特点
1.程序模块清晰,界面简洁
系统分为学生、专业负责人、开课院系和教务负责人四大功能模块,层次分明,权限明了,职责明确。
2.系统安全及保密性强
该系统在应用系统和数据层面上均做了安全保护设计,能有效保证系统使用的安全性。
目前已通过墨盒测试方法,对系统各模块功能进行检测。经检测,该系统能够满足我校课程重修管理工作需求,各功能模块运行正常。现已通过教务部和相关学院验收,且已投入使用中。
课程重修管理系统的设计与开发有效地提高了我校教师的工作效率及学生对课程重修选择的满意度,侧面也促进了我校师生的教学效果,同时也是学校信息化建设不断往前发展的见证。在学校未来的发展进程中,我们仍需紧跟时代科技的步伐,用现代先进技术和工具促进学校教与学的整体效果。