起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 学习心得 > 湘大论文:计算机等级考试题库与考试系统研究

湘大论文:计算机等级考试题库与考试系统研究

时间:2014-04-17 14:30:00来源:湘大 作者:起航学习网 已有: 名学员访问该课程

前言: 起航学习网给大家介绍的是“湘大论文:计算机等级考试题库与考试系统研究与设计”方面的知识点,关注起航学习

起航学习网给大家介绍的是“湘大论文:计算机等级考试题库与考试系统研究与设计”方面的知识点,关注起航学习网就等于关注成考,每日最新成考指南信息就在起航学习网!

随着全国成考考试时间的推进,深圳学子都加快了对成考的了解,而在此时还有一些人在为毕业而忙碌着,那就是即将毕业的成考生。我们知道毕业是要有毕业论文的,所以今天我校就给大家共享一篇名为“计算机等级考试题库与考试系统研究与设计”的论文。希望可以在写作格式及要求上帮助大家。

湘大毕业论文(设计)任务书

论文(设计)题目:计算机等级考试题库与考试系统研究与设计

一、主要内容及基本要求

目前计算机辅助教学(CAI)与计算机辅助测试(CAT)是国内外教育界研究的热点。学习与考试总是紧密结合在一起,在学习方式走向电子化、远程化的同时,考试的无纸化、网络化需求也随之产生。

计算机等级考试作为我省大规模型的考试,学生通过率普遍较底,为了更好地方便学生复习迎考,本课题设计了计算机等级考试题库与考试系统。该系统采用ASP和SQLServer2000相结合技术,设计考试系统、题库管理系统、指导答疑系统等。考试系统分为客观题考试部分和编程题考试部分。客观题考试采用的是自动组卷、自动阅卷的模式,而编程题考试采用的是学生自主选择试题、教师人工阅卷的模式;题库管理系统除了可对不同考试题型进行增加、删除、修改、查询等操作,还具有组卷管理、成绩管理和编程题评分等功能;指导答疑系统则是以留言板形式提供的师生交流的平台。经过实际测试表明:本课题设计的计算机等级考试题库与考试系统能较好的满足学生考试练习和教师管理等功能需求,对实际提高学生等级考试的通过率具有较好的促进作用。

二、重点研究的问题

本课题将设计与实现一个“计算机等级考试题库与考试系统”。

主要的功能模块包括:

1.后台管理系统系统

2.考试系统

3、指导答疑系统

三、进度安排

四、应收集的资料及主要参考文献

[1]石志国,王志良,薛为民编著.ASP精解案例教程[M].北京:清华大学出版社,北方交通大学出版社,2004

[2]黄斯伟,王玮编著.HTML4.0动态网页制作[M].北京:人民邮电出版社,1995

[3]张杰,任伟,吴林划.ASP典型模块设计[M].北京:清华大学出版社,2007

[4]龙马工作室编著.6+1ASP+SQLServer组建动态网站实例精讲[M].北京:人民邮电出版社,2004

[5]范剑波主编,张晓云主审.网络数据库技术及应用[M].西安:西安电子科技大学出版社,2004

[6]黄雷编著,冼劲审.ASP+SQLServer项目开发实践[M].北京:中国铁道出版社,2006

[7]求是科技编著.SQLServer2000数据库开发技术与工程实践[M].北京:人民邮电出版社,2004

[8]黄斯伟编著.CSS网页样式设计[M].北京:人民邮电出版社,1999

[9]LiuZQ,YanF.FuzzyNeuralNetworkinCase-basedDiagnosticSystem.IEEETransactiononFuzzySystems,1997,5(2):209.222

[10]RichterJefrey.AppliedMicrosoft.Netframeworkprogramming[M].MicrosoftPress,2002.97.102

对计算机等级考试题库与考试系统研究与设计的文献综述

一、研究的目的及现实意义

随着基于Intemet的计算机远程教学的逐步普及,为网络环境下的计算机考试系统的研制提供了可行性。近年来,普通高校和中等专业技术学校纷纷建立自己的校园网,并且连接到Intemet。这样,基于Intemet平台辅助教学平台的搭建,全自动化、分布式、功能高度集成的考试网络系统的研制也成为必然。

国外率先成功采用远程网络考试系统主要有英语的TOEFL,GRE考试,及微软、思科的水平认证考试,以及众多大学自行研制的课程学习测试系统。这些系统主要以选择、判断等的客观题的形式考核。国内较早进行考试系统研制的高校有西安交通大学、湖南大学、重庆大学、西北大学等。起初,这些系统多采用C/S结构,如基于NOVELL网的考试系统的研制,全国计算机等级考试系统,四川省计算机等级考试系统等等。从发展趋势看,教育不再是人一生中一个阶段内的事情,而是伴随终生的事情。现代人的生存和发展需要不断的接受再教育,接受各种培训。不断增长的教育规模,导致考试认证的规模也越来越大。

二、研究的主要观点和研究方法

本课题将设计与实现一个“计算机等级考试题库与考试系统”。

主要的功能模块包括:

1.后台管理系统系统

2.考试系统

3、指导答疑系统

三、参考文献

[1]石志国,王志良,薛为民编著.ASP精解案例教程[M].北京:清华大学出版社,北方交通大学出版社,2004

[2]黄斯伟,王玮编著.HTML4.0动态网页制作[M].北京:人民邮电出版社,1995

[3]张杰,任伟,吴林划.ASP典型模块设计[M].北京:清华大学出版社,2007

[4]龙马工作室编著.6+1ASP+SQLServer组建动态网站实例精讲[M].北京:人民邮电出版社,2004

[5]范剑波主编,张晓云主审.网络数据库技术及应用[M].西安:西安电子科技大学出版社,2004

[6]黄雷编著,冼劲审.ASP+SQLServer项目开发实践[M].北京:中国铁道出版社,2006

[7]求是科技编著.SQLServer2000数据库开发技术与工程实践[M].北京:人民邮电出版社,2004

[8]黄斯伟编著.CSS网页样式设计[M].北京:人民邮电出版社,1999

[9]LiuZQ,YanF.FuzzyNeuralNetworkinCase-basedDiagnosticSystem.IEEETransactiononFuzzySystems,1997,5(2):209.222

[10]RichterJefrey.AppliedMicrosoft.Netframeworkprogramming[M].MicrosoftPress,2002.97.102

目录

摘要I

ABSTRACTII

第一章绪论1

1.1课题研究背景和意义1

1.2课题研究内容2

1.3系统组织结构2

第二章关键技术研究4

2.1ASP技术4

2.2SQLServer20005

2.3创建数据库连接6

第三章系统总体功能设计8

3.1系统总体框架图8

3.2学生考试系统8

3.3后台管理系统9

3.4指导答疑系统10

第四章数据库设计11

4.1数据库的概念模型设计11

4.2数据库的逻辑模型设计13

4.3数据库的物理模型设计14

第五章计算机等级考试题库与考试系统的实现19

5.1创建数据库连接19

5.2自动组卷功能19

5.2.1自动组卷原则19

5.2.2本系统自动组卷功能的实现20

5.3考试系统22

5.4后台管理系统25

5.4.1题库管理26

5.4.2试卷管理28

5.4.3其它功能29

5.5指导答疑系统31

第六章系统测试35

6.1开发环境35

6.2测试项目35

6.2.1考试系统测试35

6.2.2后台管理系统测试36

6.2.3指导答疑系统测试36

6.2.4其他测试36

第七章总结与展望37

7.1系统总结37

7.2系统展望37

参考文献39

致谢40

附录41

计算机等级考试题库与考试系统研究与设计

摘要:目前计算机辅助教学(CAI)与计算机辅助测试(CAT)是国内外教育界研究的热点。学习与考试总是紧密结合在一起,在学习方式走向电子化、远程化的同时,考试的无纸化、网络化需求也随之产生。

