校园一卡通系统在教务管理中的应用及设计
1 教务管理的现状
随着高校招生规模的不断扩大,各高校都在寻求一种简捷高效的现代化管理模式.目前,学校教学、教务管理系统尚缺乏整体规划,现有资源利用率低, 教务管理效率不高,信息化观念不强, 管理过程中经验式管理占据主导地位.虽然大部分高校已经使用了教务管理的办公软件,但只利用了软件中多功能的极小部分,未真正将信息化的理念渗透其中。
为了加强高校教学、教务秩序的管理, 进一步提高学校各部门的工作效率及校园的信息化水平,应使用一种简捷、高效的现代化管理模式,校园一卡通系统便是这样的一种管理模式, 它能为数字化校园提供全面的数据采集平台,结合学校的管理信息系统和网络,形成全校范围的数字空间和共享环境。
2 系统设计目标
1) 一卡多用.系统所采用的IC卡作为信息载体存储了大量的信息,将原有的学生证、医疗证、借书证、阅览证、上机证等合为一体,方便了使用和管理。
2) 实时管理.通过一张卡实现用户的身份认证和管理, 可以实现学校管理信息系统的无缝连接,实现学生的基本信息查询, 并且能按用户权限进行各种信息的实时管理。
3) 数据共享.进一步统一学校各子系统间的共用标准数据库,实现校内数据共享,提高工作效率。
3 系统设计
3.1 系统简介
本系统主要设计的是校园一卡通系统在教务管理中的应用方案, 主要完成对学生信息的管理: 从新生报到、交费, 到办卡中心注册和领取校园卡, 卡上将记录学生的基本信息: 姓名、性别、出生年月、班级、学号等; 在校学生新学期开始时,到终端POS 机上刷卡, 服务器便会记录下这个学生的信息, 并注明已经注册; 学校将在每个教室安装终端POS机, 学生上课前刷卡, 下课后再一次刷卡, 这样可以记录学生的出勤状况; 学生还可以在终端POS 机上查询已修课程成绩, 选课和本学期课表.如果将卡丢失需要及时到卡务管理中心挂失和办卡,此时学生要携带有效证件到发卡中心进行修改, 学生的记录信息也将会随之修改,系统组成如图1 所示。
图1 系统组成框图
3.2 系统各模块主要功能
3.2.1 “系统管理”模块:① 添加用户.系统管理员登录系统后可以添加备用的管理员帐户; ② 注销用户.当前管理员可以注销帐户; ③ 修改密码.管理员可以在线修改其密码; ④ 退出系统.此命令可以返回到登录窗体; ⑤ 系统的维护; ⑥ 系统的登录; ⑦ 领导查询; ⑧ 设置被列入帐户的黑名单库。
3.2.2 “卡的管理”模块:① 注册.新生到校凭录取通知书到相关部门领取校园卡进行注册, 在校生注册; ② 注销.毕业生离校后由管理员负责毕业生卡的注销; ③ 挂失.在校生丢失卡后, 为避免损失, 凭密码挂失; ④ 解挂.遗失卡找回, 学生本人持有效证件办理解挂手续; ⑤ 换卡.因各种原因不能使用该卡者, 核实本人身份后,办理换卡; ⑥ 补卡.卡遗失后, 确认本人身份, 凭本人有效证件办理补卡; ⑦ 发放补助.由管理员定期统一发放补助; ⑧ 续款.学生个人可在规定时间内充值。
3.2.3 “学生注册”模块:每学期开学两周内, 学生刷卡进行注册.本科生第一、三、五、七学期应先交费后注册, 其它学期按时注册刷卡即可.对于专科生只有两年所以只有第一、三学期交费注册, 第二、四学期只注册.在查询时会把学期注册表中的四个字段的内容修改为“无需注册”.对于每个学生而言, 注册方法相同.若有一个学期没有注册, 则该生以后均不可注册。
3.2.4 “档案管理”模块:管理员对学生档案各项内容进行添加、修改、删除操作。
3.2.5 “选课管理”模块:学生进入选课主窗体后根据爱好选择课程, 选定后该课程会被记录到选定的课程表中, 并在窗体中显示出已经选定.在本窗体中还可以完成取消选定的课程, 然后再重新选课[4]。
3.2.6 “课程管理”模块:① 主要实现进行必修和选修课程的录入和修改, 上课有效时间和地点的录入; ② 可供相关人员查询。
3.2.7 “成绩管理”模块:① 成绩的录入和修改; ② 可供本人及相关管理人员查询。
3.2.8 “出勤管理”模块:① 出勤监控.学生在教室的POS 上刷卡后, 服务器上便能记录下该学生的卡号与刷卡的POS 机号, 写到相应的记录表格中, 为实时处理提供依据; ② 实时处理.从数据库中取出上课时的刷卡数据记录, 然后进行处理, 并且将处理结果写到相应的表格中, 以便进行查询;③ 出勤查询.根据不同的条件,从数据库的表格中取出满足条件的记录并形成报表。
3.3 系统实现模式
结合目前校园的网络, 系统采用流行的客户机/Web 服务器/服务器三层结构来实现校园一卡通的各项功能,从系统的先进性、可靠性、易使用、易维护性等角度综合考虑,采用这种架构是比较理想的.传统的二层C/S 架构可扩充性、可重用性不好, 三层架构属于瘦客户的模式, 用户端只需一个较小的硬盘、较小的内存、较慢的CPU 就可以获得不错的性能。
本系统设计从软件开发方面也采用三层架构, 把一个软件体系从纵向切分为三块独立的模块, 其处理原理采用向下依赖方式.如图2 所示表现层对业务逻辑层直接的依赖, 逻辑层对数据访问层直接依赖.所有和数据库形成交换信息的操作都被归属于数据访问层[5], 业务逻辑层和表现层都不能直接操作数据库, 符合目前流行的软件设计模式。
图2 三层体系架构
3.4 系统模块的实现
在该系统中实现的功能模块较多, 本文着重介绍module1 模块的实现功能.在该模块中实现了整个系统对数据库的统一连接和访问, 系统采用了目前流行的ADO 数据库[6]访问技术[7].在系统中定义了相关的公用变量, 由public 声明, tstsql 为字符串变量, mrc,mrcc,rst 为ADODB.Recordset 类型, cnn 为ADODB.Connection 类型.系统设计了一个公共的函数Execute SQL 来执行所有的SQL 语句, 它所用到的参数是按值传递,返回的是系统所需要的记录集, 函数头具体定义如下:
Public Function ExecuteSQL(ByVal sql As String) As ADODB.Recordset
让cnn 指向新的ADODB.Connection, 打开要连接的数据库, Driver 指向要连接的数据库, 系统采用SQL server 数据库, server 赋值为要连接的数据库, database 赋值为数据库的名字, 具体的语句为
Set cnn = New ADODB.Connection
cnn.Open “Driver={SQL Server};Server=.;Database=student”
如果数据库打开错误, 那么跳转到exectuesql error; 否则, rst 赋值为新的ADODB 的记录集, 执行SQL 语句, 将结果赋给Execute SQL, 具体的语句如下:
Set rst = New ADODB.Recordset
rst.Open T rim(sql), cnn, adOpenKeyset, adLockOptimistic
Set ExecuteSQL = rst
定义公共的函数kejie 来判断用户的刷卡时间, 它所用到的字符串参数tt 是按值传递, 返回的是字符串类型的数据, 函数头具体定义如下:
Public Function kejie(ByVal tt AsString) As String
在函数中定义字符串变量y, 让公共变量mrc 指向shijianbiao, 具体实现代码如下:
txtsql = “select *from shijianbiao”
Set mrc = ExecuteSQL(txtsql)
系统定义公共函数LSplit Stringinto Words, 来取出给定字符串的第一个空格以前的字符, 它所用到的字符串参数born 是按值传递, 返回的是字符串类型的数据.在函数中首先定义一个整型变量p 和一个字符串变量tmp, 然后用LT rim 函数去掉字符串born 左面的空格, 用InStr 函数来判断在字符串born 中第一次出现空格的位置, 并且将此值赋给p,然后判断p的值是否等于0, 若不等于0, 则取字符串born 前p-1 个字符, 并且将这些字符赋给Lsplit String intoWords.图3 是系统中设计的用于判断迟到、早退的程序流程图。
图3 迟到、早退判断程序流程图
4 结束语
本方案主要采用了流行的客户机/Web 服务器/服务器三层架构, 使整个校园网上的用户都可访问本教务系统.由于有先进标准的网络技术, 极大地提高了系统的可移植性和易扩展性.该系统为促进学校教务管理的科学化、规范化、信息化、减员增效、保障学分制的顺利实行提供了有力的支持, 并进一步加快了我校信息化校园建设的步伐。