在线考试系统设计_第1页
在线考试系统设计_第2页
在线考试系统设计_第3页
在线考试系统设计_第4页
在线考试系统设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、在线考试系统的设计随着英特网的迅速发展和广泛普及,数字化、 网络化、 多媒体化的教学手段作为新型的教学与考核模式已逐步走进了教育机构1 。它们具有对于教育、教学过程来说极为宝贵的特性。利用计算机技术实现无纸化考试,取代传统的纸质考核方式, 是近年来计算机技术的一2。内容提要个非常活跃的应用领域。在线考试系统的使用已成为近几年来的大势所趋本论文首先分析了在线考试系统设计的需求, 在系统需求以及在线考试系统的各个环节 的基础上,对在线考试系统进行了概要设计以及详细设计,最后利用了程序开发集成工具 MyEclipse给出了在线考试系统的实现。使用到的软件架构模式是MVC莫式,使用到的技术工具有 Ja

2、va 程序语言, Oracle 数据库, Tomcat 服务器等。网络和信息快速发展的今天,很多国外的教育机构已经开设了远程教育,通过网络计 算机远程的方式实现了异地教学授课,其中在线考试系统就是远程教学中很重要的组成部 分。随着国内远程教育教学需求的不断增加, 就要求有更好、 更完善的在线考试系统应用到 远程教育当中去,这就给软件设计人员提出了更高的设计要求。传统的考试方式是老师事先出题 , 学生用笔和纸在指定的时间和地点答题。 教师改卷的 模式也很单一和枯燥 , 考试成本偏高。随着数字化、多媒体化教学的发展,考试的手段和方 式发生了很大的变化。 英特网的开放性和分布性的特点以及基于计算机的

3、巨大计算能力使得 传统的考试可以突破时间和空间的限制, 通过网络来实现。 在线考试系统就是这样一种突破, 它不仅为老师减轻了评卷, 监考之苦, 也为学生提供了快捷轻松的考试环境。 并且考试时间 也更加灵活, 这样既可以便于学生发挥出最佳的水平并通过网上评卷能及时反馈学生的掌握 情况,也方便了老师的阅卷评分工作,可谓是一举三得3 。本文分析传统考试手段的各种不足,并且指出了纸质考试将会逐步被网络在线考试的 形式所代替,同时进行了需求分析已经设计, 提出在线考试系统的构成、设计原理、使用到 的技术,最后说明了在设计过程中如何解决设计中出现的各种问题以及将来的工作展望。 一、系统需求分析(一)系统角

4、色需求分析在线考试系统是以网络为基础, 为教育机构和学生提供考试服务, 同时它能自动判卷并 且提供考试成绩作为教学参考的管理系统。本论文设计的在线考试系统可以在高校中使用, 系统主要针对系统管理员、 老师及学生。 本系统能结合高校不同院系、 不同专业科目等考试 属性进行管理。1.系统后台管理员。系统后台管理员可以对在线考试系统进行维护,一些初始化信息, 如添加课程,教师,学生,班级,为老师分配课程等。维护包括添加、删除、修改三种基本 的操作。 管理员还兼有老师和学生的功能, 可以查询有关学生和老师的相关信息是最大权限 的用户,拥有系统的所有功能的权限。2、老师。老师登录系统后,可以从自己所教课

5、程中选择一门进行考试试题录入,并可 以对自己录入的试题进行修改和删除等操作, 但不能修改其他老师关于同一门课程的相关试 题。并可以添加所教课程的学生和查询自己所教班级学生的考试成绩信息。3、考试学生。学生登录后可以参加考试,选择一门课程后,系统会自动的抽出一套试答捲选径试卷一看个人成绩 沓一看学主信息 一俸改密耐沓看敎师自息 杳看学生成绩 一童节営理课韵管理 _题库管理 _3-理一判堂I组堂一僅玫密科 n w Rs S |学生管理 nlls3n 泄圾管理 系部管理题,开始考试后,系统进行倒计时,在规定的时间内考生如果没有交卷,系统会自动帮他交卷,并在考试结束、自动评卷后,学生能及时的查看到自己

