APP下载

“互联网+”下职校教务管理平台的研究与开发

2017-11-20刘娟

电脑知识与技术 2017年25期
关键词:关键技术互联网+互联网

刘娟

摘要:互联网与大数据时代需要职校的教务管理与时俱进。在分析职校教务管理的流程和需求后,采用SSH2架构进行分层设计,并对各模块进行了功能设计,然后对开发的关键技术包括数据库连接、安全控制、报表管理等进行了阐述。实践表明,“互联网+”下的教务管理平台实现了对传统职校信息化建设的重塑。

关键词: 互联网+;教务管理平台;SSH框架;关键技术

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)25-0065-03

近年来,随着计算机、互联网+、大数据、Wireless Fidelity等技术的高速发展,职校校园网建设也日趋完善,整体信息化进程不断推进。学校规模的扩大与层次的多样化,使得校园也成为大数据应用的地方,其中以教务管理尤为突出。借助互联网和信息化手段管理教务工作,可以有效整合教学资源,规范数据储存与共享,使用户访问不受时间和地域限制,高效解决问题。因此,从职校的实际需求出发,构建了一个“互联网+”下的一体化教务管理平台。

1 业务流程分析

职校教务管理是从学生入学到毕业的一系列繁杂业务的操作,主要包括新生从报到建立学籍到组织资源安排课程、从发放教材安排上课到组织考试、管理成绩等一系列的业务流程。教务管理流程如图1所示。

2 功能需求分析

根据教务工作实际需求,得出平台主要使用对象为教务管理员、教师和学生。

教务管理员需求:能进行学籍、成绩、排课、考务和教材等教务信息的录入、查询、修改、删除、导出等操作;

教师需求:能进行学生成绩录入、修改、导出等操作;可以查询其他教务信息和维护个人信息;

学生需求:可以查询个人成绩、学籍信息、课表和考试安排,维护个人信息。

此外,还需设置系统管理员进行平台和用户管理。并且还应具有用户登录、日志记录、数据备份、安全退出等功能。

3 总体设计

3.1 技术方案

平台基于B/S模式,选用Tomcat为Web服务器、MS SQL Server为后台数据库,以MyEclipse为开发环境,使用Java语言、JSP等技术开发。

采用轻量级的J2EE架构—SSH2(Struts2+Spring+Hibernate)框架,将平台分为Web表示层、业务逻辑层、数据持久层和数据库层。SSH2框架分层体系图如图2所示。

其中,Web表示层是与用户的交互界面,采用Struts2框架,通过JSP和Action类来实现,主要负责收集用户请求、返回结果页面。业务逻辑层是整个平台的核心,采用Spring框架实现,并负责与Struts2和Hibernate整合;主要进行业务逻辑处理,为表示层提供业务方法。数据持久层,采用Hibernate框架实现,负责把数据库层中的数据转换成类持久对象和对应的DAO实现,供业务逻辑层调用[1]。数据库层负责存放系统的应用数据,提供访问的数据源。

分层设计使得每层职能明确,各层间通信通过接口互联,降低了各层间的耦合度,提高了组件的复用性,有利于平台的维护和扩展。

3.2 功能设计

本教务管理平台由系统管理、基础信息管理、学籍管理、成绩管理、教学资源管理、排课管理、考务管理和教材管理八个模块组成,具有用户登录、分权访问、信息存储、维护、查询导出,安全退出等功能。平台功能结构图如图3所示。

1) 系统管理

实现权限管理、用户管理以及系统相关的维护。可以对角色赋权,完成用户创建维护、角色分配以及系统菜单设置、日志记录、数据备份、安全控制等维护功能。

2) 基础信息管理

实现专业和班级信息的管理。可以设置专业名称、代码及学制信息;能进行编班、分配班主任等班务管理。

3) 学籍管理

实现学生学籍信息、学籍异动、在校奖惩和毕业信息的管理。能够进行学籍信息的批量管理,可以对学生休学、转专业等学籍异动及在校奖惩情况进行记录和查询导出;能进行毕业审核并生成毕业生信息表。各类信息可以进行组合查询后以报表形式导出。

4) 成绩管理

