基于.NET的高校在线考试系统毕业设计论文_第1页
基于.NET的高校在线考试系统毕业设计论文_第2页
基于.NET的高校在线考试系统毕业设计论文_第3页
基于.NET的高校在线考试系统毕业设计论文_第4页
基于.NET的高校在线考试系统毕业设计论文_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、基于.net的高校在线考试系统二级学院: 信息工程学院 专业班级: 计算机科学与技术专升本班 学 号:姓 名: 金焰 指导教师: 丁勇 云南工商学院2014年 11月基于.net的高校在线考试系统摘要 现在计算机和计算机网络技术为主的信息技术在教育教学的各方面都得到广泛的应用。跟随着信息化建设的发展、广泛普及以及社会的发展,在线考试系统已成为一种节省人力物力,节省资金费用,节省时间空间的一种方便快捷的考试模式。现在在线考试系统的一个发展趋势是采用大量试题库的计算机网络考试模式,由计算机出题,计算机考试来代替传统的人工监考,人工阅卷,因此,如何使考试过程以及善后工作变得

2、方便、高效、快捷、公正。在线考试系统的总体目标就是要创建管理服务型学校,加强对高校教育教学工作的有效监管,提高学校的培育学生的科学的决策能力,尤其是西方发达国家高校把信息化系统建设的重点放在面向学生的服务。不仅仅是高校,社会上的各类考试,也开始使用在线考试系统来作为考试工具,这样做无疑体现了考试信息的民主性、公开性。但在我国,中部、西部地区与东部地区差距任然存在。领先高校的考试系统多分布在东部,但中西部优秀的在线考试系统数量也出于上升趋势。评估结果显示东部地区高校的在线考试系统平均绩效指数为0.46.而中西部地区的平均指数为0.28和0.22。所以出于西部的我们当代大学生,有责任也有义务减小这

3、种差距。关键词 题库 阅卷 成绩分析online examination system design and implementationabstract now in computer science, information technology and computer network technology in the education teaching all aspects are widely used. along with the development of informatization construction, widespread popularization a

4、nd the development of the society, online examination system has become a kind of save manpower, save money, save time space a convenient test mode. now a development trend of online examination system is to use a large number of test mode of computer network test, title by computer, the computer te

5、st instead of the traditional artificial supervise, manual marking, therefore, how to make the test process and the aftermath is becoming convenient, efficient, fast and fair. online examination systems overall goal is to create a service-oriented school management, to strengthen the effective regul

6、ation of education teaching work in colleges and universities, improve school of cultivating the students ability of scientific decision, especially the western developed countries put the focus of the information system construction in colleges and universities for students services. colleges and u

7、niversities, is not only the society of all kinds of test, also began to use the online examination system to as test tools, do no doubt reflected the test information of democracy and openness. but in our country, central and western regions and eastern gap still exists. examination system more dis

8、tribution of leading universities in the east, but the midwest excellent online examination system and the number of rising trend. evaluation results show that the online examination system of colleges and universities in an average performance index of 0.46, and average of 0.28 and 0.28 of the uppe

9、r midwest. so out of western contemporary college students, we have a responsibility also have an obligation to reduce this gap. keywords item bank marking results目录第一章 绪论61.1 引言61.2 目的和意义61.3 系统设计思想7第二章 在线考试系统的可行性分析82.1 可行性分析的目的82.2 经济可行性分析82.3 技术可行性分析82.3 运行可行性分析92.4 本章小结9第三章 在线考试系统的需求分析103.1 需求分析

10、103.2 在线考试系统的架构分析113.3 系统模块分析123.4 流程设计15第四章 在线考试系统的数据库设计164.1 数据库设计背景164.2 数据库结构设计164.2.1 概念结构设计164.5.2 表实体e-r图164.5.3 数据表的结构设计18第五章 在线考试系统的实现215.1 运行平台简介215.2 开发工具简介215.3 总体架构的实现225.2 数据库公共类的实现225.3 登陆窗体的实现235.4 主界面的实现255.4 考试界面的实现27第六章 在线考试系统的系统测试316.1 测试概述316.2 系统测试316.2.1 登陆测试316.2.2 考试操作测试336.