6、的考试成绩和答题情况,并可以查询自己以往的考试成绩信息。(二)系统模块需求分析在线考试系统可分为以下几个模块,这些模块是保证在线考试系统安全、高效运行的基础,按照角色的需求分为三大基本模块,每个角色下面分为若干个子模块。如图1.1所示。图1.1在线考试系统需求分析以上对所要开发的在线考试系统的功能模块进行划分,对各个子模块进行需求分析,说明了各个模块所要实现的功能。 基于以上的这些需求分析才能更好更完善的进行系统的进一步分析、设计。、系统分析与设计(一)系统总体概述根据MVC三层架构,系统采用三层结构,如图2.1系统原理图所示:图2.1系统总体结构界面层, 也叫表示层, 是客户环境, 负责从客

7、户端采集信息并将它传送到服务层进行处理,客户接收该处理的结果并将其向用户呈现,该层的应用程序以 Web浏览器为主,从Web站点上下载应用程序并执行,无需进行复杂的安装及配置 4 。Web 服务器为表示层提供 Web 服务,也可以为表示层和中间件之间的通信提供 HTTP 协议的支持,本项目所采用的Web服务程序为 Apache的Tomcat,它作为一个 WWW服务器5,起到一个协调者的作用,一方面它通过HTTP 协议与客户端进行交互,另一方面它还要负责解释执行JSP页面完成相应的服务。所有的数据源构成了 Web 应用的数据层。后端的数据层负责实际的数据存储和检索, 它包含系统的数据处理逻辑,它的

8、任务是接受客户对数据库操纵的请求,实现数据库查询、 修改、更新等功能。(二)设计思路 在线考试系统框架需要满足实用性、可靠性、安全性等系统性能,需要完成包括用户登 录控制,在线考试,试题录入,评分系统,查询等相关功能在整个框架开发过程中,采用Struts+JDBC +JSP的J2EE开发过程中最常用的框架。其中Struts实现从视图层到业务逻辑层的跳转控制、表项参数传递等。通过调用JDBC完成对数据库的连按操作 6。鉴于本次设计的框架并没有特别关注界面的设计,所以登录、控制操 作等各个界面仅仅使用 JSP(Java Server Pages) 语言实现基本功能,没有增加具体的样式 功能。(三)

9、设计结构 在线考试系统的整体框架设计分为三个层次:视图层,业务逻辑层,数据接口层。视图层即用户所能接触到的操作界面 。用户所做的各种输入以及后台返回的有信息都空过视图层 呈现给用户,由于本次设计并没有特别关注前台表现,所以对于JSP页面的美化,格式的控制等并没有投入太多的经历,而是将重点放在 了业务逻辑层。业务逻辑层用来处理前胎传递的各种请求以及参数,从而进行相应的方法调 用、数据处理以及返回结果等功能。所有的控制操作都是由业务逻辑层来完成的, 是的用户界面与数据库之间的交互分离开来。这样的设计是符合MVC莫式的思想的 7 。数据接口层用来创建、维护基于RBAC权限管理框架所要使用到的数据库表

10、。在本次设计中按照纵向分割的思想,将所有的数据交互处理都设计为Dao类,实现各个模块之间的解耦 ,更加符合软件开发的基本原则 。本次设计选用的是 Oracle 数据库, 而在数据库交互时选用 JDBC来完成对数据的所有操作。1)全局配置级详细设计。Java Web项目最重要的是 web.xml文件,配置 Struts 实现Struts.xml 文件。2)登录处理机以及页面设计。主要包括登陆页面,使用JSP语言实现基本功能,后台由Struts负责完成将用户名密码等信息传递给业务逻辑层,有Logi nAction类实现用户登录以及鉴权等功能。3)管理员操作设计。主要包括用户控制界面实现对教师和学生

11、用户的增加、删除、修改等。使用 JSP语言实现基本功能。用户实体MnagerUserBean,以及和数据库进行交互的MnagerUserDao 类。4)教师操作设计。主要色括试题的录入,查询,以及登录环节,使用JSP语言实现基本功能,角色实体 TeacherBean,以及和数据库进行交互的TeacherDao类。5)学生操作设计,主要色括登录,查询,以及考试环节,使用 JSP语言实现基本功能主要包括权限实体StuBean,以及和数据库交互的StuDao类。Struts作为一款优秀的基于MVC的框架,已经得到企业和开发人员的广泛认可,成为Java Web开发的首选框架。Struts在View层和