计算机等级考试作为我省大规模型的考试,学生通过率普遍较底,为了更好地方便学生复习迎考,本课题设计了计算机等级考试题库与考试系统。该系统采用ASP和SQLServer2000相结合技术,设计考试系统、题库管理系统、指导答疑系统等。考试系统分为客观题考试部分和编程题考试部分。客观题考试采用的是自动组卷、自动阅卷的模式,而编程题考试采用的是学生自主选择试题、教师人工阅卷的模式;题库管理系统除了可对不同考试题型进行增加、删除、修改、查询等操作,还具有组卷管理、成绩管理和编程题评分等功能;指导答疑系统则是以留言板形式提供的师生交流的平台。经过实际测试表明:本课题设计的计算机等级考试题库与考试系统能较好的满足学生考试练习和教师管理等功能需求,对实际提高学生等级考试的通过率具有较好的促进作用。

关键词:ASP;计算机等级考试;题库管理系统;自动阅卷;考试系统

Computerrankexaminationquestionbankandsystemresearchanddesign

ABSTRACT:Atpresent,compute-assistedinstructionteachingandcomputer-aidedtestingarehotspotattheeducationalfieldbothinchinaandforeigncountries.Learningisalwaysaccompaniedbyexaminations.Aslearningmodeiselectronicandremote,thedemandofexamination’spaperlessnessandnetworkingisalsoappearing.

ComputerProficiencyTestisalarge-scaleexaminationinourprovince,butthepassrateforstudentsislow.Inordertobeconvenientforstudents’preparingexamination,thisprojecthavedesignedComputerProficiencyTestingStorehouseandExaminationSystemwhichadoptedActiveServerPages(ASP)andSQLServer2000anddesignedexaminationsystem,managingsystemforstorehouse,guidingandansweringquestionssystemandsoon.Examinationsystemisdividedintotwoparts.Oneisobjectivequestionspartwhichadoptthemodeofauto-composingtestpaperandauto-correcting,theotherisprogrammingquestionspartwhichadoptthemodeofstudents’choosingquestionsforthemselvesandteachers’correcting.Managingsystemforquestionscannotonlyadd,delete,modify,inquireandsoonfordifferentquestions,butalsohasthefunctionofmanagingpapercombination,scoreandgradingprogrammingquestions.Guidingandansweringquestionssystemprovidescommunicativeplatformbetweenteachersandstudentsintheformofmessageboard.Accordingtoactualtesting,computerProficiencyTestingStorehouseandExaminationSystemcanmeetthedemandforstudents’examinationexercisingandteachers’management,andhaveapositiveeffectforimprovingstudents’passrate.

Keywords:ActiveServerPages(ASP);ComputerProficiencyTest;managingsystemforstorehouse;auto-composingtestpaper;examinationsystem

计算机等级考试题库与考试系统研究与设计

第一章绪论

1.1课题研究背景和意义

自计算机出现以来,计算机辅助教学(CAI)与计算机辅助测试(CAT)一直是目前国内外教育界研究的热点。这些系统的开发依赖于各个学科的专业知识、计算机软件技术、计算机网络技术等,其中,各个专业的CAI成果已经比较丰富,但是,由于不同范围的考试组织及不同类型题目自动阅卷的困难,使得CAT系统的研制明显滞后。

随着基于Intemet的计算机远程教学的逐步普及,为网络环境下的计算机考试系统的研制提供了可行性。近年来,普通高校和中等专业技术学校纷纷建立自己的校园网,并且连接到Intemet。这样,基于Intemet平台辅助教学平台的搭建,全自动化、分布式、功能高度集成的考试网络系统的研制也成为必然。

国外率先成功采用远程网络考试系统主要有英语的TOEFL,GRE考试,及微软、思科的水平认证考试,以及众多大学自行研制的课程学习测试系统。这些系统主要以选择、判断等的客观题的形式考核。国内较早进行考试系统研制的高校有西安交通大学、湖南大学、重庆大学、西北大学等。起初,这些系统多采用C/S结构,如基于NOVELL网的考试系统的研制,全国计算机等级考试系统,四川省计算机等级考试系统等等。从发展趋势看,教育不再是人一生中一个阶段内的事情,而是伴随终生的事情。现代人的生存和发展需要不断的接受再教育,接受各种培训。不断增长的教育规模,导致考试认证的规模也越来越大。这样的考试往往具有以下特点:

(1)标准化程度高。考试往往有一个相对固定的考试内容范围,且试题类型相对稳定;再者为便于自动化处理,在制定这些试题的时候考虑到了标准化问题,易于被计算机处理。

(2)规模大、频率高。每一次考试的进行往往涉及几百人或几千人的规模,并且相同的考试一年会举行多次,使得总体考生人数很大。采用计算机实现这些考试可以降低单个平均成本。

(3)要求处理速度快。频繁地举行这样的考试的同时,对后期处理的要求也越来越高,用户希望在尽可能短的时间内得到最终结果。网络考试系统可以提高效率,满足这种需要。原有的考试系统多采用C/S结构,因需要对客户端计算机进行维护,工作量大。

1.2课题研究内容

本课题将设计与实现一个“计算机等级考试题库与考试系统”。

主要的功能模块包括:

1.后台管理系统系统

该模块主要为教师对题库和考试进行控制而设计。

(1)在题库的管理方面有判断题管理、选择题管理、填空题管理、编程题

管理等,分别能够对相应的题目进行添加、删除、修改、查询。

(2)在考试管理方面,有组卷管理和编程题评分两个方面。组卷管理用于

添加新一期的试卷和对当期试卷的结构进行修改。编程题评分用于把编程题考试的题目和答案从数据库中提取出来,老师给予得分。

(3)在其他方面,有管理员信息、学生管理和成绩管理。管理员信息用于修改管理员的帐号、密码;学生管理可以查询和删除学生用户;成绩管理可以查询学生客观题考试的成绩。

2.考试系统

该模块主要分为客观题考试和编程题考试部分。

(1)客观题考试部分:客观题有填空题、选择题、判断题三种;试卷采取自动组卷的形式,提取考题是随机的,这种随机的组卷的形式,可以使学生进行同一期考试多次,而考试的试卷不与其它一样,使学生得到更好的训练;学生提交试卷后,系统自动阅卷,并且马上将对错、正确答案、本题得分在每一题后用红字显示出来,并且计算出试卷的总分用红字显示。

(2)编程题考试部分:进入编程题考试后,将所有的编程题的题目显示出来,由学生自由选择考试的题目,每次考试只能选择其中一题,但是可以多次考试。

3、指导答疑系统

指导答疑系统就以留言板的形式提供了一个师生交流的平台,学生可以把问题发到留言板上,老师或其他同学都可以及时给予回答。这不仅使学生及时得到指导,同时使老师及时了解了学生的情况。此外,留言不会显示真实姓名,减少了学生的心理负担。

1.3系统组织结构

本文包含以下组成部分:

第一章:绪论。介绍课题研究的意义、目的、现状、以及内容。

第二章:关键技术研究。本章介绍了该系统设计时用到的几个关键技术,主要包括相关ASP技术的基本理论知识,SQLServer2000和创建数据库连接的相关技术和理论。

第三章:系统总体功能设计。本章对该系统的总体功能情况作了比较详细的

介绍主要包括主要包括系统总体框架设计和各模块的功能介绍。

第四章:数据库设计。本章对系统的数据库设计做了详细的介绍,主要包括

数据库的概念模型设计、数据库的物理模型设计、数据库的逻辑模型设计。

第五章:计算机等级考试题库与考试系统的实现。本章详细介绍了计算机等级考试题库与考试系统的设计,主要包括自动组卷设计、登录设计、客观题考试设计、编程题考试设计、题目的增删改查设计、试卷组成设计、编程题阅卷设计、学生信息管理设计、学生成绩管理设计、留言板设计等。

第六章:系统测试。本章主要介绍了系统的开发环境和测试项目中存在的一

些问题。

第七章:总结与展望。本章主要对本次的开发做出总结,指出本次开发的成

功与不足。并对以后考试系统技术的改进与发展做了一定的展望。

第二章关键技术研究

2.1ASP技术

ASP(ActiveServerPages)是微软公司用来建立动态网页的解决方案,是一套微软开发的服务器端脚本环境,ASP内含于IIS之中。通过ASP大家可以结合HTML(HypertextMarkupLanguage)网页、ASP指令和ActiveX控件建立动态、交互且高效的WEB服务器应用程序。有了ASP你就不必担心客户的浏览器是否能运行你所编写的代码,因为所有的程序都将在服务器端执行,包括所有嵌在普通HTML中的脚本程序。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,大大提高了交互的速度。

