作者:刘付锡
[摘 要] 中考志愿填报作为中考招生前期工作中非常重要一环,需要为考生提供:操作的便捷性、数据的安全性和准确性以及考生或家长产生质疑时数据的可追踪性。结合工作实际,论述如何达成这些服务指标的过程。
[关 键 词] 互联网;中考改革;中考志愿;在线填报;应用实践
[中图分类号] G712 [文献标志码] A [文章编号] 2096-0603(2017)24-0138-01
一、痛苦的经历
1.阅卡人员工作繁杂,难免因一时疏忽造成志愿卡漏读。
2.考生修改志愿时,因擦拭不干净,造成脏读现象。
3.个别考生因将志愿卡过分压褶,导致阅卡机无法顺利读卡。
4.部分考生因粗心大意或过分紧张,存在填涂残缺、位置偏移等现象。
5.志愿卡只能識别0~9的数字,个别考生因查错报考学校的志愿代码,从而最终导致录取结果的天壤之别。
6.考生志愿受户口、语系等因素的制约,即使顺利读取通过的志愿卡,也存在大量因不符合政策要求的无效志愿。
7.极个别学校收集完考生志愿卡后,借助班主任干预优秀考生的志愿填报,甚至私自篡改考生志愿。
二、设计目标
1.彻底抛弃纸质志愿卡和昂贵的读卡设备。
2.技术选型必须做到稳定、成熟、安全、高效、低成本、可扩展。
3.考生志愿填报行为必须绕开学校,变成考生完全自主的个体行为。
4.志愿填报行为不受地理位置限制,填报操作必须做到简单、直观、健壮,在规定的时间内,考生可随时修改填报数据。
5.考生操作界面中显示的填报选项,必须与自身信息,与当年的招生政策产生数据相关。
6.系统必须实时记录考生的操作日志,跟踪对应数据的变化过程。
7.鉴于参加中考的考生年龄问题,系统必须能够导出不可编辑、并带防伪标识的志愿填报确认单,以供家长和考生签字后上交相关机构留存。
8.因系统运行在互联网环境中,所以必须保证数据传输的有效性和数据存储的安全性。
三、解决之道
(一)整体架构
为了实现设计目标中“随时、随地”的要求,系统整体采用基于B/S的三层设计架构。考生填报端计算机中无需单独安装任何软件,只要能够进入互联网并安装有常用的浏览器即可。
(二)技术及产品选型
为了保证该系统在整个软件生命周期中的低成本投入,该系统全部采用开源框架或免费产品。具体如下表:
(三)开发步骤
1.前期准备
(1)为现有的“中考在线报名系统”的“准考证导出打印”模块增加生成随机密码功能。该密码用做考生首次登录志愿在线填报系统的初始密码。(2)导出部分中考报名历史数据,用于开发测试所需。(3)导出现有学校机构信息表和基础数据字典。
2.开发模型
本系统使用基于快速原型的迭代增量式开发模型,对比其他开发模型,在面向对象开发技术领域中,该开发模型具有更高的工作效率和成功率。
3.版本控制
结合选定的开发模型,在项目开发过程中,为了实现代码的有效管理和分布式协作开发,引入了Git版本控制系统。并创建了多个“分支”,
4.原型开发
依照业务需求,创建相关接口类、实体类,并依据事先划分出的功能模块,快速完成原型开发,如下图:
5.迭代开发
原型开发完毕后,迅速交付给业务主管部试用,并依据提出的修改意见继续完善原型,如此反复,经过多次迭代开发,直到完全达到业务主管部门的实际需求为止。此时将代码标记为tag Version 0.9版本。
接下来,选定典型学校用户(民汉合校),测试学校端和考生端的应用逻辑,再经过多次迭代开发后,此时系统已经初步通过了全部用户测试,,可将代码标记为tag Version 1.0版本。
(四)应用部署
考生填报的志愿数据是本系统的核心,为了节约成本,同时兼顾性能、安全的要求,本人采用Master-Slave主从模式架设MySQL,数据在主从服务器之间自动同步备份,即同一数据会被自动存储两份。
四、应用效果
经过两年的实际应用和优化升级,该系统很好地承担了我市中考考生基于互联网完成在线填报工作,在填报期间峰值IPO曾一度达到10万以上,但服务器端依然能够稳定高效地运行,用户端访问操作流畅之后获取的数据准确率达到100%,没有发生任何一起考生、家长志愿填报的争议事件。
参考文献:
[1]孙卫琴.JAVA面向对象编程[M].北京:电子工业出版社,2006.
[2]蒋鑫.Git权威指南[M].北京:机械工业出版社,2009.
|