11、2.3 试题导入操作测试336.3 测试总结34致谢35参考文献36第一章 绪论1.1 引言当人类社会进入20世纪90年代,信息化的浪潮席卷全球。面对全球计算机信息化的迅猛发展,计算机硬件技术已经达到了不错的水平,可是计算机软件的水平相比于硬件就是逊色不少。特别在我国西部等地区,软件开发的概念还十分的模糊,基本处于刚刚开始的起步阶段,随着计算机技术的深入发展,需要一个更好的,更完善的在线考试系统应用到远程教育就成为我们计算机软件系的大学生追求的方向和目标。在线考试系统作为一种新型的考试管理形式,是信息时代网络信息技术和学校管理形式共同发展相互促进的结果,是一场学校管理领域的革命性变化。从西方发

12、达国家的经验来看,在线考试系统的出现,加强了学校的管理力度。在节约人力、物力的前提下,提高了考试质量,使得考试变成了一项简单快捷的事情。使得考试的成本得到大幅降低。从另外一个角度来说,在线考试系统对于学生的学习也是十分有利的。在线考试系统不但可以对学生的知识掌握水平进行测试、评分,同时学生还可以通过该系统对已学知识进行有效的复习,加强知识掌握的牢固程度,从而大大提高学习效率。1.2 目的和意义在当今这种信息化高度发达的社会,很多领先企业已经开始加快信息化建的的步伐,在这种大环境的影响下,很多高校也开始注重学校的信息化建设,把原来一个一个繁琐的工作交给了计算机来完成,使得学生可以足不出户便可以完

13、成很多原来要去排队等候并且还需要购买很多如笔、纸等工具的工作。在线考试系统的诞生,使得学生能够更科学更有效的展示自己所学到的知识,同时使得学校的考试更加的规范化。大大减少传统考试的很多弊端,如相互抄袭,夹带纸条等等考试作弊行为。同时也大大减少了资源的浪费如试卷的纸张等。这些无形之中就加强了学校的教育教学质量。1.3 系统设计思想一个优秀的在线考试系统应该具有友好可靠的运行界面,高效的且稳定的运行速度以及安全的检测限制功能。所以结合上述特点,我选用c/s作为系统结构,c/s架构的有点在于它是客户端和服务器的模式,这种模式可以有效的利用客户机的处理能力,同时降低对服务器资源的开销。所以这种模式对于

14、在线考试系统的运行速度需求得到了很好的处理。同时由于客户端的模式避开了很多浏览器有的安全漏洞,同时也挣脱了浏览器的功能限制,使得该系统在安全性方面得到了有效的保障。本系统是基于.net框架下开发的信息系统,.net framework是支持生成和运行下一代应用程序和xml web services的内部windwos组件。其宗旨是要提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行,都在internet上分布。.net framework具有两个主要组件:公共语言运行库和.net framework类库。公共语言执行库是.net framework的基础。可以看

15、作一个在执行时管理代码的代理,它提供内存管理、在线管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。事实上,代码管理的概念是运行库的基本原则。以运行库为目标的代码成为托管代码,而不是以运行库为目标的代码成为非托管代码。.net framework的另一个主要组件是类库,它是一个综合性的面向对象的可重用类型的集合,我们可以使用它开发多种应用程序,这些应用程序也包括传统的命令行或图形用户界面(gui)应用程序,也包括基于asp.net所提供的最新创新的应用程序。第二章 在线考试系统的可行性分析2.1 可行性分析的目的在线考试系统的一个主要目的在于

