APP下载

基于B/S模式的高校自主招生报名录取系统的设计与实现

2019-08-12赵卫东

滁州学院学报 2019年2期
关键词:数据表身份证功能

赵卫东

自主招生是指由高校自主确定入学标准、组织入学考试、实施招生录取的招生模式,是高校招生录取工作改革的重要环节。这种招生方式更加灵活和人性化,但是由于数据量大、时间紧等问题,若采用传统方法进行,即考生填写报名表→学校审核考生信息→通知考试时间和地点→准考证的发放→考试成绩的查询及录取情况,操作流程非常繁琐且易出错。因此,开发一个安全、高效的自主招生报名录取系统是每个高校亟待考虑和解决的问题。

一个完善、健全的高校自主招生报名录取系统不仅可以提高工作效率、减轻管理工作上的负荷,同时还能够提高招生管理工作的透明度,实现招生数据的规范化、自动化管理[1]。本文着眼于高校教学管理信息化建设,从自主招生的网上报名、信息审核、考试安排和录取查询等方面工作出发,设计并实现了基于B/S模式的高校自主招生报名录取系统。

1 系统设计

1.1 系统架构选择

由于自主招生的特殊性,高校自主招生报名录取系统采用B/S模式进行设计,以互联网为平台,使用Web浏览器即可进入系统登录操作。这样,既方便了考生和考生家长的数据输入,又方便了学校招生管理部门及时获取信息并做出相应决策。

采用B/S设计模式,系统的表现层交给Web浏览器,主要完成考生和后台数据的交互及查询结果的输出功能;系统的业务逻辑层主要利用服务器完成客户端的验证、计算、业务规则等功能;系统数据访问层主要处理招生数据的增、删、改、查等功能。

1.2 功能模块设计

根据高校自主招生报名录取系统的实际需求,系统用户角色主要有家长学生端、系部管理员和学校管理员三类用户,他们都具有不同的操作权限和操作内容。

家长学生端主要功能有:

1.报名信息浏览,浏览招生通知、操作指南等信息;

2.用户注册,根据考生的身份证号、姓名、监护人手机号码进行注册,并以监护人手机号码作为登入密码;

3.填写资料,注册完成后登入系统填写孩子的详细信息,填写完成后需进行确认,确认保存后无法再修改;

4.选择报名专业,完成后,自动产生报名序号;

5.录取结果查询,该模块提供了强大、灵活的查询功能,如自定义查询、按时间查询、组合条件查询等;

6.录取补报,对于第一次报考没有录取的考生,可以关注学校发布的补录信息,登录系统进行录取补报信息的填写。

系部管理员主要功能有:

1.拟定招生计划提交给学校审查;

2.对预录取学生名单进行审核和管理;

3.对填报系部专业的家长学生用户进行管理和信息维护。

学校端主要功能有:

1.发布招生计划和招生公告;

2.对家长或学生提交的网上报名资料等信息进行核对、确认,确保信息准确无误;

3.录取工作完成后,学校可将录取结果信息在网站上进行公布;

4.查询报名登记、确认、录取等详细信息,可以对信息进行报表统计、数据导出等。

1.3 系统流程图设计

系统流程图是描述系统物理模型的工具,它常用来描述信息在系统内部的处理过程,可以用简单的图形表示输入、处理、输出之间的关系,说明信息在系统内部的流动、转换、存储和处理的情况[2,3]。报名录取系统流程图如图1所示。

图1 报名录取系统流程图

1.4 数据库设计

高校自主招生报名录取系统使用MySQL数据库,严格遵循各项设计要求和规范进行设计。对于数据库结构的变动,开发小组成员全部采用SQL脚本执行,按照规定,编写脚本时必须添加作者、创建时间、描述等信息。经过概念结构设计、逻辑结构设计和物理结构设计三个阶段后,设计出了符合第三范式(3NF)要求的系统数据库。

由于高校自主招生报名录取系统数据对象多且关系复杂,共设计了十多张数据表,其中主要的数据表有:stu_Info(学生报名资料)、stu_Exam_Result(学生考试成绩)、docu_Bulletin(招生文件公告)、pro_Approval(流程审批意见表)、enro_Plan(招生计划)、plan_Detail(招生计划目标详细)、enro_Bulletin(学校招生公告)、enro_Address(学校招生地址配置)。数据表关系模型图如图2所示。

2 系统关键技术实现

2.1 数据统计及导出

数据统计是自主招生报名录取系统后台管理的最重要的功能之一,它承担着对各专业报名情况进行统计汇总的任务。通过此功能可以快速实现对报考考生基本情况、文理科报考人数比例、各专业报考成绩汇总排名和考生志愿填写情况进行分类统计,提高招生工作人员的工作效率。

