您好,欢迎来到步遥情感网。
搜索
您的当前位置:首页在线考试系统的设计与开发

在线考试系统的设计与开发

来源:步遥情感网


摘 要

随着计算机技术的发展,考试的方式也在不断的变化着。从最初的人工印刷试卷,到发考卷,然后收卷,然后改卷,然后发布成绩,整个流程相对的比较的复杂,而且涉及的人员较多,不容易协调。到现在比较流行的是使用无纸化考试系统,每回考试只要使用软盘等等存储介质带题库下来,在计算机上安装一个考试客户端(甚至有些就直接使用windows内置的浏览器就可以了),就可以考试了。采取这种方法,不知不觉中就减少了考试时间,降低了考试成本,减少了老师的工作。而且一般情况下,该类考试系统都是使用随机组卷,电脑随机抽卷的,保证了公正性。

本论文就是以“在线考试系统”的开发为背景,论述了在线考试系统发展的历史及现状。全文共分为系统调查、系统分析、功能设计、数据库设计、系统实现、总结、参考文献等。本系统包括题库的维护维护、考生的考试模块、评分模块,而且老师和学生可以分别使用不同的用户名进行登录,具有不同的操作权限。

关键词:在线考试; 随机生成试卷; 自动阅卷; 公正; JSP

ABSTRAC

Along with computer technology development, test way also in unceasing change. From initial test, the man-power prints the examination paper, to sends the examination paper, then receives the volume, then changes the volume, then issue result, entire flow relative comparison complex, moreover involves the personnel are many, not easy to coordinate. Quite popular uses the paperless test system to the present, so long as each chapter of test uses the floppy disk and so on storage medium belt question banks to get down, installed a test client side on the computer (even some directly to use the browser which in windows set to be possible might) take a test. Adopts this method, unconscious reduced the test time, reduced the test cost, reduced teacher's work. Moreover in the ordinary circumstances, this kind of test system all is the use along with the unit volume, the computer pulls out the volume stochastically, has guaranteed the fairness.

The present paper is by the online test system; the development is a background, elaborated the online test system development history and the present situation. The full text altogether divides into the system investigation system analysis, functional design, database design, system realization summaries, reference and so on. This article elaborated in detail the system analysis, the system design method and the content. This system including question bank maintenance maintenance, examinee's test module, grading module, moreover teacher and the student may use different user to carry on separately register, have the different operation jurisdiction.

Keywords: Computer test system;Randomly generated test paper;Automatic marking;Justice; JSP

目 录

1 概述 .................................................. 1

1.1 选题背景 ............................................. 1 1.2 在线考试系统概述 ..................................... 1 1.3 系统开发环境 ......................................... 2 1.3.1 JSP简介 ........................................... 2 1.3.2 系统开发的语言环境 ................................. 3

2 系统规划与分析 ....................................... 3

2.1 需求分析 ............................................. 3 2. 2可行性分析 ........................................... 4 2.2.1 经济上的可行性 ..................................... 4 2.2.2 技术上的可行性 ..................................... 4 2.2.3 操作上的可行性 ..................................... 4 2.3 系统业务流程分析 ..................................... 5 2.3.1 管理员业务流程图 ................................... 5 2.3.2 学生业务流程分析 ................................... 5 2.4 系统数据流程分析 ..................................... 5 2.4.1 系统顶层流程图 ..................................... 5 2.4.2 一级细化数据流程图 ................................. 6 2.5 数据字典 ............................................. 7

2.5.1 主要数据项描述 ..................................... 7 2.5.2 主要数据结构描述 ................................... 8 2.5.3主要数据流描述 ...................................... 8 2.5.4 主要数据存储描述 ................................... 9 2.5.5 主要处理逻辑描述 .................................. 10

3 在线考试系统设计 ............................ 11

3.1 系统的平台设计 ...................................... 11 3.2

系统功能结构设计 .................................. 11

3.3 代码设计 ............................................ 14 3.4 系统数据库设计 ...................................... 15 3.4.1 概念结构设计 ...................................... 15 3.4.2 逻辑结构设计 ...................................... 17 3.5 界面设计 ............................................ 20 3.5.1 在线考试系统主界面 ................................ 20 3.5.2 考生界面 .......................................... 20 3.5.3 管理员界面 ........................................ 22 3.6 系统安全设计 ........................................ 23 3.6.1 数据安全 .......................................... 23 3.6.2 网络安全 .......................................... 24

4 在线考试系统实施 ............................ 24

4.1 数据库的实施 ................................... 24

4.2

程序实现 .................................... 28

4.2.1 学生登录注册主要代码 .............................. 28 4.2.2 在线留言主要代码 .................................. 30

5 结束语 ........................................ 31 参考文献 ........................................

32

武汉纺织大学2013届毕业设计论文

1 概述

1.1 选题背景

考试是教育中一个重要的环节。考试的目的一是为了检查学生的知识掌握情况,二是为了提供教学分析的依据。传统的考试由于涉及到诸多环节,考试时间周期长、效率低,同时人工阅卷等主观因素也影响到考试的公正性。再加上随着计算机网络技术的飞速发展,现在很多国内外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平,在教育领域的应用也越来越广泛,在线考试系统也随之展现出越来越多的优越性。

