考场编排系统构建及其实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
考场编排系统构建及其实现
摘要:每学期的期末考务工作是个大量繁琐而细致的工作,手工操作会花费大量的时间和精力,还容易出错,所以在这个计算机飞速发展的时代,借助计算机完成考场编排这一工作,让人脱离如此繁琐沉重的工作成为迫切要求,从实地出发,以本学院为例,讲述考场编排系统的开发背景、前景及意义等方面,论述考场编排系统的设计思想,数据库的结构及主要实现的功能。
关键词:需求分析;数据库;数据表;模块功能
0 引言
目前科技日新月异,人们对摆脱繁琐工作的需要越来越强烈,对于学校的考试考场编排工作来说,人工手动操作,就要花费大量的时间和精力。
目前学院的学生数量一直不断再创新高,这项工作的工作量也越来越大,在此大环境下,一个计算机考场自动编排系统的构建就是大势所趋,我有幸,参与这个系统的后期编写,修改及其调试工作。
在此,代表所有编写人员为大家介绍一下这个系统的功能及其实现。
该系统采用vb6.0作为代码编写开发工具,使用access数据库存储和管理数据。
1 系统需求分析
1)数据录入:要完成所有基本数据录入工作。
2)数据维护:可以对各个表完成维护工作。
3)安排考场:将各个数据库的数据经过关键字的有效关联,形成考场编排大表。
4)查询:可以进行教师监考场次查询,班级查询,课程查询,教师查询以及考场查询来满足不同层次和类别的查询要求。
5)打印试卷密封条。
6)数据导出考场监考表,打印下发给各部门、单位。
2 数据库的结构设计
本数据库名为test.mdb,数据设计如下几个数据表:分别是考试班级表(testclass),考场表(testroom),监考老师表(testteacher),考试日期表(teatdate1),考试课程表(testcourse),总体考场编排表(testtime)。
各数据表的结构设计如下:
1)考试班级表(testclass)
它通过对考试班级录入表单的调用,从而对该表单上的数据进行维护的工作:如添加,删除,修改,保存,和记录的移动等操作,便于对数据的各种管理。
字段名称 classid classname studentcount rule1
rule2
说明班级号班级名班级人数规则1 规则2
注意:规则1和规则2分别指该班级的学生人数按学号分为两部分,并且将这两部分分别放入两个考场进行考试。
如:计算机9801班总人数46人,规则1为1-24人;规则2为25-48人
2)考场表(testroom)
字段名称 roomid roomname roomchecked roomrule 说明班级编号班级名称考场标识考场规则注意:编号规则为:a-代表是主教学楼;b-代表工程楼;c-代表综合实验楼
考场标识:1-代表安排该考场考试;0-代表未安排该考场考试如:a103 计算机9906班,b113 工程9987班,c123 计算机9801班
3)监考老师表:(testteacher)
该表用于记录所有监考老师的编号,姓名和标识信息
字段名称 teacherid teachername teacherchecked
说明监考老师id 监考老师姓名监考标识
注意:监考标识为:1-代表此老师监考;0-代表此老师不监考4)考试课程表(testcoursr)
该表记录了所有考试班级的所有考试的课程。
字段名称及说明如下:
classid(考试班级编号),classname(考试班级名称),testchecked
(是否安排考试),testcourse(考试课程名),testcourseid(考试课程名称编号)。
5)考试日期表(testdate1)
该表用于存放考试日期,考试时间,考试班级和考试课程。
字段名称 testdate testtime testclassname testcourse
说明考试日期考试时间考试班级考试课程6)总体考场编排表(testtime)
本表用于存放安排考场是用到所有的字段,共有13个字段。
字段名称及说明如下:
testdate(考试日期),testtime(考试时间),testclassid(考试班级号),testclassname(考试班级名称),testcourse(考试课程),testroomone:(第一考场),testroomoneid(第一考场编号),teacheridone(第一场监考老师编号),teachernameone(第一场监考老师姓名),testroomtwo(第二考场),testroomtwoid(第二考场名称),teacheridtwo(第二场监考老师编号),teachernametwo(第二场监考老师姓名)。
3 系统功能模块实现
3.1 数据录入模块
完成考试班级表(testclass)、考场表(testroom)、监考老师表(testteacher)、考试日期表(teatdate1)、考试课程表(testcourse)的基本数据信息的录入,每张数据表的录入必须在界面都能完成添加,删除,上一个,下一个,第一个,最后一个,保存,退出,编辑的功能,并且有一个表单控件可以显示本数据表所有数据情况。
这个模块是今后数据使用的基础,必须保证输入数据的完整性和正确性,才能确保后面编排功能的实现。
3.2 数据表维护模块
对考试班级表(testclass)、考场表(testroom)、监考老师表(testteacher)、考试日期表(teatdate1)、考试课程表(testcourse)
完成修改,维护工作,可以将上一次考试的所有数据表全部清空。
以便完成下一次的考场编排工作。
3.3 安排考场模块
将考试日期表(teatdate1)中的:考试时间,考试日期,考试班级,考试课程分别放入总体考场编排表(testtime)中,将考试班级表中的班级名称,规则1,规则2分别放入总体考场编排表(testtime)中,将考场表中(teatdate1)的规则1并且此考场并没有安排考试的话,将它数据传送到到总体考场编排表中,并且安排完后将此考场置“1”然后进行保存。
如果考试班级没有被安排上考试,而且还有考场剩余,则根据情况如果是第一考场则查找“1-2*”这些考场,即先查找前三个字符“1-2”,进行安排。
如果是第二考场,则查找后面三个字符再进行安排。
同理将第二考场也同样进行查找安排。
随机抽取一个没有安排监考的教师,然后将其放入到考试时间表中,并把监考标志置为“1”。
同理。