叶福军
摘要:随着报考艺术类专业的考生人数急剧增多,开发一套适合原先招生流程的艺术类专业招生考试信息系统势在必行。该软件采用B/S模式,实现考生专业报名、考场安排、准考证打印、收费一条龙服务,大大缩短了考生的专业考试报名时间。本文从数据库设计、功能设计等方面介绍了该系统的实现过程。
关键词:艺术类 考试 信息管理系统 B/S
中图分类号:TP311.52 文献标识码:B 文章编号:1673-8454(2009)07-0042-03
随着报考艺术类专业的考生人数急剧增多,开发一套适合原先招生流程的艺术类专业招生考试信息系统势在必行。
一、系统功能介绍
本文以2008年浙江省编导类、摄制类、播音主持类、影视表演类艺术类专业省考为例,介绍艺术类专业招生考试信息管理系统的具体功能。
1.基本代码维护
根据需求分析,报名系统中应该包含考生的基本信息以及所报专业的信息。其中,基本信息包括考生的姓名、性别、年龄、身份证号、艺考证号、文理类型、高考所在地、专业考试地、通讯地址等信息;所报专业的信息应该包括准考证、专业名、层次类型等信息。其中,对考生的文理类型、高考所在地、专业考试地、招生专业等信息由于具有公用性,可以进行代码管理,便于数据库中数据的数值化,加快操作加工时间。
2.考生基本信息输入
(1)导入
为了避免对考生基本信息的重复收集,减少信息收集工作时间以及许多不必要的失误,系统提供了一个导入接口。该导入信息来自各省招办的高考艺术类报名信息的一个Excel文件,这些信息具有权威准确性,且包含考生的艺术类报考准考证信息,可以作为报名的唯一依据。系统还对导入是否成功进行显示,以便在出现部分导入错误时,能很清楚地知道错误所在。
(2)手工录入
对于没有省考试院提供的考生基本信息的情况下,在系统中也可以进行单个考生信息的计算机手工增加、删除、修改等,操作非常灵活方便。
3.考生专业信息录入
该模块是整个软件系统的重要部分,是操作人员主要的操作模块,能自动生成每个考生每个专业的准考证及考场安排。
考生基本信息的录入,是为了对相应考生进行专业报名。由于一个考生可以报考若干个专业,考生基本信息与所报专业之间在数据库中是一对多的联系。根据一个考生可以报考多个艺术类专业的原则,输入考生基本信息中的艺术类准考证号或身份证号或姓名,都可以进行模糊查找该考生,若找到该考生,则根据考生自身需求,进行专业报名,系统会自动为考生的每个专业生成一个准考证号,以及安排该考生该专业的考试时间以及考试地点。对于专业报错的学生,在招生办允许的前提下,可以对错报专业进行删除,弥补了学生或者报名工作人员在报名时的一些失误。
准考证的打印实现了系统与Excel的接口,根据预先设置的格式,将该考生的所有专业准考证通过Excel进行打印,考生交费拿到准考证后,即可根据准考证中的信息,准时准点参加考试,大大缩短了考生的报名排队时间。另外,系统会根据考生所报专业的个数,进行总专业数的自动统计,既方便又准确。
4.专业考场安排设置
该模块是整个软件系统的核心,决定准考证中的准考证号、考试时间、考试地点等信息,是直接影响到系统成败的关键。由于实际报名过程中,考生来报名的时间具有随机性,会出现人员疏密度不同,这样就要求对考生的考试时间,按照先来先考的原则进行分段安排。同时,考场在安排考生的数量应该能进行实时调整,尽量同专业考试现场的考试速度情况相统一,因此,考生的专业考试时间的分配算法,在遵循考生的考试时间应该在报名时间之后,以及适当考虑一定的延续间隔时间这个分配原则外,还应该完全跟实际报名环境相吻合,能进行实时调整。
考试安排时间滞后于学生来报名时的时间,另外,时间上的分配还应考虑考生从报名到考试的一段延续时间,例如3月2日15时40分来报名的学生,其安排的时间应该是在3月2日16:00:00—3月2日17:00:00这一时间段之后,即使3月2日15:00:00—3月2日16:00:00时间段还有分配名额,因为应该考虑给学生一定的考试准备时间。
考生报考某个专业的考试时间采用在考场分配表中遍历的方法,查找该生报名时间之后的、又离该时间最近的、同时可分配数大于0的时间段。该分配算法直接关系到整个系统的成败。
5.考生成绩录入及录取
登录系统的成绩录取模块,可以进行考生初试、复试成绩的录入,同时可以根据各个专业的实际情况进行录取,输出初试、复试通过的考生信息。
二、数据库结构设计
根据系统需求分析,进行数据库的概念结构设计、逻辑结构设计,该系统需要设置代码表、考生基本信息表、考生报考专业信息表、考场分配表、专业表、用户表等6张数据库表,相应的表结构如下。
为了方便维护系统中的代码,增设基本代码,用以设置文理科类型、考区、专业设置、是否兼报等,将这些信息放在同一个表中,便于存储与管理。在系统中通过设置一个自增长的代码ID来表示主键,用类型属性表示代码的类型,用编号表示每一个类型代码的编号,如表1所示。
学生基本信息表包含了报名考生的基本信息,如表2所示。
专业表用以存储专业的编号、专业名称以及该专业准考证基数。专业准考证基数指的是,下一位报考该专业的考生的准考证序列数,如表3所示。
考虑专业与考场之间的分配联系,若将每个考场的每一时间段分别作为一次单独的考场,所设置的考场编号会很多,而且不能包含专业信息,因此,将专业信息与考场信息结合起来,合并为新的分配表,减少了关联查询的时间,同时将安排的联系中设置一个自增长的专业安排ID,便于在学生报考专业时标记考场安排及时间安排,如表4所示。
根据系统需要,学生报考专业时,希望能分配唯一的准考证号,并能直接分配考试时间和考试地点。因此,在关系模式报考中,增设准考证号属性,同时增设专业安排ID,用以标记考试时间、考试地点等信息,如表5所示。
用户表保存操作用户信息,用以实现不同用户的操作权限管理,如表6所示。
三、关键技术
1.基于DAO模式构建通用数据访问层
本系统应用JDBC,它是JAVA访问数据库系统的最通用技术,几乎每个数据库都支持对JDBC的操作。利用JDBC访问数据库的操作一般包含5个步骤,包括:打开数据库连接Connection、获得操作数据库的对象Statement、执行SQL语句、返回和操作查询记录集ResultSet(如果非查询SQL语句,则不需要这一步)、关闭数据库连接。在实际开发过程中,因有大量的数据访问操作,如果不经良好设计,会出现大量的重复DAO模式,本系统构建了一个通用的数据访问层来实现数据库操作。将界面设计与数据操作相互独立,使得程序具有很好的可维护性和扩展性。应用DAO设计模式的系统分层结构如图1所示。
图1 系统分层结
在该结构中,Data Transport Object(DTO,数据迁移对象)是普通的JavaBean对象,通常每个DTO对象,代表了数据库中的一条记录,在应用系统的客户端即Swing GUI,以及DAO数据访问层中都需要用到。DAO即Data Access Object,是一系列封装数据操作的对象。Swing GUI通过创建DAO的对象,来存取数据库中的数据。DAO数据访问层是应用抽象工厂、模版、代理等设计模式,对DAO对象的定义、创建、实现提供一个完整的解决方案。
2.Swing表格数据排序、过滤、分页显示设计
在Java Swing图形界面开发中,对表格数据进行排序、过滤、分页显示向来是一个比较棘手的问题。系统利用MVC设计模式的思想,为实现表格数据的这一系列相关功能提供了一个通用的处理,设计完成的通用类库广泛应用在系统各个表格中,也可以在其他项目中得到重用。
MVC已经成为非常流行的UI设计模式,因为它把业务逻辑清晰地从数据的视图中分离了出来。基于Swing中已有类库,系统重新实现了相关的主要类,如表7所示。
3.利用Apache POI实现数据导入、导出和产生准考证
Apache POI是Apache软件基金会下的一个开源项目,它提供了Microsoft 文档数据与Java程序数据导入导出的一系列接口。系统结合电子表格软件Excel的强大数据编辑功能和Apache POI提供的数据访问相关包HSSF,实现了考生数据的导入、报表数据的输出,以及准考证的自动打印生成。实现过程包括三个步骤:设计编辑EXCEL模版、定义Java数据访问接口、利用POI中HSSF相关包实现数据访问。
四、系统实现
该软件采用B/S模式,实现考生专业报名、考场安排、准考证打印、收费一条龙服务,大大缩短了考生的报名时间。软件后台服务器安装SQL Server数据库管理软件,用来管理考生的信息及考场安排信息等,前台使用J2EE、JSP实现艺术类专业考试的信息化。该项目自2007年投入使用,效果很好。我校浙江省考点考生,从专业考试报名、收费、安排考试时间、考试地点、打印准考证等一系列过程只需3分钟,实现了信息收集的快捷、准确,方便了考生,同时方便了学校的招生管理。
该系统是学生课程教学与实践结合的一个完美成果,学生参与到教师的科研中,利用所学知识,进行实践性锻炼,实际操作能力得到很大提高。
参考文献:
[1]宣小平.ASP数据库系统开发实例导航[M].北京:人民邮电出版社,2004.
[2]王殊.网络数据库技术与应用[M].北京:科学出版社,2004.
[3]刘正林,周纯杰,陈笛.Java技术基础[M].武汉:华中科技大学出版社,2002.
[4]刘晓华,陈压强.J2EE应用开发详解[M].北京:电子工业出版社,2005.