苑庆涛,曹小鹏,王奇峰
(1.西安邮电大学 计算机学院,陕西 西安 710121;2.陕西省招生考试管理中心 社会考试处,陕西 西安 710068)
NCRE在线报考系统的设计与实现
苑庆涛1,曹小鹏1,王奇峰2
(1.西安邮电大学 计算机学院,陕西 西安 710121;2.陕西省招生考试管理中心 社会考试处,陕西 西安 710068)
近年来,随着计算机应用的逐渐普及,越来越多的在校大学生报考全国计算机等级考试(简称NCRE)。由于报考人数多,报考时间短,报考环节复杂,考点的考务管理工作劳动强度大、容易出错。为了解决传统报考方式存在的问题,优化报考流程,提高报考工作的管理效率,西安邮电大学考点联合陕西省考试管理中心,基于该考点多年来组织报考NCRE的经验,对传统的报考流程进行了优化,并在此基础上,使用当前主流的软件技术和开发平台,设计并实现了一个基于Web的NCRE在线报考系统。经过几年的实际使用表明,该系统有效解决了传统报考方式的种种不足,大大简化了考生的报考过程,降低了考务人员的管理工作负担,实现了考生报考、考务管理、数据上报等环节的无纸化网络管理,在实践中取得了良好的效果。
全国计算机等级考试;在线报考系统;ThinkPHP;Web
随着计算机应用的逐渐普及,越来越多的在校大学生和社会人员报考全国计算机等级考试(以下简称NCRE)。西安邮电大学自2010年被指定为陕西省西安市NCRE社会考生报考点以来,每年报考两次,单次报考人数规模接近7千人,累计报考人数已超过6万人。传统的报考方式,需要考生本人到报考点填写报考表、拍照、缴费、领取准考证等,程序复杂,工作量大,容易造成错误,每年都会出现由于出错而耽误学生报考的情况。报考点管理人员的工作负荷大,工作效率低,且容易出错[1]。同时政府各级考试管理部门也都工作量较大且非常繁琐。因此,亟需设计开发网上报考系统解决这些问题[2]。西安邮电大学NCRE考点多次邀请陕西省考试管理中心管理人员、考点工作人员以及部分考生进行讨论和调研,在总结经验和分析问题的基础上,从自身需求出发,经过详尽的分析和设计,开发了基于Web的NCRE在线报考系统(以下简称在线报考系统)。使用该报考系统,考生可以通过网络完成注册、报考、打印准考证等大部分报考环节,大大简化了考生的报考过程;考点管理人员可随时对报考信息进行分类查看、查询、统计和管理,很大程度上减轻了管理人员的工作负担,简化了管理流程,降低了出错概率,提升了报考的工作效率。同时,省考试管理中心也可以实时了解报考工作进展,掌握最新报考情况。
为了兼顾系统的开发效率、运行效率和安全性,该系统的开发采用基于MVC模式的ThinkPHP开源开发框架,数据库采用MySQL数据库平台[3]。由于单机报考系统使用MS SQL Server 2000数据库平台,而在线报考系统使用MySQL数据库平台,因此,需要对单机报考系统的数据存储格式进行充分的分析和研究,以实现两个异构数据库平台之间的无缝对接[4]。
1.1 系统网络拓扑图
系统的网络拓扑结构图如图1所示。
图1 系统拓扑结构图
整个报考系统由四台服务器组成,它们之间通过局域网互通互联。Web服务器通过防火墙接入到互联网中,为考生提供在线报考服务;Web数据库服务器提供报考数据存储服务,通过网页报考的考生信息将被写入到Web数据库服务器中;在考生报考过程中,通过专用的数据库同步工具,使单机报考系统数据库中的数据和Web数据库中的数据保持实时同步;网络打印机通过打印服务器提供打印服务。信息审核员可通过审核终端对考生的报考信息、缴费信息进行审核;管理员可通过管理终端配置系统运行参数、执行数据管理和维护等操作。
1.2 考生报考流程
明确手工报名模式下各个报考环节的流程及相互关系,是进行系统设计和实现的关键[5]。经过分析,考生的报考流程如图2所示。
考生首次报考,需要先完成注册,才能继续执行与报考相关的操作。考生自主完成所有报考信息填报之后,系统会通知考生等待报考信息的审核,审核员通过管理功能页面对报考的考生信息进行逐一审核,报考信息符合要求的考生给予审核通过,对于报考信息存在问题的考生,审核不予通过,审核员把存在的问题及修改意见反馈给考生。审核员完成信息审核之后,考生报考终端会立即收到审核结果,通过信息审核的考生,可自行打印报考确认单,于报考截止日期前到考点现场缴费确认;未通过信息审核的考生,需根据审核员的反馈信息,修改报考信息,重新提交,等待审核员再次审核。
图2 考生报考流程图
2.1 系统功能设计
按照系统角色划分,该系统可分为考生功能模块、考务管理功能模块和管理员功能模块,如图3所示。
图3 系统功能模块
考生功能模块针对考生设计,新报考考生首先需要阅读报考须知,了解最新的报考政策和报考流程,查看通知公告,进一步了解报考时间、报考科目、现场确认时间等重要信息,详细的考生报考流程见1.2。
考务管理模块针对考务管理人员设计,考务人员可由多人组成,每当新产生一条待审核报考信息时,系统会根据当前每位审核员持有的未审核信息数量,均衡地把待审核信息指派给某一位审核员,每位审核员只能看到系统指派给自己的待审核信息。通过此模块,审核员可按照待审核、已审核、已缴费、审核未通过、所有报考信息等条件,分类查看当前的实时报考信息和每一位考生的详细报考信息,审核员可对不同身份的考生执行“通过审核”、“不通过审核”、“缴费确认”等操作。
管理员模块针对系统的管理员设计,通过此模块,管理员可执行用户管理,分配待审核考生(指派给某审核员进行审核),管理通知公告,设置系统运行参数(报考起止时间范围、考试批次、打印准考证起止时间范围),数据管理(备份、还原、初始化等),等等;另外,管理员还可以按照日期范围、报考级别、报考信息状态等查询条件进行信息的统计和输出。
2.2 系统数据库设计
系统用到的主要数据库表有7张,数据库模型图如图4所示。
(1)考生个人信息表。
该表用来存储考生的登录信息,登录密码采用DES算法加密,密码提示问题可以辅助忘记密码的考生找回密码。
(2)考生报考信息表。
该表用来存储考生的报考信息,通过缴费审核之后的考生,系统会根据考生的报考科目,为每位考生的报考信息生成一个唯一的报考号。考生报考过程中,考生报考信息表的“当前状态”字段会随着报考流程的变化而变更,报考信息状态有以下几种:未提交信息、已提交未审核、已通过审核、未通过审核、已缴费确认和已打印准考证。
图4 系统数据库表模型图
(3)报考科目表。
该表用来存储报考科目信息,每个考生只允许报考一类科目。
(4)用户表。
该表用来存储审核员和管理员的信息,用户级别字段用来区别用户的类型是审核员还是管理员。
(5)通知公告表。
该表用来存储报考时间、注意事项等通知公告信息。
(6)系统设置表。
该表用来存储报考开始时间、报考结束时间、考试批次等系统参数信息。
(7)准考证表。
该表用来存储考生的准考证信息。利用单机报考系统,可快速生成有效报考考生的准考证号。
2.3 异构数据库数据同步问题
单机报考系统采用的是MS SQL Server 2000数据库平台,而在线报考系统采用的是MySQL数据库平台,为解决这两个异构数据库之间的数据同步问题[6-7],实现两个系统之间的无缝对接和协同工作,开发了一个异构数据库数据实时同步工具。该工具能按照设定的频率(最小粒度秒级)实现异构数据库之间数据实时同步,此外,该工具还提供同步日志查询、同步异常数据校验、差异比较、统计分析等辅助功能。
2.4 系统的性能和并发问题
由于NCRE报考时间短,考生人数多,访问高峰期服务器的负载很重,所以在进行系统设计时,必须考虑系统的性能和并发问题,采用合理的性能优化手段,保证系统在高并发、高访问量的场景下的高可用性[8-9]。
为了提升开发效率,保证系统的性能和效率,开发平台选用成熟的ThinkPHP开发框架[10]。该框架提供了一种敏捷开发的手段,使得开发者能够快速开发出稳定的企业级Web应用程序。整个系统的实现过程分三层进行:模型层、视图层和控制层。
3.1 模型层(Model)实现
模型层用来表示数据和业务规则。在MVC中,模型层拥有最多的处理任务。ThinkPHP采用面向对象编程方式,对模型层进行了高度封装,开发者可不需要定义自己的模型类,任何一个模型类都有最基本的原子操作功能(简称CURD),通过这些原子操作,很方便地完成数据库中数据的增、删、改、查等基本操作[11]。
3.2 视图层(View)实现
视图层即网页的前端UI层,它直接和终端用户交互,在Web开发中占有非常重要的地位。好的前端设计是获得良好的用户体验和高性能访问的前提。布局是否合理、风格是否简洁、配色是否和谐、流程是否通畅、操作是否便捷,这些特性都是视图层的实现过程中需要考虑的因素。考虑到浏览器的兼容性、设计的灵活性和系统的高性能,视图层的实现采用CSS和DIV的布局风格。为了获得较好的系统性能和用户体验,视图层的实现过程中使用到了JQuery[12]、Ajax[13]、BootStrap等主流Web前端开发技术。
另外,为了提高系统的安全性和运行效率,视图层需要对考生输入的关键数据,如姓名、出生日期、身份证号、手机号码、Email等进行格式校验,保证考生输入信息的有效性[14]。
3.3 控制层(Controller)实现
ThinkPHP的控制层由控制器组成,控制器接收用户的输入并调用模型和视图去完成用户的请求,它负责接收用户的请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。控制层是整个系统的关键和核心部分,良好的控制层设计和实现是保证系统正确、高效运行的前提。
从西安邮电大学NCRE报考点的实际需求出发,为解决传统报考方式存在的主要问题,基于ThinkPHP开源开发框架和MySQL数据库平台,设计并实现了一个易于操作、性能高效、扩展方便的NCRE在线报考系统,很好地弥补了单机报考系统的缺陷,实现了和单机报考系统数据的无缝对接。通过实际使用,该系统功能实用,运行平稳,操作便捷,很大程度上方便了考生报考,减轻了管理工作负担,提升了管理工作效率。实践证明,该系统具备一定的实用价值和推广价值。
[1] 孔彦杰,郭明超.NCRE报名数据快速采集系统的设计与实现[J].微型机与应用,2012,31(7):85-87.
[2] 韦 妍.基于B/S模式的全国计算机等级考试报名系统[J].吉首大学学报:自然科学版,2013,34(1):33-36.
[3] 姚 徐,姚双良.全国计算机等级考试网上报名系统的分析与设计[J].计算机与现代化,2011(11):202-205.
[4] 张 琳.基于多层B/S结构的全国计算机等级考试网上报名系统设计[D].西安:西安电子科技大学,2009.
[5] 陈详章,韩永印,刘耿龙.计算机等级考试网上报名系统的设计与实现[J].实验技术与管理,2010,27(9):172-174.
[6] 张大朋,陈 驰,徐 震.异构数据库复制技术的研究与实现[J].中国科学院研究生院学报,2012,29(1):101-108.
[7] Gai J Y,Zhang Z N,Xiao H.Data replication technique analysis and application in distributed database system[J].Computer Applications and Software,2005,22(7):36-38.
[8] 王 成,李少元,郑黎晓,等.Web前端性能优化方案与实践[J].计算机应用与软件,2014,31(12):89-95.
[9] Loudon K.Development large web applications[M].[s.l.]:O’Reilly,2010.
[10] 王昭英.基于MVC设计模式的thinkphp框架的研究与应用[D].西安:西安建筑科技大学,2010.
[11] 王俊芳,李隐峰,王 池.基于MVC模式的ThinkPHP框架研究[J].电子科技,2014,27(4):151-153.
[12] 潘 杰,周传生.基于JQuery框架的Web研究与实现[J].沈阳师范大学学报:自然科学版,2015,33(1):96-99.
[13] 熊 文,熊淑华,孙 旭,等.Ajax技术在Web2.0网站设计中的应用研究[J].计算机技术与发展,2012,22(3):145-148.
[14] 李 方,王运兰.网上考试报名异种信息综合处理平台的研究[J].无线互联科技,2015(3):36-38.
Design and Implementation of Online Registration System for NCRE
YUAN Qing-tao1,CAO Xiao-peng1,WANG Qi-feng2
(1.School of Computer Science,Xi’an University of Posts and Telecommunications, Xi’an 710121,China;2.Department of Social Exam,Entrance Exam Management Center of Shaanxi Province,Xi’an 710068,China)
In recent years,with the popularity of computer applications,more and more college students enter oneself for National Computer Rank Examination (NCRE).Large number of candidates,short time and complex registration process lead to hard burden management with high mistakes.In order to solve the existing problems of the traditional registration,optimize the work flow and improve the work efficiency,Staff from Testing Center of Xi’an University of Posts and Telecommunications together with Entrance Exam Management Center of Shaanxi Province studies the working experience of many years and optimizes the traditional registration process.Using the current mainstream software technology and development platform,a Web-based registration system for NCRE is designed and implemented.Several years of practical use have proved that this system effectively solves the shortcomings of the traditional ways and greatly simplifies the candidate's registration process.It provides a paperless network management of registration,management and data reporting.The system has achieved good effect in practice.
NCRE;online registration system;ThinkPHP;Web
2015-12-24
2016-04-19
时间:2016-09-19
国家自然科学基金资助项目(61373116);陕西省考试管理中心调研课题项目;西安市科技计划项目(CXY1516(3));西安邮电大学青年教师科研基金项目(ZL2012-13)
苑庆涛(1980-),男,硕士,工程师,研究方向为计算机应用技术。
http://www.cnki.net/kcms/detail/61.1450.TP.20160919.0839.018.html
TP311
A
1673-629X(2016)10-0104-04
10.3969/j.issn.1673-629X.2016.10.023