c语言在线考试系统试题生成模块文档格式.docx
《c语言在线考试系统试题生成模块文档格式.docx》由会员分享,可在线阅读,更多相关《c语言在线考试系统试题生成模块文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
与传统试卷相比,在线考试可以衍生出更多的有利于考试的功能作用,比如试卷可以根据题库中的试题在线即时生成;
可以避免考试前的压题;
还能够引用大量标准化试题,而且使用计算机进行评卷,大大提高了阅卷效率;
还可以把成绩直接保存到数据库中,进行统计、排序等操作。
这样的考试的公平性、答案的安全性就可以得到有力的保障。
在国外,在线考试已经了有了蓬勃的发展,学生选修课程和考试都是在网上进行的。
例如一些国外著名的考试,如微软的MCSE(Microsoft系统工程师认证考试)、托福考试、GRE等都是使用了在线考试的形式进行。
在国内,在线考试系统的发展也日渐成熟,如四、六级考试等也进行了在线考试。
综上分析:
在信息化飞速发展的今天,我们只有充分利用身边的资源使用科学的考试方式,才能使教育跟上时代的步伐。
1.2在线考试系统开发的目的和意义
目前国内很多学校还在沿用传统的考试方式,老师统一出题,学生集中在同一个地方用笔作答。
这样的考试方式存在这诸多缺陷。
例如:
老师出题花费大量时间,印刷试卷花费时间和钱财,造成大量纸张的浪费。
人工评分对老师而言又是一个很大的工作量,速度慢,易出错,使得一次考试需要花费大量的人力物力。
这些弊端的存在使得传统考试越来越不适应现代教学的需要,而使用在线考试系统就能避免这些弊端,通过随机抽取不同的试题,保证了学生的试卷不尽相同,从而降低了作弊的几率,而且也避免了印刷试卷浪费的人力物力。
C语言在线考试系统借鉴了许多优秀的网络考试系统的思想,结合自己的所学的知识,开发出一套简单的考试系统。
主要目的是检查自己综合运用自己所学知识的能力。
本系统完全可以满足一些小型考试的需要,并可以通过对各种客观试题考试情况的研究,可以灵活的试用与各种客观题测验的考试系统。
本系统不仅将会提高学校对学生考试的效率,还在极大程度上减轻了老师的工作量,同时加强了对学生对所学知识的检测。
在线考试系统简化了传统考试中的各个环节,提高了试题管理的自动化、标准化、便捷化,也提高了试题的安全性和保密性。
试题的自动生成,把固定在单一试卷中的试题,发展到了可以自动组合的题库,随着题库的建立,组卷更为方便,测试的形式也发生了变化,由所有学生同考一张大试卷的大规模的集体测试发展到了同一场考试使用同考查效力的不同试卷,而且可以跨地域的进行同一考试。
通过使用试题自动生成系统完全摆脱了笔和纸,考生能够使用计算机答卷,然后通过网络提交试卷,系统自动阅卷。
有趋势表明,考试的标准化、计算机网络化已当今考试的发展方向,当前国际上许多考试认证,例如GRE、CISCO,其出题、答卷以及评分都是在计算机上完成的。
无纸化的考试形式有着其科学、及时、准确、公平等优点,具有传统考试形式无法替代和比拟的优势。
2.在线考试系统的需求分析
2.1功能需求
权限分配:
教师、学生拥有登录的不同权限,老师可以进行规则的制定和试题库的建设,学生抽取试卷答题,查看考试成绩。
试卷规则的制定:
按照考试题型种类、数量进行试题添加删除。
试题库的建设:
教师可添加新的考题、删除旧的考题,给出每道考题的答案等。
成绩的管理:
老师和学生都可以对考试成绩进行查询。
在线考试功能:
学生输入账号密码进入考试系统,考试结束后成绩统计在服务器端。
2.2性能需求
2.2.1网络环境下的多用户性需求
信息主要储存在服务器端的数据库中,由各用户在规定的权限下在各自的客户端上录入、删除相关的内容。
2.2.2数据的完整性和准确性需求
限制录入数据类型及取值范围,以保证数据的完整性和准确性。
2.2.3数据安全性需求
本系统采用二级安全保障。
第一级:
依赖于系统本身权限的规定对用户使用进行控制;
第二级:
在程序模块中通过使用密码控制功能对用户使用权限加以限制。
2.3开发方案的比较与选择
2.3.1开发方案的比较
B/S模式与C/S模式:
C/S(Client/Server)结构,即大家熟悉的客户机和服务器结构。
它是软件体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。
B/S(Brower/Server)即浏览器和服务器结构,它是随着互联网技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户工作界面是通过浏览器来实现,极小部分事务逻辑在前端(Brower)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓的三层架构。
这样就大大简化了客户端载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
2.3.2开发方案的确定
在线考试系统的设计主要是使用Web浏览器风格的界面来进行数据查看和修改。
作为当前流行的Web发展趋势,浏览器作为所有用户熟悉的界面,系统为用户提供了一个公共的外部接口。
在线考试系统的设计在于所有用户把这个系统看作一系列相互连接的网页,可以从任何一台连接在Internet上的计算机用浏览器进行访问。
用户通过选择链接或在基于Web的表单上输入信息与Web浏览器进行交互。
这些信息通过Internet传到Web服务器,之后,Web服务器识别出外部数据的请求,并且把请求传递给在Web服务器上的应用程序代理,这个代理的任务是把数据请求映射到对服务器的应用程序的查询。
应用服务器为请求提供服务,然后代理把返回的信息转变为一个网页,这个网页被传送到Web服务器以显示给最终用户。
由于B/S架构管理软件只安装在服务器上,网络管理人员只需要管理服务器,用户界面在服务器端完全通过浏览器实现,极少部分事务逻辑在前端实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。
所以本系统使用B/S模式开发试题生成和在线考试系统,它将具有以下优点:
1、实用性:
为网上考试和试题生成提供方便;
2、操作简单:
本系统适用于不同水平的使用者,包括教师和学生,同时系统操作简单宜行;
3、代码可读性:
代码简洁,可读性好。
2.4系统开发环境及工具
2.4.1开发/运行环境
客户端配置
操作系统:
Windows7或WindowsXP
浏览器:
IE6以上版本
服务器配置
服务器:
Apache
数据库:
MySQL
2.4.2开发工具的选取
1)PHP技术
PHP的功能十分强大,其语法包含了C、Java以及PHP自己创新的语法。
PHP能更快速的执行动态网页,做出来的动态页面和其他编程语言不同的是将程序嵌入到HTML文档里执行,执行效率很高;
PHP不仅可以用C、C++进行程序的扩展,还可以执行编译后代码,编译可以达到加密和优化代码运行,加快代码的运行。
更强大的是支持几乎所有流行的数据库及操作系统。
2)系统数据库的选择
MySQL具有免费;
使用方便、简单;
久经考验、稳定不易出错;
性能不比其他大型数据库差;
占用空间小等优点。
由于本系统属于中小型,在数据库方面考虑到与操作系统的兼容性以及所针对的信息量较小,所以采用MySQL。
3.总体设计
3.1系统功能需求分析图描述
3.1.1功能需求分析总图
包含2个实体即考生、教师。
学生登录、选题、答题,教师试题录入、教师组卷、教师阅卷。
该图反映了试题生成和在线考试系统总的情况,如图3.1所示:
图3.1在线考试系统功能结构图
考生信息需管理员添加,登录帐号为考生学号。
考生登录网站考试。
考生登录后,可以进行在线考试、查询成绩和修改个人密码的操作。
在考试前,选择考卷类型后开始考试;
考试时间结束时,考生提交试卷;
提交试卷后,返回网站首页,考生可查看自己的考试成绩。
网站的管理员通过登录模块可以登录到网站的后台系统,对考生信息、考试信息、管理员信息进行管理。
在线考试系统的系统总体流程,如图3.2所示:
图3.2在线考试系统流程图
3.1.2学生功能需求分析图
包括一个实体(学生)和选择题、答题、查询成绩等多个数据处理,学生通过考试来获得考试成绩。
功能分析图如图3.3所示:
图3.3考生功能分析
3.1.3教师功能需求分析图
包括一个实体(教师)和试题管理、试卷管理、添加试卷、添加试卷、添加试题来完成对试卷试题的编辑和发布。
其功能需求分析如图3.4所示:
图3.4考生功能分析
3.2模块的划分及各个模块的基本功能
本C语言在线考试系统分为以下几个功能模块:
试题生成模块、在线考试模块以及自动评分模块。
我主要负责的是考试系统的试题生成模块,主要有以下几个部分组成:
上传试题:
所有的试题都是教师通过单条添加或者通过Excel模版批量上传到数据库里的,添加过程中有判断是否非法的一系列操作,能保证试题的规范性、科学性;
试题管理:
教师对数据库已经存在的试题进行查看、删除、修改、更新等操作;
试卷管理:
教师对试卷进行设置,如试卷类型的设置、试题类型的设置、试题数量的设置;
试卷生成:
从数据库中通过一条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("
setnamesutf8"
以及其他一些各个页面都频繁调用的函数方法如:
classmyClassextendsSmarty{};
functionalert($msg,$return){};
functionquery($sql){};
functionrowquery($sql,$type=1){};
$smarty=newmyClass();
4.2数据表实现
网络考试系统离不开数据库系统的支持。
由于数据库独立于程序而存在,具有较好的安全性,不论是试题、答案,还是考生信息都需要存放在数据库中,本系统的数据库采用MySQL,现将主要表结构描述如下:
(1)user(用户信息表)
用户信息表用来保存用户信息,主键为id。
该数据表结构如图4.1所示:
图4.1用户信息结构图
id(主键),uid(用户登录帐号),uname(用户姓名),upass(用户密码),type(用户类别:
0学生,1管理员),sex(性别),birth(出生年月)。
(2)shiti(生成试卷)如图4.2所示:
图4.2试卷表
id(主键),tid(题目id用“,”连接成的字符串),type(试题类型),kind(试卷类型)。
(3)试题库如图4.3所示:
图4.3题库表信息
试题库包括程序题、单选题等不同类型的题目。
5.项目的设计实现
5.1文件结构的设计与实现
根据需求分析,我将在线考试系统的试题生成模块分为三个部分。
首先建立各个模块的目录结构。
整个目录结构如图5.1所示:
5.2上传试题
教师登录后可以根据Web上的表单添加试题,这种方式一次只能添加一道试题。
也可以在界面上通过Excel表格模版批量的上传试题,这种方式一次可以添加多道试题。
上传的表格必须以文本的形式进行上传,否则会出错。
通过表单接受上传文件,然后解析Excel,插入数据库实现上传。
上传后若发现有错,还可以在题目管理页面进行修改。
5.3试题管理
在试题管理模块中可以对试题进行查看、删除、添加、修改。
举例如下:
从表单中获取教师填入的试题信息,然后插入数据库,将信息保存在服务器的数据库中,如图5.2所示:
图5.2试题添加模块
从网页中显示题库中的所有题目,并设置删除按钮,可根据试题id返回后台进行删除,删除后的新的试题库会更新并显示在页面上,如图5.3所示:
图5.3试题删除修改模块
5.4试卷生成及管理
教师可以对考试的各个参数进行设置。
每道试题的分值,各种题型的数量,考试的时间等。
设置的信息是通过session来传递信息的。
按照session传递的信息在题库中随机抽取试题。
在MySQL中自带一个随机函数rand(),利用这个函数产生一个随机数,然后根据这个随机数取出相应的试题。
然后将抽取的试题id用“,”连接放入shiti表中等待在线考试模块的调用。
6.系统测试与分析
6.1测试概述
依据用户需求,设计测试用例,以确保系统达到需求功能的说明;
确保系统满足性能需求;
强度测试确认程序能够处理要求的负载;
确保系统在要求的硬件和软件平台上工作正常。
6.2测试方法
先对代码进行白盒测试,对每个单元的函数逐个测试;
然后按照需求分析对系统进行黑盒测试。
6.3测试截图
身份验证:
学生,老师都在此登录页面输入用户密码,系统会根据不同的用户名权限跳转到相关的页面,从而进行的操作。
如果用户名密码错误,系统将会提示用户名或密码有错误,并且系统将会返回登录界面,直到用户名密码正确,才能进行操作。
如图6.1所示:
图6.1登录页面
后台教师管理主页:
在系统判断到用户具有教师权限后,会跳转到此页面,在此页面随机抽取一部分试题并提供管理菜单,如图6.2所示:
图6.2教师管理主页
学生信息添加:
在此可以单条添加学生的信息,也可以通过excel批量上传学生信息,如图6.3所示:
图6.3学生信息添加页面
学生信息修改:
该页面列出了所有学生的信息,在此可以查询和修改学生的基本信息。
如图6.4所示:
图6.4学生信息查看修改页面
试题添加页面:
在此页面,教师可以通过excel批量的上传试题,也可以通过网页单条的添加试题如图6.5、6.6所示:
图6.5批量上传试题
图6.6单条上传试题
试题删除更新页面:
在此教师可以进行试题的增删改查,如图6.7所示:
图6.7试题删除更新页面
试卷设计和生成页面:
在此可以根据试题的类型和数量设计试卷如图6.8所示:
图6.8试卷设计生成页面
6.4测试总结
通过对该系统各功能模块的测试,得出结论:
此系统的性能基本满足用户需求,具有可用性和友好性。
7.结论
本系统是一个基于B/S结构应用学生考试的在线考试生成系统,开发本系统的目的主要在于解决传统考试依赖老师出题与用笔、纸考试的问题。
该系统节约了很多人力物力,减少了老师的工作强度及印刷浪费的财力和人力,提高了出题的效率和考试的可信度。
本系统占用系统资源少,对硬件要求低,而且利用Web访问操作更为方便,维护简单。
相信在未来会起到一定的作用。
参考文献
[1]HughE.Williams.《PHP&
MYSQLWeb数据库应用开发指南》,2003
[2]SterlingHughes《php程序设计》中国电力出版社2003年
[3]焦桐顺.《php\mysql数据库开发指南》 电子工业出版社 2001年
[4]MIHAIBUCICA[美].《AJAX与PHPWEB开发》[M].北京:
人民邮电出版社,2007
[5]张丽敏.《试题库题型难易度多维分组技术组合研究》【J】.武汉理工大学学报.2010(6):
137-138
[6]顾洪博.《智能化网络试题库系统的研究与实现》【D】.大庆石油学院硕士论文.2004.1:
5-44
[7]姚辉波.《标准化考试系统的设计与实现》【D】.山东大学论文集.2006(3):
10-12
[8]肖洋,《在线考试组卷算法研究》【J】.北极化工大学学报(自然科学版),2006(4):
44-46
[9]黄文团,《基于Web在线考试系统实现与优化》【J】.电脑知识与技术.2010(26)期:
1285-1288
致谢
我要感谢高老师对我的悉心指导,在设计过程中给予我巨大的帮助和支持。
在此期间,我通过查阅相关知识、请教老师和自我的学习,获得了很多宝贵的知识。
虽然经历了一些困难,但我的收获远大于付出的艰辛。
通过这次的设计,我提高了独自完成任务和团队协作的能力,对自己的工作能力也有了信心,同时也锻炼了自己的实践能力。
我认为再多的付出都值得自己换来的受益终身的收获。
目录