无纸化考试系统的设计与实现_第1页
无纸化考试系统的设计与实现_第2页
无纸化考试系统的设计与实现_第3页
无纸化考试系统的设计与实现_第4页
无纸化考试系统的设计与实现_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《无纸化考试系统》设计报告B11计信班李广建、何锐主要内容:针对传统考试系统容易引起考试误差等问题,在借鉴现有题库管理和考试系统开发经验的基础上,开发实用的考试管理系统。系统以WindowsXP平台为基础,采用C/S模式,依托SQLServer或其它数据库。客户端应用程序主要实现信息显示,考生登录考试以及数据采集;后台数据库服务器用于集中存放和管理业务数据。考试系统应具有教师信息管理、考生信息管理、试题管理、考试管理、成绩处理等功能。基本要求:1必须立足学校实际情况,查阅相当数量的文献资料,独立完成.2系统具有一定的实用价值,能基本满足基础考试需要。3要求材料充实,思路清晰,语言流畅。主要参考资料:VS.net项目开发Mysql数据库技术SQLServer2000数据库应用目录1绪论 11.1引言 11.2研究背景 21.3考试系统现状分析 31.4论文概要 52系统的需求分析 62.1考试系统工作流程 62.1.1系统流程分析 62.1.2系统用例图 72.2系统功能描述 72.3系统设计目标 82.4本章小结 83系统开发环境及技术 93.1系统硬件要求 93.2系统开发工具 93.2.1前台开发工具 93.2.2后台数据库 103.2.3前后台连接ODBC 113.3相关技术介绍 123.3.1系统结构C/S模式 123.3.2Winsock编程 133.3.3ADO技术 133.3.4VB连接SQL数据库 143.4本章小结 154系统总体设计 164.1服务器端 164.1.1教师登录 164.1.2教师用户管理 164.1.3考生信息管理 174.1.4题库管理 174.1.5考试管理 174.1.6成绩管理 174.2客户端 174.2.1考生登录 184.2.2考试 184.2.3试卷提交 184.3服务器端与客户端的通信 184.3.1局域网的通信 184.3.2Winsock控件 194.4本章小结 205系统详细设计 205.1服务器端功能设计 205.1.1教师登录 205.1.2教师用户管理 215.1.3考生信息管理 215.1.4试题管理 225.1.5考试管理 235.2客户端功能设计 235.2.1考生登录 235.2.2考试 245.2.4试卷提交 245.3系统数据库结构 255.3.1用户登陆 255.3.2考生信息管理 255.3.3试题库管理 265.4本章小结 276系统功能实现 286.1考生模块 286.1.1考生登录 286.1.2考生考试答题 296.2教师模块 326.2.1 教师管理模块主界面 336.2.2 考试设置子模块 346.2.3 题库管理子模块 356.2.4 考生信息管理子模块 356.2.5 成绩管理子模块 366.3本章小结 367系统测试 377.1测试目的、方法与内容 377.1.1测试目的 377.1.2测试方法 377.1.3测试内容 387.2测试结果 387.2.1单元测试 387.2.2集成测试 397.2.3确认测试 407.2.4测试结果分析 407.3本章小结 40结论 41参考文献 43无纸化考试系统的设计与实现摘要考试是教育教学的一个重要环节,传统的考试组织形式多是教师编写试卷,印刷试卷,考生考试,教师批改试卷和成绩登记统计。随着计算机技术在现代化教学系统中的广泛应用,以及各类考试的日益增多,改革传统的考试方法显得尤为重要。本人在借鉴已有题库管理和考试系统开发经验的基础上,开发了一个客户端/服务器模式的无纸化考试系统。本考试系统在MicrosoftWindowsXP操作系统平台下开发,采用C/S模式,界面使用VB编程技术,后台数据库采用SQLServer2000。客户端主要实现考生登录考试及评分;服务器端主要用于考试相关数据的采集和管理,并对考试进行监控。考试系统具有教师用户管理、考生信息管理、题库管理、考试管理、成绩处理等重要功能。系统已经经过初步测试,运行比较稳定、可靠,取得了较为理想的效果,基本上达到了设计要求。关键词客户/服务器模式/无纸化考试系统/VB/SQLServer20001绪论1.1引言考试系统是依据现代考试理论,借助现代统计法和计算机技术,严格按科学程序命题和实施考试,有效地控制各种误差,具有统一标准的考试。这种考试要求命题科学化,管理手段规范化、现代化、制度化。考试系统应具备以下三个特征:可靠性、有效性、实用性,即通常所说的信度、效度和区分度。优越性主要体现在三个方面:(1)根据考试的程序,考前要预先公布考试范围、考试说明、考试方法,并公布题样,这有利于考生作好精神准备,从而有助于考出考生的真实水平;(2)由于试题编制标准化,使得试题难易程度相对稳定,再加之评分、计分的标准化,增加了考生之间成绩的可比性;(3)由于采用计算机等科学工具和方法进行评分、计分,最大程度地控制了误差,保证了考生成绩的真实性;(4)由于网络和互连网的普及,使得通过考试系统可以顺利实施考试。以上几方面,对于高等学校改进教学工作,提高人才培养质量水平无疑都是有益的。目前,国内考试系统工作已起步,在高等院校每学期的考试中,采用考试系统的科目相当少[1][2][3],一是由于高等院校课程科目多,不易统一,再者人们已习惯于过去的考试方式。为了提高考试的效率、效度、信度,实现对考试科学、规范、有效管理,建立和完善标准化考试系统是非常必要的。考试系统是按照系统的科学程序组织、具有统一的标准,并对误差作了严格控制[4][5]。就是说,制定出客观而规范的标准,从命题到考试、阅卷、评分等各个环节,努力减少或避免各种误差,从而测出考生比较真实的成绩,使测验、考试客观可信,准确有效。考试系统一般由专门的考试机构编制试卷并组织实施。为了保证考试的独立性和专业性,世界上许多国家和地区都有这种机构,如美国的教育测验中心、英国的伦敦职业考试中心、日本的大学入学考试国家中心,以及香港考试局等。其中美国教育测验中心是世界上最大的考试机构,成立于1948年,共有2200多名工作人员,其中有人数众多的心理学、教育学、心理与教育测量学、统计学、计算机科学以及各个学科的专家。目前在世界170多个国家和地区设有一万多个考点,每年对国内外近千万名考生提供上百种不同的考试,著名的托福考试就是该中心举办的。1.2研究背景现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过四个步骤,即人工出卷、考生考试、人工阅卷和成绩评估。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,由此可能产生各种考试误差。而考试是一个系统的过程,每个环节都可能带来误差,因此对考试的每个环节,都要加以控制。凡是使考试结果不准确,便可认为是考试误差因素,考试中常见的误差,来源于3个方面:试卷内部、考试过程、考生本身。(1)试卷内部的误差:包括试题取样、试题数量、题型、命题技巧、试题科学性等方面。当取样缺乏代表性,试题偏于某一方面时,不但不能对考生作出全面考察,达不到测量目的,而且会把教学引向歧途;当试题数量太少,考生受机遇影响就较大;试题题型如大多为论述性问答题,则评分误差就大等。其他如试题指导语不清;用词模棱两可,题目过难,时限太短使考生仓促作答,试题科学性错误致使考生错误作答等,都可成为误差的来源。(2)考试过程的误差:与考试过程有关的误差因素主要是考场的环境,主考和监考人员的态度,意外干扰如临时发现个别试卷印刷不清或装订错误等,都可导致考试成绩的不准确。特别是考试后的评分记分,包括评分不客观,合成分数、登记分数出差错等是常见的误差。像论述题,由于评分标准难以掌握,加之阅卷者的身份、偏好、态度、情绪等因素的影响,评分误差几乎是不可避免的。(3)考生本身的误差:来自考生本身的误差因素既有心理方面的,也有生理方面的。考生对考试的动机不同,会影响其注意力、持久力、作答态度、反应速度等,从而影响考试成绩;临考前或考试中,过度的紧张而不愉快的情绪会使考生注意力分散;思维狭窄,适度的焦虑会使人兴奋性提高,注意力增强,对作答产生积极影响;考生的应考经验的影响;生病、疲劳、失眠等生理因素的影响等。传统的考试方式容易出现的这些误差在考试系统中都得到了有效控制。相比于传统的考试方式,网上考试系统的的特点是试题取样范围大,题量多、效度高,难度适中,区分度好,试题答法简单、明确,评分客观准确,从命题到考试、评分,努力排除无关因素的影响。最主要的好处是一方面可以动态的管理各种考试信息;另一方面,计算机化考试阅卷能力快,系统可以在考试结束时当场给出考试结果,并且计算机考试给了考生最大的公平感。无纸化考试极大的提高了教学的灵活性,现在在许多领域已经有了广泛的应用。最有影响的案例就是ETS(美国教育考试中心)举办的GRE(美国研究生入学考试)的计算机化考试,它使考试由原来的每年只能有两次参加考试的机会便为每个工作日都可以参加考试。因此,采用无纸化考试方式将是以后考试发展的趋势,无纸化考试必将会日益盛行。课题的研究目的在于适应现代的现实情况,解决考试系统的关键技术问题,设计具备较高实用性的系统,技术上综合运用VB编程技术、数据库技术等技术。该系统集教师信息管理、考生信息管理、试题管理、考试管理和成绩处理等多项功能于一体,力求以准确、高速信息技术为手段,实现题库管理、无纸化考试等环节的高度自动化、科学化。通过提高测验考试的效率、增强测验考试的反馈效果,揭示考生知识能力的局部缺陷,使教与学都更有针对性,从而提高教师的教学水平和考生的学习效果。1.3考试系统现状分析随着网络技术的发展,运行在单机上的考试系统基本上趋于淘汰趋势,主要原因是单机运行的考试系统虽然没有网络需求,但缺乏数据共享、集中管理等功能,这样反而给管理人员增加了较大的负担。目前,在一些硬件设施比较落后的地方,还有这样的系统在使用;更多的是随着硬件设施的提高,选用这样系统自带的题库,完成自测工作。基于网络的考试系统是主流的发展方向,它大体分为适用于局域网和适用于广域网两类[8]。市场上商业化的考试系统主要是前者,是针对局域网的;而后者则往往被实现为CGI模式。从实现方式上来看,适用于局域网的计算机考试系统可以分为客户/文件服务器模式和客户/数据库服务器模式两类。(1)客户/文件服务器模式这种模式在早期的考试系统中运用的较多。早期的PC操作系统主流是DOS,局域网则以Novell网络系统为主[11][12]。由于Novell网络操作系统提供了强大便利的文件服务功能,易于被设计和开发人员接受,因此许多开发者将Novell网的这种服务应用于网络考试系统中。在这种模式下,考试的试卷数据和考生的答卷数据都是以文件的方式存放在Novell网的文件服务器上;位于客户端的程序从指定的位置获取试卷文件,并将考生的答案文件通过网络保存到文件服务器上。采用这种模式的考试系统,把整个业务逻辑几乎完全放在客户端程序实现,服务器只是充当了一个保存文件的公共场所。这样的系统只有很简单的管理功能,考生与其答案文件之间通常依赖事先约定好的一种简单的对应关系,例如,以考生的考号为文件名保存考生答卷。所以,这样的考试系统通常需要额外的人工整理工作。(2)客户/数据库服务器模式客户/数据库服务器模式是目前应用最为广泛的一种模式。这主要是由于Wnidows网络的普及应用,从而为基于客户/服务器模式的数据库应用提供了方便的图形环境,并且为开发者提供了相当丰富的开发工具。在采用这种模式的考试系统中,所有的数据都被保存在服务器上,并且大部分被保存在数据库中。客户端安装有可以访问数据库的应用程序,完成几乎所有的业务逻辑,包括身份验证、显示试题、接受答案和保存答案等。由于有数据库的支持,所有这样的系统通常拥有较为完善的信息管理机制,它们可以很好地保存、管理有关考试的数据,例如考生的名单信息等。因此这样的系统在很大程度上自动化了考试过程的管理工作,所以得到了相当广泛的应用。目前此类系统通常使用的数据库开发工具有:VisualBasic、Delphi和PowerBuilder等。Internet的普及使得人们尝试创建可以运行于Internet的计算机考试系统[16]。从目前的情况看,广泛采用的是通用网关接口(CGI)方式,其系统结构和工作流程也比较明确。在这种方式下,提供给考生的是由Web服务器动态生成的Web页面,考生在页面中填入答案后,直接将结果提交到Web服务器上。通常这样的系统还可以实时改卷,并将结果反馈给考生。目前开发这样的系统除了用高级语言编写CGI程序外,使用最为广泛的就是微软的ASP(ActiveServerPage),还有Perl等。使用其他的技术也可以创建运行在Internet上的考试系统[17][18],譬如使用Java技术,在web页面中嵌入JavaApplet;另外一些系统是原有的局域网考试系统添加了远程数据传输功能,采用分考场模式考试;还有的系统是采用业界提供的整套方案,例如LotusNotes群体系统。1.4论文概要第一章为绪论。介绍了系统开发的背景和目前考试系统的现状分析;第二章为系统需求分析。分析了考试流程,提出了系统要实现的功能,系统的设计目标等;第三章为系统开发环境与技术。主要介绍了系统的开发工具与使用的技术等;第四章为系统总体设计。主要介绍考试系统的总体设计思路、设计原则;第五章为系统详细设计。主要介绍系统各主要功能的具体实现,系统的框架结构图及具体功能,数据库结构等;第六章为系统功能实现。包括系统的界面、具体使用情况等;第七章为系统测试。主要采用了黑盒测试方法对系统进行了测试;最后为结论,总结了论文所做的主要工作和下一步的工作计划。2系统的需求分析本章将对考试系统进行需求分析,对其业务过程进行简单的描述,对系统要实现的功能进行介绍,对系统设计目标进行简要的说明。2.1考试系统工作流程2.1.1系统流程分析考试系统分为服务器端和客户端,服务器端为教师提供了一个组织考试、管理考试的界面,客户端为考生提供一个参加考试的界面。通过身份认证后,教师可以在服务器端进行教师信息管理、考生信息管理、试题管理、考试管理和成绩处理等操作,而考生则可以在客户端使用登录、参加考试和交卷评分等功能。考试系统业务流程的设计如图2.1、2.2所示。教师登录服务器端教师登录服务器端教师信息管理学生信息管理试题管理考试管理成绩处理考试安排试卷设置考试监控图2.1服务器端业务流程设计图2.1服务器端业务流程设计考生登录客户端考生登录客户端考试信息计时考试选择题填空题交卷评分图2.2客户端业务流程设计图2.2客户端业务流程设计2.1.2系统用例图根据上述考试系统业务流程设计,可以得出系统用例图,如图2.3所示。其中用例包括:用户登录、教师信息管理、考生信息管理、试题管理、考试管理、考生参加考试、成绩管理等。参与者包括:教师和考生。试卷考试管理登录试卷考试管理登录试题管理考试试题管理考试教师信息管理计时考生教师信息管理计时考生评分题库生成考生信息管理评分题库生成考生信息管理考生考试教师考生考试教师阅卷成绩管理阅卷成绩管理图2.3系统用例图图2.3系统用例图2.2系统功能描述考试系统的考试管理包括考试开考时间及考试时限的设置等。在考试系统中,先由教师用户在考试系统题库管理模块中根据考生需要考试的知识情况和相关考试项目来进行试题的添加。然后,由教师用户在考试系统中考试设置模块中设置考试的开考时间、考试时限以及考试的试题量等相关信息。在考生参加在线考试时,先要正确输入准考证号,用于验证是否是有效用户,然后才能正式参加考试。系统可以自动生成试卷(可以是一份或者是多份)。在考试开考时间到达前,考生不可以进行答题。考生答题完毕,检查无误,可以交卷。考试时间快结束时,系统给出提示,提醒考生尽快完成答题并交卷。到考试时间结束时,所有考生自动强制结束答题,并自动完成试卷提交及评分等。2.3系统设计目标考试系统考试功能的设计目标是希望通过对试卷出题,考试安排的起初设定,考生信息的添加,取得相关信息保存到数据库表中。当考生参加考试时,必须保证考生身份的正确,考试时间的正确,考生题目显示正确,考试结束后及时交卷的正确以及答案比对的正确。避免在考试时考生混乱、考试没开始就答题和考试结束后继续答题的问题。同时保证系统在同时进行多个考试和交卷时,不会相互产生干扰。2.4本章小结本章在对考试系统的考试功能进行的需求分析基础上,明确了系统的主要功能:教师信息管理、考生信息管理、试题管理、考试管理和成绩处理等。最后,提出了系统拟达到的设计目标:考生身份正确,考试时间正确,考生题目显示正确,考试结束后及时交卷的正确以及答案比对的正确。保证系统在同时进行的多个考试不会相互影响。3系统开发环境及技术3.1系统硬件要求一台安装有数据库(MicrosoftSQLServer2000)的机器CPU:PIV2.0GHZ或更高频率的CPU内存:DDR333256MB或更多的内存硬盘:至少10G以上或更多的硬盘空间3.2系统开发工具3.2.1前台开发工具微软公司的VisualBasic6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。VisualBasic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性VB6.0所具有的特点:1.具有面向对象的可视化设计工具OOP在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装起视为一个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计的要求,直接在屏幕上画出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能的程序,因而程序设计的效率可大大提高。2.事件驱动的编程机制事件驱动是非常适合图形用户界面的编程方式。传统的程序设计是一种面向过程的方式,程序总是按事先设计的流程运行。但在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只需编写响应用户动作的代码,而各个动作之间不一定有联系。这样的应用程序代码一般较短,所以程序既易于编写又易于维护。3.提供了易学易用的应用程序集成开发环境在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的开发环境中工作。4.结构化的程序设计语言VB具有丰富的数据类型和结构化程序结构,而且简单易学。5.支持多种数据库系统的访问6.支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入技术(OLE)7.联机帮助功能

