基于EXCEL+VBA的电大考务编排辅助系统设计与实现
2015-12-09赵斌
赵斌
摘要:考务编排是每所学校都会涉及的一项非常重要的教学活动,由于其涉及学生面广,涉及到人员、时间、地点的集中调配,为了避免出现遗漏和重复编排,所有学校都会花费大量的人力和时间去组织该项目,对于集中办学的机构和学校尚且如此,对于开放式办学的电大教育的考试组织就更加困难。为了提高考务组织的效率,降低考务编排故障率,设计一套行之有效的考务编排辅助系统就显的尤为重要。本文结合实际探讨了基于EXCEL+VBA这种模式设计考务编排辅助系统所涉及的技术方案、设计思路和所采用的关键技术,实现一套技术门槛低、操作简便有效的考务编排辅助系统,以此提高考务管理的工作效率。
关键词:EXCEL;VBA;考务辅助
中图分类号:G647 文献标志码:A 文章编号:1674-9324(2015)27-0020-02
为了提高考务组织的规范化,应对全国电大期末考试庞大的考务规模,中央电大已经设计并建成的了一套延伸到地区电大系统的考务编排系统,但是该系统的建设所基于的层面太宏观,在各电大分校看来,最终生成的考场编排缺乏合理性和操作性,还需要按照统一的考试时间,并根据各个教学点教室安排的具体情况重新编排考场和安排监考人员,由于涉及数千名考生的考试组织和上百人的考务安排,因此,对各教学点的考务编排进行信息化处理就显得很有必要。
一、统一考务系统编排结果存在的问题
中央电大设计的延伸至各个教学点的考务平台,虽然给基层的教务部门的考务管理带来了一定程度的便捷,但管理设计太过宏观,确实能方便中央电大对全国考试考务的管理,但对各个教学点来说功能设计就比较薄弱,仅仅是将中央电大的考务编排结果导出,其关键数据仅有“考试日期、考试时间、考场号、卷号、考试科目、人数”等几项信息(如图1),其中的“考生考场号”仅仅是一个逻辑概念,并没有具体到考务组织的环节,基本没有涉及具体的考室,在结合对电大考室考务工作进行分析后,可以确认在以下两个环节存在一定的问题。
1.逻辑考场与物理考场不可能一一对应。从对导出的编排结果的分析可以看出,对各个教学点来说经常存在某个逻辑考场仅有一两位考生的情况。如果按照每考室对应一个考场来说,碰到一场只有一两位考生的情况,就会造成较大的资源浪费,并且每个考场并不是专用于某一个考场号的考试,很可能多个考场号在不同时段对应于同一间考室。现在很多考点采用人工检索的方式进行考室管理来解决这一问题,但却面临统计量大、出错率高、编排时间长等问题。
2.中央电大的考试编排并不包含考务人员配置的功能,这部分操作在很多考点都是靠人工手动配置,不仅编排周期长,而且容易出现重复编排,造成一人多岗等问题,不能满足考务组织上规模的发展要求,不适应考试周期短频快的发展趋势。
二、考务编排辅助处理的技术方案
结合现在常用的办公环境,根据现阶段成熟的主流技术,可以采用以下两种策略对考务编排的数据进行处理。
1.方案一:按照湛江广播电视大学余杨奎[1]的建议,采用ASP+ACCESS的方式对数据的规范性进行处理,将需要的数据信息比如(监考人员、存包人员、警戒人员)等写入工作表,在讲新的数据表导出到EXCEL,利用VBA进行编排。
这种处理模式对操作人员的操作能力有较高的要求,要求熟悉较多的计算机应用技术,比如ASP、VBA,还要熟悉相关的软件以及掌握ACCESS和EXCEL,这种应用很难在技术人员缺乏的基层电大推广。
2.方案二[2]:考虑到电大各考点的考生参考科次一般不大于30000,数量处理量在EXCEL的容纳范围内,并且在EXCEL中增加数据项等操作的难度和复杂度都低于ACCESS,并且在后期的数据校验上可以采用VBA中成熟的操作函数进行处理,如果出现不可预期的因素,考务管理人员还可对个别数据项进行微调。
考虑到考务辅助系统的最终用户是电大的考务管理人员,为了使开发成果具有更好的适应性,能够被编排考务的工作人员所接受,并在相当大的范围内进行推广,笔者采用第二种方案设计考务编排系统。
三、考务编排辅助处理的设计策略[3]
考务编排辅助系统的设计目的是为了辅助考务管理人员进行高效的、无差错的考场编排和人员派遣,其设计的主要部分是考场编排和人员组织这两部分,关键是实现编排辅助和无差错,所以程序中必须注重界面的直观性和后台数据的差错控制。以下就该系统的设计过程进行概要的介绍。
1.处理流程。考虑到数据处理前后的一致性,将编排前后的结果分别保存到单独的数据表,中间的处理过程对用户来说可以看成是一个黑盒。主要操作流程:根据考试时间按照场次将原始数据表拆分为多个数据表,数据表的名称由日期和时间组成,由于EXCEL工作表名不可包含“:”,且工作表名在此仅用作区分不同表格,所以新工作表的名称由日期和时间的前两个字符组成,添加工作表并设置工作表名称采用“Set NewSheet=Worksheets.Add”、“NewSheet.name=t_na
me”操作实现,其中t_name是新工作表的名称。拆分表格数据依据日期和时间单元格的对比实现,不论是时间还是日期,如果当前单元格的数据与其offset(1,0)单元格的数据不一致,就执行拷贝操作,为了记录拷贝范围,设置变量“si”保存复制的起始位置,代码如下图2。
2.考场编排的界面设计。为了降低考务编排人员的视觉疲劳度,该界面设计尽可能简洁,并且同一时间只处理同一场考试的编排数据,以避免教室和人员重复编排,在选择考场时,根据选择的考场所包含的人次计算当前总参考人员,并与所选考室的容纳量进行对比,当大于考室容纳量时给出提示,符合编排条件时将编排数据放入“编排结果”列表暂存,同时将已安排考生的考场从“候选考室”列表删除。所有的考场数据编排结束后,单击“写入工作表”将编排结果写入对应的表格(如图3)。
3.考室的人员安排。设计的基本思路和和考场编排一致,在此不再详述。
4.合并所有编排结果的工作表。利用while循环语句,从头至尾遍历所有在第一步中生成的工作表,并将编辑结果写入“编排总表”数据表,在此不用for循环的主要是考虑到合并过程中如果删除了工作表不会引起“下标越界”的错误。
四、总结
在该考场编排辅助系统的设计和编制,结合了考务编排岗位的工作实际,使用excel这种易于接受的方式对复杂的大量数据进行批量处理,极大的降低考务编排工作人员的工作复杂度和出错的几率,完全避免了考场重复安排和人员重复分工的问题,极大的提高了工作效率,从而提高了电大教学点的考务管理水平。
参考文献:
[1]余杨奎.教务管理系统生成考场数据进行改进的研究[J].安徽广播电视大学学报,2011,(4).
[2]詹斌.电大教务系统考试通知单的优化处理《软件导刊(教育技术)》,2013,(06).
[3]罗刚君.EXCEL VBA程序开发自学宝典[M].第三版.北京电子工业出版社,2014.endprint