【计算机软件毕业设计】c语言在线考试系统——自动评分模块_第1页
【计算机软件毕业设计】c语言在线考试系统——自动评分模块_第2页
【计算机软件毕业设计】c语言在线考试系统——自动评分模块_第3页
【计算机软件毕业设计】c语言在线考试系统——自动评分模块_第4页
【计算机软件毕业设计】c语言在线考试系统——自动评分模块_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河北农业大学信息学院本科毕业论文题目C语言在线考试系统自动评分模块摘要C语言是国际上广泛流行的计算机高级程序设计语言,在各类高等院校的计算机及相关专业中,C语言均被列为一门必修的基础课程。随着计算机技术的日趋成熟,该课程的考核从传统手工阅卷走向计算机自动评阅。本文开发的C语言在线考试系统,一方面实现了C语言课程考试的无纸化,节约了大量能源;另一方面,实现了部分题目的自动评阅,降低阅卷的工作量,提高评阅过程中的公平性与准确性。它为C语言教学提供了一套完备的自我测试系统,也为学生的自主学习提供了更好的支持。本系统主要对考试系统中的自动组卷、考生考试及自动评分模块进行了研究与设计,我主要完成的是自动评分模块的功能实现。在设计系统的过程中,我们结合平时使用软件的需求,对该项目进行了界面的优化,该系统设计成功后,经过了一定量的测试,初步证明运行稳定,自动评分准确,评分标准统一,整体效果良好,具有一定的的使用价值。关键字C语言在线考试系统;自动评分模块;PHP;APACHEABSTRACTCLANGUAGEISWIDELYPOPULARINTERNATIONALHIGHLEVELCOMPUTERPROGRAMMINGLANGUAGE,VARIOUSINSTITUTIONSOFHIGHERLEARNINGINTHECOMPUTERANDRELATEDPROFESSIONS,CLANGUAGEARECLASSIFIEDASACOMPULSORYBASICCOURSEASCOMPUTERTECHNOLOGYMATURES,THECOURSEOFTHEASSESSMENTFROMTHETRADITIONALMANUALSCORINGTOWARDTHECOMPUTERAUTOMATICALLYMARKEDTHISDEVELOPMENTOFTHECLANGUAGEONLINEEXAMINATIONSYSTEM,ONTHEONEHANDTOACHIEVEAPAPERLESSEXAMINATIONOFTHECLANGUAGECURRICULUM,SAVINGALOTOFENERGYTHEOTHERHAND,TOACHIEVESOMEOFTHESUBJECTAUTOMATICALLYMARKED,REDUCINGTHEWORKLOADOFMARKING,THEPROCESSOFIMPROVINGREVIEWFAIRNESSANDACCURACYITISACLANGUAGETEACHINGPROVIDESACOMPLETESELFTESTSYSTEM,BUTALSOFORTHESTUDENTSSELFLEARNINGPROVIDESBETTERSUPPORTTHISSYSTEMISMAINLYFORAUTOMATICGENERATIONOFTESTSYSTEMS,ANDAUTOMATICSCORINGMODULEEXAMCANDIDATESCONDUCTEDRESEARCHANDDESIGN,IMAINLYTOCOMPLETETHEAUTOMATICSCORINGMODULEFUNCTIONIMPLEMENTATIONINTHEPROCESSOFDESIGNINGTHESYSTEM,WEUSUALLYUSETHESOFTWARECOMBINESTHENEEDSOFTHEPROJECTWASCARRIEDOUTTOOPTIMIZETHEINTERFACE,THESYSTEMISDESIGNEDSUCCESSFULLY,AFTERACERTAINAMOUNTOFTESTING,PRELIMINARYEVIDENCEOFSTABLEOPERATION,AUTOMATICSCORINGACCURATE,UNIFIEDSCORINGCRITERIA,THEOVERALLEFFECTISGOOD,HASACERTAINVALUEINUSEKEYWORDSCLANGUAGEONLINEEXAMINATIONSYSTEMAUTOMATICSCORINGMODULEPHPAPACHE目录1绪论111课题研究的背景及意义112国内外研究概况与发展趋势1121客观性试题评测技术1122主观性试题评测技术22开发环境和开发技术221系统介绍2211C语言在线考试系统简介2212自动评分系统简介222工具环境介绍3221开发环境的选择3222PHP语言简介3223APACHE简介3224MYSQL简介33需求分析431设计思想432可行性分析4321操作可行性4322技术可行性4323经济可行性533用户需求与系统目标54系统设计541功能需求分析图542系统结构设计6421系统功能结构6422系统流程图75数据库设计86项目的设计实现1161自动评分流程的设计1162模块的划分及各个模块的功能的实现方法12621选择判断评分的实现12622多项选择题判分的实现12623填空题判分的实现12624程序题判分的实现137系统测试与分析1371测试概述1372测试方法1373测试截图13731提交答案页面13732学生查看成绩页面14733管理员身份查看成绩页面148结束语1681总结1682心得体会16参考文献17致谢181绪论11课题研究的背景及意义作为国际上广泛流行的计算机高级程序设计语言,C语言是高校中计算机及相关专业的一门必修的基础课程。而在当前,对该门课程的考核,普遍还停留在传统的纸笔考试,通常采用人工命题和人工批改评分。这种考核方式虽然有传统考试的优点,但考核方式劳动量大、效率低下,且客观性受到任课老师水平、经验、个性的影响。显然不能满足计算机教育发展的需要。利用计算机实现无纸化的在线考试,已经是计算机考试的一种重要方式。教育测量是对学生的学习能力、学业成绩、兴趣爱好、思想品德以及教育措施上许多问题的数量化测定。它主要用于对学生精神特性的测定。它可以分为理论知识的评价和对技能的评价。对于C语言之类的程序设计类课程,技能评价部分尤为重要。对于理论知识的评测,通常采用客观题的形式。关于技能的考核,早期主要采用卷面的考核方式。其成绩不能真正反映学生计算机技能水平。即使有计算机上机考试,也主要采用人工评阅的方法。评阅费时较多、误差偏大,容易受到主观因素的影响,可能存在不公正的现象。这种现象,不仅仅是我国的计算机考试系统如此,国外的许多考试系统也是这样。所以说,实现自动评阅已是在线考试系统的迫切需要,在线考试系统是计算机考试的必然趋势。12国内外研究概况与发展趋势利用计算机技术实现无纸化考试,是近年来计算机技术一个重要的应用研究领域。而在线自动评分作为计算机考试系统的一个重要的组成部分,它以计算机的高效率的自动评分取代任课老师的低效、手工的阅卷,是实现完全无纸化考试和彻底取代传统的手工考试方式的关键。而且应用这种方式,可能很方便的将评阅结果保存,利于考生及老师的查询。另一方面,更加的客观,可完全避免人为因素造成的影响。目前国内外有很多关于C语言的在线考试系统,大多设计都含有选择题及填空题,可以很好的实现对理论知识的考核,而且自动评分技术也较为成熟。但对实践能力的考核程序题的考核略有欠缺,由于其无完全固定的答案和考生答题的多样性,该部分的自动评分很难实现,一些考试干脆取消了该类的试题,如全国计算机应用技术证书(NIT)和劳动部组织的计算机信息高新技术考试等。也有一些含有该类试题的考试系统中,对其评分方法并不完善,还没有很好的解决方案。121客观性试题评测技术目前大多数计算机考试自动评阅是针对客观性试题的。在对客观题的测试中,每个题目都有一个或一组确定的正确答案,通过将考生的结果与标准答案对比,可进行准确的判分。对于主观性不是很强的试题如填空题。也可以采用类似的方法如字符串比较法,将考生答案与标准答案直接做严格的匹配或模糊的匹配,匹配成功即可得分。通过文献查阅和对现有考试系统的研究,可知现在对于客观性试题的评测技术已经比较成熟,从试题的呈现、学生的答题到自动阅卷完全可以由计算机自主完成,实现无纸化考试。122主观性试题评测技术目前对于主观题中的一些题型,如WINDOWS操作题、WORD文字录入题。EXCEL表格处理题的自动评分技术,已经具有了一些重要的进展,但对主观题中的重要一类,程序题的自动评阅,目前还没有很好的评定技术,仍处于探索阶段。就目前全国计算机等级考试的上机考试系统,主要采用的是结果对比的方法进行评分,依据程序运行的结果与标准结果相符程度做对比,给出相应的分数。虽然该方法还存在很多不足,但对于当前形式下,可以作为一种评定的方式。2开发环境和开发技术21系统介绍系统是在一定环境中相互联系和相互作用的若干部分组成的具有某种功能的集合,一个系统内可能包含许多功能各异的子系统,这意味着系统可以具有多层结构,一个系统的整体功能往往大于单个子系统的功能之和。本系统可以实现C语言的在线考试,方便教师的试题上传、成绩的查阅和汇总,实现自动组卷和自动评分,大大的提高了考试及评分的效率,且一定程度上提高了客观性评定和降低了教师的工作量。考生可以及时查看自己的成绩,对自己的学习情况做出准确的判断。211C语言在线考试系统简介C语言在线考试系统是针对在校学生研发的一款有关C语言科目的练习及考试的系统。根据在线考试的实际需求,主要用于实现试题的上传管理、试卷的生成、在线考试及自动评分等几个方面的功能。C语言在线考试系统实际运行时,用户可以通过用户名及密码进入考试系统,系统会根据后台设定自动生成试题以供用户测试,并根据用户提交的答案进行评分。并返回用户成绩。整个系统只允许管理员对题库和成绩等基本信息进行管理和维护。本考试系统的操作界面力求为用户提供一个方便快捷的应用环境。212自动评分系统简介自动评分系统作为在线考试系统的主要模块,具有对考生提交的答案进行评定并给予分数反馈的功能。根据不同的题目类型,系统做出相应的判断,使用相对应的方法进行评分。该模块所应用的主要方法是提取用户和数据库中正确的答案,进行对比,相同则判真,不同则判假。该模块的实现使C语言考试系统应用性大大提高。不但能够大大提高效率,减少相应工作人员的工作量,还能够使最后成绩更具有客观性。另一方面,管理员可以根据该系统数据库中的数据,更加方便的统计成绩。22工具环境介绍221开发环境的选择开发与运行的环境的选择会影响到数据库设计,本系统开发与运行环境如下开发环境WINDOWS7开发工具ADOBEDREAMWEAVERCS3、NAVICATFORMYSQL、APACHEHTTP、SERVER22数据库管理系统MYSQL本系统主要采用PHP与MYSQL相结合的技术。利用ADOBEDREAMWEAVERCS3软件来设计系统界面,使整个系统更具有吸引力和更好的价值。222PHP语言简介PHP超文本预处理语言HYPERTEXTPREPROCESSOR的英文缩写。PHP是在服务器端嵌入HTML文档的脚本语言执行的嵌入HTML的语言,语言的风格有类似于C语言,被广泛使用。PHP独特的语法混合了C,JAVA,PERL和PHP自己的语法。它执行动态页面的速度比CGI和PERL更快。动态网页PHP和其他编程语言,PHP被嵌入到HTML文档程序执行,执行效率比完全生成的HTML标记的CGI要高得多,PHP也可以运行编译后的代码,编译器可以实现加密和优化代码运行,使代码运行得更快。223APACHE简介APACHEHTTP服务器(简称到APACHE)是APACHE软件基金会的一个开源的WEB服务器,可应用于大多数计算机操作系统,由于其多平台和安全性被广泛使用,是最流行的WEB服务器软件。它不仅快速,可靠,可扩展,而且可以通过一个简单的API,将PERL/PYTHON解释器等编译到服务器中。224MYSQL简介MYSQL是一个关系型数据库管理系统,由瑞典MYSQLAB公司开发,目前属于ORACLE公司。MYSQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MYSQL的SQL语言是用于访问数据库的最常用标准化语言。MYSQL软件采用了双授权政策(本词条“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MYSQL作为网站数据库。由于其社区版的性能卓越,搭配PHP和APACHE可组成良好的开发环境。MYSQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MYSQLAB公司。目前MYSQL被广泛地应用在INTERNET上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MYSQL作为网站数据库。3需求分析31设计思想第一步是需要利用MYSQL建立所需要的数据库,第二步是利用PHP语言完成该系统界面及应用模块的开发。将建立数据库所在的服务器作为服务器端,在这里我所用的是本地服务器,为开发的在线考试系统提供所需要的数据服务。32可行性分析可行性分析是系统分析阶段的第二项活动,它的主要目的是进一步明确系统的目标、规模与功能,对系统开发背景、必要性和意义进行了调查分析并根据需要和可能提出开发系统的初步方案与计划。可行性分析是对系统进行全面、概要的分析。通过调查分析,本系统设计主要有以下三个可行性321操作可行性本系统操作简单,易于理解,只需通过简单指导,上手较快,运行环境要求低。322技术可行性本课题采用PHP语言进行开发。PHP语言为当前WEB开发应用较多,功能较强大的计算机高级语言。实习过程中,曾经有过一段时间的集中培训,对PHP语言有基本了解,另一方面,在较难部分可以得到实习老师的指导。323经济可行性本课题所使用的软件都为免费公开发行版,不需要购买。现在,计算机的价格已经十分低廉,性能却有了长足的进步。为本次开发提供了设备支持,几乎所有的计算机都可以高效的运行使用。33用户需求与系统目标本系统意在投入实际教学工作中,一方面,用于对C语言程序设计课程的考核和评阅工作;同时,也为C语言教学网站提供一套完备的自我测试系统,对C语言的教学辅导和学生的自主学习提供更好的支持。根据C语言程序设计的课程特点和用户需求,本系统共设计了判断题、单选题、多选题及填空题,以对学生的理论知识和实践技能进行全面的考核。针对四类不同的题型,本系统将实现从组卷、考试到评分的全部自动化。应用本系统进行考试,系统将对考生自动生成不同的试卷,这样减少了作弊现象的发生,保证了考试的公平性。考试开始后,系统通过屏幕上的倒计时提醒学生考试剩余时间,保证了考生对考试过程中时间分配的把握。考试结束后,系统对考生所做试题进行自动阅卷评分。除了上述考试和阅卷功能外,为了适应多种教学和用户的需求,系统还提供了教师管理等功能。4系统设计41功能需求分析图包含2个实体即考生、教师。学生登录、选题、答题,教师试题录入、教师组卷、教师阅卷。该图反映了试题生成和在线考试系统整体的流程,如图41所示图41系统需求分析42系统结构设计421系统功能结构C语言在线考试系统的用户分为前台用户与后台用户,其中考生为前台用户,管理员为后台用户,他们的功能职责不同,其功能结构图如图42所示图42在线考试系统功能结构图考生主要功能一方面,考生参加在线考试,选择试题类型,开始考试。答题完成时可以手动提交试卷,若规定时间内未完成试题,则自动提交试卷;另一方面,考生可以根据自己的需要,修改自己的登录密码。管理员主要功能管理员可以根据需要,添加修改学生信息、添加修改试题库信息、查看权限内考生成绩。422系统流程图考生信息需管理员添加,登陆帐号为考生学号,初始密码为123。考生登录网站进行相关操作。(1)考生登录,若密码错误,返回首页,密码正确,进入考生界面。(2)在考生界面,考生可以查看自己的个人信息,进行密码的修改。也可以进入考试界面,参加考试,答题完成后,查看个人成绩。管理员登录,可以对后台数据库中的信息进行查看、添加和修改,包括学生信息,试题和权限内学生的成绩(成绩只能查看)。具体流程如图43所示图43在线考试系统流程图图35数据库设计本系统数据库分为三大部分信息部分、题库部分和评分部分。试题相关部分主要有单选题、多选题、判断题类客观题表;填空题类半客观题表和程序题类主观题表。以及其他各类保存试卷相关信息的表;管理部分主要有用户信息表。A用户信息表主要用于保存用户信息,结构如图51所示图51用户信息表ID(主键),UID(用户登陆帐号),UNAME(用户姓名),UPASS(用户密码),TYPE(用户类别学生0,管理员1),SEX(性别),BIRTH(出生年月)。B填空题表主要用于保存试卷中填空题的相关信息,结构如图52所示图52填空题表ID(主键),TIMU(填空题题目),ANSWER(填空题答案)。C判断题表主要用于保存试卷中判断题的相关信息,结构如图53所示图53判断题表ID(主键),TIMU(判断题题目),ANSWER(判断题答案)。D单选题表主要用于保存试卷中单选题的相关信息,结构如图54所示图54单选题表ID(主键),TIMU(单选题题目),A(A选项内容),B(B选项内容),C(C选项内容),D(D选项内容),ANSWER(单选题题答案)。E多选题表主要用于保存试卷中多选题的相关信息,结构如图55所示图55多选题表ID(主键),TIMU(多选题题目),A(A选项内容),B(B选项内容),C(C选项内容),D(D选项内容),ANSWER(多选题题答案)。F程序题表主要用于保存试卷中程序题的相关信息,结构如图56所示图56程序题表ID(主键),TIMU(程序题题目),ANSWER(程序题答案)。G试题表主要用于保存试卷中试题类型的相关信息,结构如图57所示图57试题表ID(主键,TID(题目ID),TYPE(试题类型),KIND(试卷类型)。H结果表主要用于保存考生答题结果的相关信息,结构如图58所示图58结果表ID(主键,UID(用户ID),TID(题目ID),ANSWER(试题答案),TYPE(试题类型),KIND(试卷类型),TORF(试题正误)。6项目的设计实现61自动评分流程的设计在考试系统中,考试结果是保存到数据库中的。当考生提出评卷请求时,考试系统会向系统发送考生试卷ID等相关信息。系统会根据接收到的试卷ID查询数据库,从数据库中提出该考生本次考试的试题进行评定,并将评定后的结果记录保存到数据库中。系统将考题分为填空题,判断题,单选题和多选题和程序题五种题型,对应的考题类型号分别为TK、PD、DX、DXS、CX。系统会将考生的试题信息和作答结果保存到考题表中。自动评分主程序将考题表读出各个考题的相关信息,并通过考题的类型号选择不同的评改策略,评定流程如图61所示图61自动评分模块流程图记录考试结果统计考试结果相同为真对比判断不同为假答案转化为数组,排序人工评定接受试卷ID根据试卷ID查询数据库得到考生答案填空题评定判断题评定单选题评定程序题评定多选题评定62模块的划分及各个模块的功能的实现方法621选择判断评分的实现该系统的单项选择题采用较为传统也较为成熟的对比判断法,即对考生答案与数据库中正确答案进行提取比对,如果答案一致则判断为真,此题正确,得分;如果答案不一致,则判断为假,此题错误,不得分。得分原则如下得分试题分匹配是否成功例如C语言中允许的基本数据类型包括A整型、实型、逻辑型B整型、实型、字符型C整型、字符型、逻辑型D整型、实型、逻辑型、字符型(该题目正确答案为B)考生答题,选择答案为A,提交试卷后,将试卷返回数据库,系统根据该试题类型,选择单选题表,根据题目ID,在该试题表中查找该试题,提取正确答案B,与考生选择答案A做对比,A与B不同,返回0,匹配失败,得分100分,返回数据库。622多项选择题判分的实现对与多项选择题,本系统采用提取考生答案,将答案的字符串转化为数组,再对数组进行排序,再将排序后的结果与数据库中的正确答案进行对比,如果答案一致则判断为真,此题正确,得分;如果答案不一致,则判断为假,此题错误,不得分。例如关于条件运算符的叙述正确的是A条件运算符的优先级别比关系运算符和算术运算符都低B条件运算符是C语言中唯一的一个三目运算符C条件运算符的结合方向是“自右至左”D条件运算符可以替代任何IF语句的功能(该题目的正确答案为ABC)考生答题,选择答案为BCA,提交试卷后,将试卷返回数据库,系统将返回数据转化为数组,再对该数组进行排序得到ABC。然后系统根据该试题类型,选择多选题表,根据题目ID,在该试题表中查找该试题,提取正确答案ABC,与排序后结果ABC做对比,匹配成功,返回1,得分111分,返回数据库。623填空题判分的实现对于填空题,理论上为主观题,但基于C语言学科的严谨性,可以视为客观题进行判断,判断方法类似与单项选择题(该方法在某些程度上存在缺陷)。由于C语言课程的严谨性,本系统的填空题均作为客观题进行评分,评分基本流程与单选判断题目相同。624程序题判分的实现由于个人能力有限,未能完全掌握该题目类型的判断方法,暂时用人工判卷作为评分依据。7系统测试与分析71测试概述依据用户需求,设计测试用例,以确保系统达到需求功能的说明;确保系统满足性能需求;强度测试确认程序能够处理要求的负载;确保系统在要求的硬件和软件平台上工作正常。72测试方法测试任何软件都有两种方法黑盒测试和白盒测试法。黑盒测试法(又称功能测试法)是把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,是在程序接口进行的测试,它只检查程序功能是否按照规格说明书的规定正常使用。白盒测试法(又称结构测试法)是把程序看成装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按照预定要求正确工作。通过测试并不能证明程序就是完全正确的,但我们的目的就是要通过测试保证软件的可靠性,因此,必须仔细设计测试方案,力争用最少的测试发现尽可能多的错误。73测试截图731提交答案页面考生完成答题后,提交试卷,系统将提示该考生未完成题目的类型和题号,点击确定,将进入自动评分阶段,点击取消,则考生可继续作答。具体如图71所示图71试卷提交页面732学生查看成绩页面自动评分成功后,系统将考生作答情况与成绩返回查看成绩页面,考生可以根据自己作答情况,查看自己所选答案与该题目正确答案,该题目正确与否及对应题目得分情况。具体如图72所示图72学生查看成绩页面733管理员身份查看成绩页面待考试完成后,管理员可以在查看成绩页面查看权限内每个考生的作答情况,包括各类题目的得分及总得分。具体如图73所示图73管理员身份查看成绩8结束语81总结随着毕业日子的到来,毕业设计也接近了尾声。经过几周的奋战我的毕业设计终于完成了,虽然设计本身可能仍然存在一些问题,但基本功能已经实现。在设计之初,单纯的以为毕业设计好比平时的课程设计,是对知识的一个总结和应用的检验,事实并非如此。它在前者的基础之上,更检验了自己本身的素质及对所学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论