asp.net网上模拟考试系统论文.doc_第1页
asp.net网上模拟考试系统论文.doc_第2页
asp.net网上模拟考试系统论文.doc_第3页
asp.net网上模拟考试系统论文.doc_第4页
asp.net网上模拟考试系统论文.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

学 号: 课 程 论 文题 目网上模拟考试系统教 学 院计算机学院专 业计算机科学与技术班 级05级本(二)班姓 名指导教师2008年12月26日一 概述2二 总体方案设计4三 详细设计63.1数据库设计63.2 系统功能模块划分73.2.1 前台子系统功能模块划分73.2.2 后台子系统功能模块划分83.3.系统主要功能模块83.3.1用户登录模块83.3.2试题和答案管理模块93.3.3试卷管理模块11四 程序的调试与运行结果说明124.1系统配置124.1.1 web.config文件配置124.1.2 配置发布主页124.1.3 预览网站134.2 我负责的部分及其部分代码134.3系统关键部分测试分析16总 结17参 考 文 献18一 概述网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。随着internet/intranet的迅速发展和广泛普及,建立在其上的远程教育成为现代教育技术未来发展方向之一,考试测试作为远程教育的一个子系统也成为一个重要的研究领域。现代远程教育作为一种新的教学手段已经开始进入我们的生活,正在给传统教育模式带来新的变革,并对教育的发展形成新的推动力。internet技术的发展使得考试的技术手段和载体发生了革命性的变化,internet的开放性、分布性的特点和基于internet的巨大的计算能力使得考试突破了时间和空间的限制。基于internet的考试系统正成为人们的研究热点之一。与传统考试模式相比,网上考试具有无可比拟的优越性,它可以将传统考试过程中的试卷组织、审定印制、传送收集、登记发放、评判归档各个环节缩小到一至两个环节,几乎屏蔽了所有人工直接干预考试活动的可能性,不但能够节约大量的时日、人力、物力与财力,而且还可以大幅度提高考试成绩的客观性和公正性。网上考试系统课题产生的背景是当今教育信息化的趋势及我国高校教育信息化系统的建设;目的是充分利用学校现有的计算机软、硬件资源和网络资源实现无纸化考试以避免传统手工考试的不足。与传统考试模式相比,网上考试渗入了更多的技术环节,对实现安全性的途径、方法也提出了更高的技术要求。通过internet/intranet来实现网上考试,是现代教育技术的一个具体实现,具有很重要的现实意义。可以实现教考分离以及考务工作的全自动化管理,可以有效利用校园网的软硬件资源,使其发挥最大效力,更好的为学校的教学、科研、管理服务,可以大规模的实行考试,实现考试的客观、公证性,自动化组卷、阅卷可以减轻教师的工作强度。传统考试要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷。这是一个漫长而复杂的过程,已经越来越不适应现代教学的需要。网络考试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随地的对学生进行考试,加上web数据库技术的利用,大大简化了传统考试的过程。本系统以internet为平台,研究了基于web考试系统的设计与实现,包括系统需求分析和系统功能设计以及数据库设计。重点阐述了用户登录模块、题库管理模块和试卷管理模块的设计。特别是在题库管理模块中对自动组卷功能常用的算法进行了比较。对于较流行的验证码技术也给出了具体实现。由于系统的操作界面都是web页面形式,而且需要对各种用户的具体请求进行动态处理并返回结果,这是一般静态web页面技术所无法实现的,所以采用动态网页技术。目前动态网页技术有很多,可以说是层出不穷,比如cgi、php、jsp、asp、asp.net等。本设计采用asp.net技术。asp.net(又称asp+)是asp的下一代版本,它并不只是asp 4.0,它是一个用于 web开发的全新框架,其中包含了许多新的特性。asp.net完全基于模块与组件,具有更好的可扩展性与可定制性,数据处理方面更是引入了许多激动人心的新技术,正是这些具有革新意义的新特性,让asp.net远远超越了asp,同时也提供给web开发人员更好的灵活性,有效缩短了web应用程序的开发周期。asp.net与sql server 2000的完美组合,为中小型乃至企业级的web商业模型提供了一个更为稳定,高效,安全的运行环境。二 总体方案设计网上模拟考试系统主要是对后台管理和前台操作。后台管理是管理员对本网站的维护,管理员具有最高权限,来维护系统的正常运行,可以管理用户,主要包括管理基本资料,包括教师、学生、普通用户资料的增删改以及个人资料修改,管理设定试卷的难度、区分度、知识点、认知分类等项目,系统按照预定的参数从题库中随机抽取试题,使所有参考人员使用决不雷同的试卷,保障系统的安全性,防止非法访问。管理员主要是用sql server建的数据库,以及在此数据库中建的系统中所需要的表格,在表格中加入我们用到的数据,就是为了在前台能查询我们所要的数据, 前台操作主要由教师和学生操作组成。学生主要完成是随机抽取试卷,然后在线答题,在一定的时间内完成试卷,并提交试卷。教师主要完成修改学生的所做的试卷,修改后,系统给出一个考生的分数。本系统的用户可分为管理员,教师,学生和普通用户四类。考虑到系统的安全性,本系统共分成两个界面:一个界面用于管理员和教师登录,主要负责进行基本资料、题库、试卷、成绩的管理以及查询等;另外一个界面用于考生和普通用户登录,主要负责修改个人资料、在线考试、查询以往考试成绩等。从总体上考虑,系统应该实现下列功能:对教师来说,包括试卷管理、题库管理、成绩管理。1、试卷管理:教师可以从课程,难度级别,各种题型的数量等方面对某份试卷提出一定的要求生成试卷规则,在学生考试时,由系统根据试卷规则自动组卷生成满足教师要求的试卷,而不用手工组卷。同时,教师还可以对库中已有的试卷进行修改和删除,添加新试卷等。2、题库管理:教师可以根据教学需求对题库中的试题进行三种基本操作:添加新的考题、删除旧有考题、修改原有考题,其中试题类型包括判断题、填空题、单选题和多选题;对于每种类型的试题,教师可以设置题干、答案、试题难度系数、解析、添加时间等属性。3、成绩管理:教师可以查看考生的考试成绩,并针对不同的课程进行成绩统计,包括考试人数、最高分、最低分、平均分以及各分数段得分人数等。对学生来说,包括在线考试、查询以往考试成绩。1、在线考试:学生可以任选时间进行在线测试,考试结束后,系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩。2、查询以往考试成绩:学生可以在线查询以前参加过的每门课程的考试相关信息。对管理员来说,主要包括管理基本资料(包括教师、学生、普通用户资料的增、删、改以及个人资料修改)、试卷管理(包括对试卷的添加、删除、修改)、控制与分配用户的访问权限,保障系统的安全性,防止非法访问。我主要负责试题和答案的管理部分的总体设计。三 详细设计3.1数据库设计该系统使用sql server 2000作为应用程序的数据库, 建立了有8张数据表.users表主要是用户表,主要介绍一些用户的信息;roles表主要是介绍用户的身份,是管理员,还是教师,学生,普通用户;questions表主要是问题表,也就是在考试中用到的试题;questionkinds表主要是问题的种类表,是选择题,还是填空题,还是问答题等;papers表主要是试卷表,在此表中主要是定义一些考卷的难度和考题的分数;paperskinds表主要是试卷种类表;answers表主要是答案表。在8个数据表中,主要介绍users表,questions表,papers表和answers表。users表如图3-1: 图3-1 users表userid为该表主键,username为用户的名字,也就是用户的登录名,password为用户登陆系统是所需要的密码,email为登陆此系统用户的email,roleid为用户在次系统中所扮演的角色,我们在这里把它定义为整型,而我们在roles表中指出了用户的类型,其中0表示超级管理员,1表示考生,2表示教师,3表示系统管理员。questions表如图3-2: 图3-2 questions表questionid为该表主键,title为问题的题目,我们在这里把其定义为varchar类型,body为问题的具体内容,pubdate为问题的更新日期,kindid为问题的种类,我们把此字段定义为int,我们可以在questionkinds表中定义其具体的意思,defficult为问题的难度系数,mark为该问题的分数。papers表如图3-3: 图3-3 papers表paperid为该表主键,totalmark表示该试卷的总分数,一般为100分和150分,mindefficult为该试卷的最小难度,maxdefficult为该试卷的最大难度,我们把这两个字段都定义为int类型,userid为用户的id号,该字段即是userid表中的主键,roleid为用户的角色,是学生,教师,还是管理员。answers表如图3-4: 图3-4 answers表answerid为该表主键,title为答案的题目,body为问题的答案具体是什么,questionid为问题的题号,既是此答案为那一个具体问题的答案,pictureid为所要链接的图片id号。3.2 系统功能模块划分3.2.1 前台子系统功能模块划分(图3-5)前台子系统修改信息用户注册在线考试查询成绩退出系统 图3-5 前台子系统功能模块图3.2.2 后台子系统功能模块划分(图3-6)后台子系统资料管理新闻管理题库管理试卷管理成绩管理退出系统图3-6 后台子系统功能模块图3.3.系统主要功能模块3.3.1用户登录模块该模块包括user_login.aspx和user.aspx文件。如果用户要使用为注册用户提供的功能,那么在使用之前必须登录。用户的登录方式很简单,只要输入用户名、密码以及系统每次提供的验证码就可以了。若用户输入的以上三项与数据库中保存的相符,则表明用户登录成功,可以开放全部前台子系统;如果不符,则登录失败。模块执行流程如图3-7所示。其中管理员、教师、学生登录模块执行流程与用户登录模块执行流程类似。 用户输入信息用户名,口令空用户名查询用户存在 口令正确n n 图3-7 用户登陆模块其界面如图3-8: 图3-8 用户登陆界面3.3.2试题和答案管理模块题库管理包括判断题管理、填空题管理、单选题管理和多选题管理。管理员可以通过题库管理对各种类型的试题进行添加、删除、修改以及查询。题库管理功能模块图如图4-2所示,由于各种类型试题的管理功能均类似,这里仅以判断题管理为例进行介绍。判断题管理模块包括的操作有:添加判断题、删除判断题、修改判断题和查找判断题,添加试题的界面如图3-9: 图3-9 添加试题界面在此界面中管理员可以添加试题,可以设计试题的难度系数,并可以设置问题的种类,并可以设置问题的分值,此界面只有管理员能进入,学生和教师不能进入,既是进入也不能做任何修改。更新试题的界面如图3-10: 图3-10 更新试题界面在此界面中管理员主要完成更新试题的操作,如:管理员可以添加问题答案,并也可以修改问题,和删除问题,并修改问题的答案,以及删除答案,此界面也只有管理员能进入,只有管理员能进行此操作,来完成试题的管理和答案的管理,普通用户无法看到此页面。3.3.3试卷管理模块 添加试卷的界面如图3-11: 图3-11 试卷管理界面此界面主要完成添加试卷的操作,如:添加选择题,填空题,简答题,以及设置试卷的分值,设置试卷的最小难度系数和最大难度系数,然后确认提交,就可以把所要添加的试卷添加到该系统中,其中更新试卷和此界面是一个界面,此功能也只有管理员能操作,也只有管理员能进入此界面。删除试卷的界面如图3-12: 图3-12 删除试卷界面此界面也只有管理员能操作,主要完成试卷的删除操作,如图中的右下角的叉号就是删除按钮,点击会弹出一个对话框,问是否要真的删除该试卷,按是删除选中的试卷,按否不删除。在此就完成了系统的详细设计。四 程序的调试与运行结果说明4.1系统配置4.1.1 web.config文件配置asp.net应用程序的配置功能放在web.config文件中,它包含每一个具体web应用程序的配置信息。在程序运行时,asp.net使用分层虚拟目录结构的web.config文件提供的配置信息为每个惟一的url资源计算一组配置设置,然后缓存结果配置设置,以供所有页面对资源的请求使用。web.config文件对于访问站点的用户来说是不可见的,而且也是不可访问的,它基于xml,每个配置文件都包含xml标记和子标记的嵌套层次结构。网上考试模拟系统的web.config文件中的配置: 通过键/值对key 和value配置数据库连接的相关信息,将数据库和页面建立了链接。4.1.2 配置发布主页首先要创建虚拟目录,新建虚拟目录的步骤如下: 打开iis(internet 信息服务),在默认网站上右击,在快捷菜单中选择新建虚拟目录; 在弹出的虚拟目录创建向导对话框里点击“下一步”; 输入虚拟目录别名; 选择网站内容所在目录路径; 设置“访问”权限。 在所建虚拟目录上右击,在弹出菜单中选择浏览,或在浏览器里输入相应网址,都可运行浏览程序。虚拟目录不在目录列表中显示(也称为 www 服务的“目录浏览”),要访问虚拟目录,用户必须知道虚拟目录的别名并在浏览器中键入 url。对于 www 服务,也可以在 html 页面中创建链接。发布网站的时候,把程序首页的名字(index.aspx或default.aspx)写在iis当中就可以访问了。4.1.3 预览网站打开ie,在地址栏中输入:http:/localhost/index.aspx ,然后回车,就可以看到我们此系统的主界面。4.2 我负责的部分及其部分代码我所负责的试题的页面如图4-1: 图4-1 试题管理界面 其主要的代码如下所示:using system;using system.collections;using system.componentmodel;using system.data;using system.drawing;using system.web;using system.web.sessionstate;using system.web.ui;using system.web.ui.webcontrols;using system.web.ui.htmlcontrols;using system.data.sqlclient;using system.io;namespace examinesystempublic partial class migrated_addquestion : addquestionprotected system.web.ui.webcontrols.button updatequestion;protected void page_load(object sender, system.eventargse)/验证用户的权限if(sessionuserid = null)response.redirect(/admins/userlogin.aspx);if(userdb.isauthorityuser(int32.parse(sessionuserid.tostring()= false)response.redirect(/admins/userlogin.aspx);if(!page.ispostback)bindqueskinddata();private void bindqueskinddata()queskindlist.items.clear();questiondb question = new questiondb();sqldatareader rect = question.getquestionkinds();queskindlist.datasource = rect;queskindlist.datatextfield = kindname;queskindlist.datavaluefield = kindid;queskindlist.databind();rect.close();#region web form designer generated codeoverride protected void oninit(eventargs e)web form designer.initializecomponent();base.oninit(e);private void initializecomponent() #endregionprotected void addnewquestion_click(object sender, system.eventargs e)int npictureid = 0;questiondb question = new questiondb();if(quespicture.postedfile.contentlength 0)npictureid = uppicturefile(quespicture);decimal diffcult = decimal.parse(defficult.text.trim();string tempdiffcult = (100 * diffcult).tostring(); stringdiffcultstring=tempdiffcult.substring(0,tempdiffcult.indexof(.);question.addquestion(questitle.text,quesbody.text,int32.parse(diffcultstring),int32.parse(mark.text.trim(),int32.parse(queskindlist.selectedvalue),npicture id);response.write(alert(添加新的问题成功!);private int uppicturefile(htmlinputfile uploadfile)picturedb picture = new picturedb();int npictureid = 0;if(uploadfile.postedfile.contentlength 0)string filename = uploadfile.postedfile.filename.substring(uploadfile.postedfile.filename.lastindexof(),uploadfile.postedfile.filename.length - uploadfile.postedfile.filename.lastindexof();stringfiletime=datetime.now.year.tostring() + datetime.now.month.tostring() + datetime.now.day.tostring() + datetime.now.hour.tostring()+datetime.now.second.tostring()+datetime.now.minute.tostring()+ datetime.now.millisecond.tostring();filename = + filetime + getrandomint() + filename.substring(filename.indexof(.),filename.length - filename.indexof(.);if(file.exists(server.mappath(request.applicationpath) + uploadsfiles + filename) = false)tryuploadfile.postedfile.saveas(server.mappath(request.applicationpath) + uploadsfiles + filename);npictureid = picture.addpicture(,uploadsfiles+ filename);catch(exception ex)string srawurl = request.rawurl;if(srawurl.indexof(?) -1)srawurl = srawurl.substring(0,srawurl.indexof(?);response.redirect(/desktopmodules/errorpage.aspx?errorurl=+srawurl+&errormessage= + ex.message.replace(n, );elseresponse.write(alert(此文件已经存在,请重新命名你的文件!);elseresponse.write(alert(文件名和内容不能为空!);return(npictureid);private string getrandomint()random random = new random();return(random.next(10000).tostring(); 4.3系统关键部分测试分析系统完成之后,对各个模块的功能进行了详细的测试,输入数据和预测输出数据相比,发现了一些问题。主要是在查询过程中预计查询结果和实际结果不一致,有时候

温馨提示

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

评论

0/150

提交评论