1、C+程序设计考试系统 摘 要 本论文叙述了考试方式的历史、现状以及 ASP 语言和 SQL SEVER2000 数据库管理系统的概况。重点介绍了无纸化网络考试系统的实现过程:包括系统分析、系统调查、数据流程分析、功能设计、数据库设计、系统物理配置方案、系统实现、系统测试和调试。总结了本系统的特点:节约考试成本,提高考试工作的效率。本系统主要面向三类人员使用:普通学生、考务人员、领导,使用时他们拥有不同的权限。使用的过程是通过考试新闻的发布、试卷的制定、审核、生成、考试结果的公布与查询来实现无纸标准化考试,从而使 考试可以方便地通过 Internet 和局域网进行。 关键词:无纸化网络考试系统
2、, ASP, SQL SERVER2000 ABSTRACT This thesis described the examination history, present condition and the ASP language with the SQL SEVER2000 the database manage systems general condition.I emphases introduced the process to realize the network examination without paper system:Include the system the a
3、nalysis, system to investigate, data process analysis, function design, database design, the system physics install the project, system to realize, the system test and debug.summarized the characteristics of this system:Economy examination cost, increase the examination works efficiency.This system
4、primarily face to three personnel usageses:Common student, test personnel, leader, they own the different legal power when use this system .The usages process of standardize examine without papers is an announcement for of examination establishment, examining, bornly, examination result and search o
5、f announce, thus make examination can expediently pass the Internetand intranetthe proceeding. Key words: no paper internet exam system, ASP, SQL SERVER 2000 1 引言 1.1 项目开发背景 在上个世纪 90 年代中期以前,各个学校的各种类型的考试基本上都是靠手工进行,大体上要经历出卷、印刷、测试、阅卷、统计分数等过程。后来随着电脑的普及以及计算机软硬件的发展,市场上出现了一些随机出题软件并被一些学校采用,但仍然需要大量的人工参与考试过程之
6、中。考试是一项极其繁琐的工作,通过人手工计算容易出错,很多老师一谈到考试就头皮发麻。 数据库技术 是一门历史弥坚的学科,不像其它的计算机技术会随着时间的推移而变得越来越没有声息。考虑其原因,则是因为信息的爆炸对数据库技术的要求只增不减。在互联网日益发展、壮大的背景下,在因特网普及浪潮持续高涨的情况下,如何让原来在单机中使用的数据库可供多机使用,也成了必然的趋势。 近几年,随着计算机技术的发展和互联网时代的到来和飞速发展,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,学校传统的管理方法和办学水平都受到了极大的挑战。Internet 技术持续迅猛的发展,也给传统的办学提出了新的
7、模式。绝大部 分大学和学院都已接入互联网并建成校园网,各校的硬件设施已经比较完善。通过设计和建设网络拓扑架构、网络安全系统、数据库基础结构、信息共享与管理、信息的发布与管理,从而方便管理者、老师和学生间信息发布、信息交流和信息共享。以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。与网络技术相结合的新型办学模式具有对于教育、教学过程来说极为宝贵的特性,可以为新型办学模式的建构提供理想的环境。 现今,不管是国内还是国外的各大厂家,都在不断的推出一系列的考试、认证。如微软的 MCSE、Cisco 的 CCNA 等。我们国家的自考或是成考,以及各省市的各种考试,现
8、在都在朝着信息化的道路前进在走。我们相信在今后这一系列的考试将会走向网络化考试的。这样才是符合信息发展的。所以我们考虑这是一个机会。我们要给不同的考试一个好的解决方案。 这个方案呢在技术上来讲我们是考虑 B/S 模试。 在 Windows 平台上,使用 IE 浏览器,完成抽题、考试、交卷等考试任务。还可以通过多媒体手段来完成监考。 各考点模块通过网络获取题库,考点模块按照题库中的抽题策略,自动给每个考生生成一份试卷,考生在线作答,考试结果数据通过网络回 收,系统自动进行判分,生成考试成绩和统计数据。 “网络考试系统 ”是集合现代考试理论、方法和现代信息技术手段的智能化网上考试系统,为学生个性化
9、学习提供 “灵活、方便、科学、公平 ”的 “个别化考试服务 ”,是终结性评价系统。学生可以随时、随地的进行课程结业考试。 在此开发的无纸化网络考试系统,旨在探索一种以互联网为基础的考试模式。通过这种新的模式,为大学计算机系的考试创造一种新的考试环境,使考务管理突破时空限制,提高考试工作效率和标准化水平,使学校管理者、教师和学生可以在任何时候、任何地点通过网络进行考试。基于这些优点 ,在本次毕业设计之院,我作为一名计算机专业的毕业生,着手开发了计算机系“无纸化网络考试系统”。 1.2 项目开发的目的 现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤
10、,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现 等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证!客观!更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。为了适应新形势的发展,在这次毕业设
11、计之时,我选择了这一网上考试系统,使其尽快在各类考试中发挥高效、便捷的作用 ,把老师从繁重的工作中解脱出来! 1.3 项目开发的目标 建立计算机系无纸化网络考试系统,进一步提高办学效益和现代化水平。帮助主管考试的 人员提高工作效率,实现考试信息管理以及考试流程的系统化、规范化和自动化。 通过使用本系统可以访问 INTERNET 轻松设置审批考试,不论主管考试的管理人员身在何方,考试结束后也不要传统的繁琐的阅卷过程,实现无纸化考试。 1.4 项目提出的意义 “无纸化网络考试系统”不仅适用于计算机系的进行考试,也可以用作其它专业或院系进行考试,在具体的考试过程中用网络实现考务人员、领导和学生进行考
12、试工作的计算机化,同时也可作平时练习测试之用,基本上摆脱以前的人工操作模式。 1.5 论文的结构 本文共有六章,具体组织结构如下 第 一章通过分析,提出了开发 C+程序设计系统的目的与意义,以及新系统应该具有的功能。 第二章主要介绍了开发系统所采用的相关技术,包括 VB, SQL SERVER 等。 第三章对系统进行了分析,在此基础上进行了系统的概要设计以及数据库的概要设计。 第四章阐述了系统的详细设计。 第五章介绍了系统的实现和系统的部分测试内容。 第六章对全文进行了总结, 以及系统需要改进的方面。 2 技术背景 2.1 B/S 模式及其优势 伴随着 Internet 的迅速发展,计算机技术
13、正在由 基于 C/S( client)模式的应用系统转变为基于 B/S( Browser/Server)模式的应用系统。 过去,网络软件的开发都采用 C/S( client)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题: 系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环境也可能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。 在整个系统中,业务逻辑和用户界面都集中到了客户端,必然会增加安全隐患。 正是由于以上 C/S 模式的客 户端程序在部署和维护时面临的问题,人们逐渐接受了基于浏览器(
14、Brower) /服务器 (Server)结构的系统,即 B/S 模式。在此模式中,最核心的一点就是用通用的浏览器取代了原来的客户端程序。 B/S 模式虽然只对 C/S 模式做了少许变动,但带来了巨大的好处: 应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了 。 所有的配置工作都集中在服务器端,提高了系统的安全性 。 虽然 B/S 模式带来了很大的好处,但由于在客户端能够利用的编程对象仅仅是浏览器,因此,原来在 C/S 模式下很容易实现的一些客户端功能,在 B/S 模式下,却变得很难实现甚至无法实现。尽管如此, B/S 模式仍是目前很多应用系统的首选模式。 B/S 模式有以下优点
15、: ( 1)开发成本及维护成本降低。由于 B/S 架构管理软件只安装在服务器端( Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器( Server)端完全通过 WWW 浏览器实现,极少部分事务逻辑在前端( Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。 ( 2)良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有客户端请求都是通过 DBMS来访问数 据库,从而大大减少了数据直接暴露的风险。因此系统的架构就采用了 B/S 设计模式。 2.2 ASP 简介 ASP 程序可以说是 CGI 程序的改进版,它跟随 CGI 程序一样是在
16、 WEB服务器端执行,但有以下优点 1: CGI 接口对象化:当我们在 CGI 程序中收集网页数据时,最麻烦的事情是解析浏览器上传来的数据,若使用 ASP 来收集网页数据,则 ASP 会代为解析,并且转换成对象供 SCRIPT 语言读取。 可以使用 ACTIVE X 对象:除了 ASP 本身的提供的对象外,凡是 WINDOWS 环境下的 ACTIVE X对象也都是 ASP 网页制作中 可以引用的系统资源。而由于 ASP 程序可以使用 WINDOWS 环境的ACTIVE X 对象,因此也就能够引用 ADO ACTIVE X DATA DBJECT,存取 WEB数据库的一个十分重要的对象,进而存取
17、 WEB 数据库。本系统采用的 WEB数据库访问方法如下图所示 2; 图 2-1 WEB数据库访问方法 浏览器 WEB服务器 ( IIS/PWS) 使用了 ADO对象的 .asp文件 ODBC 驱动程序 数据库 本系统中用到的 ASP 对象表如下 3: 表 2-1ASP 对象表 对象名称 主要用途 服务器 可提供服务器的相关信息 Application 可用来记录不同网页的共用消息 Session 可用来记录连接者的消息,而每一个连接者的消息,将由独立的 Session 对象来记录 Request 可用来读取浏览器的消息 Response 可用来传输资料到浏览器 ObjectContext 提
18、供交易( Transaction)的功能 2.3 SQL server 2000 Microsoft SQL Server2000 是由 Microsoft 公司开发的,简称 SQL Server,由一系列相互协作的组件构成,能满足最大的 Web 站点和企业数据处理系统存储和分析数据的需求 4。 Microsoft SQL Server 2000 的特性包括: (1) Internet 集成 SQL Server 2000 数据库引擎提供完整的 XML 支持。它还具有构成最大的 Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。 SQL Server 2000 程序设计模型与 Win
19、dows DNA 构架集成,用以开发 Web 应用程序,并且 SQL Server 2000 支持 English Query 和 Microsoft 搜索服务等功能,在 Web 应用程序中包含了用户友好的查询和强大的搜索功能。 (2) 可伸缩性和可用性 同一个数据库引擎可以在不同的平台上使用,从运行 Microsoft Windows 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。 SQL Server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。 (3) 企业级数据
20、库功能 SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发 修改数据库的用户的开销减到最小。 SQL Server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。 (4) 易于安装、部署和使用 SQL Server 2000
21、 中包括一系列管理和开发工具,这些工具可改进在多个站点上 安装、部署、管理和使用 SQL Server 的过程。 SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。 (5) 数据仓库 SQL Server 2000 中包括析取和分析汇总数据以进行联机分析处理 (OLAP) 的工具。 SQL Server 中还包括一些工具,可用来 直观地设计数据库并通过 E
22、nglish Query 来分析数据。 2.4 HTML 语言简介 5 HTML( Hyper Text Markup Language)的中文名称为“超文本置标语言”,是一种专门用来设计网页的计算机语言,用 HTML 编写的超文本文档成为 HTML 文档,他能独立于各种操作系统平台(如UNIX 或 WINDOWS 等) . HTML 对网页上的文字、图片等多媒体数据所出现的位置、形式、顺序及关系都使用标记( Tag)语法做定义,以及对网页间加注超链接关系,一般 HTML 的网页文件都是以 .htm 或 .htm 为扩展名,浏览器会按照 Tag 语法做解释并加以处理 .htm 文件的内容,按照
23、其指定方式将文字、图片等多媒体数据显示或播放出来。即使用 HTML 语言描述 的文件,需要通过 WWW 浏览器显示出效果。 3 系统分析 3.1 系统需求分析 传统的学校教学中,进行一场考试,要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。尤其在远程网络教学中,学生分布广,不易统一集中安排考试,给校方和学生带来了众 多的不便。 而网络考试系统,正是信息化建设的产物,它是传统考场的延伸。它可以利用互联网络和局域网,随时随地的对学生进行考试,加上数据库技术的利用,大大
24、简化了传统考试的过程。因此网络考试是电子化教学的不可缺少的辅助手段。 网络技术发展到今天,以前许多需要以其它方式 通过许多复杂的步骤来完成的事情都可以通过网络,利用计算机的处理来完成。“考试”就是其中的一种,而且是很典型的一种。利用计算机网络进行考试,可以大量采用标准化试题,使用计算机判卷;也可以利用计算机从试题库中随机抽取试题进行测试,避免了考试前的压题与考 试中的作弊;还可以直接把程序送到数据库中,进行统计、排序等操作。所以,以前需要花费大量人力物力去做的出题、判卷、排名次和录取工作,现在可以轻松地进行自动处理。采用网上考试或利用计算机进行考试将是以后考试发展的趋势。 本系统客观题部分总体
25、上可分为超级用户模块、普通用户模块和注册登录模块三大模块。其中超级用户模块中又包含两级子模块,第一级子模块中包含学生成绩管理、输入填空题、输入选择题和退出五大部分,其中学生成绩管理子模块中又包含修改学生信息、查询成绩、添加学生、删除成绩、删除学生这五个模块。在普通用户模块中, 结构比较简单,只包含选择考试科目、参加考试、退出这三个字功能块。 3.2 系统概要设计 本系统客观题部分总体上可分为超级用户模块、普通用户模块和注册登录模块三大模块。其中超级用户模块中又包含两级子模块,第一级子模块中包含学生成绩管理、输入填空题、输入选择题和退出五大部分,其中学生成绩管理子模块中又包含修改学生信息、查询成
26、绩、添加学生、删除成绩、删除学生这五个模块。在普通用户模块中,结构比较简单,只包含选择考试科目、参加考试、退出这三个字功能块 11。 本设计介绍的内容将包括随机的从数据库中抽取一些试题(包括 选择题和填空题)组合成为一张试卷,对注册进来的学生进行考试;允许学生查询浏览自己的成绩;程序中还包括允许“超级用户”向试卷中添加试题和修改、添加或删除数据库中的学生信息、学生成绩的功能。当学生交卷以后,程序可以自动判卷,并把得出的分数存入数据库。 3.3 数据库概要设计 3.3.1 数据库需求分析 用户的需求具体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输入和输出。收集
27、基本的数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础 6。针对 C+程序设计考试系统的需求,设计如下所示的数据项和数据结构: 学生信息: 学生 姓名、 学生 学号 、班级 教师 信息:教师 姓名、教师证号 考 生成绩表: 学生学号 、 科目 、成绩、 教师证号 、 学生姓名 考生试卷答案表: 考生回答的问题 、 学生学号 、 问题编号 试卷属性表: 考试科目 、 教 师证号、 考试时间、考试号 问题 表: 问题号、回答 A、 回答 B、回答 C、回答 D、正确答案、科目、教师证号 3.3.2 数据库概念结构设计 得到上面的数据结构以后,就可以设计出能够满足用
28、户需求的各种实体,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系 ,为后 面的逻辑设计打下基础。这些实体包含各种具体信息,通过相互之间的形成数据的流动。 (1) 分 ER 图: 图 3 1 学生实体 E-R 图 图 3-2 老师实体 E-R 图 图 3-3 考试成绩实体 E-R 图 学生 姓名 学号 班级 老师 教师证号 教师姓名 考试成绩 学号 科目 成绩 教师证号 学生姓名 考生试卷答案 学号 问题编号 学生回答 的问题 图 3-4 考生试卷答案实体 E-R 图 图 3-5 试卷属性实体 E-R 图 图 3 6 问题库属性实体 E-R 图 (2) 总体 E-R 图 问题号 问题
29、号 回答 A 回答 B 回答 C 回答 D 正确答案 科目 教师证号 试卷属性 试卷科目 考试时间 教师证号 考试号 学生 查询 考试成绩 参加 考试 老师 管理 图 3-8 总体 E-R 图 4 系统详细设计 4.1 系统总体结构设计 这个阶段的主要目标是将系统分析阶段所提出的反映了用户信息要求的系统逻辑方案转换成可以实施的基于计算机的物理方案 7。 系统设计阶段的主要活动包括: (1) 系统总体结构设计。其中包括: 1) 系统总体布局方案的确定 。 2) 软件系统总体结构的设计 。 3) 计算机硬件方案的选择和设计 。 4) 数据存储的总体设计 。 5) 功能结构图设计 。 6) 信息系统
30、流程图设计 。 (2) 详细设计 。 1) 数据 库设计 。 2) 代码设计 。 3) 输出设计 。 4) 输入设计 。 5) 处理过程设计 。 (3) 系统实施进度与计划的确定。 (4) “系统设计说明书”的编写。 本文择其重要环节进行阐述。 4.1.1 系统的总体布局方案 系统的总体布局是指系统的硬软件资源以及数据资源在空间上的分布特征。结合我们计算机学院实际情况(我院使用环境具有典型性,代表了大多数计算机系的使用情况),采用以下总体布局方案: 本系统的功能较多,并且规模较大,采用联机系统 。 从信息资源管理的集中程度来看,采用分布式 b/s 系统 。 从信息处理的方式来看 ,采用批处理系
31、统 。 4.1.2 软件系统总体结构设计 软件系统总体结构设计的主要任务就是将整个系统合理的划分成各个功能模块,正确处理模块之间与模块内部的联系及它们之间的调用关系和数据联系 ,定义各模块的内部结构等,本系统的软件总体结构按分解协调的原则,信息隐蔽抽象的原则,自顶向下的原则,一致性原则,面向用户的原则进行设计。 本设计要实现的主要功能有:当有用户访问时,出现一个登陆 注册主页,系统根据用户输入的信息来判断用户身份。如果是超级用户,就进入学生管理主页,超级用户在次可以进行一系列的管理工作;如果是普通学 生,就进入历次考试成绩浏览主页,在此用户可以看到自己以前的考试成绩。如果用户想进行考试,就点击“考试”按钮,系统就会自动生成一套试卷,当用户提交试卷或者考试