可以实现成绩录入、修改、查询、分析统计等功能。能在规定时间内录入和修改成绩,可以按条件进行成绩查询、导出;并能对成绩进行分类统计生成图形化报表或者补考、重修名单等文档报表。

5) 教学资源管理

实现教师管理和教室管理。能对教师个人信息、主讲课程、教学成果等进行统一管理,并对全校的教室大小、使用情况进行分类管理。

6) 排课管理

主要实现教学计划管理、课程安排和课表查询功能。可以管理开设课程的代碼、名称、学时,性质等信息,并制定每学期各专业教学计划用于课程安排;能根据教师、班级(职校每个班级有固定教室)、时间的需求,按照一定条件自动排课,然后检验冲突手动调整,最终生成合理可行的总课表、教师课表和班级课表;并可以按照条件查询、导出不同类型的课表。

(7) 考务管理

实现考试安排及查询导出。能根据课程、班级、学生人数、教室信息,安排考试时间、科目、班级、考场及监考教师,并生成考试表安排供用户查询导出。

8) 教材管理

实现教材的集中管理。主要包括教材信息与征订、教材发放、库存管理等功能,实现了教材的进销存管理。

3.3 数据库设计

主要包括数据库表设计和表间关联设计。本平台设计了用户表、角色表、用户角色表、学生表、成绩表、教师表等多个数据库表,以MS SQL Server为后台数据库管理系统,运用Power Designer将数据库表映射到数据库中。endprint

3.4 包结构设计

平台在My Eclipse下开发,通过建立目录树的包结构来分类管理类文件。主要的包结构如下:

1) cn.zx.jwgl.domain包:存放需要进行映射转换的实体类;

2) cn. zx.jwgl.dao包:存放DAO接口;

3) cn.zx.jwgl.dao.impl包:存放DAO 接口的实现类;

4) cn.zx.jwgl.service包:存放Service接口;

5) cn.zx.jwgl.service.impl包:存放Service接口的实现类;

6) cn.zx.jwgl.action包:存放Struts2的Action类;

7) cn.zx.jwgl.util包:存放所有工具类;

8) cn.zx.jwgl.cfg包:存入所有配置文件;

9) cn.zx.jwgl.filter包:存入所有过滤器类。

4 关键技术

4.1 数据库连接池技术

平台使用时会频繁地访问数据库,例如在成绩录入时期,用户数和并发量的剧增会造成数据库连接瓶颈,故采用“数据库连接池”技术来加快响应时间,提高访问效率。连接池的思想是将一定数量已建好的连接预先存入“连接池”中,若要建立连接,则直接从“连接池”中取出,用完后再放回池中供它用[2]。

本平台使用c3p0连接池,在Tomcat 中配置数据源时,在sevrer.xml中添加元素定义数据源,在web.mxl中添加元素声明数据源。并且在Hibernate配置文件中指明数据源、驱动类型等参数;本平台在实际使用中,应根据需要设置合适的连接个数及每个连接的最大使用次数,其中最小和最大连接池容量是设置的关键。

4.2 用户登录

各类用户通过Web页面登录,输入用户名、密码和验证码后,点击登录按钮,登录表单里的验证数据会提交至服务器与数据库中保存的数据做比较,验证成功后,会根据用户角色进入相应的用户主页面。如果登录信息有误验证失败,则返回参数提示用户信息错误等待重输,用户登录时序图如图4所示。

平台采用模糊错误提示,即不论用户名或者密码有误,都只给出“登录信息错误,请重输”的提示信息,以防止用户信息暴露被攻击者侦测[3]。登录时使用验证码校验,防止客户机被恶意软件自动登录等暴力破解攻击,提高服务器和数据库的稳定性。

4.3 安全控制

4.3.1 权限控制

本平台采用RBAC(Role Based Access Control) 进行权限控制,在角色分配中,把权限控制分为模块级与数据级两种,如果角色具有模块级权限,可以浏览模块;如果具有数据级权限,则还可以对数据进行增删查改等操作[4]。

平台用户分为系统管理员、教务管理员、教师、学生四类角色。系统管理员拥有最高的权限;教务管理员拥有教务各个模块管理权限,能进行信息增删查改和导出操作;教师可以进行授课成绩的录入、修改、导出操作,可以对授权模块查询;学生可以查询个人成绩、学籍信息、课表和考试安排。