将计算机技术应用于教育测量和评价的全过程中,即计算机辅助测试(Computer Assisted Test CAT)已成为国外计算机教育和教育技术领域内的一个研究热点,它从评价内容、评价方法和评价形式等多方面发展了传统测评理论和实践,并且使对信息技术能力的测评更加容易。20世纪60年代美国首先将电脑用于教育测量,如今已步入成熟应用阶段,而在国内这方面的研究才刚刚起步。在我国,目前很多学校与社会上的各种考试依然采用传统的考试方式,在此方式下,组织一次考试至少要经过七个步骤,即人工出题、试卷硬刷、考场安排、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加以及考试要求的不断提高,教室的工作量将会越来越大,并且其工作将是一件十分繁琐和非常容易出错的事情。可以说传统的考试方式已经不能适应现试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,并且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教室的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公正、客观,更加激发学生的学习兴趣。开发本软件项目目的就是:优化教学管理,减轻管理员工作负担、提高工作效率、优化学生考试的流程,增强参加考试学生的身份识别。实施安全措施,确保考试的公正性。

1.2 在线考试系统概述

此在线考试系统由用户注册登陆模块、考试模块、系统管理模块和论坛模块等模块组成。其中系统管理模块是进行题目的添加、存储和删除,是系统运行的

1

武汉纺织大学2013届毕业设计论文

基础;查询子模块实现了对学生考试信息远程查询。考试模块是客户端学生或管理员通过自己的姓名和学号以及密码登陆系统,进入界面时由系统按照出题管理员预先设置好的试卷结构从题库中抽取适合的题目,形成试卷。学生可通过论坛了解交流一些个与考试相关的信息。系统选用的开发软件是my eclipse和tomcat,后台数据库为My SQL。本系统的开发采用结构化设计思想。

1.3 系统开发环境

该系统数据存储量小、分析处理工作简单。前台以Java为开发工具, 使用JSP开发技术,以Tomcat作为Web服务器,在短时间内建立系统应用原型,对初始原型系统进行需求迭代,不断修正和改进,直到初可行的设计软件的界面和各个功能模块;后台使用SQL Server 2008 进行系统数据库的连接和管理,实现基于Intranet 的数据输入和数据查询。Windows Server服务器操作系统,SQL Server数据库,Tomcat Web服务器三者之间具有良好的可兼容性,运行稳定。三者的搭配使用能够保证系统长期稳定,高效运行。 系统的客户端在Windows平台下运行,服务器端可在Windows平台或UNIX平台下运行,可实现各操作点的信息共享,相互之间的信息传递要做到准确、快捷、顺畅;采用图形化的操作界面,对重点业务实施全天候动态监管;系统维护方便可靠,有较高的安全性,满足实时性、先进性和经济性的要求。

1.3.1 JSP简介

JSP全名为java server page,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。