16、节省学校的资源成本,但是若该系统本身耗资较高则失去了开发此系统的意义。再则,由于在线考试系统的安全性、稳定性、高效行要求很高,对于技术可行性分析也是必不可少的,只有做好了全面的技术可行性分析,才能够在开发时期保证系统顺利的完成。同时基于在开发前对系统的比较完整的分析的基础上,对于系统的开发是否拥有可能性和必要性,才能够避免失误。所以可行性分析的目的在于在开发之前用较小的成本和资源,利用较短的时间来确定系统是否合理,工期是否可以得以顺利完成,问题是否能够得以解决。2.2 经济可行性分析对于经济可行性的分析主要的分析项目是对开发系统的经济开支与收益情况进行分析,对系统开发的经费做出评估与预算。但是

17、由于该系统是一个毕业设计的项目,所以在经费预算上,几乎不需要任何费用,所以对于系统的开发成本几乎是可以忽略不计的。但是如果该系统在开发完成之后,学校正式开始使用该系统的话,对于学校的人力资源费用如:监考老师可从两人降低至一人,无需阅卷老师等等。对于学校的物资经费如:考试使用的纸张可以全部省略。所以该系统在经济可行性分析中,是完全可行的。2.3 技术可行性分析对于技术可行性分析主要是针对系统在开发者技术,软、硬件是否满足实际需要等等。该系统采用的是较新版本的visual studio 2012作为开发工具,数据库使用的是sql server2010。这两个开发工具都是微软的产品,在开发中,对于系

18、统与数据库之间的数据传输以及安全性上都能够做到完美的融合。而且sql server数据库能够处理较大的数据量,对于各种大量题库的存储提供了先决条件。加上基于.net对于windows操作系统的完美兼容,使得系统在windows操作系统上使用起来十分灵活,同时由于.net本身的先进性,对于安全性方面十分可靠。操作系统选用windows,使得操作界面十分符合大多数人的习惯,因此使得系统的易用性极高。所以技术可行性上是可行的。2.3 运行可行性分析由于该系统是为了节省学校教学开销,同时提升学校教育教学效率为目的的,所以得到了院系的领导还有老师的大力支持。该系统是基于云南工商学院的环境而开发的,由于云

19、南工商学院现存的管理制度和教育教学方法的合理科学,同时加上校纪校规的齐全,使得数据完整,需求明了。所以运行可行性分析上,也是可行的。2.4 本章小结综上所述,本系统从经济、技术、应用等方面分析来看,具有完备成熟可靠的技术手段,同时具有学校的环境支持,使得该系统具有相当好的开发前景。第三章 在线考试系统的需求分析3.1 需求分析在系统开发过程中,我将系统分为以下内容:(1) 题库管理:用户可以利用excel进行题库的批量导入。同时,也可以对题库进行单题的增、删、改。(2) 题库查询:如果是管理员的权限,也可以对题库进行查询所有,或进行条件查询。(3) 自动评分:当考试完毕,考生提交试卷后,系统会

20、自动评阅试卷,并给予打分,分数可以配置为当场公布或通知公布。(4) 考生信息管理:考生可以对自己的个人信息进行增、改、查操作,管理员除了考生有的操作以外,还可以对考生的信息进行删除操作。(5) 考生成绩维护:系统会对考生的成绩进行统计和汇总,若是管理员权限,则可以对成绩进行增、删、改、查操作。(6) 考试时时管理:在考试进行过程中,系统会自动帮助考生统计未做完的考题,同时对考试进行计时,当考试时间结束时,系统会自动提交考生的试卷。3.2 在线考试系统的架构分析在线考试系统分为两个部分,管理员界面和考生界面。由于每种权限的功能的不同,所以在用户登录时系统会自动判断用户的选线,并进入不同的界面,但

21、客户端是同一个。管理员权限主要负责题库的录入,对试题的管理,对题型的管理以及考生分数的修正等。考生权限进入系统后,能够录入自己的信息,选择考试科目,并开始考试。对于每个考生来说,题库和题量是相同的,但每次随机抽取的题目以及顺序不同,而且每个考生只能抽取一次试题。考试结束后,由系统自动评分并将学生信息、考试科目以及考生成绩进行入库操作。之后考生退出系统。本系统是以windows系统作为平台,并在framework 4.5环境下运行。系统er图:图3-1 系统e-r图3.3 系统模块分析这个系统分为:考生考试模块、管理员题库管理模块、随机试题模块、自动阅卷模块四个模块。系统功能模块图:图3-2 系

