版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE17毕业论文在线考试系统(OnlineTestSystem)摘要:本在线考试系统是利用微软最新的.net平台并用B/S结构的模式和ACCESS数据库编写的网络应用程序。它有应用简单、升级和部署方便、扩展性强等特点。满足任何授权的考生随时随地考试并迅速获得成绩,由于时间紧张,美工方面并没有下太多功夫,只是实现功能而已,界面看起来有些单调,并且现在只能对一科进行考试,没有增加科目的管理,请指导老师理解。前言随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,这就给软件设计人员提出了更高的设计要求。远程教育包括很多环节,例如教学系统、答疑系统和考试系统等等。其中很重要的一个环节就是在线考试系统,同时它也是最难实现的环节。在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。例如目前许多国际著名的计算机公司所举办的各种认证考试绝大部分采用这种方式。在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的局限。一个完备的在线考试系统可以使用户在网上学习过后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!目前,网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是WebServer,而WebServer与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、企业的MIS系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。另外,考试系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。基于上述考虑,用Browser/Web模式来设计考试系统比较合适,服务器端我们采用Access数据库系统和微软最新的.net平台及ASP.net技术来构成考试的应用服务系统;客户端采用浏览器来完成考试全过程,同时可进行远程系统维护和管理。第一章相关知识介绍该在线考试系统主要采用MFramework、Access数据库、C#语言、SQL以及Visualstudio2005等技术和工具,整体设计遵循软件工程的方法,经过需求分析、总体设计、文档和代码的编制、模块测试和系统实现几个阶段。Asp、A和.NetframeworkAsp是ActiveServerPage的英文缩写。是微软开发的一种服务器端技术从字面上说,ASP包含三方面含义:
1、Active:ASP使用了Microsoft的ActiveX技术。ActiveX(COM)技术是现在Microsoft软件的重要基础。它采用封装对象,程序调用对象的技术,简化编程,加强程序间合作。ASP本身封装了一些基本组件和常用组件,有很多公司也开发了很多实用组件。只要你可以在服务器上安装这些组件,通过访问组件,你就可以快速、简易地建立自己的WEB应用。
2、Server:ASP运行在服务器端。这样就不必担心浏览器是否支持ASP所使用的编程语言。ASP的编程语言可以是VBSCRIPT和JSCRIPT。VBSCRIPT是VB的一个简集,会VB的人可以很方便的快速上手。然而Netscape浏览器不支持客户端的VBSCRIPT,所以最好不要在客户端使用VBSCRIPT。而在服务器端,则无需考虑浏览器的支持问题。Netscape浏览器也可以正常显示ASP页面。
3、Pages:ASP返回标准的HTML页面,可以正常地在常用的浏览器中显示。浏览者查看页面源文件时,看到的是ASP生成的HTML代码,而不是ASP程序代码。这样就可以防止别人抄袭程序。
由此我们可以看出,ASP是在IIS下开发WEB应用的一种简单、方便的编程工具。在了解了VBSCRIPT的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。A并不是ASP的简单的升级,它是.netFramework的一部分,而.netFramework是微软.net平台的一个重要的组成部分,它是一组用于程序开发的类库,这个类库的规模相当庞大,并且还在不断的更新中。几乎可以胜任任何程序的开发。而且.net是可以跨平台的,用它编写的程序不用重写就可以在不同的平台下运行,就像java应用程序一样。这也是微软用.net平台与JAVA抗衡的一大优势。A是建立在通用语言运行时刻库(CLR)上的应用程序框架。他用来在服务器端构建功能强大的web应用程序。A提供了几个超越以前web开发模式的优点:·增强的性能。A是运行在服务器端的编译后的CLR代码,而不是像ASP那样解释执行。A利用提前绑定,即时编译,本地优化和缓存服务来提高性能。所有这一切,性能远远大于你以往写的每一行代码。·世界级水平的开发工具支持。在VisualS的集成开发环境(IDE)中,A框架由丰富的工具箱和设计器组成。所见即所得的(WYSIWYG)编辑方式、拖放服务器控件、以及自动部署,仅仅是这一强大工具所提供的一少部分功能。·强大而富有弹性。由于是基于CLR(公共语言运行库)的,因此整个.net平台的强大和富有弹性,同样可以应用于web应用程序开发者。.net框架的类库、消息以及数据访问解决方案,都可以无缝集成到web。A也是语言中立的,因此你可以选择你最熟悉的语言,或者通过几种语言来共同完成一个应用。而且,CLR的互用性可以保证你升级到asp.ent的时候,现存的基于COM的开发投资依然保留。·简单。A使执行常用的工作变得很容易,比如从简单的表单提交、客户端验证,到部署和站点配置。例如,允许你建立用户接口,实现页面和逻辑代码的分离,同时,就像vb的表单执行模式那样来处理事件(也就是说,由页面驱动模式变成了事件驱动模式)。此外,CLR简化了部署,用来管理代码服务,例如自动参照和垃圾回收。·易于管理。A使用一个基于文本的、分层次的配置系统,它简化了服务器端环境和web应用程序的设置。由于配置信息用纯文本格式保存,新的设置不需要本地管理工具的支持。这种“零本地支持”的理念也同样应用到了部署应用程序。A应用程序部署到服务器,简化为复制必要的文件到服务器。在部署,甚至替换正在运行的变异代码的时候,也不需要重新启动服务器。·可伸缩性和有效利用性。A被设计成可伸缩的,能为集群和多处理器环境设计提高性能。而且,运行时刻密切监视和管理进程,这样,如果发生了错误的行为,例如漏洞和死锁,新的进程会在当前位置建立,来帮助你的应用程序继续处理事件请求。·可订制和扩展。A提供一种良好的扩充结构,允许开发者在适当的级别“插入”他们的代码。事实上,使用自己的编写的组件可以扩展或者替换运行时刻的任何子组件。执行自定义验证或状态服务变得前所未有的容易。ASP.net是M的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。C#语言与VisualStudio2005C#是一种简单、现代、面向对象和类型安全的编程语言,由C和C++发展而来。C#(发音为“C霎普”)牢固地植根于C和C++语言族谱中,并且会很快被C和C++程序员所熟悉。C#的目标在于把VisualBasic的高生产力和C++本身的能力结合起来。C#作为MicrosoftVisualStudio的一部分提供给用户。除了C#以外,VisualStudio还支持VisualBasic、VisualC++和描述语言VBScript和Jscript。所有这些语言都提供对Microsoft.NET平台的访问能力,它包括一个通用的执行引擎和一个丰富的类库。Microsoft.NET平台定义了一个“通用语言子集”(CLS),是一种混合语言,它可以增强CLS兼容语言和类库间的无缝协同工作能力。对于C#开发者,这意味着既是C#是一种新的语言,它已经可以对用老牌工具如VisualBasic和VisualC++使用的丰富类库进行完全访问。C#自己并没有包含一个类库。VisualStudio2005是微软开发的visualstudio系列开发工具的最新版本,微软公司在2005年12月初发布新一代企业级应用开发平台.NETFramework2.0和开发工具VisualStudio2005。现代信息部门的开发团队必须因应高度竞争的商业环境,快速进行应用软件系统的设计、开发、测试以及部署带领企业赢得市场。大部分的软件开发团队,都面临以下几项挑战:开发团队间的沟通困难,开发工具形形色色,分散且难以互相整合开发程序、开发标准难以建立。MicrosoftVisualStudio2005开发工具系列,有许多令人期盼已久的强化功能,提供更高的程序开发效率、更精简的程序代码、与更佳的安全性。包括.NETFramework2.0、ASP.NET2.0、64-bit程序开发支持、新的WindowsForm程序设计、以及对行动装置解决方案的全新开发支持。数据源:Access数据库Access是微软Office中一个极为重要的组成部分。起初Access是一个单独的产品,后来微软发现如果将Access捆绑在office中一起发售,将会带来更加可观的利润,于是Access第一次出现在office97中,成为office中的一个重要成员。现在它已经成为Office中不可缺少的部件了。由于微软公司投入大量人力和资金进行技术改进和创新,Access的新版本功能已经变得越来越强大。随着版本的升级,Access的使用也变得越来越容易。以往很繁琐的工作现在只需几个很简单的步骤就可以高质量地完成了。很多人都误以为Access只能用来做数据存储,其实Access不但能用来做数据存储,还具有非常强大的前台界面开发功能,利用各种控件和VBA语言,能开发出功能十分强大的软件系统,与此同时,廉价,易用更是其他任何开发工具所不能比拟的。因此人们可以利用它来解决大量的数据管理工作。第二章需求分析要实现一个软件系统,首先应该进行需求分析,这样才能令设计出的软件满足用户的各项功能。下面就对在线考试系统的设计进行需求分析。2.1系统需要解决的主要问题首先,因为考试是面向特定的某些对象的,所以考试者进入系统应该进行身份验证。考试者进入考试系统后,应该能根据自己的需要选择考试科目,所以该系统还应具有考试科目选择的功能。在线考试于一般的单机考试是不同的。鉴于第三章系统总体设计3.1基本简介该系统是专门用于用户注册、登录、参加在线考试以及管理员进行试题录入、修改、删除、成绩查询、管理用户的ASP.net应用程序。它应该具有开放性、方便性和灵活性。考生进行有效的身份验证登录后,要求在规定的时间内进行答题,当达到规定的时间后,系统将自动予以提示。一旦考生做完交卷后便能立即看到自己的考试成绩,并且其分数将被记入库中以供审核和查阅;另外,还可完全由计算机自动灵活、随机的抽取试题库中的各类试题组成各种形式的试卷,其内容会随着库中试题的改变而改变,而且,不同的考生生成的试题是不同的。3.2运行环境与系统结构为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下:☆软件环境:客户端:Windows98/2000/XP,IE5.0以上服务器端:WindowsNT/Windows2000,Windows2000Server,IIS5.0及其以上版本。开发环境:.Netframework2.0,Visualstudio2005,MDAC2.7数据库:采用access,运行于服务器端。☆硬件环境:服务器CPU:PIII500以上,内存:256M以上客户机CPU:P200MMX以上,内存:32M以上3.2系统结构图根据需求分析,在线考试系统的结构图如下:在线考试系统在线考试系统成绩查询系统管理成绩查询系统管理在线考试在线考试试题管理用户管理试题管理用户管理3.3详细设计3.3.1试题设计3.3.2数据库中表的设计3.3.3用户、管理员权限3.3.4功能模块详细设计管理模块第四章系统实现在进行了整体设计以后,就开始进行详细的设计及编码工作。也就是设计文件和把他们有机地组织在一起实现所有功能。根据系统总体设计,首先系统要有一个登录界面,用户可以从该界面登录参加考试。管理员也应该有一个进入管理登录界面的通道。进入开始考试界面,由计算机随机提取试题,显示出来组成试卷,并开始进行计时。考生再次进行考试,答完试题后交卷,进入下一个界面。考生提交答卷后,由计算机进行处理--判卷,得出考试分数,显示出来,并把该生考试记录存入数据库。在这个界面上应该可以返回继续进行考试或回到登录界面。以上是系统进行考试功能的部分,要对系统进行管理,如试题管理、科目管理、用户管理等就需要设计一些管理界面。下面就来逐步进行设计。要进行管理首先要有管理员登陆验证,这里另外设计了一个界面,使它与用户登录区别开来。这个界面与用户登录界面表面上很相似,但是他们是从不同的表中提取数据进行验证的,以便于系统扩充和增加安全性。管理用户的界面可以实现用户的增加、和删除的功能,管理员在此可以对用户进行管理。管理管理员的界面,功能和管理用户的差不多,实现对管理员的增加和删除功能。管理考试纪录界面可以对考生的每次考试进行纪录,管理员科可以对考生成绩、时间及考试各相关纪录进行查询和删除。最后是试题库管理界面,它根据各科进行分类。通过这个界面管理员可以对题库中的某科试题进行增加、修改或删除。这样就十分方便灵活的对试题库进行管理。参考文献:《ASP.NET1.1高级编程》作者:AlexHomerDaveSussman清华大学出版社《数据库技术》作者:罗晓沛华中理工大学出版社MSDN部分文章部分代码:usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Collections;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Web.UI.HtmlControls;usingSystem.Data.OleDb;publicpartialclasstest:System.Web.UI.Page{intnumberofti=11;//生成试题的数量int[]testlist;//存放10个随机数的整型数组DataTableTest=newDataTable();//用于存放随机抽取的试题;OleDbConnectionconn;//数据库连接protectedstring[]userselect=newstring[10];//考生选择的答案protectedstring[]trueanswer=newstring[10];//该题正确的答案protectedvoidPage_Load(objectsender,EventArgse){lblname.Text=(string)Session["username"];lbllogintime.Text=(string)Session["logintime"];Button1.Visible=false;}///<summary>///生成10个随机整数,并存放于数组中///</summary>///<paramname="sender"></param>///<paramname="e"></param>protectedvoidbtnbegin_Click(objectsender,EventArgse){testlist=newint[numberofti];stringconnecionstring=(string)Application["connectstring"];conn=newOleDbConnection(connecionstring);stringcommandtext="selectcount(id)fromquestion";OleDbCommandcomm=newOleDbCommand(commandtext);comm.Connection=conn;OleDbDataAdapterda=newOleDbDataAdapter(commandtext,conn);DataTabledt_rowcount=newDataTable("rowcount");da.Fill(dt_rowcount);introws=int.Parse(dt_rowcount.Rows[0][0].ToString());for(inti=0;i<numberofti;i++){inttemp=GetNumber(rows);while(ArrayHasItem(testlist,temp)){temp=GetNumber(rows);}testlist[i]=temp;}OleDbConnectionnewconn=newOleDbConnection((string)Application["connectstring"]);OleDbCommandnewcomm=newOleDbCommand();newcomm.Connection=newconn;newconn.Open();for(intx=0;x<numberofti;x++){newcomm.CommandText=CreateSQL(testlist[x].ToString());newcomm.ExecuteNonQuery();//把数组里每一个题的ID所对应的标志位置为1,表示该题已经选上}da=newOleDbDataAdapter("select*fromquestionwherehasselected='1'",conn);//选择题目da.Fill(Test);//把选择的题目放入DataTablenewcomm.CommandText="updatequestionsethasselected='0'wherehasselected='1'";//把已经选择的题目的标志位置为0,以便下次再选conn.Open();newcomm.ExecuteNonQuery();conn.Close();GridView1.DataSource=Test;GridView1.DataBind();Button1.Visible=true;intnumber=Test.Rows.Count;}///<summary>///按照随机数组里的ID号,抽取试题///</summary>///<paramname="temarray"></param>///<returns></returns>privateDataTableGetTestTittle(int[]temarray){DataTabletestTable=newDataTable();//存放试题的表DataTabletemptable=newDataTable();OleDbDataAdapterodap=newOleDbDataAdapter("selecttop30*fromquestion",conn);OleDbCommandcmdselect=newOleDbCommand();odap.Fill(testTable);returntestTable;}///<summary>///根据每一个ID号生成SQL语句///</summary>///<paramname="id"></param>///<returns></returns>privatestringCreateSQL(stringid){return"updatequestionsethasselected='1'whereid="+id;}///<summary>///得到随机数///</summary>///<paramname="maxvalue">随机数的最大值</param>///<returns></returns>privateintGetNumber(intmaxvalue){Randomrd=newRandom(DateTime.Now.Second);intresult=rd.Next(maxvalue+1);if(result==0)result=1;returnresult;}///<summary>///判断一个整数数组里面是否包括一个整数///</summary>//
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 提前终止银行贷款合同版本
- 2025年咸宁货运从业资格证模拟考试系统
- 2025年锡林郭勒盟货运资格证培训考试题
- 2025年天津货运从业资格证考试题目答案
- 2025年上海货运从业考试试题题库及答案
- 有关祖国在我心中演讲稿范文集合十篇
- 建筑工程节能系统施工合同范本
- 建筑供电设备租赁合同
- 殡葬服务场所租赁合同协议范本
- 特种货车租赁合同模板
- 商场用电安全培训
- 开题报告:职普融通与职业教育高质量发展:从国际经验到中国路径创新
- 变、配电站防火制度范文(2篇)
- 九年级上册人教版数学期末综合知识模拟试卷(含答案)
- 重大版小英小学六年级上期期末测试
- 微积分知到智慧树章节测试课后答案2024年秋铜陵学院
- 金融科技UI设计
- 《头脑风暴》课件
- 安全生产知识考试题库(有答案)-安全考试题库
- 人教版(2024)八年级上册物理第六章 质量与密度 单元测试卷(含答案解析)
- 会计助理个人年终工作总结
评论
0/150
提交评论