《C语言程序设计》网上考试系统的设计与实现
摘 要
随着科技的发展,网络技术已经深入到人们的日常生活中,同时带来了教育方式的一次变革。而网络考试则是一个很重要的方向。基于Web技术的网络考试系统可以借助于遍布全球的Internet进行。因此考试既可以在本地进行,也可以在异地进行,大大拓展了考试的灵活性。并且缩短了传统考试要求老师打印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这个漫长而复杂的过程,使考试更趋于客观、公正。
本文介绍了一个具有在线考试、及时阅卷、成绩查询以及考题和考生信息管理等功能的无纸化《C语言程序设计》在线考试系统。该系统是基于PHP和MySQL,为了配合网上教学建立的“网上考试系统”,实现网上学习一体化而设计的。设计本系统要熟悉HTML,PHP语言及MySQL数据库的编辑和应用。其中用到了Eclipse帮助进行站点和网页设计,还用到了phpmyadmin对MySQL数据库进行可视化操作。
全文共分为绪论、系统分析、设计工具及关键技术介绍、系统概要设计、系统详细设计、系统测试、 总结展望、参考文献。详细阐述了系统分析、系统设计的方法及其内容。
关键词:在线考试系统;及时阅卷;基于php;MySQL
一 选题背景及意义
随着现代科技的发展,互联网已经渗透的我的生活的方方面面,大到航空航天技术,小到千千万万的手机用户,它改变了我们人类的生活、工作的方式,使人类由传统低效、低速手工化迈向高效、快速、智能化的信息时代。现代化的教学模式也在这高速发展的时代发生了翻天覆地的变化, 传统教学模式就是一张白纸黑字,人们只能在这样的书本上找到自己要学的东西,考试也只能通过一张写满问题的答卷来检测一个人的学习水平,这样的学习方式极为低效,不能满足现代社会日新月异的发展需求,而智能化的学习、考试信息系统正好弥补了不足之处,实现了人们对知识的追求这一美好愿望。
开发本系统,对于学生,不仅可以考查其对理论知识的掌握程度,而且能检验学生动手设计、编辑程序、调试程序的能力,对开发平台运用的熟练度等。同时与全国计算机等级考试(NCRE)的无纸化考试方式接轨,为学生今后复习考取计算机二级C证书打下一定基础等等。对于老师,系统的自动组卷功能不仅可以减轻其手动出题的繁琐性,避免出错,且保证了试题所覆盖知识点的广度和深度。
二 系统开发环境及工具
操作系统:windows10;
内存要求:基本内存512MB或以上;
硬盘:约40M或以上;
浏览器:谷歌浏览器或其他浏览器
数据库:mysql
WEB服务器:php5.5.x+mysql+apache
开发工具:eclips可以方便快捷的创建可视网页。还能轻松开发出动态功能站点。
三 系统模块介绍
如图3.1,这是整个《C语言程序设计》在线考试系统的系统总体功能模块图,包括各个功能模块的联系。
图3.1总体功能模块图
1.用户登录模块
考生用浏览器登录服务器网址进入考试系统的主页,输人准考证号、身份证号、验证码、密码(初始密码即为123456)后,如果准考证号、身份证号和密码都正确,即可登录到考生考试管理后台,如果登录不上,会有相应提示,提示密码错误或者学号无效(即教师没有录入此准考证号的考生信息)。
2.考试模块
该模块主要负责考生通过计算机进行在线考试,考生登录系统后,进入到考试界面,系统自动从考题数据库中抽出事先教师设定好的考题来,并通过浏览器显示,考生在规定时间内答题。在考试过程中考生可以随意选择答不同类型题的答题顺序,还可以反复检查、修改答案以及查询考试时间等。通过点击“交卷”按钮提交试卷或到规定时间后系统自动提交试卷。
3.考生模块
考生,可以对个人的资料进行修改,包括修改个人联系电话、邮箱、家庭地址、政治面貌等基本信息,但考生的学号和所在院系、班级信息,不能由考生修改(这些信息只能由老师或管理员来修改)。
考生也可以修改个人的登录密码,考生输入原始密码(123456)、输入新密码和确认密码后,如果所有输入无误后,即可修改成功。
4.题库管理模块
本模块主要负责题库的建立、试题和答案的添加、修改、查询、删除等。系统提供多种类型的试题,包括单选题、填空题、程序题。题库中的试题有试题编号、题型、答案等属性。教师登录系统后台后可以对这些进行管理。
5.考生管理模块
本模块主要有两个功能,一个是对考生信息的增删改查,一个是对考生信息的维护(包括对考生信息的备份)。
6.成绩统计模块
在考生提交试卷由系统自动判定部分考生成绩,程序题部分由于技术原因需要老师或管理员手动阅卷。
7.管理员账号管理模块
系统管理员(admin账号)登录教师管理后台后,可以添加、修改、删除教师或普通管理员账号,不同的管理员对应不同的管理权限,系统管理员的权限大于普通管理员,普通管理员的权限大于教师。
8.公告管理模块
本模块主要功能是发布学校考试公告,考试信息等,并对历史公告信息记录,增删改查等。
9.系统日志模块
本模块主要功能是记录所有管理员或教师的登录日志,教师的操作日志,让教师的每一个操作都可以清晰的显示出来,保证数据的安全性。
四 《C语言程序设计》网上考试系统设计与实现分析
本系统中提供的所有功能,都必须经过身份验证才能正常使用,因此,用户的登录和注册功能是本系统中重要的组成部分,用户登录功能主要是对本系统的三个用户管理员、教师和学生提供的登录系统的入口,用户注册模块主要是对学生角色而设计的学生在使用系统前必须用自己的真实信息进行注册。
该系统在设计时,提供了三种身份用户的登录功能,考生登陆的时候需要在考生界面登录,而管理员、超级管理员、教师在另一套登陆界面登录,系统提供学生用户注册功能,设计思想:在系统的首页(即用户登录界面)设计注册用户链接,链接到的内容为用户选择界面,用户必须保证信息填写的完整性,注册才能成功。在Manager.class.php页面中,设计各类表单验证信息的方法,在注册按钮响应事件中调用这些方法,以完成信息验证的功能,同时,调用regrest()方法在数据库中查找,用户名是否已被注册。
正确输入管理员账号和密码及验证码后,管理员顺利进入其后台管理界面,其中包含了学生信息管理、教师信息管理、试题录入、考试结果管理以及个人信息维护等数个功能模块,其使用了内联框架分别将功能模块粘合在一起,并将点击后产生的信息附在另一个内联框架中。
后台管理中的试题信息管理包含了查询已添加的试题的信息,以及可添加相应的试题如:选择题、填空题和程序题等,此功能相对应的角色为教师、管理员。
后台考生信息的录入是由studentAdd方法完成的,在form表单中接受输入的考生信息。提交到后台方法,操作数据库,把考生的信息保存到数据库,同样,也可以删除考生,点击界面上的删除按钮,把考生的id信息传递到Del方法,操作数据库,删除相应的数据。
后台管理员信息的录入是由manager.class.php完成的,在form表单中接受输入的管理员信息。提交到后台方法,操作数据库,把管理员的信息保存到数据库,同样,也可以删除管理员,点击界面上的删除按钮,把考生的id信息传递到Del方法,操作数据库,删除相应的数据。
系统中试题录入功能为了,美观和方面管理员或教师在录入过程中需要录入图片,本系统引用了kindeditor富文本编辑器,在很大程度上提升了录入的速度。
考生在输入账号和密码后,还需要填写验证码,一切信息得到确认后才能进入到系统中。进入考试系统,试卷包含选择题,填空题,程序题等,考试时间有一定限制,规定时间内未完成考试,系统将自动提交并判卷。
在数据库设计中,本系统总共设计了8个数据表,管理员表(ts_manager)、学生表(td_student)、考题表(ts_question)、考题类别表(ts_type)、答案存储表(ts_mark)、表3.6公告表(ts_acticle)、权限表(ts_auth)、角色表(ts_role)。
五 总结
计算机技术的飞速发展带动了很多行业的发展,计算机带给我们最直观的价值就是减少了人力物力的投资,提高了工作质量和效率,从而提高了整个社会的生产力。目前各个学校充分利用计算机资源和网络资源来提高自身的管理水平,而有关在线考试系统的设计也成为学校争论的热点问题。
本文在分析在线考试系统的基础上,用php和mysql数据库设计并完成在线考试系统。通过系统调试结果显示,本系统基本完成了功能需求。在整个设计过程中,采用瀑布模型和结构化的设计方法。本系统界面美观友好,操作方便,做出了自己的特色。但由于时间仓促加上缺乏系统开发经验,系统在设计过程中不可避免地遇到了各种各样的问题,如:有些数据输入时没有及时的进行数据格式校验,不能保证数据绝对正确性。由于时间关系,系统功能实现不够完善,使用可能存在一些不方便。本系统在实际使用过程中有可能出现一些问题,通过对系统的不断优化和完善,能够调试出真正符合实际情况的在线考试系统,形成统一、规范、科学、合理的在线考试系统。
综观软件开发行业,如今对编程人员相对缺乏,尤其是初级的编程人员,我想通过我们在校学习的相关专业知识以及在实践中积累的些经验,在经过一段时间的磨练,对于开发软件来说不是很难的事,也并非只有专业人员才能开发设计,总之学海无涯,我们只有不断的学习,不断的进步,才能在瞬息万变、人才济济的社会竞争中,立于不败之地!
参考文献
[1] 飞思科技产品研发中心编著 电子工业出版社,2003.8 周影
[2] 基于B/S模式的“计算机网络”网上考试系统的设计和实现 电气电子教学学报 2004(03) 吴青松
[3] 基于B/S结构的网络考试系统[J] 计算机辅助工程 2003(02)马荣飞
[4] 《基于Web的考试系统设计与实现》陕西科技大学 2006[10] 期[9] 郭立文。
[5] David Powers著.PHP与Dreamwaver基础教程[M].北京:人民邮电出版社,2008.1~50
[6] 聂庆鹏,毛书鹏,王志乐编著.PHP+MySQL动态网站开发与全程实例[M].北京:清华大学出版社,2007.30~70
[7] 王维.基于PHP和MySOL的考试系统的研究[D].中国教青技术装备, 2010.1~7
[8] 赵鹤 吧芹.设计动态网站的最佳方案:Apache+PHP+MySQL[D].计算机工程与设计,2007.1~4
[9] 宗杰,马国强,刘冉编著.PHP网络编程学习笔记[M].北京:电子工业出版社,2008.1~68
[10] 王石,杨英娜编著.精通PHP+MySQL应用开发[M].北京:人民邮电出版社,2006.60~100
[11] Tim Boronczyk,Martin E.Psinas编著.熊伟译.PHP&MySQL范例精解——创建、修改、重用[M].北京:清华大学出版社,2009.23~56
[12] 丁月光,孙更新,闫吉辉编著.PHP+MySQL动态网站开发[M].北京:清华大学出版社,2008.243~258
[13] 张银鹤,肖新峰,崔程编著.PHP+Ajax网站开发典型实例[M].北京:电子工业出版社,2009.15~50
[14] 凯文瑞克著.田佳淳改编.PHP5&MySQL5基础与实例教程[M].北京:中国电力出版社,2007.10~87
[15] 张仿彦,刘中华,杨丽编著.PHP项目开发全程实录[M].北京:清华大学出版社,2008.567~614