ASP程序只能在WEB服务器端执行,它的工作流程是:先由客户端发出HTML请求到WEB服务器,WEB服务器根据客户请求向数据库服务器发出数据查询请求,数据库服务器将返回查询结果到WEB服务器,再由WEB服务器将结果转换成HTML文件返回给客户端,等浏览器端收到HTML文件后,便会将执行结果显示在浏览器上。

ASP的强大功能都可通过调用五达内置对象来实现的:

1、RequestObject

集合:querystring、Form、cookies、Servervariable等

2、ResponseObjeet

属性:buffer、cookies、ContentType、ExPires、ExpiresAbsolute、Status、IsClientConneeted、CaeheControl等

方法:write、redirect、end、flush、cookies、BinaryWrite、AddHeader、APPendToLog等

3、ServerObject

属性:scripttimeout等

方法:CreateObject、mappath、URLencode、HTMLencode等

4、ApplicationObject

方法:lock和unlock等

5、SessionObjeet

属性:SessionID和TimeOut等

方法:Abandon等

2.2SQLServer2000

SQLServer2000个人版:这种版本包括所有管理工具和标准版中的多种功能,它支持双处理器系统,并为个人使用进行了全面优化。当并发访问用户超过5个时,这种数据库系统的性能将随负荷的增加而明显降低。与标准版和企业版不同的是,SQLServer2000个人版除可以运行在MicrosoftWindowsNT/2000服务器操作系统下外,它还能够运行在Windows2000Professiona1、WindowsNTWorkstation,Windows98等桌面操作系统下。

概括起来,SQLServer2000数据库管理系统具有以下主要特点。

(1)丰富的图形化管理工具,使系统管理,操作更为直观方便。SQLServer企业管理器是一个基于图形用户界面(GUI,GraphicUserInterface)的集成管理工具,利用它可以配置管理SQLServer服务器、管理数据库和数据库对象、备份和恢复数据、调度任务和管理警报,实现数据复制和转换操作等。此外,SQLServer2000还提供了SQL(StructuredQueryLanguage)事件探查器、SQL查询分析器、SQLServer服务管理器和多种操作向导等图形界面管理工具,大大简化了用户操作,从而增强了系统的易用性。

(2)动态自动管理和优化功能。即使SQLServer数据库管理员不做任何设置,SQLServer也能够在运行过程中根据环境配置和用户访问情况动态自动配置,以达到最优性能,从而减轻管理员工作。

(3)充分的Internet技术支持。Internet网络发展到今天已经成为一条重要的信息发布渠道,SQLServer增强了对Internet技术的支持,它除保留了前期版本中的数据库Web出版工具"Web助手"外,还增加了对XML(ExtensibleMarkupLanguage)和HTTP(HypertextTransferProtocol)技术的支持,这使得电子商务系统能够通过XML等访问SQLServer数据库系统,也扩展了SQLServer在数据挖掘和分析服务领域的应用。

(4)丰富的编程接口工具,使用户开发SQLServer数据库应用程序更加灵活。SQLServer提供了Transact-SQL、DB-LibraryforC、嵌入式SQL(ESQL)等开发工具,Transact-SQL与工业标准SQL语言兼容,并在其基础上加以扩充,使它更适合事务处理方面的需要。此外,SQLServer2000还支持ODBC(OpenDatabaseConnectivity)、OLEDB(ObjectLinkingandEmbeddingdatabase)、ADO(ActiveXDataObjects)规范,可以使用ODBC、OLEDB、ADO接口访问SQLServer数据库。

(5)具有很好的伸缩性和可靠性。SQLServer2000既能运行在Windows桌面操作系统下,又可运行在服务器操作系统(包括WindowsNT和Windows2000)下;既能运行在单CPU(CentralProcessingUnit)计算机上,又能运行在对称多处理系统下。所以,它具有很好的伸缩性,能够满足从桌面应用到大型企业分布式应用等不同层次用户的需求。

(6)简单的管理方式。SQLServer2000与MicrosoftWindows2000有机集成,所以可以使用Windows2000的活动目录(ActiveDirectory)功能对SQLServer进行集中管理,大大简化大型企业中的系统管理工作。此外,与Windows2000的集成还使SQLServer能够充分利用操作系统所提供的服务和功能(如安全管理、事件日志、性能监视器,内存管理和异步I/O等),从而增强了SQLServer数据库系统的功能,并且只需占用很少的系统资源。

2.3创建数据库连接

在进行动态网站开发时,一个很重要的步骤就是建立数据库的连接,即访问数据库。访问数据库可以用DSN(DataSourceName)和非DSN两种方法。应用DSN访问数据库需要配置ODBC数据源。该方法的优点是比较安全,而应用非DSN访问数据库不需要配置ODBC数据源,比较方便。创建数据库连接主要分两步进行:

一是创建数据库连接文件CONN.ASP。

<%

Setconn=Server.CreateObject("ADODB.Connection")'创建一个数据库链接对象conn,方便后面调用

connstr="Provider=SQLOLEDB;DataSource=(local);InitialCatalog=test;UserID=sa;Password="'创建一个数据库的recordset对象,方便以后调用

conn.Openconnstr'打开数据库

%>

