




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WEB在线考试系统学生在线考试的实现摘要:信息化已经深入人们的生活,自动控制、无纸化自动办公、企业信息化、网上书店、网上娱乐等等都是信息化的产物。随着信息化的潮流,我们的教育也开始了信息化,几年来关于教育信息化的教研论文不计其数,这说明教育走向信息化是一个必然的过程,那么基于B/S模式下的考试系统正是这种思想的一个重要的体现,教育的信息化必然会出现无纸化的、远程的考试系统,他的出现体现了学校管理信息化,较大程度上减少了教育经费和教师的重复劳动,真正体现出信息化时代的特色和优点。关键字:考试系统 ASP.NET C# Abstract: Information has an in-depth peoples lives, automatic control, automatic paperless office, business information, online bookstores, online entertainment and so on are all a product of information technology. With the trend of information technology, education, we have begun to information, information on education over the past few years of teaching and research of numerous papers, indicating to information technology education is an inevitable process, based on B / S mode It is this thinking of the examination system is an important embodiment of the education of information bound to be paperless, remote examination system, he embodies the emergence of the school of information management, a larger extent, a reduction of expenditure on education and teachers The duplication of effort and really reflects the information age characteristics and advantages. Keyword: Examination System ASP.NET C#第一章 引言1.1开发在线考试系统的目的和意义信息技术通过几年的发展,现在中小学校基本具有计算机机房,中学生也已经掌握使用计算机的基本能力,信息技术管理正在学校教育中不断的规范化,在学校管理中有着举足轻重的地位,而作为考务管理和评卷阅卷上在中小学却未有多大变化,这是一种极不合理的现象。教育是一件脑力劳动的工作,因教材更新周期性比较长,并且变化并不大,而教师在积极收集有助于学生资料时却年复一年地忙碌于出同类同样的试题测试学生,不仅占用了教师大量的时间,更重要的是很多教师都在做着重复劳动。而在线考试系统能在这个问题上很大程度地有助于解决问题,并且现在有很多的在线考试方案已经有很多成功的案例走在前面,考试将走向网络化考试、无线化考试,这是符合信息发展要求的。而我所处的中学,师资力量紧张,信息技术、音、体、美等学科在人力上的投资更少,在考核考查上更是力所不能及,如果有一个智能化的考试系统,有助于学校对这些科目考核的管理,使学校规范化更上一层楼。因此,在选题上我选择了在线考试系统,在这个方案中,我采用的是B/S模试。 在Windows平台上,使用IE浏览器,完成试卷选择、考试、交卷等考试任务。还可以通过多媒体手段来完成监考。传统考试要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这个漫长而复杂的过程,全部简化为服务器后台工作,教师只要在监考和主观题型的评阅上做一点工作就可以了。相比传统的考试方式,基于WEB的在线考试系统的主要好处是一方面可以动态地管理各种考试信息,只要准备好足够大的题库,就可以按照要求自动生成各种试卷,即使为保证试题的时效性,也只要对题库中的试题做微小修改或更新即可;另一方面,考试时间灵活,可以在规定的时间段内的任意时间参加考试;另外计算机化的考试的最大特点是阅卷快,系统可以在考试结束时当场给出客观题考试成绩,计算机阅卷给了考生很大的公平感。1.2开发背景及系统开发环境随着计算机技术的发展及计算机的日益普及,基于WEB在线考试已成为大势所趋。基于WEB在线考试也越来越成为学校的好帮手,它的优势不但体现在人力上,也体现在物力上,基于WEB的在线考试系统的自动评阅、计分、成绩存档功能将有效地避免资源的浪费,减少重复劳动,有利于环保,减少人员,提高效率。近几年来,Internet出现了大量的在线考试系统。在线考试系统一般是应用ASP等软件开发出来的无纸化考试系统,具有良好的开放性,允许管理员对试题库进行管理与开发,有效地保证了题库的时效性,为便于考生直接进行考试,主要适用于各类主要采用客观性题型的考试。在线考试系统充分利用了B/S结构的特点,实现了将考试系统移植到Internet的功能,该系统的优势在于极大的简化了老师出题的工作。目前比较流行的两种网络开发模式分别是C/S模式与B/S模式,B/S模式通过进行通信,可以不受地域的限制,但他不能进行联机事务的处理,并且有大量数据处理的情况下,速度较慢。从目前的开发技来看Browser作为信息收集源,特别是大量的数据录入工作还不能完全取代Client端的用户界面。对于本在线考试系统,其功能目标是实现将现有的纸张答题式考试向基于Internet的无线纸张考试系统的转变,所以它必须实现整个考试流程的进行,实现对系统的管理,以及完成阅卷、评分这些环节和处理。由于系统数据收集的实时性要求并不高,因此采用B/S结构来进行设计是合理可行的。本方案采用ASP.NET技术开发基于WEB的在线考试系统,ASP.NET技术是Microsoft公司的产品,对Windows系统良好的支持,易于维护,符合现在中小学中普遍采用Windows系统的现状。ASP.NET具有良好的开发平台,在Visual Studio.Net中可以采用拖放控件的方式来实现,代码编辑也比较方便。本系统具有用户注册、多用户同时在线考试、考试时间控制、自动阅卷、题库维护、用户管理、分数管理等功能。本系统主要由用户注册模块、管理模块、在线考试模块组成。随机选题及自动评分的实现是本系统的关键。第二章 需求分析要实现一个软件系统,首先应该进行需求分析,这样才能令设计出的软件满足用户的各项功能。下面就对在线考试系统的设计进行需求分析。2.1 系统需要解决的主要问题首先,因为考试是面向特定的某些对象的,所以考试者进入系统应该进行身份验证。考试者进入考试系统后,应该能根据自己的需要选择考试科目,所以该系统还应具有考试科目选择的功能。在线考试于一般的单机考试是不同的。鉴于考试环境一般为机房,考试者之间的距离很近,为了在线考试做到规范,对于每个应试者来说,试卷的试题和题量都应是相同的,但试题并不相同。在线考试基于网络环境,试卷应该从服务器的数据库随机抽取试题后动态生成的。另外,系统还应该对考试时间进行控制,时间到了会要求考试者交卷。考试者选择答案提交后,应该由计算机自动判卷,得到成绩后显示出来。考试完毕后,可以返回登录界面或继续考试。此外,应该能够方便、快捷的对在线考试系统管理,此外,用户还应能进行远程注册。2.2 系统应该具备的基本功能用户登陆:用户通过用户名和密码进行登录。用户信息的管理:管理员可以增删用户试题库管理:可以增加、修改、删除试题。试卷生成:从试题库里随机抽取试题生成一份原始试卷。在线考试:系统严格控制整个考试过程,实行时间的监控与权限的控制,考生需要在限定的考试时间内交卷。 计算机自动阅卷:本系统只考虑客观题,要求计算机能自动阅卷,然后马上显示出考生分数。成绩查阅:考生考完以后,管理员应该能对所有纪录进行查询,并应该可以删除指定纪录。第三章 系统总体设计3.1基本简介该系统是专门用于用户注册、登录、参加在线考试以及管理员进行试题录入、修改、删除、成绩查询、管理用户的ASP.net应用程序。它应该具有开放性、方便性和灵活性。考生进行有效的身份验证登录后,要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提示。一旦考生做完交卷后便能立即看到自己的考试成绩,并且其分数将被记入库中以供审核和查阅;另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,而且,不同的考生生成的试题是不同的。3.2 运行环境与系统结构为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下:软件环境:客户端: Windows98/2000/XP,IE5.0以上服务器端:Windows NT/Windows2000,Windows 2000 Server,IIS 5.0及其以上版本。开发环境:.Net framework 2.0,Visual studio 2005数据库:采用SQL Server 2000,运行于服务器端。3.2 系统结构图根据需求分析,在线考试系统的结构图如下:在线考试系统系统管理在线考试成绩查询用户管理试题管理3.3 详细设计详细设计是整个设计过程中,最重要的步骤之一。而E-R图是对实体及联系的体现,系统的E-R图如下:管理查看查看管理抽取n学生教师试题成绩编号编号学号密码姓名编号密码姓名题目答案学号得分m1nnmnmnm下面就分如下几个部分对系统进行详细设计:(1)试题设计(2)数据库中表的设计(3)管理功能设计(4)功能模块详细设计。3.3.1试题设计鉴于主观题的主观性,目前无法实现系统自动判卷,所以本系统只作客观题部分。一般情况下,单选题往往在四个供选的答案A、B、C、D中选择唯一正确的答案;3.3.2数据库中表的设计1.question表结构通常,每一类型的试题都应有一个表结构。但考虑到目前系统存贮空间可以很大,也为了更加方便。我们采用把全部试题集中在一起的方案来建立数据表,每道客观题均有四个备选答案项,字段名一般是相应的英文单词。这样,查询起来较方便,会节约时间,也不致于造成数据十分杂乱等。详细设计如下表所示:question 表 字段名称类型说明ID自动编号常整型,递增,主键Question文本字段大小200A文本字段大小50B文本字段大小50C文本字段大小50D文本字段大小50Answer文本字段大小50hasselected文本字段大小8各字段说明:ID是问题的id号,用来唯一标志该问题,把它设为主键,类型为自动编号。Question字段为问题内容,类型为文本。A字段代表选项A的内容B字段代表选项B的内容C字段代表选项C的内容D字段代表选项D的内容Answer字段表示答案选项Hasselected字段表示是否已经选择过本题score表字段名称类型说明Studentname文本字段大小50Score数字常整型Id自动编号常整型,递增,主键Testtime日期/时间考生考试的时间各字段说明:studentname字段代表在某次考试记录中学生的名字。score字段为某次考试纪录中考试分数。id字段为某次考试纪录的标志号。Testtime字段代表考试的结束时间。student表结构student表字段名称类型说明Studentname文本字段大小50paw文本字段大小50各字段说明:studentname字段代表学生的名字。studentpassword字段代表密码。admin表结构admin表字段名称类型说明Name文本字段大小50Password文本字段大小50Id自动编号常整型,递增,主键各字段说明:name字段代表管理员的名字。password字段代表密码。id字段为管理员的标志号。3.3.3 用户、管理员权限管理员:在此系统中只有一个管理员,即系统管理员。具有一般用户所没有的权限,即具有管理一般用户、试题管理功能。一般用户:主要是指学校的学生和企事业单位的培训对象等3.3.4 功能模块详细设计下面,对各个功能模块分别进行详细讨论,具体情况见系统源程序。 管理模块管理员可以向题库中添加各种类型且符合要求的试题,也可以对它们进行修改和删除。同时,管理员也能对科目、用户、考试记录等数据进行管理。试题管理(1)试题录入首先,试题的录入是通过一个页面中的web服务器控件:GridView完成的。GridView控件是.net framework2.0新增加的一个数据绑定控件。它的功能比.net framework1.1中的DataGrid控件的功能进一步加强,并且效率也有所提高。(2)试题修改管理员还可以对试题进行修改。不过,对于各表中的主键不用修改,避免了造成系统中的数据混乱,或者覆盖其它有用数据的现象。如果用户执行了非法操作,则必须重新操作。对于对数据库数据的修改,在以前的asp页面中比较麻烦,要想修改一条记录,必须写很长的代码。在中,几乎可以不写一行代码,就可以对数据库记录进行修改。(3)试题删除管理员可以删除不再需要的试题。通过在每一条记录的后面放置一个button按钮并提示用户是否要删除,来完成试题的删除。3.用户管理管理员可以通过管理界面添加或删除用户。3.4.2在线考试模块进入在线考场是本系统最重要的部分之一。因为一个系统如果涉及到现实的话,就必须考虑得十分周到、完善。考生登录后,只要选择考试科目以后,就可以调出试卷进行在线考试。系统所选的题是随机选出的,这样就会使每个考生的试卷都不同。考生的其答题信息通过单选按钮选择答案来反映。考试结束采取自主交卷的方式办法予以实现。系统会在考试时间结束前1分钟提示考生交卷。 第四章 系统实现4.1总体概要在进行了整体设计以后,就开始进行详细的设计及编码工作。也就是设计文件和把他们有机地组织在一起实现所有功能。根据系统总体设计,首先系统要有一个登录界面,用户可以从该界面登录参加考试。管理员也应该有一个进入管理登录界面的通道。进入开始考试界面,由计算机随机提取试题,显示出来组成试卷,并开始进行计时。考生再次进行考试,答完试题后交卷,进入下一个界面。考生提交答卷后,由计算机进行处理-判卷,得出考试分数,显示出来,并把该生考试记录存入数据库。在这个界面上应该可以返回继续进行考试或回到登录界面。以上是系统进行考试功能的部分,要对系统进行管理,如试题管理、科目管理、用户管理等就需要设计一些管理界面。下面就来逐步进行设计。要进行管理首先要有管理员登陆验证,这里另外设计了一个界面,使它与用户登录区别开来。这个界面与用户登录界面表面上很相似,但是他们是从不同的表中提取数据进行验证的,以便于系统扩充和增加安全性。管理用户的界面可以实现用户的增加、和删除的功能,管理员在此可以对用户进行管理。管理管理员的界面,功能和管理用户的差不多,实现对管理员的增加和删除功能。管理考试纪录界面可以对考生的每次考试进行纪录,管理员科可以对考生成绩、时间及考试各相关纪录进行查询和删除。最后是试题库管理界面,它根据各科进行分类。通过这个界面管理员可以对题库中的某科试题进行增加、修改或删除。这样就十分方便灵活的对试题库进行管理。42配置数据库连接字符串为了方便数据库连接字符串的调用,把字符串放入Global.asax配置文件中,在程序启动时加载字符串,在其它页面需要调用时再从Application从调用读出。在Global.asax中定义一个string型的connectionstring,把连接的字串赋给它,再用Application.Add方法把它增加到程序中。void Application_Start(object sender, EventArgs e) / 在应用程序启动时运行的代码 string connectionstring = Data Source=(local);Initial Catalog=ExamDB;User ID=sa;Password=0210851; Application.Add(connectstring, connectionstring); 在其它页面需要时可用以下语句读取数据库连接字符串:string connectionString = (string)Applicationconnectstring;4.2 登录页面因为是html标记与脚本分成两个文件,这种方式有助于代码的编写及隐藏和页面的布局,所以在登录页面中也就有了两个文件Default.aspx和Default.aspx.cs。在Default.aspx中调用三个Lable标签,两个TextBox文本框和两个Button按钮,标签用来显示用户名和密码及输入错误提示信息,文本框用于记取用户输入的信息,并分别赋予变量username和password,按钮是分别进入学生考试和管理员管理界面的链接。为了验证输入的信息是否规范,例如不能为空等,特加入了两个验证控件,为验证用户是否为合法用户,在Default.aspx.cs中主要定义了两个事件,分别用于点击了学生考试和管理员管理时进行不同权限的验证。学生考试Button事件:protected void testlogbtn_Click(object sender, EventArgs e) string username = usernametxt.Text.Trim(); string password = pawtxt.Text.Trim(); string connecionstring = (string)Applicationconnectstring; SqlConnection conn = new SqlConnection(connecionstring); try bool flag = false; conn.Open(); string commandtext = select distinct * from student where studentname= + username + and paw= + password + ; SqlCommand checkcommand = new SqlCommand(commandtext, conn); SqlDataReader dr = checkcommand.ExecuteReader(); flag = dr.HasRows; if (flag) Session.Add(username, username); Session.Add(logintime, System.DateTime.Now.ToLongTimeString(); conn.Close(); Response.Redirect(test.aspx); else lblmessage.Text = 用户名或密码错误,请重新登陆!; usernametxt.Text = ; pawtxt.Text = ; catch (Exception err) Response.Write(err.Message); /Response.Redirect(error.aspx); finally if (conn.State = ConnectionState.Open) conn.Close(); 管理员管理Button事件: protected void adminlogbtn_Click(object sender, EventArgs e) string username = usernametxt.Text.Trim(); string password = pawtxt.Text.Trim(); string connecionstring = (string)Applicationconnectstring; SqlConnection conn = new SqlConnection(connecionstring); try bool flag = false; conn.Open(); string commandtext = select distinct * from admin where name= + username + and password= + password + ; SqlCommand checkcommand = new SqlCommand(commandtext, conn); SqlDataReader dr = checkcommand.ExecuteReader(); flag = dr.HasRows; if (flag) Session.Add(username, username); Session.Add(logintime, System.DateTime.Now.ToLongTimeString(); Session.Add(role, adminstrator); conn.Close(); Response.Redirect(manage.aspx); else lblmessage.Text = 用户名或密码错误,请重新登陆!; usernametxt.Text = ; pawtxt.Text = ; catch (Exception err) Response.Write(err.Message); /Response.Redirect(error.aspx); finally if (conn.State = ConnectionState.Open) conn.Close(); 事件的实现方法事件在点击时发生,首先在Session中验证用户是否登录过,如果没有,则读取数据库Admin或student中的数据,进行比较,如果相同就行考试或管理,并把信息存入Session中。4.3考试页面考试页面的功能是让学生登录后能抽题考试、交卷和退出考试。布局简单,所抽的题目都通过Gridview列出行,几个答案选择项可以通过绑定和关联来实现:asp:Label ID=AnswerA runat=server Text=)。关键在于test.aspx.cs,文件中代码的编写,具体实现参见代码中的注释。using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.Sql;using System.Data.SqlClient;public partial class test : System.Web.UI.Page int numberofti = 11;/生成试题的数量 int testlist;/存放10个随机数的整型数组 DataTable Test = new DataTable();/用于存放随机抽取的试题; SqlConnection conn;/数据库连接 protected string userselect = new string10;/考生选择的答案 protected string trueanswer = new string10; /该题正确的答案 protected void Page_Load(object sender, EventArgs e) lblname.Text = (string)Sessionusername; lbllogintime.Text = (string)Sessionlogintime; Button1.Visible = false; /生成10个随机整数,并存放于数组中 protected void btnbegin_Click(object sender, EventArgs e) testlist = new intnumberofti; string connecionstring = (string)Applicationconnectstring; conn = new SqlConnection(connecionstring); string commandtext = select count(id) from question; SqlCommand comm = new SqlCommand(commandtext); comm.Connection = conn; SqlDataAdapter da = new SqlDataAdapter(commandtext, conn); DataTable dt_rowcount = new DataTable(rowcount); da.Fill(dt_rowcount); int rows = int.Parse(dt_rowcount.Rows00.ToString(); for (int i = 0; i numberofti; i+) int temp = GetNumber(rows); while (ArrayHasItem(testlist, temp) temp = GetNumber(rows); testlisti = temp; SqlConnection newconn = new SqlConnection(string)Applicationconnectstring); SqlCommand newcomm = new SqlCommand(); newcomm.Connection = newconn; newconn.Open(); for (int x = 0; x numberofti; x+) newcomm.CommandText = CreateSQL(testlistx.ToString(); newcomm.ExecuteNonQuery();/把数组里每一个题的ID所对应的标志位置为1,表示该题已经选上 da = new SqlDataAdapter(select * from question where hasselected=1, conn);/选择题目 da.Fill(Test);/把选择的题目放入DataTable newcomm.CommandText = update question set hasselected=0 where hasselected=1;/把已经选择的题目的标志位置为0,以便下次再选 conn.Open(); newcomm.ExecuteNonQuery(); conn.Close(); GridView1.DataSource = Test; GridView1.DataBind(); Button1.Visible = true; int number = Test.Rows.Count; /按照随机数组里的ID号,抽取试题 private DataTable GetTestTittle(int temarray) DataTable testTable = new DataTable();/存放试题的表 DataTable temptable = new DataTable(); SqlDataAdapter odap = new SqlDataAdapter(select top 30 * from question, conn); SqlCommand cmdselect = new SqlCommand(); odap.Fill(testTable); return testTable; /根据每一个ID号生成SQL语句 private string CreateSQL(string id) return update question set hasselected=1 where id= + id; /得到随机数 private int GetNumber(int maxvalue) Random rd = new Random(DateTime.Now.Second); int result = rd.Next(maxvalue + 1); if (result = 0) result = 1; return result; /判断一个整数数组里面是否包括
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年炼钢设备操作知识中级考试热点梳理与预测题
- 2025年炼钢工中级考试模拟题与答案
- 2025年财务管理专业考研冲刺题库
- 2025年建筑工程设计师专业能力提升训练题集
- 电力变压器基础知识培训课件
- 2025年大学英语四六级考试CET6听力突破技巧
- 2025年教育机构销售代表招聘笔试模拟题集及解析
- 2025年边防军事技能模拟考试题库及答案
- 2025年特岗教师招聘面试辅导初中地理考点详解
- 电伤基本知识培训内容课件
- 2025秋苏教版(2024)小学科学二年级上册(全册)课时练习及答案(附目录)
- 巡察整改工作课件模板
- 2025年事业单位工勤技能-河南-河南农机驾驶维修工一级(高级技师)历年参考题库含答案解析(5套)
- 医务人员职业道德准则理论试题
- 2025年幼儿园教师岗位聘任协议(含资格认证及薪酬激励)
- 成都东部集团有限公司招聘考试真题2024
- 银行收息管理办法
- 海外房产投资项目方案(3篇)
- 消防员心理健康课件
- 2025年煤炭矿山职业技能鉴定考试-综采考试历年参考题库含答案解析(5套100道单选题合辑)
- 2024年中级注册安全工程师《安全生产技术基础》考试真题及答案
评论
0/150
提交评论