22、统功能模块图学生用例图:图3-3 学生用例图管理员用例图:图3-4 管理员用例图3.4 流程设计在线考试系统的业务流程图如图2-5所示:图3-5系统流程图第四章 在线考试系统的数据库设计4.1 数据库设计背景对于在线考试系统来说,后台的数据库操作可以说是系统的驱动,因此数据访问对于在线考试系统来说非常重要。而ado.net是.net框架下的一种新的数据库访问变成模型,是一组处理数据的类,它用于实现数据库中数据的交互,同时提供对xml的强大支持。在ado.net中,使用的是数据存储的概念,而不是数据库的概念。简而言之,ado.net不但可以处理数据库中的数据,而且还可以处理其他数据存储方式中的数

23、据。对于数据库的选择而言,microsoft sql server可以做到与ado.net的更紧密的连接。使得数据库的数据源与oledb和xml公开的数据源的访问一致。在版本方面,我选择了较新的版本sql server 2010作为数据库版本。4.2 数据库结构设计4.2.1 表实体e-r图管理员实体e-r图:图4-1学生信息实体e-r图:图4-2试题信息实体e-r图:图4-3试题信息实体e-r图:图4-44.5.3 数据表的结构设计表4-1管理员信息表列名含义类型长度缺省值是否为空adminid管理员编号int4无否adminname管理员名字varchar10无否adminpwd管理员密码

24、varchar200无否adminphone管理员电话varchar11无否表4-2学生信息表列名含义类型长度缺省值是否为空stuid学号int4无否stuname学生姓名varchar10无否stupwd学生密码varchar200无否grade所在年级varchar20无否class所在班级varchar20无否sex学生性别int4无否photo照片varchar500无是表4-3试题信息表列名含义类型长度缺省值是否为空examid试题编号int4无否examtype试题类型varchar20无否project试题科目varchar20无否examscore试题分值int4无否answe

25、ra试题选项achar1无是answerb试题选项bchar1无是answerc试题选项cchar1无是answerd试题选项dchar1无是answer试题答案varchar2000无否examcontent试题内容varchar2000无否表4-4成绩信息表列名含义类型长度缺省值是否为空stuid学号int4无否project所属学科varchar20无否scroe得分int4无否第五章 在线考试系统的实现5.1 运行平台简介1.硬件环境:台式计算机(pc)一台,如表5-1所示。运行环境硬件配置硬件 配置 处理器 intel xeon e5-2620内存 8g硬盘空间 3t2.软件环境:w

26、indows 2008 server操作系统。5.2 开发工具简介visual studio 2012是用来帮助开发.net应用程序的综合开发工具。visual studio 2012提供了一个高效的环境,程序员可以在其中开发运行于.net平台上的各种应用程序。而且visual studio 2012还提供了用于设计、创建、测试和部署xml web服务器和应用程序以及在小组环境中共享最佳做法和准则的强大工具。visual studio 2012包括各种增强功能,例如可视化设计器、对web开发工具的大量改进以及能够加速开发和处理所有类型数据的语言增强功能。visual studio 2012为开

27、发人员提供了所有相关的工具和框架支持,帮助创建引人注目的、令人印象深刻并支持ajax的web应用程序。5.3 总体架构的实现在线考试系统的开发架构采用的是传统的三层架构,分别为数据层(dal)、业务逻辑层(bll)、表现层(ui),除此之外还有实体层(model)以及工具类(tools)组成。其中数据访问层主要负责对数据的操作,为业务逻辑层或表示层提供数据服务。业务逻辑层主要负责对数据层的数据进行逻辑处理。表现层我使用winform的方式,对数据进行展示。5.2 数据库公共类的实现在本系统中,我使用了一个公共类来负责所有的数据库相关操作,它就是存在在工具类库(tools)中的dbaccess类