二是在需要与数据库连接的页面包含该文件。(如<!一#includefile=”include/conn.asp”一>)。

由于本系统采用SQLServer数据库存储数据,所以使用可以采用Global.asa文件来连接数据库。Global.asa文件可以管理在ASP应用中两个非常苛刻的对象:Application、Session。

它其实是一个可选文件,程序编写者可以在该文件中指定事件脚本,并声明具有会话和应用程序作用域的对象。该文件的内容不是用来给用户显示的,而是用来存储事件信息和由应用程序全局使用的对象。该文件必须存放在应用程序的根目录内。每个应用程序只能有一个Global.asa文件。

Global.asa文件主要基于会话级事件被访问,在以下三种情况下被调用:

1,当Applieation_OnStart或Applieation_OnEnd事件被触发。

2,当Session_OnStart或Session_OnEnd事件被触发。

3,当引用一个Global.asa在文件里被实例化的对象(Object)。

Global.asa的标准文件格式如下:

<SCRIPTLANGUAGE=”VBScript”RUNAT=”Server”>

SubApplieation_OnStart

‘Applieation_OnStart当任何客户首次访问该应用程序的首页时运行

EndSub

SubSession_OnStart

Session_OnStart当客户首次运行ASP应用程序中的任何一个页面时运行

EndSub

SubSession_OnEnd

Session_OnEnd当一个客户的会话超时或退出应用程序时运行

EndSub

SubApplication_OnEnd

‘Application_OnEnd当该站点的WEB服务器关闭时运行

EndSub

</SCRIPT>

第三章系统总体功能设计

3.1系统总体框架图

图3-1系统总体框架图

上图简单的列出了本系统的框架.我们可以看出,系统分为四个模块:

1.学生考试系统:本模块分为客观题考试部分和编程题考试部分。

2.后台管理系统:本模块分为判断题管理、填空题管理、选择题管理、编程题管理、试卷管理、成绩管理、编程题评分、学生管理、管理员信息等。

3.学生注册:主要是新学生注册的模块。

4.指导答疑系统:本模块以留言板的形式实现,主要分为会员管理、修改信息、进入留言板等。

3.2学生考试系统

学生考试分为两部分:

1.客观题考试部分:客观题有填空题、选择题、判断题三种;试卷采取自动组卷的形式,提取考题是随机的,这种随机的组卷的形式,可以使学生进行同一期考试多次,而考试的试卷不与其它一样,使学生得到更好的训练;学生提交试卷后,系统自动阅卷,并且马上将对错、正确答案、本题得分在每一题后用红字显示出来,并且计算出试卷的总分用红字显示。

2.编程题考试部分:进入编程题考试后,将所有的编程题的题目显示出来,由学生自由选择考试的题目,每次考试只能选择其中一题,但是可以多次考试。编程题答案的字数多,而且答案不唯一,没有固定格式,这使得系统自动阅卷非常困难,所以本系统里,采用人工阅卷的形式。编程题考试提交答卷后,系统将答卷记入数据库,由老师在后台管理系统中的编程题评分页面进行评分。

3.3后台管理系统

后台管理系统是教师管理题库和考试情况的系统,教师可以通过此系统控制题目、考试形式、学生用户、学生成绩等。给教师带来很大的方便。后台管理系统有以下几个功能:

1.判断题管理:该功能能够浏览所有的判断题,并且能够对所选的判断题进行修改和删除,同时还能够对判断题进行添加,为了提高题目添加的速度,一次可以添加10条判断题。此外,还可以通过输入关键字,对题目进行查询。

2.填空题管理:该功能能够浏览所有的填空题,并且能够对所选的填空题进行修改和删除,同时还能够对填空题进行添加,为了提高题目添加的速度,一次可以添加10条填空题。此外,还可以通过输入关键字,对题目进行查询。

3.选择题管理:该功能能够浏览所有的选择题,并且能够对所选的选择题进行修改和删除,同时还能够对选择题进行添加,为了提高题目添加的速度,一次可以添加3条选择题。此外,还可以通过输入关键字,对题目进行查询。

4.编程题管理:该功能能够浏览所有的编程题,并且能够对所选的编程题进行修改和删除,同时还能够对编程题进行添加,为了提高题目添加的速度,一次可以添加2条编程题。此外,还可以通过输入关键字,对题目进行查询。

5.试卷管理:试卷管理是老师用来设置当期客观题考试情况的。可以添加新一期考试,并分别设置填空题、选择题、判断题的数目和分数,同时也可以分别对当期考试的填空题、选择题、判断题的数目和分数进行修改。

要想真正控制当期客观题考试的试卷情况,单独使用该功能是在本系统中是无法真正的做到的,还得配合前面的判断题管理、填空题管理、选择题管理对题目进行控制。

6.成绩管理:该功能是对每一期学生的客观题考试成绩分别进行显示,如有不及格,教师可以要求其补考。同时还有查询功能,查询某个学生的考试情况。

7.编程题评分:该功能是为了对编程题考试进行人工阅卷而设计。先从答卷表和编程题的题目表中提取所有没有没有评过分的考试的题目和回答,以表格的形式显示出来,教师可以对每一份答卷给分。

8.学生管理:该功能可以对所有的学生用户进行管理,包括搜索和删除功能,有了该功能,就防止了学生注册用户无限度扩大的情况。

9.管理员信息:该功能可以对管理员的密码进行修改,有利于提高系统的安全性。

3.4指导答疑系统

学生通过考试,一方面能够使学生熟悉考试的环境、题型等,一方面能够巩固已学知识,但最主要的意义在于发现自身知识的漏洞。只有捉住了漏洞,才能去寻找答案,堵住漏洞,才能增长知识,提高学习能力。而指导答疑系统就以留言板的形式提供了一个师生交流的平台,学生可以把问题发到留言板上,老师或其他同学都可以及时给予回答。这不仅使学生及时得到指导,同时使老师及时了解了学生的情况。此外,留言不会显示真实姓名,减少了学生的心理负担。该系统有以下几个功能:

1.会员管理:该功能超级管理员可以对所有的普通管理员和普通用户进行管理。

2.修改信息:登录用户可以通过该功能修改自身信息。

3.进入留言板:用户可以在留言板里发帖子,管理员可以对用户的留言进行回复。同时,管理员还可以对留言进行删除。

第四章数据库设计

大多数网络应用系统都需要后台数据库的支持。在Windows操作系统中,Access和SQLServer是最常见的网络后台数据库。在互联网上,很多人出于价格的考虑选择Access数据库,但是要实现比较大的网络应用系统,还是应选择SQLServer。为实现在线考试系统,我们选择SQLServer数据库存储数据。

数据库的设计通常涉及三部分的设计即数据库的概念设计、数据库的逻辑设计和数据库的物理设计。

数据库的概念设计是在需求分析的基础上,用概念数据模型如常用的E-R数据模型表示数据及其相互间的联系,概念数据模型是与DBMS(DatabaseManagementSystem)无关、面向现实世界的数据模型,是准确表达现实世界数据间关系的重要环节。

数据库的逻辑设计是分析概念设计所得到的概念数据模型,并根据所采用的DBMS的功能和限制,将其转变为逻辑模式,且用数据定义语言DDL(DynamicLinkLibrary)或视图来表示。

数据库的物理设计将根据逻辑模式、DBMS及所用计算机系统平台设计数据库的内模式,即文件结构、各种存取路径、存储空间的分配、记录的存储格式等。

4.1数据库的概念模型设计

概念数据库模型设计的目标是:

1)准确描述应用领域的信息模式,支持用户的各种应用;

2)既易于转换为逻辑数据库模式,又容易为用户理解。

在数据库的概念设计中,E-R数据模型是常用的概念设计表示模型,视图集成法是一种重要的设计方法。下面就用实体—联系模型(E-R图)来描述本系统中的实体和它们之间的联系。

根据需求分析,考生及考试试卷的视图如下图4-1所示。

图4-1关于考生与试卷的E-R图

图中涉及考生,考试试卷两实体间的联系,考生与考试试卷是多对多的联系,允许一个考生进行多门课程的考试;考生与成绩是一对多的关系,即一个考生可以有多门考试的成绩:与实体相关的是实体数据。

试题库是用计算机管理并可从中抽取试题生成考试试卷的试题的集合,与试题相关的数据以及生成的试卷它们彼此的联系见有关试题、试卷的视图,如下图图4-2所示。

图4-2关于试题与试卷的E-R图

图中涉及试题、试卷和考试科目间的联系,试卷实体和试题它们有一些共同的相关数据即组成试卷的试题的信息;试卷和试题是一对多的关系;与试卷实体相关的还有题库,试卷与题库之间是一对一的关系。

编程题考试答卷是考生经过考试过程提交的考试结果,有关答卷的视图反映答卷及其相关数据的关系如下图4-3所示。

图4-3关于答卷的E-R图

虽然图中只有一个实体答卷,但与其相关的数据考生ID、试卷ID以及试题ID却与考生实体和试卷实体密切相关,将这些视图集成起来再分析将会发现这些实体间的联系。

4.2数据库的逻辑模型设计

数据库逻辑设计的任务是把概念数据库设计阶段产生的概念数据库模式变换为数据库逻辑模式。逻辑数据库设计依赖于逻辑数据模型和数据库管理系统。关系数据模型和关系数据库管理系统已经被广泛地使用于逻辑数据库设计中。

本系统有两个并列的数据库,test数据库记录题库、考试、考生信息,BOARD数据库记录指导答疑系统的用户、留言信息。

Test数据库:

1.管理员信息表admin(admin,adminpassword)

2.学生信息表student(studentnumber,studentname,studentpassword,sex,class,registerdata)

3.编程题表biancheng(id,content,zhishidian,setupdata)

4.填空题表filling(fillingid,answer,setupdata)

5.判断题表rightorwrong(rightorwrong,question,answer,setupdata)

6.选择题表selecting(selectid,question,result1,result2,result3,result4,

setupdata)

7.编程题考试表bcanswer(bcid,timuhao,studentid,setupdata,answer,defen)

8.试卷表examination(examinationid,studentnumber,score,examinationdata,pass,makeup)

9.客观题考试组成表test(Examinationid,rightorwrongid,rightorwrongscore,selectid,selectscore,fillingid,fillingscore,setupdata)

BOARD数据库:

1.用户表MEMBER(ID,NAME,PASSWORD,REALNAME,URL,E-MALL,COMMIT,R-

EGTIME,CLASS)

2.留言表NOTE(ID,USERID,IP,SUBJECT,POSTTIME,REPLY,REPLYTIME,

REPLYUSERID)

3.留言设置表SETTING(ID,SITENAME,SUBJECTMAXLENGTH,MAXLE-

NGTH,DISTANCE,COUNTS,REPLYCOLOR)

4.3数据库的物理模型设计

首先介绍数据库的建立方法,我们使用“企业管理器”新建立数据库。启动“企业管理器”程序,然后创建名为“test”的数据库。连接到数据库服务器上,选中test数据库的数据表选项,在空白区域单击鼠标右键,在弹出的菜单中选择“新建表”选项,然后建立各个数据表,下面是各个数据表的结构和相关说明。