为减轻系统开放期间并发操作压力,提高程序代码的可维护性,系统使用存储过程来实现数据计算及统计工作。部分存储过程的代码如下所示:

1.按专业分类统计报考成绩排名存储过程

CREATE OR REPLACE PROCEDUREgetStuInfo

AS

BEGIN

select stuInfo.name,stuInfo.sex,stuInfo.phone,stuInfo.school,stuScore.totalScore from stuInfo,stuScore where stuInfo.stuIDNo= stuScore.stuIDNo

group by stuInfo.stuSpecialty

order bystuScore.totalScore;

END;

2.按专业分类统计男女生志愿填报情况的存储过程

CREATE OR REPLACE PROCEDUREgetVoluntaryInfo()

AS

图2 数据表关系模型图

BEGIN

selectspecialtyName,count(*) as '报名人数',sex from stuInfo

group byspecialtyName with rollup

END;

2.2 数据正确性与合法性校验

为了确保考生数据输入的有效性和合法性,需要对考生填写的关键性数据进行校验。数据合法性验证既是为了确保输入数据的正确性和有效性,也是为了避免恶意用户进行非法数据输入攻击系统,确保系统的安全性[4]。

正则表达式(regular expression)通常用来检索、替换符合某种规则的文本,可以用于数据有效性验证[5]。它的功能十分强大,又非常简洁。自主招生报名录取系统采用JS正则表达式对考生的姓名、密码、手机号码、身份证号码、邮箱等关键信息进行验证,既保证了考生数据输入的正确性和合法性,又提高了系统的运行效率。系统中身份证号码和考生号JS验证代码如下。

1.身份证号码验证

var yourCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}

functionisIdCard(idCard) {

var stuSum = 0;

var info = "";

if(!/^d{17}(d|x)$/i.test(idCard)) return "您的身份证号码长度或格式填写有误!";

idCard = idCard.replace(/x$/i, "a");

if(yourCity[parseInt(idCard.substr(0, 2))] == null) return "您的身份证地区填写有误!";

stuBirthday = idCard.substr(6, 4) + "/" + Number(idCard.substr(10, 2)) + "/" + Number(idCard.substr(12, 2));

var date = new Date(stuBirthday);

if(stuBirthday != (date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + date.getDate())) return "您的身份证出生日期填写有误!";

for(var i = 17; i >= 0; i--) {

stuSum += (Math.pow(2, i) % 11) * parseInt(idCard.charAt(17 - i), 11);

}

if(stuSum % 11 != 1) return "您的身份证号码填写有误!";

return true;

}

2.考生号验证

functionisExamineeNum() {

var examineeNum= document.GetElementById("examineeNum").value;

var regularRule=/^1234[0-9][0-9][0-9][0-9][0-9][1,5,9]d{4}MYM/;

if(rules.test(examineeNum)){

}else{

return"您输入的考生号有误!";

}

return true;

}

2.3 系统安全性设计

由于系统业务数据涉及到学生和家长的隐私信息,系统在开发过程中,充分考虑了Web服务器端信息安全的重要性。因此,针对系统中数据的重要程度,开发小组构建了多级加密机制,如MD5不可逆数据加密算法、DES可逆数据加密算法等等。对重要业务数据实行全程加密,即存储和传输时都进行了加密,保证重要数据在存储时,不被内部其它无关人员访问,重要数据在网络传输时,不被外部非法人员恶意窃取。同时,用户对数据的每一步重要操作均有操作日志记录(例如:增加、删除、修改等),便于在发生错误时,跟踪错误产生的来源并进行修正。此外,为了确保运行安全,系统还增加了登录认证、数据备份与恢复功能。

3 总结与展望

招生管理工作是每个高校最重要的工作内容之一,如果自主招生采用人工管理的方法,不仅需要投入大量的人力和物力,而且还很容易出错[6]。为提高教学管理信息化水平,我们开发了高校自主招生报名录取系统,该系统的使用既提高了高校招生管理部门的工作效率,又规范了报考工作,同时也方便了报考考生。

本系统的特色主要有:

(1)B/S设计模式

B/S设计模式,不仅使系统开发降低了成本,共享性强,而且提高了系统的可扩展性和数据安全。

(2)兼具专用与通用特色

高校自主招生报名录取系统开发之初主要是针对滁州职业技术学院自主招生的需求而设计的,具有一定的专用性。但由于各高校自主招生工作的共性,系统只要作少量修改,即可变为通用的高校自主招生报名录取系统。

猜你喜欢

数据表身份证功能
也谈诗的“功能”
都有身份证
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
辣椒也有身份证
基于列控工程数据表建立线路拓扑关系的研究
趣说古人的“身份证”
关于非首都功能疏解的几点思考
图表
中西医结合治疗甲状腺功能亢进症31例