1、本科毕业论文(20 届)C 语言在线考试系统的设计与实现试题生成模块所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘要现如今,我们生活在信息大爆炸的时代,网络信息的应用已经进入我们的生活的各方各面。尤其在网络教学中,网上在线考试系统在其中扮演了重要的角色,相比于传统的考试方式具有更好的规范性、科学性,更加有利于考试工作的组织和管理。C 语言在线考试系统是一个拥有自动组卷、自动判卷、学生和成绩信息管理的网上考试系统。它分为试题生成模块、在线考试模块、自动评分模块,整个系统层次结构简单,操作简易,并具备了一定的安全性,在有利于提高网络教学的质量的同时,大大的拓展了考试的灵活性,阅卷效率
2、,还保证了考试的公平性,答案的安全性。我主要设计和实现了试题的生成模块,其中包括了批量上传试题,单条上传试题,试题的查询与删除,试卷的自动生成等环节。本系统的开发实现是基于 B/S 模式的,数据库采用 MySQL,开发平台是 PHP,开发工具是 Dreamweaver,服务器采用了 Apache。关键词:在线考试系统;B/S 模式;PHPAbstract Today, we are living in the era of information explosion, the application of network information has entered our lives on
3、 all sides. Especially in the online teaching, online examination system in which play an important role, compared to traditional examinations have better normative, scientific, more conducive to the examination work of the organization and management.C language is an online examination system has a
4、utomatic generation, automatic graders, students, and performance information management online examination system. It is divided into questions generation module, online examination module, automatic scoring module, the entire system hierarchy is simple, easy to operate, and have a certain degree o
5、f security, the network will help improve the quality of teaching at the same time, greatly expand the flexibility of the exam resistance, scoring efficiency, but also to ensure the fairness of the examination, the answer security. I mainly design and implementation of a generation module test quest
6、ions, including questions bulk upload, uploading single questions, questions and delete queries, and other aspects of the automatic generation of test paper.Development of this system implementation is based on B / S mode, the database using MySQL, development platform is PHP, development tools is D
7、reamweaver, the server uses the Apache.Keywords: online examination system; B / S mode; PHP1目 录1.绪论 .11.1 课题背景 .11.2 在线考试系统开发的目的和意义 .12.在线考试系统的需求分析 .22.1 功能需求 .22.2 性能需求 .22.2.1 网络环境下的多用户性需求 .22.2.2 数据的完整性和准确性需求 .22.2.3 数据安全性需求 .22.3 开发方案的比较与选择 .22.3.1 开发方案的比较 .22.3.2 开发方案的确定 .32.4 系统开发环境及工具 .32.4.1
8、 开发/运行环境 .32.4.2 开发工具的选取 .43.总体设计 .43.1 系统功能需求分析图描述 .43.1.1 功能需求分析总图 .43.1.2 学生功能需求分析图 .53.1.3 教师功能需求分析图 .53.2 模块的划分及各个模块的基本功能 .64. 数据库设计 .64.1 数据库连接 .64.2 数据表实现 .75.项目的设计实现 .85.1 文件结构的设计与实现 .85.2 上传试题 .85.3 试题管理 .85.4 试卷生成及管理 .96.系统测试与分析 .96.1 测试概述 .96.2 测试方法 .96.3 测试截图 .96.4 测试总结 .137.结论 .13参考文献 .
9、14致谢 .1511.绪论1.1 课题背景随着计算机技术和互联网技术的发展,网络技术已经逐渐渗入到社会生活的各个层面。传统的试卷考试方式已不能满足现代化教育的需求,而基于 Web 技术的在线考试系统可以借助互联网来进行。在线考试一来可以跨越地域的限制,考生可以在任意地点进行考核,消除了组织考场和考生奔波于考场所造成的环境污染和资源消耗;二来学生在自己熟悉的环境中考试也会更自然,发挥出正常的考试水平。与传统试卷相比,在线考试可以衍生出更多的有利于考试的功能作用,比如试卷可以根据题库中的试题在线即时生成;可以避免考试前的压题;还能够引用大量标准化试题,而且使用计算机进行评卷,大大提高了阅卷效率;还
10、可以把成绩直接保存到数据库中,进行统计、排序等操作。这样的考试的公平性、答案的安全性就可以得到有力的保障。在国外,在线考试已经了有了蓬勃的发展,学生选修课程和考试都是在网上进行的。例如一些国外著名的考试,如微软的 MCSE(Microsoft 系统工程师认证考试) 、托福考试、GRE 等都是使用了在线考试的形式进行。在国内,在线考试系统的发展也日渐成熟,如四、六级考试等也进行了在线考试。综上分析:在信息化飞速发展的今天,我们只有充分利用身边的资源使用科学的考试方式,才能使教育跟上时代的步伐。1.2 在线考试系统开发的目的和意义目前国内很多学校还在沿用传统的考试方式,老师统一出题,学生集中在同一
11、个地方用笔作答。这样的考试方式存在这诸多缺陷。例如:老师出题花费大量时间,印刷试卷花费时间和钱财,造成大量纸张的浪费。人工评分对老师而言又是一个很大的工作量,速度慢,易出错,使得一次考试需要花费大量的人力物力。这些弊端的存在使得传统考试越来越不适应现代教学的需要,而使用在线考试系统就能避免这些弊端,通过随机抽取不同的试题,保证了学生的试卷不尽相同,从而降低了作弊的几率,而且也避免了印刷试卷浪费的人力物力。C 语言在线考试系统借鉴了许多优秀的网络考试系统的思想,结合自己的所学的知识,开发出一套简单的考试系统。主要目的是检查自己综合运用自己所学知识的能力。本系统完全可以满足一些小型考试的需要,并可
12、以通过对各种客观试题考试情况的研究,可以灵活的试用与各种客观题测验的考试系统。本系统不仅将会提高学校对学生考试的效率,还在极大程度上减轻了老师的工作量,同时加强了对学生对所学知识的检测。在线考试系统简化了传统考试中的各个环节,提高了试题管理的自动化、标准化、便捷化,也提高了试题的安全性和保密性。试题的自动生成,把固定在单一试卷中的试题,发展到了可以自动组合的题库,随着题库的建立,组卷更为方便,测试的形式也发生了变化,由所有学生同考一张大试卷的大规模的集体测试发展到了同一场考试使用同考查效力的不同试卷,而且可以跨地域的进行同一考试。通过使用试题自动生成系统完全摆脱了笔和纸,考生能够使用计算机答卷
13、,然后通过网络提交试卷,系统自动阅卷。2有趋势表明,考试的标准化、计算机网络化已当今考试的发展方向,当前国际上许多考试认证,例如 GRE、CISCO,其出题、答卷以及评分都是在计算机上完成的。无纸化的考试形式有着其科学、及时、准确、公平等优点,具有传统考试形式无法替代和比拟的优势。2.在线考试系统的需求分析2.1 功能需求权限分配:教师、学生拥有登录的不同权限,老师可以进行规则的制定和试题库的建设,学生抽取试卷答题,查看考试成绩。试卷规则的制定:按照考试题型种类、数量进行试题添加删除。试题库的建设:教师可添加新的考题、删除旧的考题,给出每道考题的答案等。成绩的管理:老师和学生都可以对考试成绩进
14、行查询。在线考试功能:学生输入账号密码进入考试系统,考试结束后成绩统计在服务器端。2.2 性能需求2.2.1 网络环境下的多用户性需求信息主要储存在服务器端的数据库中,由各用户在规定的权限下在各自的客户端上录入、删除相关的内容。2.2.2数据的完整性和准确性需求限制录入数据类型及取值范围,以保证数据的完整性和准确性。2.2.3数据安全性需求本系统采用二级安全保障。第一级:依赖于系统本身权限的规定对用户使用进行控制;第二级:在程序模块中通过使用密码控制功能对用户使用权限加以限制。2.3开发方案的比较与选择2.3.1 开发方案的比较B/S 模式与 C/S 模式:C/S(Client/Server)
15、结构,即大家熟悉的客户机和服务器结构。它是软件体系结构,通3过它可以充分利用两端硬件环境的优势,将任务合理分配到 Client 端和 Server 端来实现,降低了系统的通讯开销。B/S(Brower/Server)即浏览器和服务器结构,它是随着互联网技术的兴起,对 C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过浏览器来实现,极小部分事务逻辑在前端(Brower)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓的三层架构。这样就大大简化了客户端载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。2.3.2 开发方案的确定在线考试系统的设计主要是使
16、用 Web 浏览器风格的界面来进行数据查看和修改。作为当前流行的 Web 发展趋势,浏览器作为所有用户熟悉的界面,系统为用户提供了一个公共的外部接口。在线考试系统的设计在于所有用户把这个系统看作一系列相互连接的网页,可以从任何一台连接在 Internet 上的计算机用浏览器进行访问。用户通过选择链接或在基于 Web的表单上输入信息与 Web 浏览器进行交互。这些信息通过 Internet 传到 Web 服务器,之后,Web 服务器识别出外部数据的请求,并且把请求传递给在 Web 服务器上的应用程序代理,这个代理的任务是把数据请求映射到对服务器的应用程序的查询。应用服务器为请求提供服务,然后代理
17、把返回的信息转变为一个网页,这个网页被传送到 Web 服务器以显示给最终用户。由于 B/S 架构管理软件只安装在服务器上,网络管理人员只需要管理服务器,用户界面在服务器端完全通过浏览器实现,极少部分事务逻辑在前端实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。所以本系统使用 B/S 模式开发试题生成和在线考试系统,它将具有以下优点:1、实用性:为网上考试和试题生成提供方便;2、操作简单:本系统适用于不同水平的使用者,包括教师和学生,同时系统操作简单宜行;3、代码可读性:代码简洁,可读性好。2.4 系统开发环境及工具2.4.1 开发/运行环境客户端配置操作系统:Windows7 或
18、WindowsXP浏览器:IE6 以上版本服务器配置操作系统:Windows7 或 WindowsXP浏览器:IE6 以上版本服务器:Apache4数据库:MySQL2.4.2开发工具的选取1)PHP 技术PHP 的功能十分强大,其语法包含了 C、Java 以及 PHP 自己创新的语法。PHP 能更快速的执行动态网页,做出来的动态页面和其他编程语言不同的是将程序嵌入到 HTML文档里执行,执行效率很高;PHP 不仅可以用 C、C+进行程序的扩展,还可以执行编译后代码,编译可以达到加密和优化代码运行,加快代码的运行。更强大的是支持几乎所有流行的数据库及操作系统。2)系统数据库的选择MySQL 具
19、有免费;使用方便、简单;久经考验、稳定不易出错;性能不比其他大型数据库差;占用空间小等优点。由于本系统属于中小型,在数据库方面考虑到与操作系统的兼容性以及所针对的信息量较小,所以采用 MySQL。3.总体设计3.1系统功能需求分析图描述3.1.1 功能需求分析总图包含 2 个实体即考生、教师。学生登录、选题、答题,教师试题录入、教师组卷、教师阅卷。该图反映了试题生成和在线考试系统总的情况,如图 3.1 所示: 图 3.1 在线考试系统功能结构图考生信息需管理员添加,登录帐号为考生学号。考生登录网站考试。考生登录后,可以进行在线考试、查询成绩和修改个人密码的操作。在考试前,选择考卷类型后开始考试
20、;考试时间结束时,考生提交试卷;提交试卷后,返回网站首页,考生可查看自己查看个人信息参加考试 查看成绩在线考试系统考生界面管理员界面学生信息管理试题管理 试卷生成 查看成绩5的考试成绩。网站的管理员通过登录模块可以登录到网站的后台系统,对考生信息、考试信息、管理员信息进行管理。在线考试系统的系统总体流程,如图 3.2 所示:图 3.2 在线考试系统流程图3.1.2学生功能需求分析图包括一个实体(学生)和选择题、答题、查询成绩等多个数据处理,学生通过考试来获得考试成绩。功能分析图如图 3.3 所示:图 3.3考生功能分析3.1.3 教师功能需求分析图包括一个实体(教师)和试题管理、试卷管理、添加
21、试卷、添加试卷、添加试题来完成对试卷试题的编辑和发布。其功能需求分析如图 3.4 所示:6图 3.4考生功能分析3.2模块的划分及各个模块的基本功能本 C 语言在线考试系统分为以下几个功能模块:试题生成模块、在线考试模块以及自动评分模块。我主要负责的是考试系统的试题生成模块,主要有以下几个部分组成:上传试题:所有的试题都是教师通过单条添加或者通过 Excel 模版批量上传到数据库里的,添加过程中有判断是否非法的一系列操作,能保证试题的规范性、科学性;试题管理:教师对数据库已经存在的试题进行查看、删除、修改、更新等操作;试卷管理:教师对试卷进行设置,如试卷类型的设置、试题类型的设置、试题数量的设
22、置;试卷生成:从数据库中通过一条 SQL 语句加上一个随机函数随机从题库里面选出与考试配置相符合的试题类型和数量来组成一套试卷。4.数据库设计4.1数据库连接在 Web 中连接数据库并进行一些全局函数的配置,可以创建一个 config.php 文件然后在其中写入数据库连接如:session_start();define(“PATH“,“E:/wind/bysj/“);include_once(PATH.“libs/Smarty.class.php“);date_default_timezone_set(“PRC“);$conn = mysql_connect(localhost, root, );mysql_select_db(“examination“);mysql_query(“set names utf8“);以及其他一些各个页面都频繁调用的函数方法如:class myClass extends Smarty;function alert($msg,$return);