JSP技术使用Java编程语言编写类XML的tags和script lets,来封装产生动态网页的处理逻辑。网页还能通过tags和script lets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(Java Server

2

武汉纺织大学2013届毕业设计论文

Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。

1.3.2 系统开发的语言环境

Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行,其固有的特性保证了它是一种高效、安全、灵活、面向对象的现代程序设计语言。从最普通的应用到大规模的商业开发,Java推动了信息时代的飞速发展。

2 系统规划与分析

2.1 需求分析

通过调查,要求系统具有以下功能:

表2-1 系统功能

功能 登录系统 具体描述 用户输入用户名、密码和权限(学生或管理员),通过系统认证,可登录系统。 系统根据学生设定的考试科目、题量和时间,抽取试题。学生作答完毕或到达考试结束时间后,系统自动完成阅卷,并反馈相关信息。 添加、更改、删除、查看试题。 系统根据管理员设定的考试科目、题型和题量,自动或手动生成一份试卷,并配有对应该试卷的一份标准答案。 根据特定的考试科目,申请,然后激活相应要进行考试的试卷。 考试完毕管理员可以查询学生成绩 学生或管理员等可对考试相关信息进行留言反馈 对系统进行整体维护与管理 可使用此功能的系统角色 学生、管理员 在线考试 试题管理 生成试卷 申请、激活试卷 成绩查询 论坛 系统管理 学生 管理员 管理员 管理员 学生,管理员 学生、管理员 管理员 3

武汉纺织大学2013届毕业设计论文

2. 2可行性分析 2.2.1 经济上的可行性

目前基本上判卷还是完全采用纯人工方式完成,进行报表制作,对数据进行综合分析等,因此耗用工时较多,且效率低下。而当采用计算机进行管理时,不但可以为企业节省大量的人力物力,而且效率要比手工高得多,还可以让人力资源得到充分的利用。由此可见,开发此系统在经济上的是完全可行的。

2.2.2 技术上的可行性

从目前市场上数据库开发、管理软件来看,对于比较简单的中小型数据库,微软公司的Microsoft SQLServer2008是实际应用中较为成功是一种解决方案。它是数据库的优秀软件,是面向对象的可视化编程,同时它提高了多库操作命令和函数,具有很强的数据处理能力。包括数据存储、分类、汇总、检索等。

同时应用JSP的技术开发管理信息系统,可以得心应手,事半功倍,它为用户提供了Windows所一贯坚持的非常友好、操作简单的用户界面、完善而强大的数据操作功能,通过JSP与SQL语句的结合对数据库进行更为复杂的操作。 结合本项目实际,判卷水平和复杂程度相对来说还是可以分析清楚的,经系统分析,可以设计出符合实际需求、易于理解、易于操作、易于维护的数据库和操作系统。对于JSP 来说,对数量较少的表和其间关系进行比较简单的操作正是其擅长的功能,无论是查询、统计,都能顺利完成。因此,开发实施本系统,从软件的角度看,是可行的。

开发本系统所使用的软件对于计算机硬件有一定的要求,JSP 对计算机的内存、外存(主要是硬盘的容量)都有要求,这样才能是系统正常运行,基本要求是:设计环境为WIN XP/WIN 7,应用程序要求8MB RAM。从目前市场上流行的硬件水平来看,这种要求水平是完全可以达到的。所以在硬件方面,本系统也是可行的。

2.2.3 操作上的可行性

在线考试系统以计算机为操作工具,按照理论考试的流程,把考试的理论试题保持在数据库中,通过计算机可很方便的查询使用所需要的数据,而且这些操作全部有系统内部完成。考生和系统管理员通过系统的特定界面,输入相应的数据便可完成操作。

4

武汉纺织大学2013届毕业设计论文

作为在线考试系统考生登录后可以进入考试界面,不需要参加培训。在规定时间内做完题目就可以提交,提交后就可以查看成绩和正确答案。

2.3 系统业务流程分析 2.3.1 管理员业务流程图

对该系统业务流程进行分析之后得出,管理员业务流程是这样的:首先登陆,对试题进行管理,如查看、增加、删除、修改试题等,然后对学生成绩进行管理,如添加、修改、删除、查看成绩等。详细的管理员业务流程如下图所示:

图2-1 管理员业务流程图

2.3.2 学生业务流程分析

对该系统业务流程进行分析后得出,学生业务流程是这样的:首先注册,然后登陆开始答题,之后还可以查看成绩或在论坛上留言。详细的学生业务流程如下图所示:

图2-2 学生业务流程图

2.4 系统数据流程分析 2.4.1 系统顶层流程图

顶层图是将系统高度抽象与概括而得到的,是由一个处理功能所构成系统。图中描述了系统总的处理功能及系统的外部环境—向系统提供数据的外部实体和输入数据流的名称、接受系统输出数据流的外部实体和输出数据流的名称。

5

武汉纺织大学2013届毕业设计论文

图2-3 顶层数据流程图

2.4.2 一级细化数据流程图

一级细化DFD是对顶层图中的处理功能的分解与细化,是从整体到部分的细化,划分的是子系统。将顶层图的功能分解为几个主要功能后就得到一级细化的数据流程图。细化的过程可以按照系统的业务功能进行划分也可以按照输入、处理、输出进行划分。

12.1登陆成功用户信息添加试题信息2.2管理员核对信息添加试题更新试题库信息题库信息3学生用户信息4随机生成试卷试题信息 D1试题信息试题信息5.1登陆成功5.2开始答卷5.3核对信息选择试卷开始答卷生成成绩成绩信息成绩信息D2成绩统计

图2-4 一级细化数据流程图

6

武汉纺织大学2013届毕业设计论文

2.5 数据字典

数据字典是关于数据的信息集合,也就是对数据流程图中包含所有元素定义的集合。是关于数据库中数据的描述,它的作用是在软件分析和设计过程中为有关人员提供关于数据描述信息的查询,以保证数据的一致性。

2.5.1 主要数据项描述

数据项用来描述实体的某种属性。系统中数据元素的个数很多,为了便于以后的查询,因此需要为每一个数据元素给出一个唯一的编号。数据字典中数据项包括:①数据项的名称、编号和简述;②数据项的长度;③数据项的取值范围,具体如下:

(1)学生用户名数据项描述

表2-2学生用户名数据项的描述 数据项编号 数据项名称 简述 类型及宽度 I01-01 学生用户名 学生用来登录系统的用户名 字符型,10位 (2)管理员编号数据项描述

表2-3 管理员编号数据项的描述

数据项编号 数据项名称 简述 类型及宽度 I01-02 管理员编号 管理员用来登录系统的编号 数字型,4位

(3)学生密码数据项描述

表2-4 学生密码数据项的描述

数据项编号 数据项名称 简述 类型及宽度 I01-03 学生密码 学生用来登录系统的密码 数字型,6位 7

武汉纺织大学2013届毕业设计论文

2.5.2 主要数据结构描述

数据结构描述数据项之间的关系,可由若干数据项、数据结构或数据与数据结构组成。数据元素在系统中的传送总是以满足某种应用的要求逻辑组合在一起,一般情况下这种组合不必再分,可直接引用。

(1)试卷表数据结构描述

表2-5 试卷表数据结构的描述

数据结构编号 数据结构名称 简述 数据结构组成

(2)成绩表数据结构描述

表2-6成绩表数据结构的描述 数据结构编号 数据结构名称 简述 数据结构组成

(3)考试科目数据结构描述

表2-7考试科目数据结构的描述

数据结构编号 数据结构名称 简述 数据结构组成 S02-03 考试科目 试卷科目信息 课程编号+课程名+加入时间 S02-02 成绩表 考生考试成绩 考生编号+试卷编号+分数+考试时间 S02-01 试卷表 各科试卷基本信息 试卷标题+课程编号+试卷包含题目数量+判断题数量+选择题数量+试卷满分+判断题分值+选择题分值+考试时间 2.5.3主要数据流描述

数据流由一个或一组固定的数据项组成。可以是一个已定义的数据结构,也可以由若干数据元素、简单的数据结构和复杂的数据结构组成。该指标是本系统中的一个重要参数。系统中主要的数据流见表3-5。

(1)学生信息数据流描述

表2-8 学生信息数据流的描述

8

武汉纺织大学2013届毕业设计论文

数据流编号 数据流名称 简 述 数据流来源 数据流去向 数据项组成

(2)试卷信息数据流描述

表2-9 试卷信息数据流的描述 数据流编号 数据流名称 简 述 数据流来源 数据流去向 数据项组成

(3)留言信息数据流描述

表2-10 留言信息数据流的描述 数据流编号 数据流名称 简 述 数据流来源 数据流去向 数据项组成 D03-03 3 论坛留言 学生留言 为管理员提供信息 学生编号+留言标题+留言内容+留言日期 D03-02 2 试卷详细信息 教师出题 为试卷提供题目 试卷编号+题目类型+题目编号+分值 D03-01 1 学生信息 学生基本信息和访问权限 管理员将编码整理后的学生信息存入数据库 学生编号+用户名+密码+访问权限 2.5.4 主要数据存储描述

数据存储在数据字典中,只描述数据的逻辑存储结构,不涉及它的物理组织,主要描述它所表示的数据结构和输入、输出数据流。下表对系统中主要的数据存储进行了描述:

(1)留言信息数据存储描述

表2-11 留言信息数据存储的描述

数据存储编号 数据存储名称 数据存储组成 P04-01 留言信息 学生编号+学生用户名+留言内容+留言时间+ 管理员回复 关键字 学生编号+留言内容 (2)成绩单数据存储描述

表2-12 成绩单数据存储的描述

数据存储编号 P04-02 9

武汉纺织大学2013届毕业设计论文

数据存储名称 数据存储组成 关键字 成绩单信息 准考证号+课程号+成绩+考试时间 准考证号+成绩 2.5.5 主要处理逻辑描述

处理逻辑表示对数据的变换,表示系统能做什么;输入和输出则分别描述与处理逻辑相关的数据流或者相关的数据存储;处理频率用于描述处理的次数。下表选取本系统中两个典型的处理逻辑进行了描述,具体如下:

(1)用户处理逻辑描述

表2-13 用户处理逻辑的描述 处理逻辑号 L05-01 处理逻辑名称 用户 简 述 验证用户身份 输入的数据流 登录信息 来源:外部实体“管理员”、“学生” 处理描述 根据资料的内容判断是否通过审核,如果通过审核则该资料被标注为已通过,没有通过审核就被标注为未通过。 输出的数据流 已通过审核资料 处理频率 按请求次数处理

(2)学生选择考试科目处理逻辑描述

表2-14 学生选择考试科目处理逻辑的描述

处理逻辑号 L05-02 处理逻辑名称 学生选择考试科目 简 述 学生从可选择的考试科目中选出要参加的考试科目 输入的数据流 供选择的考试科目 来源:外部实体“学生” 处理描述 学生都可以从供选择的考试科目中选出自己要参加的考试,选择时要保证所选的科目在考试时间内 输出的数据流 所选考试科目的试卷 处理频率 按请求次数处理

10

武汉纺织大学2013届毕业设计论文

3 在线考试系统设计

3.1 系统的平台设计

平台设计一般分为硬件配置和软件配置。建议配置如下表所示:

表3-1系统的平台设计的建议配置 处理器 2.8GHz的CPU,拥有800MHz 前端总线和2MB 二级缓存 拥有4个DIMM槽,支持具备ECC 功能的DDR 2内存 支持双路交叉存取技术,标配512 MB DDR2 ECC 内存,可扩展至8GB 采用SCSI采用高速、稳定、安全的SCSI接口硬盘 ATX或是SSI作为电源机箱电源,最好带有冗余电源 后备时间达7分钟,允许130%过载、切换时间小于10ms的后备式不间断电源 (UPS) 软件配置 Web服务器 Tomcat 7.0 操作系统 数据库 Windows XP或Windows 7 SQL Server 2008 硬 内存 件 配 硬盘 置 内置电源 外置电源 3.2 系统功能结构设计

此系统的大致功能和性能要求:

在线考试系统由用户注册登陆模块、考试模块、系统管理模块和坛模块等模块组成。其中系统管理模块是进行题目的添加、存储和删除,是系统运行的基础;查询子模块实现了对学生考试信息远程查询。考试模块是客户端学生或管理员通过自己的姓名和学号以及密码登陆系统,进入界面时由系统按照出题管理员预先设置好的试卷结构从题库中抽取适合的题目,形成试卷。学生可通过论坛了解交流一些个与考试相关的信息。

(1)登录模块:当考生登录到考试系统窗体时,首先要求输入考生的学号和姓名并按下确认,进行身份验证,如果没有通过的原因。返回原因可能为:学号与姓名不相配,或者是已经参加过考试,或者是某种原因,你已经处于考试状态。管理员登陆成功后就可以对考生信息等内容进行管理。

(2)注册模块:当未注册考生参加考试时,需要先注册,注册后方可考试。

11

武汉纺织大学2013届毕业设计论文

(3)在线考试模块:考生选择考试科目后,选择试题编号进入到答题界面,界面会提示考生剩余时间与已利用时间,答题完毕交卷(时间未做完将强制交卷)后,系统自动核对答案,并计算分数,接着考生就可以查询成绩了。

(4)题库管理模块:题库管理包括判断题管理、选择题管理。管理员可以通过题库管理对各种类型的试题进行添加、删除、修改及查询。

(5)成绩管理模块:管理员登录后可以查看所有考生的成绩,如果有考生作弊可以将其成绩记为0分。

(6)用户信息管理模块:主要对考生信息进行查询、删除,对错误的信息可以进行改正。

(7)论坛模块:考生进入后,可以留言,把遇到的问题反馈给管理员;管理员进入后可以看到所有留言,并可以回复。

注册输入用户名登录输入密码修改信息考生考试查询成绩 图3-1 学生功能结构图

12

武汉纺织大学2013届毕业设计论文

试题查询试题修改试题删除题库管理试题增加试卷查询试卷管理管理员教师试卷修改试卷删除试卷添加图3-2 教师功能结构图

教师信息删除教师信息添加登录教师信息管理学生信息查看教师信息查看教师信息修改学生信息修改学生信息管理学生信息删除学生信息添加管理员题库管理试卷管理 图3-3 管理员功能结构图

系统功能结构图,是对系统功能的一个宏观分析,是指为了实现目标,系统所必须具有的各种功能,或者说系统必须具备的完成某项工作的能力。系统的功

13

武汉纺织大学2013届毕业设计论文

能结构直接取决于系统的组织结构,同时也对系统的组织结构产生很大的影响。下图为本系统的系统功能结构图,它详细反应出了在线考试系统所具备的主要功能。

图3-4 系统总体功能结构图

3.3 代码设计

代码是用来表示客观事物的一个或一组有序的符号,通常由数字、字母组成。易于被计算机和人识别和处理。在线考试系统为考生和管理员设计了代码,用来唯一的标识一个实体或属性值,便于排序、分类统计,每段数据代表与新闻的一些相关信息,不用另花存储空间来存储这些冗余信息,这样,一方面可统一管理,另一方面是为了方便数据输出。

在设计代码时,要考虑到代码设计的一些基本原则。首先,代码设计要保证每一个代码都有确定的代码实体,做到一一对应而不能有歧义,系统中不能出现相同的代码;其次,代码设计要合理,设计出的代码应具有逻辑性、直观性强、便于掌握、能准确一致地标识出对象的分类特征,这时既要适应业务分类习惯,又要考虑计算机处理效率;再次,代码要有可扩充性,随着用户的增加,代码长度日趋加长,在编码中要考虑到这些后备需要;最后,代码设计应尽量简单,方便计算机处理,同时简单的代码既可以节约存储空间,还能加快数据的处理速度。

14

武汉纺织大学2013届毕业设计论文

按以上设计原则,并结合在线考试系统的实际需要,设计出了以下代码:

XX XX XX XX XXXX 考试时间 考试类别 考试科目 学院 图3-5 考试编号的代码模型

3.4 系统数据库设计

数据库设计是在选定的数据库管理系统基础上建立数据库的过程。数据库设 计时需要综合各个子系统的数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足各种查询要求的数据模型。该设计过程包括概念结构设计、逻辑结构设计和物理结构设计。

3.4.1 概念结构设计

概念结构设计关心的是如何完整、正确地反映客观实际情况,不关心在数据库中如何实现。这种数据模式能真实地反应用户要求的实际情况,是一种容易被人们理解的直观的数据库结构模式。同时也是一种相对稳定统一的数据模式,一般情况下很少变动。概念性数据在用户和设计者之间建立了桥梁。是设计数据库结构的基础。

概念设计中自顶向下的实体分析方法,即常用的实体联系模型(简称E-R模型),对具体数据进行抽象加工,将实体集合抽象成实体类型。用实体间联系反映现实世界事物间的内在联系。E-R模型是建立概念性数据模型的有力工具。 通过对在线考试内容和过程的分析,本系统应设计的实体和属性如下:

试题(题目编号、题型、题目主干、难度系数、选项、答案、分值、章节) 试卷(试卷编号、试卷标题、课程编号、可用状态) 试卷详细信息(试卷编号、题目编号、题目类型、分值) 用户(用户名、用户姓名、密码、权限) (1)实体之间关系E-R图

15

武汉纺织大学2013届毕业设计论文

教师 n 试题 讲授 n 抽题 1 课程 选修 n 1 答卷 1 考生

图4-5 实体间关系E-R图

m 试卷 (2)试题实体E-R图

题目类型 题目内容 试题号 试 题 分值 选项 正确答案

图4-6 试题实体属性E-R图

(3)用户实体E-R图

用户编号 用户名 访问权限 用户 图4-7 用户实体E-R图

密码

(4)成绩实体E-R图

16

武汉纺织大学2013届毕业设计论文

考试时间 成绩单 课程号 成绩 准考证号

图4-8 成绩单实体E-R图

(5)试卷实体E-R图

试卷标题 课程编号 试卷 试卷编号 可用状态

图4-9 试卷实体E-R图

3.4.2 逻辑结构设计

表3-2 逻辑结构设计所含表 序 号 1 2 3 4 5 6 7 名 称 存储用户信息的users表 存储考生成绩的score表 存储考试科目的course表 存储试卷信息的paper表 存储选择题的option 存储判断题的judge表 存储论坛信息的bbs表 作用描述 存储用户的基本信息 存储考生成绩 存储考试科目 存储试卷信息 存储选择题内容 存储判断题内容 存储论坛信息 详细设计如下: (1) 用户表:

17

武汉纺织大学2013届毕业设计论文

表3-3 users表

列名 userId userName userPwd userPower

数据类型 长度 Int Varchar Varchar Varchar

16 8 10

是否为空 No No No No

注释

用户编号,自动编号,主键

用户名 密码

用户权限(管理员与考生)

(2) 成绩表:

表3-4 score表

列名 scoreId userId paperId score examTime

数据类型 Int Int Char Int Datatime

长度 5

是否为空 No No No No No

注释

ID,自动编号,主键

考生编号 试卷编号 分数 考试时间

(3) 考试科目表:

表3-5 course表

列名 courseId CourseName joinTime

数据类型 Varchar Varchar Date time

长度 8 24

是否为空 No No Yes

注释 课程编号,主键

课程名 加入时间

(4) 试卷信息表:

表3-6 paper表

列名 paperId courseId paperName questionNum judgeNum optionNum totalMark judgeValue optionValue examTime

数据类型 Int Varchar Varchar Int Int Int Int Int Int Int

长度 8 24

18

是否为空 No No No No No No No No No No

注释

ID,自动编号,主键

课程编号 试卷标题 试卷包含题目数量 判断题的数量 选择题的数量 试卷满分 判断题分值 选择题分值 考试时间(单位:分)

武汉纺织大学2013届毕业设计论文

(5) 选择题表:

表3-7 option表

列名 optionId courseId paperId optionTitle optionA optionB optionC optionD optionAns

数据类型 Int Varchar Int Varchar Varchar Varchar Varchar Varchar Varchar

长度 8 200 50 50 50 50 50

是否为空 No No No No No No No No No

注释 题目编号,主键 课程编号 试卷编号 题干 选项A 选项B 选项C 选项A 答案

(6) 判断题表:

表3-8 judge表

列名 judgeId courseId paperId judgeTitle judgeAns

数据类型 Int Varchar Int Varchar Varchar

长度 8 200 50

是否为空 No No No No No

注释 题目编号,主键 课程编号 试卷编号 题干 答案(YES/NO)

19

武汉纺织大学2013届毕业设计论文

(7) 论坛信息表:

表3-9 bbs表

列名 bbsId userId userName pId rootId bbsTitle bbsCont bbsdate

数据类型 Int Int Varchar Int Int Varchar Varchar Date time

长度 16 24 1000

是否为空 No No No Yes Yes No Yes No

注释

留言编号,自动编号,主键

用户编号 用户名 父ID 根目录ID 帖子标题 帖子内容 发帖日期

3.5 界面设计

3.5.1 在线考试系统主界面

首页包括登录入口、注册入口、最新动态、功能简介。

登陆:为用户提供登陆,考生登陆到考生界面,管理员登录到管理员界面。 注册:为未注册的用户提供注册。 最新动态:该系统的一些最新动态。 功能简介:简要的介绍下该系统的功能。

3.5.2 考生界面

考生界面包括在线考试入口、成绩查询入口、论坛留言入口。

20

武汉纺织大学2013届毕业设计论文

在线考试:考生点击在线考试后,通过选择课程及所属试卷的编号就可以进行考试。

成绩查询:考生进入后输入考生编号就可以查询成绩了。 论坛留言:考生进入留言即可。

21

武汉纺织大学2013届毕业设计论文

3.5.3 管理员界面

管理员界面包括考生信息管理入口、题库管理入口、论坛管理入口、成绩管理入口。

考生信息管理:该页面实现对考生资料的查询、添加、删除及修改操作。 题库管理:该页面实现对试卷的查询、添加、删除及修改操作。 论坛管理:该页面管理员可以回复留言,可以查看和删除留言。 成绩管理:该页面实现对考生成绩的查询、添加、删除及修改操作。

22

武汉纺织大学2013届毕业设计论文

3.6 系统安全设计

系统安全是指计算机的硬件软件和数据受到保护,数据不因偶然和恶意的原因而遭到破坏、更改和显露,系统连续正常运行。系统安全设计的主要内容包括:系统的数据安全,即数据安全和数据库系统的安全,它们是管理信息系统中最重要的安全内容;网络和系统的运行安全。

3.6.1 数据安全

数据安全主要从终端用户和系统管理员两个方面进行设计。

终端用户:首先是权限模块的设置,在网站首页有提示用户登录或注册的模

23

武汉纺织大学2013届毕业设计论文

块,只有当用户注册后,才能进行在线考试、成绩查询、论坛留言操作;注册成功后,网站会提示用户转到首页,重新用刚刚注册的用户名和密码进行登录,防止数据的恶意窃取和丢失。

系统管理员:主要给DBMS提供安全功能。如触发器功能,数据库加锁功能;给重要的数据项加密,如可对前台用户的注册基本信息进行数据加密,防止黑客入侵恶意窃取,保护用户个人隐私;同时,管理员只能管理其所在方面的数据,保证了数据安全的性,防治管理员数据造假,侵害用户权益。

3.6.2 网络安全

网络的安全措施主要有以下几种:

物理措施:例如,保护网络关键设备(如交换机等),采取防辐射、防火以及安装不间断电源(UPS)等措施。

访问控制:对用户访问网站的权限进行严格的认证和控制。例如,进行用户身份认证,对口令加密、更新和鉴别,设置用户访问目录和文件的权限等。

数据加密:加密是保护数据安全的重要手段。加密的作用是保障信息被人截取后不能读懂其含义。而在系统设计过程中,由于数据加密技术(密钥管理、数字签名、认证技术等)比较复杂,系统只是属于试验论证阶段尚未投入使用,故在数据加密方面只是控制了访问权限,但管理员可通过安装防火墙,对网络的隔离和访问等方法来控制网络的访问权限,从而保护网站安全。

4 在线考试系统实施

4.1 数据库的实施

主要代码如下:

/**

* @(#)User.java

* Description: TODO 用户实体类 * Version : 0.0.0

* Copyright: Copyright (c) 黑龙江海康软件工程有限公司 版权所有 * Create by: fcm 2011-12-5 */

package com.highcom.CT.dao; import java.sql.*;

public class baseDao {

24

武汉纺织大学2013届毕业设计论文

);

private static Connection conn; //定义连接对象 private static Statement stmt;//创建事物 private static ResultSet rs; //创建结果集对象 public baseDao() {

String mysqlDriver=\"com.mysql.jdbc.Driver\";

String mysqlURL=\"jdbc:mysql://localhost:3306/zxks\"; String mysqlUser=\"root\"; String mysqlPassword=\"root\"; try{

Class.forName(mysqlDriver); //加载驱动 //System.out.println(\"加载驱动成功!!!\"); }

catch(Exception e){

//System.out.println(\"加载驱动失败!!!\"); e.printStackTrace(); } try{

conn=DriverManager.getConnection(mysqlURL,mysqlUser,mysqlPassword

stmt=conn.createStatement(); if(!conn.isClosed())

System.out.println(\"数据库连接正常!!\"); }catch (SQLException ex){

System.out.println(\"数据库连接失败!!\"); ex.printStackTrace(); } }

// 返回一个数据库连接

public Connection getConnection() { // 返回连接对象 return this.conn; }

/*===============执行查询==============*/ public ResultSet executeQuery(String sql){ try {

Statement stat = conn.createStatement (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);//创建事务

rs = stat.executeQuery(sql);//执行查询返回结果集

25

武汉纺织大学2013届毕业设计论文

} catch (SQLException e) { e.printStackTrace();

}finally{//关闭所有连接并将数据库设置成为自动提交 //close(); }

return rs; }

/*================执行更新===============*/ public int executeUpdate(String sql){ int i = 0;//DB中受影响的行数

// 判断JDBC连接是否被关闭,若关闭则直接抛出一个 IllegalStateException

try {

if (conn.isClosed()) {

throw new IllegalStateException(\"ERROR.THE CONNECTION ISCLOSED\");

}

} catch (SQLException e1) {

// TODO Auto-generated catch block e1.printStackTrace(); }

if (conn!=null) {

//将自动提交设置为false try { conn.setAutoCommit(false);//设置数据库自动提交属

性为 false,DB完整性保护

Statement stat = conn.createStatement();//创建事物 i = stat.executeUpdate(sql);//执行更新返回DB中受影响的行数

System.out.println(i+\"行受影响!\"); conn.commit();//提交对数据库的操作 }catch (SQLException e) { try {

conn.rollback(); //回滚操作 } catch (SQLException e1) {

// TODO Auto-generated catch block e1.printStackTrace(); }

e.printStackTrace(); } finally { try {

conn.setAutoCommit(true); if (conn!=null) {

26

武汉纺织大学2013届毕业设计论文

conn.close(); }

} catch (SQLException e) { e.printStackTrace(); } } }

return i; } /**

* 释放资源

* @param conn 数据库连接

* @param pstmt PreparedStatement对象 * @param rs 结果集 */ public void closeAll( Connection conn, PreparedStatement pstmt, ResultSet rs ) {

/* 如果rs不空,关闭rs */ if(rs != null){

try { rs.close();} catch (SQLException e) {e.printStackTrace();}

}

/* 如果pstmt不空,关闭pstmt */ if(pstmt != null){

try { pstmt.close();} catch (SQLException e) {e.printStackTrace();}

}

/* 如果conn不空,关闭conn */ if(conn != null){

try { conn.close();} catch (SQLException e) {e.printStackTrace();}

} } /**

* 执行SQL语句,可以进行增、删、改的操作,不能执行查询 * @param sql 预编译的 SQL 语句

* @param param 预编译的 SQL 语句中的‘?’参数的字符串数组 * @return 影响的条数 */

public int executeSQL(String preparedSql,String[] param) {

PreparedStatement pstmt = null; int num = 0;

27

武汉纺织大学2013届毕业设计论文

/* 处理SQL,执行SQL */ try {

conn = getConnection(); // 得到数据库连接 pstmt = conn.prepareStatement(preparedSql); //得到PreparedStatement对象

if( param != null ) {

for( int i = 0; i < param.length; i++ ) { pstmt.setString(i+1, param[i]); // 为预编译sql设置参数

} }

num = pstmt.executeUpdate(); // 执行SQL语句 } catch (SQLException e) {

e.printStackTrace(); // 处理SQLException异常 } finally {

closeAll(conn,pstmt,null); // 释放资源 }

return num; }

/*===============关闭连接==============*/ public void close(){ try {

if(!conn.isClosed()||conn==null){//判断连接是否打开,打开则关闭

conn.close(); }

if(rs == null){ conn.close(); }

} catch (SQLException e) { e.printStackTrace(); } } public static void main(String[] args){ new baseDao(); } }

4.2 程序实现

4.2.1 学生登录注册主要代码

/**

* @(#)StudentLoginAction.java

28

武汉纺织大学2013届毕业设计论文

* Description: TODO 瀛︾敓鐧婚檰action * Version : 0.0.0

* Copyright: Copyright (c) 绗崄缁? * Create by: 娈锋娣? 2011-12-12 */

package com.highcom.Login.Action; import java.util.List;

import com.highcom.CT.service.CjService; import com.highcom.CT.vo.paper;

import com.highcom.Login.Service.StudentService; import com.highcom.Login.Vo.StudentVo;

import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport;

public class StudentLoginAction extends ActionSupport{ private StudentVo studentvo; private List pnamelist;

public List getPnamelist() { return pnamelist; }

public void setPnamelist(List pnamelist) { this.pnamelist = pnamelist; }

public StudentVo getStudentvo() { return studentvo; }

public void setStudentvo(StudentVo studentvo) { this.studentvo = studentvo; }

public String execute(){

CjService cj=new CjService();

StudentService ss=new StudentService();

int a = ss.login(studentvo);//判断学生登录否? //System.out.print(a); if(a==1) {

ActionContext.getContext().getSession().put(\"studentvo\studentvo);

pnamelist=cj.GetPName(studentvo.getS_id());//通过学号获得未考试卷名称列表

if(pnamelist!=null&&pnamelist.size()>0)

{ System.out.print(\"试卷名称为\"+pnamelist); return SUCCESS; } else

29

武汉纺织大学2013届毕业设计论文

{

System.out.print(\"试卷名为空!!!\"); return \"yikao\"; } }

else{

addFieldError(\"field1\用户名或密码错误\"); return INPUT; } } /** *

* TODO 注册 * @return */

public String zhuce(){

StudentService ss = new StudentService(); ss.insert(studentvo); return \"zhuce\"; } }

4.2.2 在线留言主要代码

<%@ page language=\"java\"

import=\"java.util.Date,java.text.SimpleDateFormat,com.highcom.bysj.entity.*,

com.highcom.bysj.dao.*\" pageEncoding=\"UTF-8\"%> <%

request.setCharacterEncoding(\"gbk\");

response.setContentType(\"text/html;charset=gbk\"); String title = request.getParameter(\"title\"); String content = request.getParameter(\"content\"); String writer = request.getParameter(\"writer\"); String writeDate=new SimpleDateFormat(\"yyyy-MM-dd HH:mm:ss\").format(new Date()); Message message=new Message(); message.setTitle(title);

message.setContent(content); message.setWriter(writer);

message.setWriteDate(writeDate);

MessageDao messageDao=new MessageDao();

int count=messageDao.insertMessage(message); if(count>0){

response.sendRedirect(\"messageBoard.jsp\");

30

武汉纺织大学2013届毕业设计论文

}else{

out.print(\"\"); } %>

5 结束语

通过这次比较完整的在线考试系统设计,我摆脱了单纯理论知识学习状态,和实际相结合锻炼了我综合运用所学知识的专业基础知识,解决实际工程能力。

一个完备的在线考试系统可以使用户在学习过后及时检验自己学习效果,以发现自己的不足,使得学习效率得到很大提高。在线考试系统中题目的生成、试卷的提交、成绩的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现考试的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,在本文中详细论述了在线考试系统的设计与实现,该系统基本实现了需求分析中的功能,其中考生信息主要由数据库直接输入,考生成功登陆后核对正确后进入考试页面,考试计时,考试时间到,系统强制考生退出,及考完后对考试题的自动评分、存档。管理员进入管理员界面,管理员界面主要由学生信息管理、题库管理、试卷管理、成绩管理以及查询等模块组成。

由于时间和技术水平的缘故,本系统还存在许多方面的工作尚未完善。系统对操作人员录入的错误数据和数据本身的错误所造成数据的不完整性,系统的约束能力较弱,在系统的更进一步的实施阶段,应加强数据的完整性约束提高系统数据的正确性和相容性,以及系统的容错性,加强对用户输入端的数据进行检验。另外,本系统只提供了一些基本的查询与删除、修改功能。这些功能还不能完全满足大家的需求。为了展示教学过程的全貌,还需要进一步地引入新的测量指标,并详细阐述它在教育中所代表的含义,如知识点的掌握度、频数分布图等等,为了给没有教育测量背景的教师和学生参考,还将制作测量指标的应用案例,说明如何在实际教学过程中应用这些指标。

由于软件设计经验不足,系统的设计和论文的不足还有欠缺之处,请各位审阅老师指正,多提宝贵意见,特此感谢!

31

武汉纺织大学2013届毕业设计论文

参考文献

[1] 王祥金.一个智能在线考试系统设计与实现[D].山东:山东大学,2009.

[2] 鲁凤莲.邓绯,基于web技术的网络实施考试系统开发[J].微型计算机信息,2007,23(63).

[3] 莫赞.智能教学系统的发展与前瞻[J].计算机工程与应用,2002,38(06).

[4] 曾屹,王志青.一种计算机辅助多媒体考试系统的设计与应用[J].河北理工学院学报,2002,24(02).

[5] 李静云.基于web的在线考试系统的设计与实现[D].北京:北京邮电大学,2009.

[6] 赵彤洲,陈楠,王仁意.一种基于局域网的在线考试系统的设计及实现[J].黑龙江高教研究,2005,(09).

[7] 吴军华,徐宝文.基于网络环境的远程考试系统设计[J].南京建筑工程学院学报,2000(01).

[8] 张琴珠.计算机辅助教育[M].北京:高等教育出版社,2004. [9] 王琳.网络在线考试系统的设计与实现[D].天津师范大学.2009. [10] 王剑辉,马佳琳,张勇.基于web的在线考试系统[J].西安科技大学学报,2007,6(02). [11] 张春生,于林.软件质量管理体系研究[J].商场现代化,2008,01.

[12] 王修信,农京辉,梁冬冬.大学物理试题库中几种组卷方法的比较[J].广西物理,2008,29(03).

[13] 李美满,易德成.通用考试系统开发题库与组卷及评卷算法研究[J].计算机工程与设计,2005,26(10). [14] 华如海,王俊普,郑金等.基于约束满足智能组卷方法的研究与实现[J].计算机应用研究,2008,29(03).

[15] 刘滔.数据库通用模块及典型系统开发.北京:人民邮电出版社,2004. [16] 袁松.数据库系统概论.北京:机械工业出版社,2004.

[17] 徐志国,汪孝宜.数据库开发实例[M].北京:北京工业出版社,2005. [18] 伍俊良.管理信息系统(MIS)开发与应用[M].北京科学出版社,2006. [19] 李建中,王珊.数据库系统原理(第二版).北京:电子工业出版社,2006. [20] 王俊杰.精通JavaScript动态网页编程[M].北京:人民邮电出版社,2007.

[21] Boschmann Erwin. Teaching chemistry via distance education [J].Journal of Chemical Education,2003,80(06).

[22] Gefang Wang,Guochun Chen,Xiaoguang Sha. Design and application of a networked test system[J].Journal of Test and Measurement Technology,2004.

[23] Nirmalakhandan N.Computer-aided tutorials and tests for use in distance learning. Water [J].Science and Technology,2004,49(8).

[24] Zhenming Yuan,Liang Zhang,Guohua zhan.A novel web-based online examination system for computer science education [C]. Proceedings-Frontiers in Education Confernce,2003,(03).

[25] Heck Bonnie S, Poindexter Sandra E, Garcia Raymond C. Integrating the web into traditional teaching methods[C].Proceedings of the American Control Conference,2000,(05).

32

武汉纺织大学2013届毕业设计论文

致 谢

本次毕业设计的最终完成离不开很多人的大力协助。真诚的感谢本次毕业设计的指导老师张星老师,给了我自由选题的机会,在我的论文审稿阶段指出了很多方面的不足,并一一给出修改意见,对我进行悉心指导,对我的毕业论文最终完成给予了极大的支持和帮助。

特别感谢本班的杨志同学,在毕业设计中遇到难点的时候,热情和耐心地帮

助我,对我毕业设计工作的顺利完成有着重要的意义。 最后,再一次感谢所有帮助过我的人们!

33

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- obuygou.com 版权所有 赣ICP备2024042798号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务