在线考试系统课程设计Word文档下载推荐.docx
- 文档编号:20905101
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:24
- 大小:388.35KB
在线考试系统课程设计Word文档下载推荐.docx
《在线考试系统课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《在线考试系统课程设计Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。
若建立题库,每次考试前由题库中题目随机生成试卷,则可较好地解决考教分离的问题,也可将广大教师从每学期末繁重的命题工作中解放出来。
近年来,部分学校陆续开发了一些基于微机的题库系统,并作为成果向其它学校推广,但这些题库一般都是结合本校具体情况,针对单一课程的小型题库,甚至某些学校购得的题库系统中的题目本身是不可维护的,即使题目已不适合自己的学生考试使用,也无法更新题库中的题目。
为解决题库系统中存在的这些问题,作者经过研究几种不同的网上系统,经充分的考虑,最后给出了一个较为理想的题库系统解决方案,并结合当前比较使用的B/S结构开发一个功能完备的网上考试系统。
第2章网上考试系统需求分析
2.1现状分析
传统的考试方法要求组织者提前命题试卷,然后约定一个统一时间,让所有考生到考场里进行考试。
这种模式如图2-1所示:
编辑考题
印刷大量试卷
安排考场,时间,监考人员
学生集体考试
阅卷,统计成绩
图2-1传统考试模式
这种模式存在有较多的问题:
命题:
由于考试要求统一进行,所有考生都考同样的一份试卷,所以试卷的命题工作便一定得非常谨慎小心,试题太难或太容易,都达不到考试目的,尤其是对于一个大规模的考试,(比如计算机等级考试,英语四,六级考试等),如何正确把握试卷的难度,一直都是让命题教师最为头痛的问题之一。
而如何不在考试之前使命好的试题泄漏出去,也是组织者费尽心思。
试卷印刷:
对于大规模的考试,试卷印刷费工费时,成本高,对纸张资源也是一种浪费。
对于涉及地域范围较广的考试(如英语四,六级考试),还要考虑试卷大的长途运送费用。
在考试的印刷和运输过程中同样有试题泄漏出去的问题,任何一个环节出了问题,都可能使前面有的工作付诸流水。
考场的安排:
监考人员的培训与管理。
对于大规模的考试,尤其是到了考试密集期(如期末,期中)。
诸多学科的考试都要陆续开始的时候,对于教室资源和教师数量相对紧张的学校,如何安排考场,调配监考人员,是一件相对繁琐而又复杂的事情。
如果考试再涉及到不同地域之间的同步,如英语四,六级的考试,还要考虑更多的问题。
进行考试:
由于同一次考试的试卷相同,要杜绝考生作弊是一个普遍的难题,因此,历届组织考试的人动了很多脑筋,如分AB卷,加强监考,加重对作弊者的惩罚程度等,但这些都没能从根本上杜绝作弊。
不同地域监考的严格程度,考试时问控制的严格程度,也很难达到统一。
过多人为因素的加入,也使得考试的公正性下降。
判卷:
考试结束后,采用人工判卷比较容易出错,并可能出现人为造成的不公正现象。
2.2可行性分析
可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、管理的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
该系统的可行性分析包括以下几个方面的内容。
2.2.1经济可行性
主要是对项目的经济效益进行评价,利用计算机来实现网上考试以成为适应当今教学管理的方式。
开发一套能满足网上考试系统的软件是十分必要的,实现试卷管理和试卷生成自动化,在减少由于认为失误而早成损失的同时,也可以使教师减少工作量。
本系统在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。
所以本系统在经济上是可行的。
2.2.2技术可行性
技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。
软件方面,网络化考试需要的各种软件环境都已具备,数据库服务器方面则有MySQL,均能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。
其灵活性、安全性和易用性为数据库编程提供了良好的条件。
因此,系统的软件开发平台已成熟可行。
硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
2.3设计目标
在线考试系统的总体目标:
1.在线考试系统可以帮助教师完成一个考试从题目设计,考试安排,考试实施,考卷批改到分数计算总结的所有工作。
2.所有的考试数据和其它数据库需要一种主流的方式进行存储和管理,例如使用数据库技术。
3.考试数据的存放和处理必须对考试保密,需要一定的安全性保障。
4.题目最好有一定的稳定性和随机性。
稳定性可以保证每一次考试对每一个考生是公平的,随机性可以避免作弊的发生。
5.考试的部分客观题在考生考完之后系统就能自动评分,并保存考生的主观题答案。
2.4功能要求
系统应该具备的基本功能:
用户类别:
登录系统的身份定为三种,一是管理员,二是普通老师,四是学生,只有被授权的用户才可以使用本系统的资源。
权限管理:
系统需要经过有效的身份验证可以登录。
用户的身份不同,使用的系统资源也不同。
考生只可以参加在线考试;
普通教师可以在线制作试卷,控制考试、成绩查询、添加试题、阅卷等。
管理员可添加系系部、教师、专业、科目信息、查询修改管理员信息及审批试卷、查询考生成绩。
在线考试功能:
考生输入学号密码登陆系统后,选择对应的试卷可进行考试。
答题中,有倒计时的功能,考试结束时还没提交就自动交卷,系统将自动对客观题进行评分。
在线制作试卷:
教师、管理员可在线制作试卷,可设定试题的类型、分值,但教师制作试卷后必须要由管理员审核才能考试。
控制考试功能:
可设定每次的考试时间。
考生管理功能:
可注册新增学生用户,同时查看考生及班级考生的信息。
考生成绩查询功能:
提供考生各科目成绩的详细查询。
试卷审批功能:
只有管理员有此权限。
教师制作试卷完毕,只有经过管理员审批后才能发布,发布后学生才能开考。
除了实现上述功能以外,在线考试系统还应该具有友好、简洁的界面,安全性要高,稳定性要强。
2.5系统开发环境配置
选择微软平台作为主导,一方面考虑目前微软的飞速发展,越来越多的企业在规划内部网络时,将微软平台作为首选方案;
令一方面从技术角度来讲,微软平台上的应用无论是在开发上,还是在软件的部署上都是非常容易,而且性能优越。
具体如下:
1.开发工具:
MyEclipse8.0
2.辅助开发工具:
Dreamweaver8
3.数据库:
Oracle11g
4.服务器:
ApacheTomcat6.0
5.运行环境:
安装JDK1.6支持Java运行。
6.技术:
前台网页的设计采用JSP技术制作。
负责响应用户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户由servlet处理,JavaBean则负责数据的处理。
2.6系统开发工具
本系统是基于JSP+Oracle数据库技术实现的,现对JSP技术和Oracle数据库作简要的介绍。
2.6.1开发语言—JSP(JavaServerPage)
JSP页面由HTML代码和嵌入其中的Java代码所组成。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的等特点。
JSP的技术的优势:
一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不需要做任何更改。
系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是显而易见的。
JSP技术是用Java语言作为脚本语言的。
Java语言是成熟的、强大的、易扩充的编程语言。
高效性与安全性。
JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。
可维护性。
由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。
多样化和功能强大的开发工具支持。
Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
2.6.2数据库—Oracle
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。
比如SilverStream就是基于数据库的一种中间件。
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;
作为一个关系数据库,它是一个完备关系的产品;
作为分布式数据库它实现了分布式处理功能。
但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它
ORACLE是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。
是目前最流行的客户/服务器(CLIENT?
SERVER)体系结构的数据库之一。
ORACLE7.x以来引入了共享SQL和多线索服务器体系结构,这样减少了ORACLE的资源占用,并增强了ORACLE的能力,使之在抵挡软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。
ORACLE提供了机具角色(ROLE)分工的安全保密管理,在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。
ORACLE支持大量多媒体数据,如二进制图形、声音、动画及多维数据结构等。
ORACLE提供了与第三代高级语言的接口软件PRO系列,能在C,C++等语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。
加上它有许多优秀的前台开发工具,如POWERBUILD、SQLFORMS、VISIABASIC等,可以快速开发生成基于客户端PC平台的应用程序,并具有良好的移植性。
ORACLE提供了新的分布式数据库能力,可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。
第3章网上考试系统设计
3.1数据库设计
在对网上考试系统数据库部分进行设计的过程中,通过对系统功能进行需求分析得到系统的基本信息表,绘制系统业务流程图和系统数据流程图,分析得到数据字典;
在概率结构设计阶段通过对需求阶段得到的用户需求抽象得到数据库关系模型的E-R图;
在逻辑结构设计阶段得到数据库的关系模式并绘制信息表。
详细设计过程如下介绍。
3.1.1数据库需求分析
需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。
3.1.1.1系统基本信息
综合以上分析,要实现上面的所有功能模块,数据库共要设计十个表,它们分别是:
科目表、班级表、系别表、专业表、试卷信息表、学生表、学生成绩表、学生答题试卷信息表、教师表、题库表。
3.1.1.2系统层次图
根据所要实现的功能和用户权限的设置。
系统总体的层次图如下图3-1所示:
图3-1系统层次图
3.1.1.3系统数据流程图
系统数据流程图如下图3-2所示:
图3-2数据流程图
3.1.2数据库概念结构设计
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键,包括概念模型设计和新系统流程两个阶段。
在需求分析阶段所得到的应用需求应该首先抽象为信息世界的结构,才能更好地、更准确地用某一DBMS实现这些需求。
概念数据模型独立于具体的数据处理的细节和数据库管理系统。
这次设计仍采用传统的实体联系图作为概念设计的工具。
再进行优化后,尽量满足结构清晰、关联简洁、实体个数适中、属性分配合理、没有低级冗余。
系统E-R图如下图3-3所示:
图3-3系统E-R图
3.1.3数据库逻辑结构设计
对于关系型数据库,数据库的概念结构设计完毕后,要把E-R图描述的概念数据模型转换为等价的关系模式极其约束。
逻辑设计的基本工作主要包括如下的3个步骤。
3.1.3.1关系模式设计
该设计以概念结构设计中的E-R图为主要依据,这几出相关的整体逻辑结构。
该系统的关系模式如下图3-4所示:
图3-4概念关系模型图
3.1.3.2完整性设计
完整性要求用于描述各种信息之间的制约关系,以及关联关系,各个数据项的取值范围以及各个数据项是否可以取值。
根据实际需要,采取一定的手段来满足用户的完整性需求。
域完整性约束要求属性值必须在域中。
实体完整性约束要求主键必须唯一且不能为空。
如用户信息表中的用户名设置为主键,并且要求唯一且不能为空。
3.1.3.3模式优化
本次采用3NF为规范准则来分解关系。
将一个关系分解为两个或者多个关系,以满足规范,从而避免产生插入异常、删除异常、更新异常。
3.1.4数据库表设计
学生信息表如图3-5所示
图3-5学生信息表
教师信息表如图3-6所示
图3-6教师信息表
题库信息表如图3-7所示
图3-7题库信息表
试卷信息表如图3-8所示
图3-8试卷信息表
学生答案表如图3-9所示
图3-9学生答案表
学生成绩表如图3-10所示
图3-10学生成绩表
系部信息表如图3-11所示
图3-11系部信息表
专业信息表如图3-12所示
图3-12专业信息表
科目信息表如表3-13所示
表3-13科目信息表
班级信息表如图3-14所示
图3-14班级信息表
3.2系统结构设计
3.2.1页面模块化设计
模块化设计的要求不仅是为了提高代码的重用性,更重要的是为了提高代码的可维护性和稳定性。
一个模块化程度高、结构清晰的应用程序,在程序维护时的便利性是可想而知的。
最初设计方案时,就要规划好哪些模块是可以提出来多次使用,哪些模块虽只使用一次,但提出来之后能使代码更清晰等。
网上考试系统是一个典型的数据库开发应用程序,本系统主要用管理员、教师和学生三大模块组成,各模块功能如下:
管理员模块:
该模块主要是对系部、专业、班级、课程进行管理,添加修改学生、教师、信息,添加试题、试卷和审核教师制作的试卷等。
教师模块:
该模块主要是教师通过登录该系统能够修改个人信息,添加试题,在线制作试卷,阅卷等。
学生模块:
该模块主要是学生通过登录该系统能够修改个人信息(只能修改密码),进行考试等。
3.2.2MVC模式设计(Jsp+Servlet+JavaBean)
MVC(ModelViewController)是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。
使用MVC应用程序被分成三个核心部件:
模型、视图、控制器。
它们各自处理自己的任务。
视图是用户看到并与之交互的界面。
如何处理应用程序的界面变得越来越有挑战性。
MVC一个大的好处是它能为你的应用程序处理很多不同的视图。
JSP页面处于表现层,也就是视力(View即V)的角色。
模型表示企业数据和业务规则。
在MVC的三个部件中,模型拥有最多的处理任务。
由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。
JavaBean则负责数据的处理,也就是模型(Model即M)的角色。
控制器接受用户的输入并调用模型和视图去完成用户的需求。
所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。
它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪个视图来显示模型处理返回的数据。
Servlet用来处理请求的事务,充当控制器(Controller即C)的角色,Servlet负责响应用户对业务逻辑的请求并根据用户的请求行为,决定将哪个JSP页面发送给客户。
初始的请求由Servlet来处理,Servlet调用商业逻辑和数据处理代码,并创建Bean来表示相应的结果(模型)。
然后Servlet确定哪个页面适合于表达这些特定的结果,并将请求转发到相应的页面(JSP页面即为视图),由Servlet确定哪个业务逻辑适用,应该用哪个JSP页面相应结果(Servlet就是控制器)。
第4章网上考试系统实现
4.1系统各部分的实现方法
从系统功能模块划分中可以看出,系统总体上有两个功能模块组成。
各模块虽然是独立的,但又统一于同一数据库中,便于管理员管理维护数据库,同时也便于教师和学生的操作。
在介绍系统各模块的实现方法之前,首先介绍系统与数据库的连接方式——使用JavaBean连接连接在服务器tomcat里配置的连接池。
再介绍系统主要部分的实现方法。
4.1.1创建与数据库的连接
配置数据源创建连接池,再通过JavaBean连接到数据源再对数据库进行操作。
连接池是创建和管理一个连接的缓冲池的技术,这些连接准备好被任何需要它们的线程使用。
连接池可以极大的改善用户的Java应用程序的性能,同时减少全部资源的使用。
连接池主要的优点有:
减少连接创建时间、简化的编程模式、受控的资源使用。
连接池能够使性能最大化,同时还能将资源利用控制在一定的水平之下,不过如果超过该水平,应用程序将崩溃而不仅仅是变慢。
配置连接池:
1.首先要将mysql的驱动包放在tomcat/lib目录下
2.在应用服务器Tomcat里的/conf下找到一个context.xml文件,在里面添加的内容如下:
<
Resourcename="
jdbc/examolds"
auth="
Container"
type="
javax.sql.DataSource"
driverClassName="
org.gjt.mm.oracle.Driver"
url="
jdbc:
oracle:
//127.0.0.1/examol"
username="
root"
password="
123"
maxIdle="
30"
maxWait="
10000"
maxActive="
100"
/>
/Context>
需要访问数据库就通过在JavaBean创建的一个叫QueryRunner()方法来访问。
代码如下:
publicclassConn{
publicstaticQueryRunnergetQueryRunner(){
DataSourceds=null;
try{
Contextcontext=newInitialContext();
ds=(DataSource)context.lookup("
java:
/comp/env/jdbc/examolds"
);
}catch(Exceptione){
System.out.println("
获取数据源出错!
"
}
QueryRunnerqr=newQueryRunner(ds);
returnqr;
}
}
4.1.2访问数据库的JavaBean
JavaBean是一种Java语言写成的可重用组件。
为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。
JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成为属性。
众所周知,属性名称符合这种模式,其他Java类可以通过自省机制发现和操作这些JavaBean属性。
用户可以使用JavaBean将功能、处理、值、数据库访问和其他任何可以用Java代码创造的对象进行打包,并且其他的开发者可以通过内部的JSP页面、Servlet、其他JavaBean、Applet程序或应用来使用这些对象。
用户可以认为JavaBean提供了一种随时随地的复制和粘贴的功能,而不用关心任何改变。
JSP的一个重要特性就是可以用JavaBean实现功能的扩展。
将大部分功能放在JavaBean中完成,以使JSP页面程序更干净简洁、利于维护。
JavaBean可以很方便的用来捕获页面表单的输入并完成各种业务逻辑的处理。
连接数据库的JavaBean——Conn。
通过JSP页面调用此JavaBean,可以实现对数据库的连接,数据表的添加、删除、更新等操作。
4.1.3用户及管理员登录模块页面
用户登录页面比较简单,为防止用户登录的操作错误,应设置错误处理页面,在登录操作过程中,一般发生的错误有:
用户输入了错误的用户名或密码、用户直接单击了登录按钮,对上述情况的判断就要通过Servlet文件来实现。
学生登录界面如图4-1所示:
图4-1学生登录面
在登录页面时,当用户提交了登录资料后,就由“UsersServlet.java”这个servlet进行验证,它的工作主要是判断用户登录的帐号和密码是否一致。
完成这些工作就必须连接存储用户数据库取出相关信息记录。
如果用户输入了错误的用户名和密码,通过history.back();
返回到登录界面并提示出错,如图4-2所示:
图4-2登录错误提示页面
若用户提交正确的用户和密码后,如果记录验证无误,就通过JSP的request.getRequestDispatcher()方法跳转到相应的界面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在线 考试 系统 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)