28、。它包含了大部分数据库操作方法。例如:executedbscalar方法,我用它来执行汇总操作的一般sql命令,并返回汇总值;executedbnonquery方法,我用它来执行非查询操作的一般sql命令,并返回受影响的行数。实例代码如下: public object executedbscalar(string sql) opendb(); sqlcommand cmd = new sqlcommand(); cmd.connection = conn; cmd.commandtype = commandtype.text; cmd.commandtext = sql; try return

29、 cmd.executescalar(); catch (sqlexception ex) throw ex; public int executedbnonquery(string sql) opendb(); sqlcommand cmd = new sqlcommand(); cmd.connection = conn; cmd.commandtype = commandtype.text; cmd.commandtext = sql; try return cmd.executenonquery(); catch (sqlexception ex) throw ex; finally

30、closedb(); 5.3 登陆窗体的实现登录窗体的具体步骤如下:(1) 新建一个名为loginform的窗体,主要用于实现系统的登录功能。(2) 输入帐号和密码信息,登录成功后,系统会自动判断其身份并根据不同的身份,进入不同的界面。 登陆窗体界面如下图3-1所示。图5-1登陆窗体关键代码如下: private void button1_click(object sender, eventargs e) if (textbox1.text = | textbox2.text = ) messagebox.show(请填写完整); else bll.userdao ud = new userd

