PaperTan: 写论文从未如此简单

学科教育

一键写论文

教学工作量管理系统的设计与实现

时间:2017-01-15

教师工作量管理是教学信息管理系统的核心与基础。面对海量数据和报表,传统手工处理方式已难以适应现代化管理需求。为此,我们设计并开发了教师工作量管理系统,能够高效完成相关数据统计工作,解决计算方法复杂、工作效率低等问题,从而推动工作量管理的进一步发展。

1 背景

教师工作量管理是整个教学信息管理的核心和基础,传统的教学部门对工作量的统计一般采取Exce表格人工统计,这种方式虽然灵活,但是收集数据过程复杂,容易出错。并且对于历史数据查询不方便,对教师工作量没有有效的管理和统计分析,不能对课程安排做出合理的决策指导。

结合我校多年来的教务管理工作中教师工作量统计的实践经验,开发了教学工作量统计分析系统,推动了教师工作量管理更好的发展。系统能准确快速地完成与教师工作量有关的各项数据统计工作,解决计算方法繁杂、工作效率低的问题。

2 系统需求分析

一直以来,我校教师教学工作量的统计采用任课教师自己填报,经各系院教学秘书核对及主管领导审核后提交至教务处,教务处审核后存档并提交至学院人事处核算课酬。在这个过程的每一个环节中,工作量均采用手工计算,教师要记住繁杂的计算公式,还要统计每年的实际工作量,很显然,这种采用人工方式计算教师工作量不仅费时费力,而且很容易在统计过程中出错,许多老师也多次呼吁能尽快改变目前这种手工计算教学工作量的方式。

根据我校教学工作量管理的实际流程及一些特殊要求设计并开发出教师教学工作量管理系统,解决教师教学工作量管理的实际问题,系统的总体功能需要与现有的教务系统对接,获取教师的工作量原始数据,还需要与人事管理系统对接,输出工作量统计数据用于核算课酬。教师工作量管理系统的功能结构如图1所示。

3 系统设计

3.1 系统实现技术

教师工作量管理系统的整体架构采用B/S结构,教师客户端支持使用手机APP和微信访问,教务处和系部管理端使用浏览器访问。在调研现有教务系统功能的基础上,通过WebService实现了与现有的教务系统的对接,对现有系统的功能进行封装[4,5],提供教师基本工作量原始数据的查询,包含排课信息、调停课信息等。

根据学校实际工作的需求,对教师参与学校公益性工作量进行记录和统计,方便计算公益分。教师用户手机APP用户界面如图2所示。

3.1.1 用户访问控制机制

信息系统的开发已经变得越来越简单,但是每一次开发有很多的功能都是相同的,如访问权限控制。对一个多用户应用系统而言,系统的安全访问控制是必需的,系统的安全访问控制一般是通过用户认证和用户权限管理来实现。目前大致有三种安全模型:访问矩阵、基于角色的访问控制模型和多级模型。系统采用基于角色的访问控制(RBAC-Roe based access contro),这些基础功能由OpenCenter框架提供,简化了编程工作,加速了项目实施的进度。

3.1.2 服务端实现技术

3.1.3 客户端实现技术

PC版本的客户端采用HTML5+jQuery,采用Ajax方式远程调用统一的后端API方式实现,css框架使用Bootstrap 3。

根据系统的功能需求,系统的客户端包含了传统的PC端、移动客户端APP(支持安卓和IOS系统)以及微信公众号应用。为提高系统的可扩展性和降低客户端的维护工作量,所有客户端调用统一的API。API的设计遵循以下原则:

1)提供密钥和token,确保数据不被篡改,系统拒绝接受伪造的访问请求。

3)提供统一的错误码。每个数字代表一种错误。错误分系统错误和业务逻辑错误,系统错误码统一从4001开始编号,业务逻辑错误统一从5001开始编号。

4)接口返回值格式统一结构,用JSON格式输出,包含状态码(错误码),错误信息和业务数据三个基本域,如果程序执行成功返回固定状态码“200”,如果出错则返回系统错误码或者业务错误码。例如:{code:200, message:’成功获取用户数据’, data:{uid:101, username:’admin’,…}}。

3.3 系统API访问机制

为提高系统的安全性,每个用户只能查询自己的数据,并且为了避免每次请求都进行身份验证和防止数据被篡改,系统在用户初次访问时候进行身份验证,密码通过MD5算法转换后发送到服务器,验证身份通过之后获取一个表明身份的token,服务端缓存相应的用户ID和登录时间数据,实现'a'=>b 和'b'=>a格式的缓存,也就是说可以根据token查询用户id和登录时间或者根据用户id查询token数据。另外为提高安全新,采用类似于微信的安全机制,产生一个32位的随机字符串用于加密生成token。生成token的核心代码如下:

private function getToken(uiduid, appid, appsecretappsecret, cache_time=7200)

{

key=key = appid . '' . appsecret..appsecret.’’.uid;//或者自己定义一个规则

nonce=nonce = this->createNoncestr(32);//产生32位的随机字符串

tmpArr=arraytmpArr = array(nonce, appidappid, appsecret);

sort($tmpArr, SORT_STRING);

tmpStr=impodetmpStr = impode(tmpArr);

tmpStr=sha1tmpStr = sha1(tmpStr);

//这里做了缓存 'a'=>b 和'b'=>a格式的缓存

S(keykey, tmpStr, cachetime);//cachetime);//cachetime=7200

S(tmpStrtmpStr, key, $cache_time);

S(key.uidkey . 'uid', uid, $cachetime);

return $tmpStr;//返回生成的TOKEN

}

4 结束语

教务管理工作是高校教学管理的一个基本功能,目前实现了教学工作量的统计这一特定需求,后续还将继续完善该系统,尤其是教师客户端的功能,增加日常教务信息的查询和学生考核等方面的功能,使教师能够通过手机访问现有教务系统的主要功能,提高教师办公效率。

参考文献

[1]邹俊. Excel在实践教学工作量统计中的应用[J].智能计算机与应用. 2014.