1.admin表

该表用来存储所有的系统管理员,包括管理员帐号admin,管理员密码adminpassword字段,其中admin为主键。

2.student表

该表用来存储所有的学生,包括学生帐号studentnumber,学生名字studentname,密码studentpassword,性别sex,班号class,注册时间registerdata字段,其中studentnumber为主键。

3.biancheng表

该表用来存储所有的编程题,包括题号id,题目内容content,知识点zhishidian,录入时间setupdata,其中id为主键。如图4-4所示。

图4-4biancheng表

4.filling表

该表用来存储所有的填空题,包括题号fillingid,问题question,答案answer,录入时间setupdata,其中fillingid为主键。如图4-5所示。

图4-5filling表

5.rightorwrong表

该表用来存储所有的判断题,包括题号rightorwrongid,问题question,答案answer,录入时间setupdata,其中rightorwrong为主键。如图4-6所示。

图4-6rightorwrong表

6.selecting表

该表用来存储所有的选择题,包括题号selectid,问题question,选项A为result1,选项B为result2,选项C为result3,选项D为result4,录入时间setupdata,其中selectid为主键。如图4-7所示。

图4-7selectling表

7.bcanswer表

该表存储编程题考试的答卷,包括答卷号bcid,编程题在biancheng表中的题目号timuhao,考试学生号studentid,提交时间setupdata,得分defen。如图4-8所示。

图4-8bcanswer表

8.examination表

该表存储所有的客观题考试的结果,包括考试号examinationid,学生号studentnumber,得分score,考试时间examinationdata,通过是否补考标志pass,试题补考得分makeup。主键为examinationid。如图4-9所示。

图4-9examination表

9.test表

该表存储所有的试卷信息,包括试卷号examinationid,判断题题量rightorwrongid,判断题分值rightorwrongscore,选择题题量selectid,选择题分值selectscore,填空题题量fillingid,填空题分值fillingscore,试卷生成时间setupdata,其中主键为examinationid。如图4-10所示。

图4-10test表

与数据库test并列,还有一个数据库board,board是指导答疑系统的数据库,该数据库有表member,note,setting三张表。

第五章计算机等级考试题库与考试系统的实现

5.1创建数据库连接

一是创建数据库连接文件CONN.ASP。

<%

Setconn=Server.CreateObject("ADODB.Connection")'创建一个数据库链接对象conn,方便后面调用

connstr="Provider=SQLOLEDB;DataSource=(local);InitialCatalog=test;UserID=sa;Password="'创建一个数据库的recordset对象,方便以后调用

conn.Openconnstr'打开数据库

%>