31、ao(); model.users mu = new users(); mu.userid = textbox1.text; mu.userpwd = textbox2.text; if (ud.login(mu) state = true; userid = textbox1.text; this.close(); else messagebox.show(用户名或密码错误); 5.4 主界面的实现当用户登录成功以后,系统会自动判断其权限是管理员还是考生,所以当登陆成功以后,若权限判断是管理员,展示界面如图3-2所示:图5-2在试题导入功能中,管理员可以使用excel进行批量导入,点击试题导

32、入按钮后会提示选择excel文件当选择好文件以后,若excel中有题目,则会里面显示在信息数据栏目下的datagridview控件中,此时管理员还可以在datagridview对即将要上传的题目进行最后的修改,当确保无误以后点击确定导入按钮,则系统就会将datagridview中的题目进行入库操作,并提示是否成功。试题查看功能是对已经存在数据库中的题目进行查看,同时也可以对其进行删、改等操作。若管理员输入学生学号并点击查询按钮,则可以查询该名考生所有科目的考试成绩。若管理员没有输入学号就直接点查询按钮,则会查询出所有学生的所有科目的成绩。对于查询出来的数据,同样显示在下方的datagridvi

33、ew中。管理员主界面的主要代码如下: private void button1_click(object sender, eventargs e) /打开一个文件选择框 openfiledialog ofd = new openfiledialog(); ofd.title = excel文件; ofd.filename = ; ofd.initialdirectory = environment.getfolderpath(environment.specialfolder.mydocuments);/为了获取特定的系统文件夹,可以使用system.environment类的静态方法getf

34、olderpath()。该方法接受一个environment.specialfolder枚举,其中可以定义要返回路径的哪个系统目录 ofd.filter = excel文件(*.xls)|*.xls; ofd.validatenames = true; /文件有效性验证validatenames,验证用户输入是否是一个有效的windows文件名 ofd.checkfileexists = true; /验证路径有效性 ofd.checkpathexists = true; /验证文件有效性 string strname = string.empty; if (ofd.showdialog()

35、= dialogresult.ok) strname = ofd.filename; if (strname = ) messagebox.show(没有选择excel文件!无法进行数据导入); return; tools.exceltodatatables exceltodatatable = new tools.exceltodatatables(); dt = exceltodatatable.exceltodatatable(strname, select * from sheet1$); datagridview1.datasource = dt; groupbox3.text =

36、您将要导入的题目; private void button4_click(object sender, eventargs e) if (dt != null) model.examination me = new model.examination(); bll.examinationdao ed=new bll.examinationdao(); for (int i = 0; i = dt.rows.count - 1;i+ ) me.examinationtext = dt.rowsi1.tostring(); me.examinationoptiona= dt.rowsi2.tost

37、ring(); me.examinationoptionb = dt.rowsi3.tostring(); me.examinationoptionc = dt.rowsi4.tostring(); me.examinationoptiond = dt.rowsi5.tostring(); me.rigthoption = dt.rowsi6.tostring(); try ed.insertexamination(me); if (i = dt.rows.count-1) messagebox.show(导入成功); catch(exception ex) messagebox.show(e

38、x.tostring(); return; else messagebox.show(请先导入数据); 5.4 考试界面的实现在考生开始考试的时候,出现的界面如下图3-3所示:图5-3当考生做出选择后系统会自动跳到下一题,如果考生暂时想不出答案,也可以点击下一题按钮进行手动跳转。当考试倒计时结束时,系统会自动提交试卷并评分。学生也可以点击提前交卷按钮进行手动交卷。考试界面的主要代码如下: private void button4_click(object sender, eventargs e) hour = time / 3600; minute = (time - hour * 3600)

39、 / 60; second = time % 60; timer1.start(); button4.visible = false; groupbox1.visible = true; groupbox5.visible = true; groupbox6.visible = true; bll.examinationdao ed = new bll.examinationdao(); dt=ed.select10(); dt2=new stringdt.rows.count; showexamination(); private void button2_click(object send

40、er, eventargs e) row+; if (dt.rows.count-1 row) messagebox.show(已经是最后一题了!); row-; return; else radiobutton1.checked = false; radiobutton2.checked = false; radiobutton3.checked = false; radiobutton4.checked = false; showexamination(); if (dt2row != null) switch (dt2row.toupper() case a: radiobutton1.

41、checked = true; break; case b: radiobutton2.checked = true; break; case c: radiobutton3.checked = true; break; case d: radiobutton4.checked = true; break; 第六章 在线考试系统的系统测试6.1 测试概述系统测试在软件开发中非常关键。它能够确保在用户正式使用时的稳定与安全。在系统开发完成后的测试工作主要针对的是程序的一些零界值,还有呈现的文字,以及程序异常的处理情况。6.2 系统测试6.2.1 登陆测试登陆是作为系统的入口,也称大门,是管理员和

42、考生权限判断的分水岭。在本系统中登陆的作用十分关键,如果没有登陆或者是登陆功能出现bug,那么将导致整个系统无法进行后继的工作。所以在登陆中的测试就显得尤为重要了。该系统登陆主要有两个重点:第一是安全性的设置,比如登陆时防sql注入,登陆窗体关闭是否弹出主界面测试。第二是对于权限的判断是否准确。那么根据以上两点我开始进行测试:首先防sql注入测试,效果如图:图6-1结论:防注入有效。其次我将输入正确的用户名与密码查看权限判断是否正确无误,效果如图:图6-2其当看到左下角的用户姓名和权限提示说明权限判断准确无误。结论:权限判断有效测试通过。6.2.2 考试操作测试当考生进入系统以后,系统会根据当

43、前时间自动判断该考生的考试科目。当考生点击了开始考试以后系统便会更具考试科目随机从题库抽取100道考题,并随机排序后生成试卷。中间都是由系统事先设置好的算法自动进行完成。所以本次测试的主要目的是要测试当试卷生成以后,在第一题和最后一题上是否拥有判断,因为此处若处理不当测会造成数组越界从而引发异常导致系统崩溃,从而影响考试的正常进行。测试结果如下:图6-3当考生点击上一题或下一题时,系统会只能的去提示考生前面或者后面已经没有题目了。由图可见不会出现测试前预想的bug。结论:测试通过。6.2.3 试题导入操作测试关于试题的导入,考虑一般情况下,导入的题量都是非常大的,所以在设计试题导入的时候,我使用的是通过excel批量导入。但是当选择了题库的excel后,试题并没有立马导入数据库,而是中间还有一个复查的环节。所以选择了excle以后试题暂时存在系统中,并显示在管理员界面的列表框中。当管理员确

温馨提示

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

评论

0/150

提交评论