c语言在线考试系统在线考试模块设计大学本科毕业论文.docx
《c语言在线考试系统在线考试模块设计大学本科毕业论文.docx》由会员分享,可在线阅读,更多相关《c语言在线考试系统在线考试模块设计大学本科毕业论文.docx(20页珍藏版)》请在冰豆网上搜索。
c语言在线考试系统在线考试模块设计大学本科毕业论文
摘要
随着网络技术的日益成熟,网络已经深入到生活的每一个角落,包括教育、购物、咨询、办公等等许多领域,网页技术的应用也越来越广泛。
网页技术的应用对于教育行业来说优势更加的明显。
教育行业可以通过网络进行学生和教职工的管理、组织学生在线考试、在网站上发布学校相关信息等。
其中,在线考试系统能够充分的利用学校的现有资源,大大减轻教师的工作量,把老师从出卷、阅卷等一些繁重工作中解脱出来,增加学校管理的透明度,还提高了学校的管理水平。
C语言在线考试系统主要实现了试题的上传与删除,试卷的生成,在线考试和自动评分等功能。
本文重点论述了C语言在线考试系统中在线考试模块的功能实现。
对此做出了详细的调查,可行性研究和分析。
系统采用了B/S结构,在网络上建立考试系统的框架。
系统开发经历了系统分析、系统设计和系统实施三个阶段。
本系统设计方案的提出,经过了我和同学的详细调查,分析了方案的可行性和必要性,通过详细的系统设计,力图提高系统的集成性和快捷性,并在系统实施阶段收集了大量的实验数据,以便测试阶段系统的准确性和稳定性。
在线考试系统整体是基于浏览器/服务器,前台应用HTML技术,后台采用PHP程序语言,MYSQL作为数据库与前台连接。
关键词:
在线考试;B/S结构;PHP;MYSQL
Abstract
Asnetworktechnologiesbecomemoresophisticated,thenetworkhaspenetratedintoeverycorneroflife,includingeducation,shopping,consulting,officeandsomanyotherfields,webtechnologyhasbecomeincreasinglywidespread.Webtechnologyfortheeducationindustryadvantageismoreobvious.Educationsectorthroughanetworkofstudentsandfacultymanagement,organizingstudentsonlineexamatschool-relatedinformationpostedonthewebsiteandotheractivities.Thiscannotonlyincreasethetransparencyofschoolmanagement,butalsoimprovethemanagementleveloftheschool.Onlineexaminationsystemcanalsomakefulluseoftheschool'sexistingresources,greatlyreducingtheworkloadofteachers,theteacherfromtherolls,andsomeheavyliftingtodomarkingfreed.
Clanguageonlineexaminationsystemachievedamajorquestionsuploadanddelete,generatepapers,onlineexamsandautomaticscoringfunctions.ThispaperfocusesontheClanguageonlineexaminationsystemonlineexaminationmodulefunctionimplementation.Thismadeadetailedinvestigation,feasibilitystudiesandanalysis.SystemusesB/Sstructure,examinationsystemonthenetworktoestablishaframework.Systemdevelopmentexperiencedsystemanalysis,systemdesignandsystemimplementationinthreestages.Fromthedesignoftheproposal,afteradetailedinvestigationandanalysisofthefeasibilityandnecessityofdetailedsystemdesign,tryingtoimprovesystemintegrationandquickness,andintheimplementationphaseofthesystemcollectsanumberofexperimentaldatainordertotestingphaseaccuracyandstabilityofthesystem.
Onlineexaminationsystemasawholeisbasedonbrowser/server,HTMLforegroundapplicationtechnology,thebackgroundusingprogramminglanguagesPHP,MYSQLasadatabaseconnectionwiththefrontdesk.
Keywords:
onlineexam;B/Sstructure;PHP;MYSQL
目录
1绪论1
1.1系统开发的现状1
1.2系统开发的目的1
1.3系统开发的意义2
2系统分析2
2.1可行性分析2
2.1.1经济可行性2
2.1.2技术可行性2
2.2需求分析3
2.3开发环境3
3设计工具及关键技术介绍3
3.1Apache简介3
3.2PHP语言简介4
3.3PHP连接MySQL数据库4
3.3.1PHP连接数据库的两种方法4
3.3.2PHP对MySQL数据库的两种连接方式5
3.4Ajax简介5
4系统概要设计5
4.1系统的总体设计5
4.2数据库设计6
4.3系统结构设计6
4.3.1系统功能结构6
4.3.2系统流程图7
5系统详细设计8
5.1数据库设计8
5.1.1数据库分析8
5.1.2概念设计9
5.1.3数据库物理结构9
5.2系统详细设计与实现10
5.2.1系统配置10
5.2.2前台详细设计与实现11
6系统测试16
6.1测试环境16
6.2软件测试的目标与方法16
6.3软件测试的结果16
7结束语16
参考文献..............................................................................................................................................................17
致谢......................................................................................................................................................................18
1绪论
1.1系统开发的现状
世界各国对教育的发展给予了前所未有的关注,都试图在未来的信息社会中让教育处于一个优势的位置,从而走在社会发展的前列,为此许多国家都把信息技术应用于教育,采取措施推进教育信息化。
美国政府在1996年提出了“教育技术规划”,指出到21世纪初让全美国的每间教室和每个图书馆都将联上信息高速公路,让每个孩子都能在“21世纪教师”网络服务。
澳大利亚国家公共资源管理局已于1995年4月建立“澳大利亚教育网”,并联通Internet,该网络不仅包括全部高等院校,而且还覆盖全澳大利亚所有的中小学。
网络化在线考试作为网上远程教育的重要组成部分和发展分支,己经在国外一些发达国家得到蓬勃发展,人们选学课程和考试都是通过网上进行。
特别是Internet业务的普及,构筑高性能、低成本的计算机网络化在线考试,从技术条件和经济条件上己经成熟。
例如在美国,一些著名的考试就采用了网上在线考试的形式包括Microsoft公司的MCSE(微软系统工程师认证考试)GMAT(工商管理硕士入学考试)、托福考试、GRE(美国研究生入学考试)等等,并己在全国范围内应用。
在国内,普遍地看绝大多数远程教育的考试还停留在传统考试方式。
在此方式下,组织一次考试至少要经过5个步骤,即人工出卷、考生考试、人工阅卷、试卷分析和成绩评估。
显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且这样工作将是一件十分烦琐和非常容易出错的事情。
但是对互联网的真正应用仅限于网上报名工作和网上成绩查询,还没有真正形成上网考试的规模。
而在国外一些国家,网上提交作业和网上考试已经相当普及了。
所以说传统的考试方式已经不能适应现代考试的需要。
近几年来,借鉴发达国家的成功经验,结合我国的实际情况,伴随着网络应用的不断扩大,远程教育和虚拟大学的出现,网络应用正不断深入人心。
人们迫切要求利用网络技术进行在线考试,来提高了考试的质量,突出公正和客观性,减轻组织及保障工作的负担,提高工作效率。
于是许多教育教学类的课程在线考试软件应运而生,高等学校,企事业单位也都纷纷组织研究此类应用的解决方案,并研制开发了大量的不同类型计算机在线考试软件,也推出了一批优秀的在线考试软件产品。
比如全国计算机等级考试软件、职称计算机能力考试等等。
有力地推动了我国网络化在线考试的发展水平,并积累了大量有价值的经验。
1.2系统开发的目的
信息技术的发展对教育的影响是巨大的,随着信息技术和网络技术的迅速发展,教育信息化和网络化也将成为必然的趋势。
作为教育评价和衡量学生能力的考试也正经历着无纸化和网络化的飞跃。
网络的开放性和分布性的特点以及基于互联网的巨大计算能力使得考试突破了时间和空间的限制。
基于网络技术的考试系统正成为人们的研究热点之一,其中,基于Web技术的考试系统已成为互联网的重要应用之一。
目前教师采用在线考试系统的还不多见,因为教师个体精力确实有限。
但随着教研组制度的完善和教学交流活动的增加。
对题库的创建将提上议事的日程,在线考试系统将大有用武之地,且能确保考风考纪的根本好转。
在线考试具有动态出题、自动阅卷、成绩分析等优点,不仅大大减轻了教师人工组卷繁琐的工作量,提高资源利用率,其运行过程中,组卷速度较快,较少出现重复的现象,而且有利于教考分离的实施,符合目前教学改革的目标。
更节省纸张资源,增强环保意识。
因此,在线考试系统具有潜在的巨大商机和研究价值,是未来数字化校园系统研究的热点内容。
1.3系统开发的意义
很多学校学生的期末考试仍采用任课教师(个人或集体)考前出题的方式。
为解决学生压题,考前漏题,补(缓)考试题与正式考试试题题量及难度差异问题,教务管理部门通常要求教师同时出多套试卷,其题量与难度要求相同,并且要同时给出答案和评分标准。
若建立题库,每次考试前由题库中题目随机生成试卷,则可较好地解决考教分离的问题,也可将广大教师从每学期末繁重的命题工作中解放出来。
近年来,部分学校陆续开发了一些基于微机的题库系统,并作为成果向其它学校推广,但这些题库一般都是结合本校具体情况,针对单一课程的小型题库,甚至某些学校购得的题库系统中的题目本身是不可维护的,即使题目已不适合自己的学生考试使用,也无法更新题库中的题目。
为解决题库系统中存在的这些问题,作者经过研究几种不同的网上系统,经充分的考虑,最后给出了一个较为理想的题库系统解决方案,并结合当前比较使用的B/S结构开发一个功能较完备的网上考试系统。
2系统分析
2.1可行性分析
可行性分析的目的就是要用最小的代价在尽可能短的时间内确定问题是否能够解决。
通过分析解法的利弊,来判定系统目标和规模是否现实,系统完成后所能带来的效益是否达到值得去投资开发这个系统的程度。
网络在线考试系统的可行性可从以下两方面考虑。
2.1.1经济可行性
定期的组织考试是各个院校及时掌握学生学习成绩的有效方式,利用网络在线考试系统,一方面可以节省人力资源,降低考试成本。
另一方面,在线考试系统能够快速进行考试和评分,体现出考试的客观与公正性。
2.1.2技术可行性
开发一个网络在线考试系统,涉及到的最核心的技术问题就是如何实现在不刷新页面的情况下实时显示考试时间及剩余时间,并做到到达考试结束时间时自动提交试卷的功能。
通过Ajax技术可以轻松实现这些功能,这为网络在线考试系统的开发提供了技术保障。
2.2需求分析
随着计算机技术的发展和网络技术的日益成熟,通过网络进行信息交流已成为一种快捷的交互方式。
在这种网络环境下,学校或考试机构希望通过建立网络在线考试网站来扩大知名度、降低管理成本和减少人力物力的投资,从而为考生提供更全面、更灵活的服务,并全面、准确地对考试进行跟踪和评价。
与此同时,考生希望根据自己的学习情况进行测试,并能够得到客观、科学的评价;教务人员希望能够有效地改进现有的考试模式,提高考试效率。
通过实际情况的调查,要求网络在线考试系统具有以下功能:
☑界面设计美观大方、方便、快捷、操作灵活,树立企业形象。
☑要求实现在线考试功能,自动核算考试成绩。
☑要求提供考试时间倒计时功能,使考生实时了解考试剩余时间。
☑要求系统自动阅卷,保证考试成绩真实有效。
2.3开发环境
Apache是目前应用最广的Web服务器;PHP是一种类似ASP的服务器端脚本语言,而MySQL是一个小巧的数据库系统软件,它们特别适用于网站建设。
Apache+PHP+MySQL不仅仅是开源项目,可免费获取,而且它支持Linux、UNIX、OS/2和Windows多个操作系统,可移植性好。
因此,这种组合是设计动态网站的最佳解决方案。
(1)硬件需求:
计算机(winXP系统)
(2)软件需求:
开发工具:
DreamweaverCS5
服务器端开发环境:
WampserverVersion2(Apache2.2.11+PHP5.2.9+MySQL5.1.32+phpMyAdmin3.1.3)
3设计工具及关键技术介绍
3.1Apache简介
Apache是世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
Apacheweb服务器软件拥有以下特性:
(1)支持最新的HTTP/1.1通信协议
(2)拥有简单而强有力的基于文件的配置过程
(3)支持通用网关接口
(4)支持基于IP和基于域名的虚拟主机
(5)支持多种方式的HTTP认证
(6)集成Perl处理模块
(7)集成代理服务器模块
(8)支持实时监视服务器状态和定制服务器日志
3.2PHP语言简介
PHP是英文超级文本预处理语言HypertextPreprocessor的缩写,它是一种HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,PHP独特的语法混合了C、Java、Perl以及PHP自创新的语法。
它可以比CGI或者Perl更快速的执行动态网页。
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。
以下罗列了PHP所具有的一些特点:
(1)开放的源代码。
所有的PHP源代码事实上都可以得到。
(2)PHP是免费的。
和其它技术相比,PHP本身免费。
(3)PHP的快捷性。
程序开发快,运行快,技术本身容易学习,上手快。
嵌入HTML:
因为PHP可以嵌入HTML语言,它相对于其他语言,编辑简单,实用性强,更适合初学者。
(4)跨平台性强。
由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。
(5)效率高。
PHP消耗相当少的系统资源。
(6)图像处理。
用PHP动态创建图像
(7)面向对象。
在php5中,面向对象方面都有了很大的改进,现在php完全可以用来开发大型商业程序。
(8)专业专注。
PHP支持脚本语言为主,同为类C语言。
3.3PHP连接MySQL数据库
3.3.1PHP连接数据库的两种方法
(1)通过mysql库和mysqli库函数连接。
这种方法是PHP连接MySQL最常用的方法,无论从易用性和效率上都比用ODBC接口连接好。
PHP存取mysql数据库的四个步骤是:
建立连接:
mysql_connect();
操纵数据库:
mysql_select_db();返回布尔型数据值
操纵数据库中的数据:
mysql_query();
关闭连接:
mysql_close();
(2)通过ODBC接口连接。
开放式数据库互联(opendatabaseconnectivity,ODBC)是Microsoft引进的一种早期数据库接口技术。
Microsoft引进这种技术的一个主要原因是,以非语言专用的方式,提供给程序员一种访问数据库内容的简单方法。
PHP通过ODBC不仅可以连接MySQL数据库,而且还可以连接Oracle、Sybase、Informix和SQLServer等。
3.3.2PHP对MySQL数据库的两种连接方式
无论是使用mysql/mysqli库函数还是使用ODBC接口连接,PHP对MySQL数据库的连接方式都有两种。
分别是永久连接和非永久连接方式。
(1)永久连接方式:
它的最大的优点是效率比非永久连接方式高,当客户端对MySQL服务器的连接请求非常频繁时,永久连接将更加高效。
它使得每个子过程在其生命周期中只做一次连接操作,而非每次在处理一个页面时都要向MySQL服务器提出连接请求。
即每个子过程将对服务器建立各自独立的永久连接。
(2)非永久连接方式:
即短连接方式。
当客户端向Web服务器请求网页时,服务器处理这个请求,并将所请求的网页发送给浏览器,然后连接就被断开,直到浏览器发出下一个请求。
对于大部分网站通常都使用这种连接方式,它虽然没有永久连接方式的效率高,但是可有效避免永久连接所带来的问题和提高服务器承载能力。
3.4Ajax简介
AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
通过AJAX,JavaScript可使用JavaScript的XMLHttpRequest对象来直接与服务器进行通信。
通过这个对象,JavaScript可在不重载页面的情况与Web服务器交换数据。
AJAX在浏览器与Web服务器之间使用异步数据传输(HTTP请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。
Web应用程序较桌面应用程序有诸多优势;它们能够涉及广大的用户,它们更易安装及维护,也更易开发。
AJAX是一种独立于Web服务器软件的浏览器技术。
可使因特网应用程序更小、更快、更友好。
主要包含的技术:
(1)web标准(standards-basedpresentation)XHTML+CSS的表示;
(2)使用DOM(DocumentObjectModel)进行动态显示及交互;
(3)使用XML和XSLT进行数据交换及相关操作;
(4)使用XMLHttpRequest进行异步数据查询、检索;
(5)使用JavaScript将所有的东西绑定在一起。
4系统概要设计
4.1系统的总体设计
根据系统的功能要求,网络考试系统中涉及两种不同的用户:
考试用户、管理员,他们的职能各不相同。
考试用户进入网络考试系统,可以查询个人考试成绩,修改密码,在线考试。
管理员能够进行试题库维护,包括删除,添加,及时更新,查看考生的成绩并进行分析统计。
所有数据都存储在服务器的数据库中,具体应达到以下目标:
(1)采用开放、动态的系统框架,加强用户与网站的交互性。
(2)具有空间性。
被授权的用户可以在异地登录考试系统,无须到指定地点行进行考试。
(3)操作简单方便,界面简洁美观。
(4)系统提供考试倒计时功能,使考生了解考试剩余时间。
(5)随机抽取试题。
(6)实现自动提交试卷的功能。
当考试时间到达规定时间,如果考生还未提交试卷,系统将自动交卷,以保证考试严肃、公正地进行。
(7)系统自动阅卷,保证成绩的真实准确。
(8)考生可以查询自己的考试成绩。
4.2数据库设计
数据库设计的任务是确定系统所需的数据库,它的价值在于它能够向用户提供有意义的信息,还有向系统供应所需的一切数据。
在MySQL数据库系统中建立一个名为examnation的数据库,在该数据库中可以创建与实体对应的数据表,存放考试系统中与考生,管理员,考题类别,考试成绩相关的数据。
下面给出数据库中所包含的数据表的结构图,如图4.2所示。
图4.2examnation数据库所包含数据表的结构图
chengxu表存放程序题信息,danxuan表存放单选题信息,duoxuan表存放多选题信息,panduan表存放判断题信息,result表记录考生的答题信息,shiti表存放生成的试卷信息,tiankong表存放填空题信息,user表存放用户信息
4.3系统结构设计
4.3.1系统功能结构
网络考试系统的考生用户和管理员分别为前台用户和后台用户,他们的功能职责不同,其功能结构图如图4.3.1所示。
图4.3.1在线考试系统功能结构图
考生功能:
(1)参加考试:
选择试卷类型之后,考试开始并计时,手动和自动提交试卷,自动阅卷;
(2)查询成绩:
考生可以查询本人的成绩信息;
(3)修改密码:
考生修改自己的密码。
管理员功能:
(1)考试管理:
修改试卷的题型比例;修改考题类型,考题类别;
(2)题库管理:
及时对题库进行更新,删除旧的题目,插入新的题目等;
(3)成绩查询:
管理员可以查看权限范围内所有用户的成绩信息;
(4)学生信息管理:
上传学生信息,修改学生信息。
4.3.2系统流程图
考生信息需管理员添加,登录帐号为考生学号,初始密码(123)。
考生登录网站进行相关操作。
考生登录后,可以进行在线考试、查询成绩和修改个人密码的操作。
在考试前,选择考试套题后开始考试;考试时间结束时,考生提交试卷;提交试卷后,返回网站首页,考生可查看自己的考试成绩。
网站的管理员通过登录模块可以登录到网站的后台系统,对考生信息、考试信息、管理员信息进行管理。
网络在线考试系统的系统流程,如图4.3.2所示:
图4.3.2在线考