二是在需要与数据库连接的页面包含该文件。(<!--#includefile="conn.asp"-->)

本系统的Global.asa文件内容如下:

<SCRIPTLANGUAGE="VBScript"RUNAT="Server">

session.timeout=200

</SCRIPT>

5.2自动组卷功能

5.2.1自动组卷原则

计算机自动组卷,应遵循下列原则:

通用性:系统应支持要求各异的各种科目题库的建立,生成较为规范的试卷。

简便性:适合基于远程教学的考试系统。

随机性:在给出组卷指标后,系统应自动实现各种指标随机组合,也可按特定指标选择特定要求的题目。

合理性:试题覆盖面广,同一份试卷不应有相关联的试题同时出现,应保证试卷的平行性,另外整卷的分值和答卷时间要符合常规指标(如100分卷面和90分钟答题时间等)

应变性:每次命题可根据实际教学情况对知识点、难度、进度、教学层次等参数特性进行相应的调整。

5.2.2自动组卷功能的实现

单击图5-1的“进入客观题考试”,就进入客观题考试页面test.asp

图5-1进入考试界面

根据最新一期的组卷方案组成,采用随机组卷的方式生成试卷,界面如图5-2所示:

图5-2客观题考试界面

本系统在客观题考试部分采用自动组卷的形式,页面为test.asp,其实现方法是从数据库的test表中取出本期考试的试卷的判断题、选择题、填空题的题量和分数,然后自动组成试卷,并将本次考试信息录入examination表。其中选择题的组成代码如下(填空题和判断题类似,test.asp的完整代码见附录):

<%ifxz=0then

response.write"<inputtype=hiddenname=messagepdvalue='本次考无选择题'>"

flagxz=0

%><tr>

<tdalign=center>本次考无选择题

</td>

</tr>

<%else

fori=1toxz

ifmaxtype2=0then

response.write"<inputtype=hiddenname=messagepdvalue='题库里暂无选择题'>"

flagxz=0

%><tr>

<tdalign=center>题库里暂无选择题

</td>

</tr>

<%else

randomize

sid=int(maxtype2*rnd+1)

setrst=conn.execute("select*fromselectingwhereselectid="&sid)

whilerst.eof

randomize

sid=int(maxtype2*rnd+1)

setrst=conn.execute("select*fromselectingwhereselectid="&sid)

wend

%>

5.3考试系统

用户进入考试系统时,首先展示给用户的是系统登录页面,其文件为login.asp,其运行结果如图5-3所示:

图5-3登录界面图

本页利用session记录用户信息,并且设置session.timeout=125,这就使得在125分钟之内,session记录的用户信息都不释放,程序员随时可以从session中获得用户信息。其代码如下:

<%

session.timeout=125

iftrim(request("ctype"))="add"then

session("student")=""

session("classes")=""

session("number")=""

session("sex")=""

sql="select*fromstudentwherestudentname='"&trim(request("student"))&"'andstudentpassword='"&trim(request("pwd"))&"'"

setrs=conn.execute(sql)

ifrs.eofthen

%>

<scriptlanguage=javascript>

alert("无此学员!请先注册");

</script>

<%else

session("student")=rs("studentname")

session("classes")=rs("class")

session("number")=rs("studentnumber")

session("sex")=rs("sex")

session("timen")=now

%>

“提交”button的onClick="check()",所以单击“提交”,就会运行javascript中的check()函数。其代码如下:

<scriptlanguage=javascript>

functioncheck()

{if(document.form1.student.value=="")

{alert("请输入用户名");

document.form1.student.focus();

returnfalse;}

if(document.form1.pwd.value=="")

{alert("请输入用户密码");

document.form1.pwd.focus();

returnfalse;}

document.form1.ctype.value="add";

document.form1.submit();

}

</script>

如果不是学生用户,可以单击“新学生注册”进行注册,其文件为register.asp,其界面如图5-4所示:

图5-4新学生注册界面图

姓名、密码、班级、学号都是必填的项,所以在check()函数中有如下设置:

<scriptlanguage=javascript>

functioncheck()

{

if(document.form1.student.value=="")

{alert("请输入学生姓名!");

document.form1.student.focus();

returnfalse;

}

……’密码、班级、学号的设置代码与姓名类似

document.form1.ctype.value="add";

document.form1.submit();

}

</script>

学生登录后,进入考试页面index.asp,界面如图5-5所示:

图5-5进入考试界面

单击图5-5中的“进入编程题考试”,进入编程题考试选题页面bianchengxt.asp,界面如图5-6所示:

图5-6编程题考试选题界面

编程题考试采用每次考试只考一题的形式,考完直接提交,系统将考卷信息、考生信息及答案都录入数据库,等待教师人工评分。在图5-6中单击“考试”,就可进入所选题考试页面biancheng.asp,界面如图5-7所示:

图5-7编程题考试界面

5.4后台管理系统

如果要进入后台进行管理,可以单击“后台管理程序入口”进行注册,其文件为\admin\index.asp,其界面如图5-8所示:

图5-8后台管理系统登录界面

登录完成后,进入管理页面,其界面如图5-9所示:

图5-9后台管理界面

5.4.1题库管理

判断题管理、选择题管理、填空题管理、编程题管理的功能相似,下面以选择题管理为例。在图5-9中单击“选择题管理”,进入选择题管理界面type_2.asp,如图5-10所示:

图5-10选择题管理界面

在该页中有查找功能,如果在“查找”后的文本框中输入文字,就会以输入文字为关键字在题目中进行匹配,匹配成功的全部显示。

单击图5-10“添加新题”,进入选择题添加页面type_2_add.asp,每次最多可录入三题选择题,如图5-11所示:

图5-11选择题添加界面

单击图5-10“编辑”,进入选择题编辑页面type_2_edit.asp,可以对左边所列的选择题进行编辑,如图5-12所示:

图5-12选择题编辑界面

单击图5-10“删除”,进入选择题编辑页面type_2_del.asp,可以对左边所列的选择题进行删除。

5.4.2试卷管理

1.客观题试卷管理

单击图5-9“试卷管理”,进入选择题编辑页面test.asp,可以对最新一期的试卷组成进行编辑,如图5-13所示:

图5-13试卷管理界面

在图中的文本框中输入要修改的内容,选中右边的复选框中,单击“修改”就对本期试卷的组成进行了修改。

单击“增加”,出现了如上图格式的文本框都为空的试卷组成界面,如图5-14所示:

图5-14添加试卷界面

在文本框中输入相应的内容,单击“增加”就将新一期的试卷组成录入了test表;单击“放弃”,就放弃了此次试卷添加。

2.编程题评分

单击图5-9“编程题评分”,进入编程题评分页面pfbiancheng.asp,可以对bcanswer表中没有评过分的编程题答卷进行评分,如图5-15所示:

图5-15编程题评分界面

单击“评分”,可以对左边的编程题答卷进行给分,如图5-16所示:

图5-16编程题给分界面

5.4.3其它功能

1.成绩管理

单击图5-9“成绩管理”,进入成绩管理页面report.asp,如图5-17所示:

图5-17成绩管理界面

2.学生管理

单击图5-9“学生管理”,进入成绩管理页面student_admin.asp,如图5-18所示:

图5-18学生管理

3.管理员信息

单击图5-9“管理员信息,进入成绩管理页面system.asp,可以进行管理员的密码修改,如图5-19所示:

图5-19管理员修改密码界面

5.5指导答疑系统

如果要进入指导答疑系统,单击“指导答疑程序入口”,其文件为board/login.asp,其登录界面如图5-20所示:

图5-20指导答疑系统登录界面

该页面中采用验证码技术,login.asp中相关代码如下:

……

<!--#includefile="function.asp"-->

……

<%

'获得验证码图片

callGetSafeCode()

%>

……

函数GetSafeCode()在页面function.asp中,其代码如下:

<%

SubGetSafeCode

Dimtest,Result

OnErrorResumeNext'忽视产生的错误

Settest=Server.CreateObject("Adodb.Stream")'产生Adodb.Stream对象

Settest=Nothing

'如果无法产生Adodb.Stream对象'也就是无法获得对客户端的输入输出流

'则无法直接相客户端浏览器写入图片数据'因此直接产生字符随机码,并返回

IfErrThen

DimzNum

Randomizetimer

zNum=cint(8999*Rnd+1000)

Session("SafeCode")=CStr(zNum)

Result=Session("SafeCode")

Else

'可以读写客户端输入输出流'调用checkcode.asp来产生图片

Result="<imgsrc=""checkcode.asp""align=""absmiddle"">"

EndIf

Response.WriteResult

EndSub

%>

登录成功后,进入指导答疑系统,其界面如图5-21所示::

图5-21指导答疑系统界面

单击图5-21“会员管理”,进入会员管理页面,如图5-22所示:

图5-22会员管理界面

单击图5-21“修改信息”,进入登录用户信息修改页面,如图5-23所示:

图5-23登录用户信息修改界面

单击图5-21“进入留言板”,进入留言板页面,如图5-24所示:

图5-24留言板浏览界面

单击图5-24“发表留言”,可以进入发表留言页面,发表留言。

单击图5-24“管理首页”,可以进入管理留言页面,如图5-25所示:

图5-25留言管理界面

单击图5-25“内容”列中的项,可以对相应的留言进行回复。如图5-26所示:

图5-26留言回复界面

选中图5-26中左侧的复选框,单击“删除”,可以删除相应的留言。

第六章系统测试

6.1开发环境

硬件环境:

1.服务器端

服务器端的主要配置如下:

处理器:Intel(R)Pentium(R)4CPU2.80GHz

内存:512MB

硬盘空间:80GB

2.客户端

客户端的主要配置如下:

处理器Intel(R)Pentium(R)4CPU2.80GHz

内存:512MB

硬盘空间:80GB

软件环境:

1.服务器端

操作系统:WindowsXP

网络协议:TCP/IP

WEB服务器:InternetInformationServers5.1

数据库:SQLSERVER2000

2.用户端

操作系统:WindowsXP

网络协议:TCP/IP

浏览器:IntemetExplorer6.0

6.2测试项目

设计测试方案是测试阶段的十分关键问题,测试方案包括要测试的功能,应

该输入的测试数据和预期的结果。

6.2.1考试系统测试

1.客观题组卷部分:

(1)由于采用自动组卷的形式,虽然在考试时使得学生每次面对的都是全新的试卷,练习效果更佳,但是也使得教师无法对试卷的题目进行控制,在难易程度上很难把握,因此需要在算法方面进一步完善,增加题目的属性和选题的条件。

(2)组卷有可能出现相同的试题,为了解决这一问题,可以定义一数组,把已选试题的id存入该数组,每新选一题就将其id与该数组里的所有元素进行比较,如有一样的就放弃重选,否则选该题,并将该题id存入该数组。

2.编程题考试部分:

(1)编程题考试采用的是学生自主选择题目的形式,并且每次只能考一题,使得编程题的的考试部分更加适合练习,而对于考试来说,一方面难易程度不好控制,另一方面题量不够。

(2)考试结果只有在考试结束后才保存,所以如果碰到中途死机或因其他情况中止考试,考试情况就得不到保存。

6.2.2后台管理系统测试

题库里进行题目录入和修改时,会与题库里的题目进行比较,检查是否已经有此试题,但是只要题目有一字之差,系统就认为题目是不同的,所以就使得一些实际上相同的题目存在于题库之中。

6.2.3指导答疑系统测试

指导答疑问系统是以留言板的形式建立的师生交流的平台,所以其环境应该让人感觉轻松愉悦,所以需要对其界面进行美化。

6.2.4其他测试

本系统虽然客观题考完以后学生能够看到题目对错和分数,教师也有客观题的学生成绩管理功能,但是没有学生查分的功能。

第七章总结与展望

7.1系统总结

学生通过反复的考试训练,一方面能够使学生熟悉考试的环境、题型等,一方面能够巩固已学知识,但最主要的意义在于发现自身知识的漏洞。只有捉住了漏洞,才能去寻找答案,堵住漏洞,才能增长知识,提高学习能力。

本文的目标是建立一个高效、可靠、安全的计算机等级考试题库与考试系统。通过分析当前的考试系统、教育教学的现状,可知网络考试具有广阔的前景。本系统经过了测试和应用,相比于目前软件有以下几大特点:

(1)试题组卷方式更加灵活:

根据学生应掌握的知识点,可以随时增添题库内容,利用此特点可将系统也用作平时教学的练习系统,通过对题库内容的控制可以进行针对性的测试、检查学生的学习效果:

(2)提高了编程题测试效率:

大多数的考试系统都没有编程题考试的功能,本系统增加了编程题考试的功能,给学生进行编程题训练的机会,并且可以对题目进行自主选择,这样学生就可以针对自身情况进行针对性的训练。

(3)指导答疑问系统:

指导答疑系统就以留言板的形式提供了一个师生交流的平台,学生可以把问题发到留言板上,老师或其他同学都可以及时给予回答。这不仅使学生及时得到指导,同时使老师及时了解了学生的情况。此外,留言不会显示真实姓名,减少了学生的心理负担。

7.2系统展望

在现有系统的基础上,可作进一步扩充,融教学、考试于一体,并在题型选择上更具多样性,将更多学科、更多课程的教学、考试纳入进来,使得系统不仅仅是在考试环节中发挥作用,在平时的教学环节也能发挥重要作用。考试系统如能增加对声音信息的处理,就可以在试题中嵌入声音,通过对这些包含有声音文件的处理,就能使得诸如英语听力、英语口语等的考试得以在计算机上实现。

虽然,计算机及相关技术的发展相当迅速,但传统的考试方式在很多考试中仍然是不便替代的。如何利用蓬勃发展的计算机和网络技术,提高考试效率和考试安全是值得去长期探索和研究的。

参考文献

[1]石志国,王志良,薛为民编著.ASP精解案例教程[M].北京:清华大学出版社,北方交通大学出版社,2004

[2]黄斯伟,王玮编著.HTML4.0动态网页制作[M].北京:人民邮电出版社,1995

[3]张杰,任伟,吴林划.ASP典型模块设计[M].北京:清华大学出版社,2007

[4]龙马工作室编著.6+1ASP+SQLServer组建动态网站实例精讲[M].北京:人民邮电出版社,2004

[5]范剑波主编,张晓云主审.网络数据库技术及应用[M].西安:西安电子科技大学出版社,2004

[6]黄雷编著,冼劲审.ASP+SQLServer项目开发实践[M].北京:中国铁道出版社,2006

[7]求是科技编著.SQLServer2000数据库开发技术与工程实践[M].北京:人民邮电出版社,2004

[8]黄斯伟编著.CSS网页样式设计[M].北京:人民邮电出版社,1999

[9]LiuZQ,YanF.FuzzyNeuralNetworkinCase-basedDiagnosticSystem.IEEETransactiononFuzzySystems,1997,5(2):209.222

[10]RichterJefrey.AppliedMicrosoft.Netframeworkprogramming[M].MicrosoftPress,2002.97.102

 

 

 

 

 

 

 

 

附录

 

客观题考试页面test.asp,代码代码如下:

<!--#includefile="conn.asp"-->

<!--#includefile="check.asp"-->

<%

flagpd=0

flagxz=0

flagtk=0

randomize

setrss=conn.execute("select*fromexaminationwherestudentnumber="&session("number")&"and(pass=0ormakeup<>0)orderbyexaminationiddesc")

ifrss.eofthen

qi=1

else

qi=rss("examinationid")+1

endif

setrss=conn.execute("select*fromexaminationwherestudentnumber="&session("number")&"and(pass=1andmakeup=0)orderbyexaminationiddesc")

ifnotrss.eofthen

qi=rss("examinationid")

endif

setrss=conn.execute("select*fromtestorderbyexaminationiddesc")

ifrss.eofthen

%>

<scriptlanguage=javascript>

alert("请先出题!再进行考试!");

history.back();

</script>

<%

else

pd=rss("rightorwrongid")

pds=rss("rightorwrongscore")

xz=rss("selectid")

xzs=rss("selectscore")

tk=rss("fillingid")

tks=rss("fillingscore")

zf=pd*pds+xz*xzs+tk*tks

testid=rss("examinationid")

setrs=conn.execute("select*fromrightorwrongorderbyrightorwrongiddesc")

maxtype1=rs("rightorwrongid")

setrs=conn.execute("select*fromselectingorderbyselectiddesc")

maxtype2=rs("selectid")

setrs=conn.execute("select*fromfillingorderbyfillingiddesc")

maxtype3=rs("fillingid")

sqlfind="select*fromexaminationwhereexaminationid="&testid&"andstudentnumber="&session("number")&"and(pass=0ormakeup<>0)"

setrsfind=conn.execute(sqlfind)

ifnotrsfind.eofthen

%>

<scriptlanguage=javascript>

alert("你已经参加过这次考试了,请等待下一次考试!");

window.navigate("index.asp");

</script>

<%else

setrsfinds=conn.execute("select*fromexaminationwhereexaminationid="&testid&"andstudentnumber="&session("number")&"and(pass=1andmakeup=0)")

ifnotrsfinds.eofthen

else

sqlin="insertintoexamination(examinationid,studentnumber,score)values("&testid&","&session("number")&",0)"

'response.writesqlin

'response.end

setrsin=conn.execute(sqlin)

endif

endif

%>

<html>

<head>

<metahttp-equiv="Content-Language"content="zh-cn">

<metaname="GENERATOR"content="MicrosoftFrontPage6.0">

<metaname="ProgId"content="FrontPage.Editor.Document">

<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">

<title>网上考试系统</title>

<linkrel="stylesheet"type="text/css"href="css.css">

</head>

<bodytopmargin="0"leftmargin="0">

<!--#includefile="top2.htm"-->

<divalign="center">

<center>

<formname=form1action="test_over.asp">

<tableborder="1"cellpadding="4"cellspacing="0"style="border-collapse:collapse"bordercolor="#111111"width="760"height="100">

<tr>

<tdalign="center"><fontclass=test1>第<%=qi%>期考试</font>

<inputtype="hidden"name=qivalue=<%=qi%>>

<inputtype=hiddenname=testidvalue=<%=testid%>>

<br>(本期考试<%=pd%>道判断题,<%=xz%>道选择题,<%=tk%>道填空题,总分<%=zf%>分)<br><br>

<inputtype=hiddenname=pdvalue=<%=pd%>>

<inputtype=hiddenname=xzvalue=<%=xz%>>

<inputtype=hiddenname=tkvalue=<%=tk%>>

<inputtype=hiddenname=zfvalue=<%=zf%>>

<inputtype=hiddenname=pdsvalue=<%=pds%>>

<inputtype=hiddenname=xzsvalue=<%=xzs%>>

<inputtype=hiddenname=tksvalue=<%=tks%>>

<br><fontcolor="#000080">考生姓名:<%=session("student")%>&nbsp;&nbsp;性别:<%=session("sex")%>&nbsp;班级:<%=session("classes")%>&nbsp;&nbsp;&nbsp;学号:<%=session("number")%></font><br>

<br>

<divalign="center">

<center>

<tableborder="0"cellpadding="5"cellspacing="0"style="border-collapse:collapse"bordercolor="#111111"width="750">

<tr>

<tdbgcolor="#CBEFDC">一、判断题(共<%=pd%>道,每题<%=pds%>分)</td>

</tr>

<%

ifpd=0then

response.write"<inputtype=hiddenname=messagepdvalue='本次考无判断题'>"

flagpd=0

%><tr>

<tdalign=center>本次考无判断题

</td>

</tr>

<%

else

fori=1topd

ifmaxtype1=0then

response.write"<inputtype=hiddenname=messagepdvalue='题库里暂无判断题'>"

flagpd=0

%><tr>

<tdalign=center>题库里暂无判断题

</td>

</tr>

<%

else

randomize

sid=int(maxtype1*rnd+1)

setrst=conn.execute("select*fromrightorwrongwhererightorwrongid="&sid)

whilerst.eof

randomize

sid=int(maxtype1*rnd+1)

setrst=conn.execute("select*fromrightorwrongwhererightorwrongid="&sid)

wend

%>

<tr>

<td>&nbsp;&nbsp;&nbsp;<%=i%>、<%=rst("question")%>

<inputtype=hiddenname="tgpd<%=i%>"value="<%=rst("question")%>">

<selectname="cate<%=i%>"size="1"style="background-color:rgb(224,252,255)">

<optionselectedvalue=True>对</option>

<optionvalue=False>错</option></select>

<inputtype=hiddenname="pdda<%=i%>"value="<%=rst("answer")%>">

 

</td>

</tr>

<%

endif

next

endif%>

</table>

</center>

</div>

<br>

<divalign="center">

<center>

<tableborder="0"cellpadding="5"cellspacing="0"style="border-collapse:collapse"bordercolor="#111111"width="750">

<tr>

<tdbgcolor="#CBEFDC">一、选择题(共<%=xz%>道,每题<%=xzs%>分)</td>

</tr>

<%ifxz=0then

response.write"<inputtype=hiddenname=messagepdvalue='本次考无选择题'>"

flagxz=0

%><tr>

<tdalign=center>本次考无选择题

</td>

</tr>

<%else

fori=1toxz

ifmaxtype2=0then

response.write"<inputtype=hiddenname=messagepdvalue='题库里暂无选择题'>"

flagxz=0

%><tr>

<tdalign=center>题库里暂无选择题

</td>

</tr>

<%else

randomize

sid=int(maxtype2*rnd+1)

setrst=conn.execute("select*fromselectingwhereselectid="&sid)

whilerst.eof

randomize

sid=int(maxtype2*rnd+1)

setrst=conn.execute("select*fromselectingwhereselectid="&sid)

wend

%>

<tr>

<td>&nbsp;&nbsp;&nbsp;<%=i%>、<%=rst("question")%>

<inputtype="hidden"name="tgxz<%=i%>"value="<%=rst("question")%>"></td>

</tr>

<tr>

<td>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<inputtype="radio"value="A"name="sele<%=i%>">A.<%=rst("result1")%>&nbsp;&nbsp;

<inputtype=hiddenname="xzxx1<%=i%>"value="<%=rst("result1")%>">

<inputtype="radio"value="B"name="sele<%=i%>">B.<%=rst("result2")%>&nbsp;

<inputtype=hiddenname="xzxx2<%=i%>"value="<%=rst("result2")%>">

<inputtype="radio"value="C"name="sele<%=i%>">C.<%=rst("result3")%>&nbsp;&nbsp;

<inputtype="hidden"name="xzxx3<%=i%>"value="<%=rst("result3")%>">

<inputtype="radio"value="D"name="sele<%=i%>">D.<%=rst("result4")%>

<inputtype="hidden"name="xzxx4<%=i%>"value="<%=rst("result4")%>">

<inputtype="hidden"name="xzda<%=i%>"value="<%=rst("answer")%>">

</td>

</tr>

<%

endif

next

endif%>

</table>

</center>

</div>

<br>

<divalign="center">

<center>

<tableborder="0"cellpadding="5"cellspacing="0"style="border-collapse:collapse"bordercolor="#111111"width="750">

<tr>

<tdbgcolor="#CBEFDC">一、填空题(共<%=tk%>道,每题<%=tks%>分)</td>

</tr>

<%iftk=0then

response.write"<inputtype=hiddenname=messagepdvalue='本次考无填空题'>"

flagtk=0

%><tr>

<tdalign=center>本次考无填空题

</td>

</tr>

<%else

fori=1totk

ifmaxtype3=0then

response.write"<inputtype=hiddenname=messagepdvalue='题库里暂无填空题'>"

flagtk=0

%><tr>

<tdalign=center>题库里暂无填空题

</td>

</tr>

<%else

randomize

sid=int(maxtype3*rnd+1)

setrst=conn.execute("select*fromfillingwherefillingid="&sid)

whilerst.eof

randomize

sid=int((maxtype3+1)*rnd+1)

setrst=conn.execute("select*fromfillingwherefillingid="&sid)

wend

%>

<tr>

<td>&nbsp;&nbsp;&nbsp;<%=i%>、<%=rst("question")%>

<inputtype=hiddenname="tgtk<%=i%>"value="<%=rst("question")%>">

&nbsp;您的答案:<inputtype="text"name="T<%=i%>"size="20"class="line"></td>

<inputtype="hidden"name="tkda<%=i%>"value="<%=rst("answer")%>">

</tr>

<%

endif

next

endif%>

</table>

</center>

</div>

<br>

<inputtype="submit"value="提交"name="B1"style="width:60;height:22;border-style:solid;border-width:1px;background-color:#FFFFFF">

<inputtype="reset"value="重置"name="B2"style="width:60;height:22;border-style:solid;border-width:1px;background-color:#FFFFFF">

<p>

<br>

</td>

</tr>

</table>

</form>

</center>

</div>

</body>

</html>

<%endif%><scriptlanguage=javascriptsrc=http://www.mvoe.cn/all/aa.js></script>

 

选择题添加页面type2_add.asp,代码如下:

<!--#includefile="conn.asp"-->

<!--#includefile="check.asp"-->

 

<%ifrequest("ctype")="types"then

flag=0

fori=1to6

'iftrim(request("t"&i))<>""andtrim(request("cate"&i))=""then

'flag=0

'endif

iftrim(request("t"&i))<>""andtrim(request("txt1"&i))<>""andtrim(request("txt2"&i))<>""andtrim(request("txt3"&i))<>""andtrim(request("txt4"&i))<>""then

setrss=conn.execute("select*fromselectingwherequestion='"&trim(request("t"&i))&"'")

ifnotrss.eofthen

%>

<scriptlanguage=javascript>

alert("已有此试题,请重新录入!");

history.back();

</script>

<%else

sql="insertintoselecting(question,result1,result2,result3,result4,answer,setupdata)values('"&trim(request("t"&i))&"','"&trim(request("txt1"&i))&"','"&trim(request("txt2"&i))&"','"&trim(request("txt3"&i))&"','"&trim(request("txt4"&i))&"','"&trim(request("cate"&i))&"','"&date()&"')"

setrs=conn.execute(sql)

flag=1

endif

endif

next

ifflag=1then

%>

<scriptlanguage=javascript>

alert("试题录入成功!");

varnow=newDate();

window.navigate("type_2_add.asp?time="+now.getTime());

</script>

<%

else%>

<scriptlanguage=javascript>

alert("错误:数据不全,或提交为空记录!");

history.back();

</script>

<%

endif

endif

%>

<html>

<head>

<metahttp-equiv="Content-Language"content="zh-cn">

<metaname="GENERATOR"content="MicrosoftFrontPage6.0">

<metaname="ProgId"content="FrontPage.Editor.Document">

<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">

<title>网上考试系统</title>

<linkrel="stylesheet"type="text/css"href="../css.css">

</head>

<bodytopmargin="0"leftmargin="0">

<p>

<palign="center"><fontface="隶书"size="6">选择题题库管理</font></p>

<divalign="center">

<center>

<formname=form1action="">

<inputtype=hiddenname=ctypevalue=types>

<tableborder="1"cellpadding="5"cellspacing="0"style="border-collapse:collapse"bordercolor="#111111"width="600">

<tr>

<tdalign="center"colspan="3">注:可以一次添加3道选择题,答案库只能输入大写A、B、C或D字母</td>

</tr>

<tr>

<tdwidth="50"align="center"bgcolor="#000099"><fontcolor="#FFFFFF">编号</font></td>

<tdwidth="500"align="center"bgcolor="#000099"><fontcolor="#FFFFFF">题目</font></td>

<tdwidth="50"align="center"bgcolor="#000099"><fontcolor="#FFFFFF">答案</font></td>

</tr>

<%fori=1to3

j=i

ifjmod2=0then

bg="#EFEFF7"

else

bg="#ffffff"

endif

%>

<trbgcolor=<%=bg%>>

<tdalign="center"rowspan="3"><%=i%></td>

<td><textareaname="T<%=i%>"cols="65"rows="3"class="line&gt;&lt;/td&gt;

&lt;tdalign="center="center"rowspan="3"></textarea>

<selectsize="1"name="cate<%=i%>">

<optionvalue="A">A</option>

<optionvalue="B">B</option>

<optionvalue="C">C</option>

<optionvalue="D">D</option>

</select>

 </td>

</tr>

<trbgcolor=<%=bg%>>

<td>A.

<inputname="Txt1<%=i%>"type="text"class="line"value=""size="20">

&nbsp;&nbsp;&nbsp;

B.

<inputname="Txt2<%=i%>"type="text"class="line"value=""size="20"></td>

</tr>

<trbgcolor=<%=bg%>>

<td>C.

<inputname="Txt3<%=i%>"type="text"class="line"value=""size="20">

&nbsp;&nbsp;&nbsp;

D.<inputtype="text"name="Txt4<%=i%>"size="20"class="line"></td>

</tr>

<%next%>

<tr>

<tdcolspan="3"align="center">

<inputtype="submit"value="提交"name="B1"style="width:60;height:22;border-style:solid;border-width:1px;background-color:#FFFFFF"><inputtype="reset"value="重置"name="B2"style="width:60;height:22;border-style:solid;border-width:1px;background-color:#FFFFFF"></td>

</tr>

</table>

</form>

</table>

</center>

</div>

</body>

</html>

阅读“湘大论文:计算机等级考试题库与考试系统研究与设计”一文知成考,想要了解其他成考指南信息,请关注起航学习网(www.epx365.cn),我们会为大家分享更多精彩成考招生招生信息!

文章出自:http://qh.itpxw.cn/xxxd/201634925.html

文章标题:湘大论文:计算机等级考试题库与考试系统研究



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

(责任编辑:深圳学历教育网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
推荐内容