权限控制通过数据库中设计用户表、角色表、权限表、用户-角色表、角色-权限表来描述。RBAC降低授权管理的复杂性和管理开销,保证了系统安全环境。

4.3.2 数据加密

本平台使用DES(Data Encryption Standard)加密算法。它是一种对称加密算法,加密性能高,处理速度快,显著提高系统安全性。使用JCE (Java Cryptography Extension) —Java内置密码扩展包,完成数据加密/解密[5],具体算法用Bouncy Castle的JCE来实现,设计了EncryptorDES类,由它提供加密/解密的接口。

4.3.3 日志记录

日志用来记录用户登录信息和各种操作以及异常信息(如攻击者的痕迹)、程序错误原因等。管理员需要经常查看日志并且备份。日志记录可以使管理员了解系统运行情况,准确定位故障,排除安全隐患。

4.4 Ajax技术

Ajax是对JavaScript、DOM和XMLHttpRequest等技术的整合,利用Ajax技术可使Web应用系统与服务器进行异步交互,实现局部刷新而不需重载页面[6],让用户可以无缝使用系统,提高了用户体验并减少带宽占用。

本平台广泛采用Ajax技术来优化用户操作。例如在新增班级时,会对输入的班级名称进行检验,若输入的班级已经存在,则提示“此班级已存在”,不允许新增。又如输入学生信息时,会对身份证号码进行检查,符合规则才允许输入其他信息后保存;否则显示红色提示:“身份证号有误”,且“保存”按钮呈灰色不可用状态。

4.5 报表管理

1) 导出文档报表。本平台主要采用Java的开源项目来生成Excel和PDF两类格式报表。其中,Excel格式选用功能和效率均较好的PIO创建,PDF格式采用开源站点SourceForge的项目iText生产。

2) 生成图形报表。除了文档报表,对于成绩信息等还可以生成图形报表。以Java Servlet为后台服务组件,借助JFreeChart组件生成统计分析表图片,并将图片直接下载到浏览器中,实现了饼状、柱状和曲线三种分析图显示功能,直观、清晰地显示统计结果,对了解学生成绩等信息的分布及变化趋势有重要的参考价值。

4.6 中文编码和分页显示

平台的页面都做了中文编码处理避免出现乱码。但若在每个页面中均编写代码会产生大量的重复代码,故使用过滤器处理,同时在 web.xml 中配置好统一字符编码。

平台使用Struts2实现分页显示。把数据库表中的每行数据封装成对象,用类型为List的方法返回它们,并在Action里定义一个List属性,用这个List接收查询后封装的对象,最后通过Logic标签遍历集合里的对象,可以查询集合对象的属性使之显示在页面上。

5 结束语

从职校教务管理信息化的要求出发,开发了基于“互联网+”的教务管理平台,测试结果总体达到预期目标,仍有细节有待完善。运用此网络平台极大地提高了教务管理的效率,实现了数据与资源共享,推进了职校的信息化进程。

参考文献:

[1] 李刚.轻量级J2EE企业应用实战:Struts Spring Hibernate整合开发[M].北京:电子工业出版社,2007:423-453.

[2] 王萍.基于Web的教务管理信息系统的研究与设计[J].中国管理信息化:综合版,2006,9(3):90-93.

[3] 林萍.基于SSH+DWR的高校科研管理系统研究与实现[J].计算机应用与软件,2014,31(7):66-68

[4] 杜建彬.基于角色的访问控制在教务系统中的应用探究[J].科教导刊,2010,31(2):134-135

[5] 360百科.DES算法[EB/OL].[2017-07-20].https://baike.so.com/doc/5429347-5667575.html.

[6] Ryan Asleson. AJAX基礎教程[M]. 金灵,译.北京:人民邮电出版社,2006.

猜你喜欢

关键技术互联网+互联网
小麦春季化控要掌握关键技术
棉花追肥关键技术
成功育雏的关键技术
老苹果园更新改造的关键技术
从“数据新闻”看当前互联网新闻信息传播生态
互联网背景下大学生创新创业训练项目的实施