1、-精选文档- 无纸化考试系统设计报告B11计信班 李广建、何锐主要内容:针对传统考试系统容易引起考试误差等问题,在借鉴现有题库管理和考试系统开发经验的基础上,开发实用的考试管理系统。系统以Windows XP平台为基础,采用C/S模式,依托SQL Server或其它数据库。客户端应用程序主要实现信息显示,考生登录考试以及数据采集;后台数据库服务器用于集中存放和管理业务数据。考试系统应具有教师信息管理、考生信息管理、试题管理、考试管理、成绩处理等功能。基本要求:1必须立足学校实际情况,查阅相当数量的文献资料,独立完成.2 系统具有一定的实用价值,能基本满足基础考试需要。3 要求材料充实,思路清晰
2、,语言流畅。主要参考资料:VS.net项目开发Mysql数据库技术SQL Server 2000数据库应用 目 录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 前后台连接ODBC113.3 相关技术介绍123.3.1 系统结构C/S模式123.3.2 Winsock编程
3、133.3.3 ADO技术133.3.4 VB连接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.2 Winsock控件194.4 本章小结205 系统详细设计205.1 服务器端功能设计205.1.1 教师登录205.1.2 教师用户管理215.1.3 考生信息
4、管理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测试目的、方法与内容37
5、7.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无纸化考试系统的设计与实现摘 要 考试是教育教学的一个重要环节,传统的考试组织形式多是教师编写试卷,印刷试卷,考生考试,教师批改试卷和成绩登记统计。随着计算机技术在现代化教学系统中的广泛应用,以及各类考试的日益增多,改革传统的考试方法显得尤为重要。本人在借鉴已有题库管理和考试系统开发经验的基础上,开发了一个客户端/服务器模式的无纸化考试系统。本考试系统在Micro
6、soft Windows XP操作系统平台下开发,采用C/S模式,界面使用VB编程技术,后台数据库采用SQL Server 2000。客户端主要实现考生登录考试及评分;服务器端主要用于考试相关数据的采集和管理,并对考试进行监控。考试系统具有教师用户管理、考生信息管理、题库管理、考试管理、成绩处理等重要功能。系统已经经过初步测试,运行比较稳定、可靠,取得了较为理想的效果,基本上达到了设计要求。关键词 客户/服务器模式/无纸化考试系统/VB/SQL Server 2000可编辑1 绪论1.1 引言考试系统是依据现代考试理论,借助现代统计法和计算机技术,严格按科学程序命题和实施考试,有效地控制各种误
7、差,具有统一标准的考试。这种考试要求命题科学化,管理手段规范化、现代化、制度化。考试系统应具备以下三个特征:可靠性、有效性、实用性,即通常所说的信度、效度和区分度。优越性主要体现在三个方面:(1)根据考试的程序,考前要预先公布考试范围、考试说明、考试方法,并公布题样,这有利于考生作好精神准备,从而有助于考出考生的真实水平;(2)由于试题编制标准化,使得试题难易程度相对稳定,再加之评分、计分的标准化,增加了考生之间成绩的可比性;(3)由于采用计算机等科学工具和方法进行评分、计分,最大程度地控制了误差,保证了考生成绩的真实性;(4)由于网络和互连网的普及,使得通过考试系统可以顺利实施考试。以上几方
8、面,对于高等学校改进教学工作,提高人才培养质量水平无疑都是有益的。目前,国内考试系统工作已起步,在高等院校每学期的考试中,采用考试系统的科目相当少123,一是由于高等院校课程科目多,不易统一,再者人们已习惯于过去的考试方式。为了提高考试的效率、效度、信度,实现对考试科学、规范、有效管理,建立和完善标准化考试系统是非常必要的。考试系统是按照系统的科学程序组织、具有统一的标准,并对误差作了严格控制45。就是说,制定出客观而规范的标准,从命题到考试、阅卷、评分等各个环节,努力减少或避免各种误差,从而测出考生比较真实的成绩,使测验、考试客观可信,准确有效。考试系统一般由专门的考试机构编制试卷并组织实施
9、。为了保证考试的独立性和专业性,世界上许多国家和地区都有这种机构,如美国的教育测验中心、英国的伦敦职业考试中心、日本的大学入学考试国家中心,以及香港考试局等。其中美国教育测验中心是世界上最大的考试机构,成立于1948年,共有2200多名工作人员,其中有人数众多的心理学、教育学、心理与教育测量学、统计学、计算机科学以及各个学科的专家。目前在世界170多个国家和地区设有一万多个考点,每年对国内外近千万名考生提供上百种不同的考试,著名的托福考试就是该中心举办的。1.2 研究背景现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过四个步骤,即人工出卷、考生考试、人工
10、阅卷和成绩评估。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,由此可能产生各种考试误差。而考试是一个系统的过程,每个环节都可能带来误差,因此对考试的每个环节,都要加以控制。凡是使考试结果不准确,便可认为是考试误差因素,考试中常见的误差,来源于3个方面:试卷内部、考试过程、考生本身。(1)试卷内部的误差:包括试题取样、试题数量、题型、命题技巧、试题科学性等方面。当取样缺乏代表性,试题偏于某一方面时,不但不能对考生作出全面考察,达不到测量目的,而且会把教学引向歧途;当试题数量太少,考生受机遇影响就较大;试题题型如大多为论
11、述性问答题,则评分误差就大等。其他如试题指导语不清;用词模棱两可,题目过难,时限太短使考生仓促作答,试题科学性错误致使考生错误作答等,都可成为误差的来源。(2)考试过程的误差:与考试过程有关的误差因素主要是考场的环境,主考和监考人员的态度,意外干扰如临时发现个别试卷印刷不清或装订错误等,都可导致考试成绩的不准确。特别是考试后的评分记分,包括评分不客观,合成分数、登记分数出差错等是常见的误差。像论述题,由于评分标准难以掌握,加之阅卷者的身份、偏好、态度、情绪等因素的影响,评分误差几乎是不可避免的。(3)考生本身的误差:来自考生本身的误差因素既有心理方面的,也有生理方面的。考生对考试的动机不同,会
12、影响其注意力、持久力、作答态度、反应速度等,从而影响考试成绩;临考前或考试中,过度的紧张而不愉快的情绪会使考生注意力分散;思维狭窄,适度的焦虑会使人兴奋性提高,注意力增强,对作答产生积极影响;考生的应考经验的影响;生病、疲劳、失眠等生理因素的影响等。传统的考试方式容易出现的这些误差在考试系统中都得到了有效控制。相比于传统的考试方式,网上考试系统的的特点是试题取样范围大,题量多、效度高,难度适中,区分度好,试题答法简单、明确,评分客观准确,从命题到考试、评分,努力排除无关因素的影响。最主要的好处是一方面可以动态的管理各种考试信息;另一方面,计算机化考试阅卷能力快,系统可以在考试结束时当场给出考试
13、结果,并且计算机考试给了考生最大的公平感。 无纸化考试极大的提高了教学的灵活性,现在在许多领域已经有了广泛的应用。最有影响的案例就是ETS(美国教育考试中心)举办的GRE(美国研究生入学考试)的计算机化考试,它使考试由原来的每年只能有两次参加考试的机会便为每个工作日都可以参加考试。因此,采用无纸化考试方式将是以后考试发展的趋势,无纸化考试必将会日益盛行。课题的研究目的在于适应现代的现实情况,解决考试系统的关键技术问题,设计具备较高实用性的系统,技术上综合运用VB编程技术、数据库技术等技术。该系统集教师信息管理、考生信息管理、试题管理、考试管理和成绩处理等多项功能于一体,力求以准确、高速信息技术
14、为手段,实现题库管理、无纸化考试等环节的高度自动化、科学化。通过提高测验考试的效率、增强测验考试的反馈效果,揭示考生知识能力的局部缺陷,使教与学都更有针对性,从而提高教师的教学水平和考生的学习效果。1.3 考试系统现状分析随着网络技术的发展,运行在单机上的考试系统基本上趋于淘汰趋势,主要原因是单机运行的考试系统虽然没有网络需求,但缺乏数据共享、集中管理等功能,这样反而给管理人员增加了较大的负担。目前,在一些硬件设施比较落后的地方,还有这样的系统在使用;更多的是随着硬件设施的提高,选用这样系统自带的题库,完成自测工作。基于网络的考试系统是主流的发展方向,它大体分为适用于局域网和适用于广域网两类8
15、。市场上商业化的考试系统主要是前者,是针对局域网的;而后者则往往被实现为CGI模式。从实现方式上来看,适用于局域网的计算机考试系统可以分为客户/文件服务器模式和客户/数据库服务器模式两类。(1)客户/文件服务器模式这种模式在早期的考试系统中运用的较多。早期的PC操作系统主流是DOS,局域网则以Novell网络系统为主1112。由于Novell网络操作系统提供了强大便利的文件服务功能,易于被设计和开发人员接受,因此许多开发者将Novell网的这种服务应用于网络考试系统中。在这种模式下,考试的试卷数据和考生的答卷数据都是以文件的方式存放在Novell网的文件服务器上;位于客户端的程序从指定的位置获
16、取试卷文件,并将考生的答案文件通过网络保存到文件服务器上。采用这种模式的考试系统,把整个业务逻辑几乎完全放在客户端程序实现,服务器只是充当了一个保存文件的公共场所。这样的系统只有很简单的管理功能,考生与其答案文件之间通常依赖事先约定好的一种简单的对应关系,例如,以考生的考号为文件名保存考生答卷。所以,这样的考试系统通常需要额外的人工整理工作。(2)客户/数据库服务器模式客户/数据库服务器模式是目前应用最为广泛的一种模式。这主要是由于Wnidows网络的普及应用,从而为基于客户/服务器模式的数据库应用提供了方便的图形环境,并且为开发者提供了相当丰富的开发工具。在采用这种模式的考试系统中,所有的数
17、据都被保存在服务器上,并且大部分被保存在数据库中。客户端安装有可以访问数据库的应用程序,完成几乎所有的业务逻辑,包括身份验证、显示试题、接受答案和保存答案等。由于有数据库的支持,所有这样的系统通常拥有较为完善的信息管理机制,它们可以很好地保存、管理有关考试的数据,例如考生的名单信息等。因此这样的系统在很大程度上自动化了考试过程的管理工作,所以得到了相当广泛的应用。目前此类系统通常使用的数据库开发工具有:Visual Basic、Delphi和PowerBuilder等。Internet的普及使得人们尝试创建可以运行于Internet的计算机考试系统16。从目前的情况看,广泛采用的是通用网关接口
18、(CGI)方式,其系统结构和工作流程也比较明确。在这种方式下,提供给考生的是由Web服务器动态生成的Web页面,考生在页面中填入答案后,直接将结果提交到Web服务器上。通常这样的系统还可以实时改卷,并将结果反馈给考生。目前开发这样的系统除了用高级语言编写CGI程序外,使用最为广泛的就是微软的ASP (Active Server Page),还有Perl等。使用其他的技术也可以创建运行在Internet上的考试系统1718,譬如使用Java技术,在web页面中嵌入JavaApplet;另外一些系统是原有的局域网考试系统添加了远程数据传输功能,采用分考场模式考试;还有的系统是采用业界提供的整套方案
19、,例如Lotus Notes群体系统。1.4 论文概要第一章为绪论。介绍了系统开发的背景和目前考试系统的现状分析;第二章为系统需求分析。分析了考试流程,提出了系统要实现的功能,系统的设计目标等;第三章为系统开发环境与技术。主要介绍了系统的开发工具与使用的技术等;第四章为系统总体设计。主要介绍考试系统的总体设计思路、设计原则;第五章为系统详细设计。主要介绍系统各主要功能的具体实现,系统的框架结构图及具体功能,数据库结构等;第六章为系统功能实现。包括系统的界面、具体使用情况等;第七章为系统测试。主要采用了黑盒测试方法对系统进行了测试;最后为结论,总结了论文所做的主要工作和下一步的工作计划。2 系统
20、的需求分析本章将对考试系统进行需求分析,对其业务过程进行简单的描述,对系统要实现的功能进行介绍,对系统设计目标进行简要的说明。2.1 考试系统工作流程2.1.1 系统流程分析考试系统分为服务器端和客户端,服务器端为教师提供了一个组织考试、管理考试的界面,客户端为考生提供一个参加考试的界面。通过身份认证后,教师可以在服务器端进行教师信息管理、考生信息管理、试题管理、考试管理和成绩处理等操作,而考生则可以在客户端使用登录、参加考试和交卷评分等功能。考试系统业务流程的设计如图2.1、2.2所示。教师登录服务器端教师信息管理学生信息管理试 题 管 理考 试 管 理成 绩 处 理考 试 安 排试 卷 设
21、 置考 试 监 控图2.1 服务器端业务流程设计考生登录客户端考试信息计 时考 试 选择题填空题交卷评分图2.2 客户端业务流程设计2.1.2 系统用例图根据上述考试系统业务流程设计,可以得出系统用例图,如图2.3所示。其中用例包括:用户登录、教师信息管理、考生信息管理、试题管理、考试管理、考生参加考试、成绩管理等。参与者包括:教师和考生。试卷考试管理登录试题管理考试教师信息管理计时考生评分题库生成考生信息管理考生考试教师阅卷成绩管理图2.3 系统用例图2.2 系统功能描述考试系统的考试管理包括考试开考时间及考试时限的设置等。在考试系统中,先由教师用户在考试系统题库管理模块中根据考生需要考试的
22、知识情况和相关考试项目来进行试题的添加。然后,由教师用户在考试系统中考试设置模块中设置考试的开考时间、考试时限以及考试的试题量等相关信息。在考生参加在线考试时,先要正确输入准考证号,用于验证是否是有效用户,然后才能正式参加考试。系统可以自动生成试卷(可以是一份或者是多份)。在考试开考时间到达前,考生不可以进行答题。考生答题完毕,检查无误,可以交卷。考试时间快结束时,系统给出提示,提醒考生尽快完成答题并交卷。到考试时间结束时,所有考生自动强制结束答题,并自动完成试卷提交及评分等。2.3 系统设计目标考试系统考试功能的设计目标是希望通过对试卷出题,考试安排的起初设定,考生信息的添加,取得相关信息保
23、存到数据库表中。当考生参加考试时,必须保证考生身份的正确,考试时间的正确,考生题目显示正确,考试结束后及时交卷的正确以及答案比对的正确。避免在考试时考生混乱、考试没开始就答题和考试结束后继续答题的问题。同时保证系统在同时进行多个考试和交卷时,不会相互产生干扰。2.4 本章小结 本章在对考试系统的考试功能进行的需求分析基础上,明确了系统的主要功能:教师信息管理、考生信息管理、试题管理、考试管理和成绩处理等。最后,提出了系统拟达到的设计目标:考生身份正确,考试时间正确,考生题目显示正确,考试结束后及时交卷的正确以及答案比对的正确。保证系统在同时进行的多个考试不会相互影响。3 系统开发环境及技术3.
24、1 系统硬件要求 一台安装有数据库 (Microsoft SQL Server 2000)的机器CPU:PIV 2.0GHZ或更高频率的CPU内存:DDR333 256MB或更多的内存硬盘:至少10G以上或更多的硬盘空间3.2 系统开发工具3.2.1 前台开发工具 微软公司的Visual Basic 6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。Visual Basic提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性VB6.0所具有的特点:1.具有面向对象的
25、可视化设计工具OOP在VB中,应用面向对象的程序设计方法(OOP),把程序和数据封装起视为一个对象,每个对象都是可视的。程序员在设计时只需用现有工具根据界面设计的要求,直接在屏幕上画出窗口、菜单、按钮、滚动条等不同类型的对象,并为每个对象设置属性。程序员的编程工作仅限于编写相关对象要完成的功能的程序,因而程序设计的效率可大大提高。2.事件驱动的编程机制 事件驱动是非常适合图形用户界面的编程方式。传统的程序设计是一种面向过程的方式,程序总是按事先设计的流程运行。但在图形用户界面的应用程序中,是由用户的动作即事件掌握着程序运行的流向,每个事件都能驱动一段程序的运行。程序员只需编写响应用户动作的代码
26、,而各个动作之间不一定有联系。这样的应用程序代码一般较短,所以程序既易于编写又易于维护。3.提供了易学易用的应用程序集成开发环境在VB集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件在Windows中运行,使用户在友好的开发环境中工作。4.结构化的程序设计语言VB具有丰富的数据类型和结构化程序结构,而且简单易学。5.支持多种数据库系统的访问6支持动态数据交换(DDE)、动态链接库(DLL)和对象的链接与嵌入技术(OLE) 7联机帮助功能VB具有丰富的数据类型和结构化程序结构,而且简单易学。由于VB6.0具有可视化设计截面,因此开发起来比较快。并且截面设计比较快
27、。并且也支持多数据库系统访问,因此今后在别的系统中继承起来也比较方便。由于提供易学易用的程序集成开发环境,因此对于新手上手比较快。综合上面VB6.0的一些优点所以我选择VB6.0来开发我的系统。 3.2.2 后台数据库用户对数据库的使用,是通过数据库管理系统提供的语言来实现的。不同的数据库管理系统提供不同的数据库语言。关系数据库管理系统几乎都提供关系数据库标准语言SQL。SQL 的全称是Structured Query Language,即结构化查询语言。Microsoft SQL Server 2000 是一种功能强大的关系型数据库管理系统。下面将对 Microsoft SQL Server
28、 2000 的特点和性能进行介绍:Microsoft SQL Server 2000 具有高度的扩展性和高可靠性。Microsoft SQL Server 2000使用了工业界最先进的数据结构,能够为要求最苛刻的企业应用提供高度的可扩展性和高可靠性。Microsoft SQL Server 2000在许多工业基准测试中的性能都创立了新的世界纪录,包括事务处理性能委员会的 TPC-C 基准,它击败了运行于任何硬件或操作系统环境下的同类数据库产品。Microsoft SQL Server 2000 的性能还在 Windows 平台下为 SAP R/3 Sales and Distribution(
29、SD) 标准应用程序据基准创立了新的世界纪录。虽然 Microsoft SQL Server 2000 被设计用来充分利用最近和将来的高端对称多处理器(SMP)技术,它还是可以把数据库的工作负荷分布到普通的服务器集群上。这样可以实现高度的可扩展性,即只需要向数据库集群中增加新的普通服务器即可,而不用把老系统替换为更大、更昂贵的新机器。Microsoft SQL Server 2000 引入了一个新的特性,被称为分布式数据库分区视图(Distributed Partitioned Views)它可以把工作负荷划分到多个独立的SQL Server 服务器上去,从而为实施电子商务的客户提供了无限制的
30、可扩展性。Microsoft SQL Server 2000 直接支持最新的、高速的系统区域网络(SAN)技术。Microsoft SQL Server 2000 在它的管理控制台和安装向导中紧密集成了4节点故障恢复技术,从而保证了高度的系统可用性。Microsoft SQL Server 2000 还引用了索引视图技术,运用该技术可以为关系型数据库设计出功能的报表应用程序。Microsoft SQL Server 2000 可以进行最快速的应用程序开发。微软提供了许多技术和工具,作为数据库系统的标准集成组件。而且通过巧妙的设计以及自动调整、自动管理特性, Microsoft SQL Serv
31、er 2000 是客户可以更快、更容易的享受所有这些最先进的分析技术所带来的好处,能够快书提交应用,从而赢得竞争上的优势。微软在开发数据库服务器自动调整和自动管理技术方面一直在工业界处于领先地位。这种技术使客户可以集中精力处理商业战略上的问题,而不是去细微调整数据库服务器的各项参数。Microsoft SQL Server 2000 可以为最新的硬件进行优化,包括大内存、超高速磁盘子系统以及 SAN 等,从而扩展了这项功能。 Microsoft SQL Server 2000 与 Windows 2000 的活动目录服务的紧密集成允许集中管理功能。 Microsoft SQL Server 2
32、000 和其他企业资源,从而极大地简化了大型组织中的体统管理任务。3.2.3 前后台连接ODBCODBC的全称为Open DataBase Connectivity,即开放式数据连接,是Microsoft公司在1989年推出的连接外部数据库的标准。ODBC有以下优点:ODBC提供了一个能访问大量数据库的单一接口。ODBC使客户应用程序的开发可以独立于后端服务器25。开放式数据库连接 (ODBC) 技术为访问不同种类的 SQL 数据库提供了通用接口。ODBC 是基于结构查询语言 (SQL) 的,以此作为访问数据的标准。此接口提供了最大的互操作性:一个应用程序可以通过一组公用代码访问不同的 SQL
33、 数据库管理系统 (DBMS)。这使得开发人员能够在不以特定的 DBMS 为目标的情况下构建和分发一个客户端/服务器应用程序。然后,会添加数据库驱动程序以将应用程序链接到用户选择的 DBMS。以下特性说明了 ODBC 的灵活性:应用程序没有绑定到专有供应商 API。SQL 语句可以明确地包括在源代码中也可以在运行时即时构建。应用程序可以忽略基础数据通信协议。数据可以用方便于应用程序的格式进行发送和接收。ODBC 是随新兴的国际 ISO Call-Level Interface 标准一起设计的。目前提供了可用于 55 种最流行的数据库的 ODBC 数据库驱动程序。3.3 相关技术介绍3.3.1
34、系统结构C/S模式设计这个系统时,有个问题摆在我面前,那就是对于这个系统我是采用c/s模式进行开发呢,还是b/s?于是我把这两个的优缺点例举下来,进行了一个比较。C/S模式开发考试系统优点:由于C/S模式是通过客户端直接与 服务器交互数据,因此其相应速度比较快,不需要通过IE浏览器进行数据传输,因此数据比较安全。很适合适时提交数据系统。缺点:由于是直接用客户端直接与服务器交互,因此需要为每台电脑安装客户端,因此对电脑的配置要求比较高。并且对系统升级的话,就增加了升级的复杂性,因为需要为每台电脑都更新客户端。B/S模式开发考试系统优点:由于B/S模式是通过IE浏览器来访问,所以它适合分散性的考试
35、系统,并且用户只需要能访问IE就可以参加考试。由于只需要对服务器进行更新,所以更新起来比较快。缺点:由于采用IE浏览器经过网络传输,因此数据的安全性不高,很可能导致数据的丢失,由它没有客户端因此客户端只能进行一些数据的查询,读写,都需要跟远程服务器进行交互,因此增加了服务器的压力。并且不适合适时的数据进行交互,这样会导致服务器压力会很大。综合上面B/S与C/S的优缺点可知,由于我们考试系统适用于学校,并且对数据交互比较频繁,对数据的安全性需要很高。因此采用C/S模式来开发该系统。3.3.2 Winsock编程Windows下网络编程的规范Windows Sockets是Windows下得到广泛
36、应用的、开放的、支持多种协议的网络编程接口。从1991年的1.0版到1995年的2.0.8版,经过不断完善并在Intel、Microsoft、Sun、SGI、Informix、Novell等公司的全力支持下,已成为Windows网络编程的事实上的标准。通信的基础是套接口(Socket),一个套接口是通讯的一端。在这一端上你可以找到与其对应的一个名字。一个正在被使用的套接口都有它的类型和与其相关 的进程。套接口存在于通讯域中。通讯域是为了处理一般的线程通过套接口通讯而引进的一种抽象概念。套接口通常和同一个域中的套接口交换数据(数据交换也可 能穿越域的界限,但这时一定要执行某种解释程序)。在一次网
37、络通信/连接中有以下几个参数需要被设置:本地IP地址 - 本地端口号 - 对方端口号 - 对方IP地址。左边两部分称为一个半关联,当与右边两部分建立连接后就称为一个全关联。在这个全关联的套接口上可以双向的交换数据。如果是使用无连接的通信则只需要建立 一个半关联,在发送和接收时指明另一半的参数就可以了,所以可以说无连接的通信是将数据发送到另一台主机的指定端口。此外不论是有连接还是无连接的通信都 不需要双方的端口号相同。3.3.3 ADO技术VB提供了多种多样的数据库访问技术来满足各种信息查询的要求,如ADO,RDO,Data控件,DAO等。这些技术各有特点,它们提供了简单、灵活、访问速度快、可扩
38、展性好的开发技术。其中,ADO是Microsoft数据库应用程序开发的新接口,它具有较强的功能、通用性好、效率高、占空间少等特点。它替代了原来的DAO和RDO两种数据访问接口。另外还增加了一些用户以前没有接触到的特征。随着信息网络化的发展,对数据库的访问宜采用ADO对象模型,以获得更好的性能,更大的灵活性28。在本系统中就主要使用了ADO技术来进行数据库的访问。使用ADO访问数据库的基本流程(1) 在工具箱中添加ADO Data控件。操作为:“工程”“部件” “Microsoft ADO Data Control”。.(2) 在窗体上放置一个ADO Data控件,名称默认为Adodc1。(3)
39、 设置Adodc1.ConnectionString属性值为“DSN=jxgldsn”。其中“jxgldsn”为指向jxgl.mdb数据库的数据源名称,可通过控制面版预先设定。(4) 设置Adodc1.RecordSource项,选择命令类型为“2-adCmdTable”,并在表名项中选择“jsb”。(5) 将ADO Data控件与Text文本框绑定。放置文本框控件于窗体,将其DataSource属性值设置Adodc1,DataField属性值设为表中一字段,如gh。运行程序,可用ADO Data控件的方向箭头来浏览。除了应用上述引入一组数据绑定控件显示数据内容之外,还可以使用数据网格控件Da
40、taGrid来显示多个字段内容。步骤为:(1) 先通过“工程” “部件” “Microsoft DataGrid Control”引入数据网格控件并在窗体中绘制一个DataGrid控件。(2) 把DataGrid绑定到ADO数据控件上。设置DataSource属性值为:Adodc1。(3) 把数据库字段加入到DataGrid控件上。鼠标右击DataGrid控件,选择检索字段,则当前数据表的字段全部导入到数据网格控件上。3.3.4 VB连接SQL数据库VB连接SQL数据库的方式主要有以下两种:1. 直接字符串连接:cnn.open provider=SQLOLEDB;Persist Securi
41、ty Info=true;User Id=数据库用户名;PassWord=数据库密码; Initial Catalog=数据库名;Data Source= IP地址或cnn.open “DRIVER=SQL Server; SERVER=计算机名;DATABASE=数据库名;USER=用户名;PASSWORD=密码”2. ODBC连接cnn.open provider=MSDASQL;Persist Security Info=true;User Id=数据库用户名;PassWord=数据库密码; Initial Catalog=数据库名;Data Source=ODBC名本系统主要采用了第二
42、种方式。3.4 本章小结本章主要介绍了开发系统所用的工具,前台采用微软公司的Visual Basic 6.0,后台数据库采用Microsoft SQL Server 2000,前后台数据连接采用ODBC 数据库驱动程序,系统结构采用C/S 模式,服务器端与客户端通信采用Winsock编程,数据库连接采用ADO技术。4 系统总体设计 考试系统分服务器端和客户器端,对应的操作对象分为教师和考生,角色不同,操作的模块也不同。4.1 服务器端图4.1 教师管理模块图教师登录考生信息管理试 题 管 理考 试 管 理教师信息管理成 绩 管 理考试系统服务器端为教师管理功能模块,具有教师信息管理、考生信息管
43、理、试题管理、考试管理、成绩处理等功能,根据其实现的功能目标,总体结构框如图4.1所示。 4.1.1 教师登录教师登录时,系统根据用户名和密码来判断用户的合法性。若用户名及密码正确则登陆成功,若密码错误则给出密码出错信息要求用户重新输入密码。只有当用户名和对应密码正确时才能通过系统验证进入到指定的主页面进行相应功能操作。4.1.2 教师用户管理教师基本信息包含教师用户名和密码。可以实现教师用户的添加、删除、修改及密码的更换等功能。4.1.3 考生信息管理考生信息是指参加考试考生的基本情况的集合。考生参加考试前必须将其基本信息录入以便进行管理,同时也是考生登录考试系统进行考试的依据。考生基本信息
44、包含考生学号,姓名、所在系部和班级等。考生信息管理包含考生信息添加、考生信息修改、考生信息删除几个模块。考生基本信息录入后,可以对考生基本信息中数据进行修改,但所有操作需要教师用户来完成。4.1.4 题库管理 题库管理用来实现对试题库的管理。可以查看试题库中各题型试题量的多少,提供试题的输入、修改和删除等功能。4.1.5 考试管理考试管理用来实现对考试的相关设置。并进行考试监控。考试前应该对考试的开考时间和考试时限进行设定。在每次考试时,每种题型必须都有一定的分数,各小题的分数总和为该大题得分,各大题总分和为试卷总分,一般设试卷总分满分为100分。4.1.6 成绩管理考生考试结束后教师可以按4
45、种查询方式对学生考试成绩进行查询,以掌握学生考试的情况。4.2 客户端考试系统客户端为考生功能模块,用来实现考生考试功能。根据其实现的功能目标,总体结构框如图4.2所示。图4.2 考生功能模块图考生登录选 择 题填 空 题交 卷考 试 须 知自 动 评 分4.2.1 考生登录考生登录指考生验证进入考试系统。考生在客户端上输入准考证号码,提交后和服务器上保存的数据进行对比,正确则进入考试系统,错误则给出错误信息返回要求考生重新登陆。4.2.2 考试考生在登录后查看考试须知,考试须知详细介绍了本次考试的相关信息,如开考时间,考试时限,考试题量及类型等等。考生可以对考试有一个全局的掌握。开始考试后,系统自动生成随机题目,考生选择相应题型进入相应答题界面进行答题。4.2.3 试卷提交如果考生完成考试要提前交卷,或者考生考试时间已到需强制收卷,则启动交卷程序进行收卷。考试快结束时系统会提示考生尽快完成答题并进行交卷。交卷后系统将考生答卷与正确答案进行比对并计算最后得分反馈给考生,同时将成绩保存到数据库供教师查询。4.3 服务器端与客户端的通信4.3.1 局域网的通信在TCP/IP网络中两个进程间的相互作用的主机模式是客户机/服务器模式(Client/Server model