12、Controller 层分别提供了丰富的UI表示和强大的转发支持,Model层优良的开放兼容性,提高了开发人员对数据模型处理的自由度。下图是整合框架的示意图。图2.2整合框架示意图(四)设计概念和处理流程图2.3基本处理流程在管理端子系统中:1)系统维护模块主要是针对管理员,学生,教师,班级等信息进行修改操作。2)权限管理模块主要是对各使用者对系统的操作权限进行管理。例如学生只能查看个 人信息,选择试卷,答卷,查看成绩等;教师只能出题,组卷,判卷,查看学生成绩等;管 理员可以全面对系统进行操作及数据维护等。在教师端子系统中:1)出题模块主要是由教师根据题型不同向题库中输入题目以及答案,方便组卷

13、。题目 自动存入对应的数据库中。2)组卷模块中可以由系统随机组卷,输入各题型的数量,分值,系统自动从题库中随 机选择题目构成试卷;也可以由教师自主选择题目进行出题。3)统计成绩模块中教师可以根据学生答卷情况对成绩进行统计,方便教师对学生答卷 情况有直观了解,利于教学。4)提交成绩模块由教师将学生综合成绩情况输入相关管理系统。在学生端子系统中:1)选择试卷模块由学生选择所要进行的考试试卷。2) 答卷模块显示学生所选试卷,供学生作答,选择判断直接对选项进行选择,主观题 填写在相应的文本框中。3) 交卷模块会自动根据题库中的信息对学生的选择判断题进行判卷,减少了教师的工 作量。4) 学生个人信息查询

14、学生请求查看自己的个人信息,系统根据学生登录时的信息, 在学生信息表中找到符合条件的信息反馈给学生。查看学生个人信息。5)学生成绩查询学生请求查看考试成绩,系统根据学生的基本信息,在学生成绩表中找到符合条件的信 息反馈给学生。6)学生修改密码学生请求修改自己的密码,系统根据学生修改的信息, 在学生信息表中插入修改的信息并提示学生修改结果。7)学生考试学生想考试系统请求考试,考试系统为学生查找该学生可以进行的考试科目和相对应的 试卷,并把试卷信息反馈给学生。学生进入考试状态开始答题,并保存试卷。考试结束时, 学生应提交试卷。(五)数据库中表的设计根据在线考试系统中各个模块的需求,分别设计以下几张

15、数据库表。并为他们分配字段。管理员表字段名类型说明备注AIDINT管理员ID号主键,自增,非空A_NameVARCHAR管理员姓名A_PsdVARCHAR管理员密码教师表字段名类型说明备注T_NOVARCHAR教工号主键,非空T_NameVARCHAR教师姓名T_PsdVARCHAR教师密码T_MajorVARCHAR教师专业课程表字段名类型说明备注C_NOVARCHAR】田千口 i=r. 课程号主键,非空C_NameVARCHAR课程名教师一课程关系表字段名类型说明备注T_NOVARCHAE教工号外键,非空C_NOVARCHAE】田千口 i=r. 课程号外键,非空班级表字段名类型说明备注Cl

16、ass_NOVARCHAR班级号主键,非空Class_NaVARCHAR班级名meClass_MajVARCHAR所属专业or班级课程表字段名类型说明备注Class_NOVARCHAR班级号外键,非空C_NOVARCHAR】田千口 i=r. 课程号外键,非空试题表字段名类型说明备注Test01_NOINT题号主键,递增,非空Test01_Co nteVARCHAR题干ntTest01_Poi ntVARCHAR知识点Test01_ScoreVARCHAR分值Option_AVARCHAR选项AOption_BVARCHAR选项BOption_CVARCHAR选项COption_DVARCHAR