VB具有丰富的数据类型和结构化程序结构,而且简单易学。由于VB6.0具有可视化设计截面,因此开发起来比较快。并且截面设计比较快。并且也支持多数据库系统访问,因此今后在别的系统中继承起来也比较方便。由于提供易学易用的程序集成开发环境,因此对于新手上手比较快。综合上面VB6.0的一些优点所以我选择VB6.0来开发我的系统。3.2.2后台数据库用户对数据库的使用,是通过数据库管理系统提供的语言来实现的。不同的数据库管理系统提供不同的数据库语言。关系数据库管理系统几乎都提供关系数据库标准语言——SQL。SQL的全称是StructuredQueryLanguage,即结构化查询语言。MicrosoftSQLServer2000是一种功能强大的关系型数据库管理系统。下面将对MicrosoftSQLServer2000的特点和性能进行介绍:MicrosoftSQLServer2000具有高度的扩展性和高可靠性。MicrosoftSQLServer2000使用了工业界最先进的数据结构,能够为要求最苛刻的企业应用提供高度的可扩展性和高可靠性。MicrosoftSQLServer2000在许多工业基准测试中的性能都创立了新的世界纪录,包括事务处理性能委员会的TPC-C基准,它击败了运行于任何硬件或操作系统环境下的同类数据库产品。MicrosoftSQLServer2000的性能还在Windows平台下为SAPR/3SalesandDistribution(SD)标准应用程序据基准创立了新的世界纪录。虽然MicrosoftSQLServer2000被设计用来充分利用最近和将来的高端对称多处理器(SMP)技术,它还是可以把数据库的工作负荷分布到普通的服务器集群上。这样可以实现高度的可扩展性,即只需要向数据库集群中增加新的普通服务器即可,而不用把老系统替换为更大、更昂贵的新机器。MicrosoftSQLServer2000引入了一个新的特性,被称为分布式数据库分区视图(DistributedPartitionedViews)它可以把工作负荷划分到多个独立的SQLServer服务器上去,从而为实施电子商务的客户提供了无限制的可扩展性。MicrosoftSQLServer2000直接支持最新的、高速的系统区域网络(SAN)技术。MicrosoftSQLServer2000在它的管理控制台和安装向导中紧密集成了4节点故障恢复技术,从而保证了高度的系统可用性。MicrosoftSQLServer2000还引用了索引视图技术,运用该技术可以为关系型数据库设计出功能的报表应用程序。MicrosoftSQLServer2000可以进行最快速的应用程序开发。微软提供了许多技术和工具,作为数据库系统的标准集成组件。而且通过巧妙的设计以及自动调整、自动管理特性,MicrosoftSQLServer2000是客户可以更快、更容易的享受所有这些最先进的分析技术所带来的好处,能够快书提交应用,从而赢得竞争上的优势。微软在开发数据库服务器自动调整和自动管理技术方面一直在工业界处于领先地位。这种技术使客户可以集中精力处理商业战略上的问题,而不是去细微调整数据库服务器的各项参数。MicrosoftSQLServer2000可以为最新的硬件进行优化,包括大内存、超高速磁盘子系统以及SAN等,从而扩展了这项功能。MicrosoftSQLServer2000与Windows2000的活动目录服务的紧密集成允许集中管理功能。MicrosoftSQLServer2000和其他企业资源,从而极大地简化了大型组织中的体统管理任务。3.2.3前后台连接ODBCODBC的全称为OpenDataBaseConnectivity,即开放式数据连接,是Microsoft公司在1989年推出的连接外部数据库的标准。ODBC有以下优点:ODBC提供了一个能访问大量数据库的单一接口。ODBC使客户应用程序的开发可以独立于后端服务器[25]。开放式数据库连接(ODBC)技术为访问不同种类的SQL数据库提供了通用接口。ODBC是基于结构查询语言(SQL)的,以此作为访问数据的标准。此接口提供了最大的互操作性:一个应用程序可以通过一组公用代码访问不同的SQL数据库管理系统(DBMS)。这使得开发人员能够在不以特定的DBMS为目标的情况下构建和分发一个客户端/服务器应用程序。然后,会添加数据库驱动程序以将应用程序链接到用户选择的DBMS。以下特性说明了ODBC的灵活性:应用程序没有绑定到专有供应商API。SQL语句可以明确地包括在源代码中也可以在运行时即时构建。应用程序可以忽略基础数据通信协议。数据可以用方便于应用程序的格式进行发送和接收。ODBC是随新兴的国际ISOCall-LevelInterface标准一起设计的。目前提供了可用于55种最流行的数据库的ODBC数据库驱动程序。3.3相关技术介绍3.3.1系统结构C/S模式设计这个系统时,有个问题摆在我面前,那就是对于这个系统我是采用c/s模式进行开发呢,还是b/s?于是我把这两个的优缺点例举下来,进行了一个比较。C/S模式开发考试系统优点:由于C/S模式是通过客户端直接与服务器交互数据,因此其相应速度比较快,不需要通过IE浏览器进行数据传输,因此数据比较安全。很适合适时提交数据系统。缺点:由于是直接用客户端直接与服务器交互,因此需要为每台电脑安装客户端,因此对电脑的配置要求比较高。并且对系统升级的话,就增加了升级的复杂性,因为需要为每台电脑都更新客户端。B/S模式开发考试系统优点:由于B/S模式是通过IE浏览器来访问,所以它适合分散性的考试系统,并且用户只需要能访问IE就可以参加考试。由于只需要对服务器进行更新,所以更新起来比较快。缺点:由于采用IE浏览器经过网络传输,因此数据的安全性不高,很可能导致数据的丢失,由它没有客户端因此客户端只能进行一些数据的查询,读写,都需要跟远程服务器进行交互,因此增加了服务器的压力。并且不适合适时的数据进行交互,这样会导致服务器压力会很大。综合上面B/S与C/S的优缺点可知,由于我们考试系统适用于学校,并且对数据交互比较频繁,对数据的安全性需要很高。因此采用C/S模式来开发该系统。3.3.2Winsock编程Windows下网络编程的规范-WindowsSockets是Windows下得到广泛应用的、开放的、支持多种协议的网络编程接口。从1991年的1.0版到1995年的2.0.8版,经过不断完善并在Intel、Microsoft、Sun、SGI、Informix、Novell等公司的全力支持下,已成为Windows网络编程的事实上的标准。通信的基础是套接口(Socket),一个套接口是通讯的一端。在这一端上你可以找到与其对应的一个名字。一个正在被使用的套接口都有它的类型和与其相关的进程。套接口存在于通讯域中。通讯域是为了处理一般的线程通过套接口通讯而引进的一种抽象概念。套接口通常和同一个域中的套接口交换数据(数据交换也可能穿越域的界限,但这时一定要执行某种解释程序)。在一次网络通信/连接中有以下几个参数需要被设置:本地IP地址-本地端口号-对方端口号-对方IP地址。左边两部分称为一个半关联,当与右边两部分建立连接后就称为一个全关联。在这个全关联的套接口上可以双向的交换数据。如果是使用无连接的通信则只需要建立一个半关联,在发送和接收时指明另一半的参数就可以了,所以可以说无连接的通信是将数据发送到另一台主机的指定端口。此外不论是有连接还是无连接的通信都不需要双方的端口号相同。3.3.3ADO技术VB提供了多种多样的数据库访问技术来满足各种信息查询的要求,如ADO,RDO,Data控件,DAO等。这些技术各有特点,它们提供了简单、灵活、访问速度快、可扩展性好的开发技术。其中,ADO是Microsoft数据库应用程序开发的新接口,它具有较强的功能、通用性好、效率高、占空间少等特点。它替代了原来的DAO和RDO两种数据访问接口。另外还增加了一些用户以前没有接触到的特征。随着信息网络化的发展,对数据库的访问宜采用ADO对象模型,以获得更好的性能,更大的灵活性[28]。在本系统中就主要使用了ADO技术来进行数据库的访问。使用ADO访问数据库的基本流程(1)在工具箱中添加ADOData控件。操作为:“工程”→“部件”→“MicrosoftADODataControl”。.(2)在窗体上放置一个ADOData控件,名称默认为Adodc1。(3)设置Adodc1.ConnectionString属性值为“DSN=jxgldsn”。其中“jxgldsn”为指向jxgl.mdb数据库的数据源名称,可通过控制面版预先设定。(4)设置Adodc1.RecordSource项,选择命令类型为“2-adCmdTable”,并在表名项中选择“jsb”。(5)将ADOData控件与Text文本框绑定。放置文本框控件于窗体,将其DataSource属性值设置Adodc1,DataField属性值设为表中一字段,如gh。运行程序,可用ADOData控件的方向箭头来浏览。除了应用上述引入一组数据绑定控件显示数据内容之外,还可以使用数据网格控件DataGrid来显示多个字段内容。步骤为:(1)先通过“工程”→“部件”→“MicrosoftDataGridControl”引入数据网格控件并在窗体中绘制一个DataGrid控件。(2)把DataGrid绑定到ADO数据控件上。设置DataSource属性值为:Adodc1。(3)把数据库字段加入到DataGrid控件上。鼠标右击DataGrid控件,选择检索字段,则当前数据表的字段全部导入到数据网格控件上。3.3.4VB连接SQL数据库VB连接SQL数据库的方式主要有以下两种:1.直接字符串连接:cnn.open"provider=SQLOLEDB;PersistSecurityInfo=true;UserId=数据库用户名;PassWord=数据库密码;InitialCatalog=数据库名;DataSource=IP地址"或cnn.open“DRIVER=SQLServer;SERVER=计算机名;DATABASE=数据库名;USER=用户名;PASSWORD=密码”2.ODBC连接cnn.open"provider=MSDASQL;PersistSecurityInfo=true;UserId=数据库用户名;PassWord=数据库密码;InitialCatalog=数据库名;DataSource=ODBC名"本系统主要采用了第二种方式。3.4本章小结本章主要介绍了开发系统所用的工具,前台采用微软公司的VisualBasic6.0,后台数据库采用MicrosoftSQLServer2000,前后台数据连接采用ODBC数据库驱动程序,系统结构采用C/S模式,服务器端与客户端通信采用Winsock编程,数据库连接采用ADO技术。4系统总体设计考试系统分服务器端和客户器端,对应的操作对象分为教师和考生,角色不同,操作的模块也不同。4.1服务器端图4.1教师管理模块图教师登录图4.1教师管理模块图教师登录考生信息管理试题管理考试管理教师信息管理成绩管理4.1.1教师登录教师登录时,系统根据用户名和密码来判断用户的合法性。若用户名及密码正确则登陆成功,若密码错误则给出密码出错信息要求用户重新输入密码。只有当用户名和对应密码正确时才能通过系统验证进入到指定的主页面进行相应功能操作。4.1.2教师用户管理教师基本信息包含教师用户名和密码。可以实现教师用户的添加、删除、修改及密码的更换等功能。4.1.3考生信息管理考生信息是指参加考试考生的基本情况的集合。考生参加考试前必须将其基本信息录入以便进行管理,同时也是考生登录考试系统进行考试的依据。考生基本信息包含考生学号,姓名、所在系部和班级等。考生信息管理包含考生信息添加、考生信息修改、考生信息删除几个模块。考生基本信息录入后,可以对考生基本信息中数据进行修改,但所有操作需要教师用户来完成。4.1.4题库管理题库管理用来实现对试题库的管理。可以查看试题库中各题型试题量的多少,提供试题的输入、修改和删除等功能。4.1.5考试管理考试管理用来实现对考试的相关设置。并进行考试监控。考试前应该对考试的开考时间和考试时限进行设定。在每次考试时,每种题型必须都有一定的分数,各小题的分数总和为该大题得分,各大题总分和为试卷总分,一般设试卷总分满分为100分。4.1.6成绩管理考生考试结束后教师可以按4种查询方式对学生考试成绩进行查询,以掌握学生考试的情况。4.2客户端考试系统客户端为考生功能模块,用来实现考生考试功能。根据其实现的功能目标,总体结构框如图4.2所示。图4.2考生功能模块图图4.2考生功能模块图考生登录选择题填空题交卷考试须知自动评分4.2.1考生登录考生登录指考生验证进入考试系统。考生在客户端上输入准考证号码,提交后和服务器上保存的数据进行对比,正确则进入考试系统,错误则给出错误信息返回要求考生重新登陆。4.2.2考试考生在登录后查看考试须知,考试须知详细介绍了本次考试的相关信息,如开考时间,考试时限,考试题量及类型等等。考生可以对考试有一个全局的掌握。开始考试后,系统自动生成随机题目,考生选择相应题型进入相应答题界面进行答题。4.2.3试卷提交如果考生完成考试要提前交卷,或者考生考试时间已到需强制收卷,则启动交卷程序进行收卷。考试快结束时系统会提示考生尽快完成答题并进行交卷。交卷后系统将考生答卷与正确答案进行比对并计算最后得分反馈给考生,同时将成绩保存到数据库供教师查询。4.3服务器端与客户端的通信4.3.1局域网的通信在TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Servermodel)。该模式的建立基于以下两点:1、非对等作用;2、通信完全是异步的。客户机/服务器模式在操作过程中采取的是主动请示方式:首先服务器方要先启动,并根据请示提供相应服务:(过程如下)1、打开一通信通道并告知本地主机,它愿意在某一个公认地址上接收客户请求。2、等待客户请求到达该端口。3、接收到重复服务请求,处理该请求并发送应答信号。4、返回第二步,等待另一客户请求5、关闭服务器。客户方:1、打开一通信通道,并连接到服务器所在主机的特定端口。2、向服务器发送服务请求报文,等待并接收应答;继续提出请求……3、请求结束后关闭通信通道并终止。4.3.2Winsock控件利用Winsock控件可以轻松地实现局域网通信。Winsock控件封装了所有烦琐的技术细节,提供了访问TCP和UDP网络服务的方便途径。只需通过设置控件的属性并调用其方法就可轻易连接到一台远程计算机中,并且还可以双向交换数据,而这一切都不需了解TCP的细节或调用低级的WinsockAPIs。Winsock控件可以使用两种协议:TCP协议和UDP协议,本系统中使用了TCP协议。TCP协议即数据传输协议,它允许创建和维护与远程计算机的连接,使其彼此可以进行数据传输。利用TCP协议通讯必须分别建立客户应用程序和服务器应用程序。在创建客户应用程序时,必须知道服务器计算机名或其IP地址(存于RemoteHost属性)、及服务器计算机进行侦听的端口(存于RemotePort属性),然后调用Connect方法。创建服务器应用程序时,就应相应设置一个侦听端口(LocalPort属性)并调用listen方法。当客户机需要连接时(connect),就会发生ConnectionRequest事件。为了完成连接,你可以在ConnectionRequest事件中调用Accept方法。建立连接后,任何一方计算机都可以发送、接收对方数据。如果你要发送数据,需调用SendData方法。当接收到数据时,会发生DataArrival事件,调用DataArrival事件中的GetData方法就可以获得对方传送的数据。4.4本章小结本章主要介绍了系统的总体流程,分析了系统各个模块的功能。教师登录主要用于教师用户身份验证,试题管理主要提供试题的查看、输入、修改和删除等题库维护功能,考生信息管理用于管理要参加考试的考生的基础信息,考试管理功能完成对考试相关参数的设定及考试监控等,教师信息管理主要管理教师用户信息,成绩处理模块用于对考生成绩的查询等。5系统详细设计5.1服务器端功能设计服务器端具有教师用户管理、考生信息管理、题库管理、考试管理、成绩处理等功能。具体介绍如下。5.1.1教师登录教师登录时,系统先检查用户名和密码,若密码正确则登陆成功,若密码错误则给出密码出错信息要求用户重新输入密码。只有当用户名和密码均正确时才能通过系统验证进入到指定的界面进行相应功能操作。流程图如图5.1所示。是是否教师登录验证通过教师功能模块图5.1教师登录流程开始结束5.1.2教师用户管理教师基本信息为用户名和密码。与考生基本信息类似,教师基本信息功能模块包含教师信息增加、教师信息删除、教师信息修改等功能模块。教师信息管理框图如图5.2所示。教师信息管理教师信息管理添加教师信息修改教师信息删除教师信息提交信息并保存修改数据库信息删除信息图5.2教师信息管理框图输入教师信息确认显示教师信息修改教师信息显示删除信息确认删除信息5.1.3考生信息管理考生基本信息包含考生信息输入、考生信息修改、考生信息删除几个模块。考生基本信息录入后,可以对考生基本信息中数据进行修改。浏览考生信息添加考生信息模块试题考生信息模块删除考生信息模块浏览考生信息添加考生信息模块试题考生信息模块删除考生信息模块输入考生信息选择考试科目提交信息并保存显示考生信息修改考生信息修改数据库信息显示删除信息确认删除信息删除记录图5.3考生信息管理功能框图5.1.4试题管理考试试题题型分为选择题、填空题两种基本题型,每种题型都可以输入题目和答案,输入后都可以进行相应的修改。选择题包含有试题题面和试题选择的标准答案,在自动阅卷时将考生选择答案与试题标准答案进行对比,若两者相同,则计分,否则不计分。填空题型包含有试题题面和试题标准答案。两种题型分别录入,保存到数据库中相应表中。对于已经输入到试题库中的试题管理员可以调出进行修改,试卷输入后管理员能够浏览以方便管理员输入和修改题目。处理各种题型试题要求能够实现或达到能够输入、修改或浏览的目的。试题管理功能框图如图5.4所示。试题管理模块试题管理模块试题输入功能模块试题修改功能模块试题删除功能模块显示各字段输入相应内容教师提交插入记录显示现有内容修改现有内容教师提交修改记录提示删除信息确认记录删除记录图5.4试题管理功能框图5.1.5考试管理试题题库建立好以后,为了可以从题库中按要求随机抽取题目,形成考生的考试试卷,需要对考试试题的规则进行设定。考试规则主要包括设置考试时间和试题量等内容。(1)考试设置功能:主要用于教师用户对试卷题量的设定和考试时间的设定。试题总量的控制,由教师用户填写试卷上试题的总数量,系统就根据其所填写的数量生成试卷。考生抽取题库中不同的试题组成完全不同的试卷。虽然试卷不一样,但是试卷的分数都是一样的。(2)考试控制功能:主要用于监控考生的考试,以及考试开始时间读取试卷、考试结束试卷上缴试卷等功能的实现。5.2客户端功能设计5.2.1考生登录考生登录指考生验证进入考试系统。考生在客户端上输入准考证号后和服务器上保存的数据进行对比,正确进入,错误则给出错误信息返回要求考生重新登陆。考生登录框图如图5.5所示。考生登录启动考试控件考生登录启动考试控件考试提交答案评分终止考试否是考生登录验证是否通过选择题型选择题填空题图5.5考生登录流程图图5.6考生考试框图图5.6考生考试框图5.2.2考试考生在登录后可核对考生信息,阅读考试说明,等待考试命令。开始考试后,考生随机组卷生成的试卷进行考试,同时计数器开始计时。考生考试框图如图5.6所示。5.2.4试卷提交如果考生完成考试要提前交卷,或者考生考试时间已到需强制收卷,则启动交卷程序进行收卷。启动交卷过程后,首先隐藏答卷界面,拒绝考生继续作答。交卷后将考生答卷与正确答案进行比对并计算最后得分反馈给考生,同时将成绩保存到数据库供教师查询。考生试卷上交过程框图如图5.7所示。否否是是显示给考生保存数据到数据库考生作答强行交卷主动交卷交卷开始考生作答结果与正确答案比对作答完毕计时器时间到得分不得分计算成绩正确与否否否是是否否是是图5.7交卷功能框图5.3系统数据库结构本系统在设计时所建立的题库数据库均为SQL2000格式,采用SQLServer2000提供的数据约束,较好地解决了数据一致性的问题。5.3.1用户登陆无论是教师用户还是考生用户,进入考试系统首先要做的第一步工作便是登录系统,即验证登录的用户名和密码。登陆时先检查有无输入的用户名,如有则继续检查密码,如密码正确则登陆成功可进入相应的主页面,否则提示密码出错信息,要求用户重新登录。在数据库中建立用户表,表中存放有用户的用户名、密码。用户表结构如表5.1所示。表5.1用户表主键否字段名称字段类型字段长度允许空否备注说明是UserIDchar20否用户名否UserPwdchar20否用户密码5.3.2考生信息管理考生信息是指参加考试的每一位考生基本信息集合,主要包括考生学号、考生姓名、所在系部和班级等。考生信息管理是指对考生的信息能够方便地进行增加、删除、修改操作。考生信息与系统中其它表无关,根据需要可以扩充。在本系统中,设计的用于考试的考生信息表如表5.2所示。表5.2考生信息表主键否字段名称字段类型字段长度允许空否备注说明否snamechar10否考生姓名是snochar8否考生考号否departmentchar20否所在系部否classchar20否所在班级否gradeint4是考生得分5.3.3试题库管理试题库的管理是实现考试成功与否的关键。我们以计算机类课程的考试情况为例,将试题划分为选择题、填空题两种题型。每种题型建立相应的录入、修改、删除操作模块。选择题目有题面,所以有一个题面字段,现在例行考试方式一般只有四个答案,因此,系统表设置四个答案的记录字段。对于题目的输入,使用表单来输入各字段的内容,在教师提交后保存到数据库。对于修改试题库模块,需要显示试题的详细内容,修改完相应内容后保存数据即可。对于删除试题库模块,显示试题内容后,选择相应的题目,选择删除即可。由于每种题型题目的题面和答案各不相同,表格的形式也不相同,本系统设计数据库表格形式如表5.3至表5.4所示。表5.3选择题目表主键否字段名称字段类型字段长度允许空否备注说明tmlrchar500否题目内容Achar100否A选择Bchar100否B选择Cchar100否C选择Dchar100否D选择Answerchar2否正确选择centchar2否本题分值表5.4填空题目表主键否字段名称字段类型字段长度允许空否备注说明titlechar500否题目内容Answerchar100否标准答案centchar2否本题分值5.4本章小结本章较为详细描述了如何实现考试系统考试管理等功能,考生模块功能的实现以及系统数据库的表结构。首先介绍了教师登录的流程图,接着用框图分别详细介绍了题库管理、考生信息管理、考试管理和教师用户管理等主要模块的功能,其中考试管理模块中有试卷设置和考试控制等功能,然后较详细介绍了考生模块的登录、考试和试卷提交等功能,最后介绍了数据库中用户表、考生信息表、选择题表和填空题表等表的表结构。6系统功能实现6.1考生模块6.1.1考生登录考生考试模块为客户端程序,双击该程序图标即可进入考试系统登录界面,如图6.1所示。考生登录必须满足以下四个条件:服务器必须处于开启的状态下考生必须事先存在于数据库中考生需要输入正确的准考证号考生需要输入正确服务器IP地址输入服务器IP地址后需点击”连接”按纽,如果服务器未开启或考生填写的服务器IP地址不正确,则无法登录;当服务器开启后,输入正确IP地址并点击”连接”按纽后,会弹出提示框,提示”已成功连接服务器”。考生输入正确的准考证号后按“登录”按钮即可登录。考生必须为事先存在服务器数据库中的考生才能登录,否则系统将自动退出。图6.1无纸化考试系统登录6.1.2考生考试答题考生登录认证通过后,系统会显示考试须知窗体,窗体最上方有操作信息提示,下方有开考时间和系统当前时间。考生必须等待开考时间到来之后才可答题,否则点击“开始考试并计时”按纽时会给出提示”开考时间未到,请耐心等待!”;开考时间到来之后,系统会给出提示“可以开始考试了!”。此时,考生可以点击“开始考试并计时”按纽进行考试,系统将自动生成随机试卷并显示答题窗口各计时窗口,同时考试进入倒计时,如图6.2、图6.3所示。图6.2考试须知窗口考试题型分为选择题和填空题两种,通过点击选择题和填空题选项卡或菜单中的”考试项目”中对应的子菜单进行切换。考试过程中可以点击考试时间窗体左侧按纽,用来控制考试说明窗体的隐藏和显示。选择题从A、B、C、D4个备选答案中选择其中1个,点击相应的单选按钮。通过“前一题”和“后一题”按钮切换题目。也可直接点击题号前面的框直接切换到指定一题。填空题需要将答案输入到指定的文本框中。做过的题目可以返回进行修改。操作方式与选择题类似。如图6.4、6.5。图6.3考试窗体计时窗体当考试时间剩余时间为1分钟时,系统会给出提示”您还有1分钟!请赶快提交答案!”。如果考生完成考试要提前交卷,或者考生考试时间已到需强制收卷[31],则系统自动启动交卷程序进行收卷。启动交卷过程后,系统将首先隐藏答卷界面,拒绝考生继续作答。交卷后将考生答卷与正确答案进行比对并计算最后得分反馈给考生,同时将成绩保存到数据库供教师查询。图6.4考生答题界面(a.选择题)图6.5考生答题界面(b.填空题)6.2教师模块本模块包括教师用户管理、考生管理、题库管理、成绩管理等几个子模块,可完成考生信息的录入、编辑、删除等操作;试题库建设,试题录入、编辑等操作;考生成绩查询显示等操作。运行无纸化考试系统——教师管理模块。若登录成功,即可进入考试系统——教师管理模块的主界面进行操作,如图6.6~6.9所示。图6.6教师登录界面1、正确用户表正确用户表输入用户用户名密码考试系统主界面图6.7教师登录DFD图2、流程图:YYN开始输入登录用户名和密码是否正确考试系统主界面图6.8教师登录流程图教师管理模块主界面教师可单击相应的菜单进入相应的子模块进行相关操作。下面主要介绍一下各模块的主要功能:“系统功能”菜单,主要用来进行教师用户的管理、返回登录、退出系统等。可以完成教师用户的添加、注销、修改、密码更改等。“考试管理”菜单,主要用来进行考试相关设置。可以设置考试开始的时间以及考试所用时间。“试题管理”菜单,主要用来实现对试题库的管理。可以进行选择题和填空题两种题型题量的查看、题目的添加、删除、修改等。“考生信息管理”菜单,主要用来实现对考生的管理。可以完成考生相关信息的添加、删除、修改等。“成绩处理”菜单,主要用来进行考试结束后教师对学生成绩的查看。可以采用4种查询方式。界面中的客户机列表和客户机连接信息用来显示监控考生在线考试情况。考生登录及退出系统的信息都可以显示在客户机连接信息框中,使得监考老师对考生考试情况有一个全局的了解。左下角可以显示在线考生的数量。图6.9教师管理模块主界面考试设置子模块考试设置子模块可以进行考试时限的设置和开考时间的设置。考试时限以分钟为准,开考时间需要按照要求格式填写。试题总量的控制,由教师用户填写试卷上试题的总数量,系统就根据其所填写的数量生成试卷。图6.10考试设置子模块界面题库管理子模块题库管理子模块包括“选择题”、“填空题”2个选项卡,选择不同的选项卡进行相应题目的操作。在试题录入时,不能留有空白。全部填满后,点击“保存”按钮即可。在试题删除时,要先从试题列表中选中,按“删除”按钮。图6.11题库管理子模块界面考生信息管理子模块考生管理子模块包括“考生信息录入”、“考生信息修改”、“考生信息查询”3个选项卡,选择不同的选项卡进行相应的操作。成绩管理子模块成绩管理子模块主要负责教师对学生的“成绩查询”,可以“按学号查询”、“按姓名查询”、“按系部查询”、“按班级查询”4种方式。按学号查询及按姓名查询时,需要输入正确的学号或考生姓名,按系部查询或按班级查询时,只需选择要查询的系部或班级。6.3本章小结本章介绍了考试系统在考试过程中的实际应用举例,通过考生登录界面、考生答题界面、教

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论