17、选项DTest01_A nswerVARCHAR答案C_NOVARCHAR所属课程号说明:为了使系统评卷方便,准确,快速,本系统所包含的试题类型仅为单选,判断,填空。由于不同题型的试题选项个数不同,因此,将不同类型的试题放不同的表中。学生表字段名类型说明备注S_NOVARCHAR学号主键,非空S_NameVARCHAR学生姓名S_PsdVARCHAR学生密码S_MajorVARCHAR学生专业S_ClassVARCHAR学生班级学生成绩表字段名类型说明备注S_NOVARCHAR学号外键,非空C_NOVARCHAR】田千口 i=r. 课程号外键,非空MarkFLOAT成绩三、系统非功能性概述(一

18、)J2EE 技术J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制:1 高效的开发。J2EE允许公司把一些通用的、很繁琐的服务端任务交给中间供应商去完成。这样开发人员可以集中精力在如何创建商业逻辑上,相应地缩短了开发时间。高级中间件供应商提供以下这些复杂的中间件服务: 状态管理服务让开发人员写更少的代码,不用关心如何管理状态,这样能够更快地完成程序开发。持续性服务让开发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧,与数据库无关

19、的应用程序,这种应用程序更易于开发与维护。分布式共享数据对象 CACHE 服务让开发人员编制高性能的系统,极大提高整体部署的伸缩性9。2.支持异构环境:J2EE能够开发部署在异构环境中的可移植程序。基于J2EE的应用程序不依赖任何特定操作系统、中间件、硬件。因此设计合理的基于J2EE的程序只需开发一次就可部署到各种平台。这在典型的异构企业计算环境中是十分关键的。J2EE标准乜允许客户订购与 J2EE兼容的第三方的现成的组件,把他们部署到异构环境中,节省了由自己制订整个方案所需的费用。(二)Struts 技术Struts最早是作为 Apache Jakarta项目的组成部分,项目的创立者希望通过

20、对该项目的研究,改进和提高JavaServer Pages、Servlet、标签库以及面向对象的技术水准。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。这个框架之所以叫”Struts ”,是为了提醒我们记住那些支撑我们房屋,建筑, 桥梁,甚至我们踩高跷时候的基础支撑。这也 是一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。当建立一个物理建筑 时,建筑工程师使用支柱为建筑的每一层提供支持。同样,软件工程师使用Struts为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用MVC设计模型来开发 Web应用的时间。我们仍然需要学习和应用该架构,不过它将可以完

21、成其中一些繁重的工作。如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。(三)JSP技术JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源的应用逻辑10 。 JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同 JSP文件中的HTML弋码一起返回给客户。 插入的Java程序段可以操作 数

22、据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP与JavaServlet - 样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP的1.0规范的最后版本是 1999年9月推出的,12月又推出了 1.1规范。目 前较新的是JSPI.2规范,JSP2.0规范的征求意见稿也己出台。JSP页面由HTML代码和嵌入其中的 Java 弋码所组成。 服务器在页面被客户端请求以后对这些 Java 弋码进行处理, 然后 将生成的HTMLM面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型酌Web应用程序的开发需要 Java

23、Servlet 和JSP配合才能完成。JSP具备了 Java技术的简单 易用,完全的面向对象,具有平台无关性且安全 11 。(四)MVC架构模式MVC架构模式的产生早期的 Web应用程序将数据库查询语句和像HTML这样的表示层代码混在一起, 这样的后果就是数据处理、 程序功能与修按时弋码部分完全纠结在一起, 是的 程序的灵活性大大降低, 因为一个很小的改动也会牵涉到大量的代码修改, 增加了程序开发 和维护的工作量和工作难度。70 年代,MVC(Model-View-Controller)莫式在 Smalltalk 的 GUI设计中被提出。 MVC模式把数据处理、 程序输入输出控制以及数据的展示

24、分离开来, 使他们不必卷入彼此的数据 模型和方法中,MVC从根本上强制性的将它们分离开来,使得程序结构清晰和灵活起来13。MVC莫式包括三个部分:模型 (Model)、视图(View)和控制器(Controller),它们分别对应于内部数据、数据表示和输入输出控制部分。MVC莫式的一般结。本系统可用于大多数课程的期末考试或练习,是一种通用性的考试系统。 本考试系统的开发目标是实现考试的命题、组卷、考试、评分、打印成绩一体化、自动化的在线考试,同 时在性能上要具有伸缩性好、易使用、易维护、易扩展、安全性高等特点。本系统功能考虑较为灵活、完善,界面操作简单友好,较易掌握。系统提供的功能替代教师的大部分手工劳动, 提高工作效率。自使用以来较好地完成了考试任务,本系

温馨提示

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

评论

0/150

提交评论