基于JAVA在线考试系统设计的开发与实现docx.docx

上传人:b****4 文档编号:5500030 上传时间:2022-12-17 格式:DOCX 页数:26 大小:258.59KB
下载 相关 举报
基于JAVA在线考试系统设计的开发与实现docx.docx_第1页
第1页 / 共26页
基于JAVA在线考试系统设计的开发与实现docx.docx_第2页
第2页 / 共26页
基于JAVA在线考试系统设计的开发与实现docx.docx_第3页
第3页 / 共26页
基于JAVA在线考试系统设计的开发与实现docx.docx_第4页
第4页 / 共26页
基于JAVA在线考试系统设计的开发与实现docx.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

基于JAVA在线考试系统设计的开发与实现docx.docx

《基于JAVA在线考试系统设计的开发与实现docx.docx》由会员分享,可在线阅读,更多相关《基于JAVA在线考试系统设计的开发与实现docx.docx(26页珍藏版)》请在冰豆网上搜索。

基于JAVA在线考试系统设计的开发与实现docx.docx

基于JAVA在线考试系统设计的开发与实现docx

4444I么

八八八八八犬字

毕业论丈(设计丿

题目:

基于JAVA在线考试系统的设计与实现

姓名:

学院:

理学与信息科学学院

专业:

通信工程

班级:

学号:

指导教师:

Fl录

摘要I

ABSTRACT:

II

第一章引言1

1•1课题背景1

1.2课题的目的和意义1

1.3对于该项目的描述1

1.4系统设计思想2

1.5可行性分析3

第二章系统设计相关技术介绍及开发环境要求3

2.1MVC模式的介绍4

2.1.1MVC模式的概述4

2.1.2MVC的强势与劣势4

2.2JAVA组件JAVABEANS4

2.2.1什么是JavaBeans4

2.3JAVASE概述4

2.4关于STRUTS5

2.4.1Struts简介5

2.4.2Struts的主要功能5

2.4.3Struts工作原理5

2.5关于SWING6

2.5.1Swing简介6

2.5.2为什么需要Swing6

2.5.3Swing带给我们什么7

2.6关于开发环境的概述7

2.6.1操作系统7

2.6.2开发语言7

2.6.3开发环境8

2.7关于布局的概述8

2.7.1Borderlayout8

2.7.2FlowLayout8

2.7.3GridLayout和GridBagLayout8

2.8小结9

第三章系统需求分析和总体设计9

3.1系统功能需求9

3.2系统设计的总体框架10

3.2.1软件层次结构10

3.2.2界面与控制器的关系10

3.2.3业务层介绍10

3.2.4数据层介绍11

3.3系统的用例图11

3.3.1总体用例分析11

3.3.2用户管理用例分析12

3.3.3考试管理用例分析12

3.3.4考试题目管理用例分析13

3.3.5成绩管理用例分析13

3.4小结14

第四章系统的详细设计14

4.1客户机的类14

4.2服务器的类15

4.3实体类部分15

4.

41具类16

4.7系统运行图以及主要的实现代码20

4.8小结28

第五章总结与展望28

5.1工作总结28

5.2后续工作展望29

致谢3()

参考文献:

31kdhks(jskljfklsjgkls(jlsjfklsdjfklsjfkldsjfkljfklsjfklsjfkls©sklljlskljlskd

基于JAVA的在线考试系统的设计与实现

摘要:

当今节约已经成为一个命题,在线考试系统的设计意在响应这个话题,努力构建无纸化管理。

所谓的在线考试就是将考试安排在网上进行,方便了考试的组织安排工作;节省了大量的时间与资源。

在线考试系统适合考生分布范围广不容易集小的远程教育。

本文通过对试题的导出,在线用户的登录,答题,以及考试结果的输出进行设计,完成一个简单的在线考试系统。

木文基于

JAVA,通过MVC结构,swing进行布局。

综上技术,能够将系统功能实现。

关键字:

远程教育、在线考试、MVC、JAVA、Swing

Designandimplementationofonlineexaminationbasedon

java

Abstract:

Today'sconservationhasbecomeaproposition,onlineexaminationsystemdesignisintendedtorespondtothistopicandbuildapaperlessmanagement.Theso-calledonlineexamisconductedonlineexaminationarrangementswillfacilitatetheexaminationoftheorganizationalarrangements;savesalotoftimeandresources.Onlineexaminationsystemissuitableforawiderangeofcandidatesisnoteasytofocusonthedistributionofdistanceeducation.Basedontheexaminationofexport,onlineuser'slogin,answer,andtheoutputoftestresultstodesign,tocompleteasimpleonlineexaminationsystem.BasedonJAVA,throughtheMVCstracture,swingthelayout.Tosumuptechnology,theabilitytoimplementsystemfunctions.

Keywords:

distancelearning,onlineexaminations,MVC,JAVA,Swing

kdhks(jskljfklsjgkls(jlsjfklsdjfklsjfkldsjfkljfklsjfklsjfkls©sklljlskljlskd

第一章引言

1・1课题背景

随着近些年来网络的蓬勃发展使得网络教育也得到了一定的认可,代表了现代教育的重要发展趋势,推动了教育的更新换代。

在这种形式下,网络教育所伴随的在线考试必定能在将来的教育事业上作用明显。

到rr前为止,包括教育部在内的教育执行机构等都在积极的制定在线考试机制,使得教育事业更上一层楼。

所以,如今很多研发机构都在响应时代的命题对网络教育以及附属产业进行探讨和研发。

伴随着网页技术对日常生活的渗透,开发-•个在线考试系统已经势在必行。

1・2课题的目的和意义

根据现有情况,教育机构和学校都还是采用以往的考试方式,即纸质答卷。

但是传统纸质考试步骤很繁琐,考试组织机构要组织人员更具自己的需求出试题;安排考生在所在考场考试;安排监考人员监考;安排阅卷人员对试题进行评阅;最后安排阅卷结束后的总结大会并对考试情况作出分析报告。

不只是这样,其工作也将会是十分繁琐并且非常容易出错。

换句话说,传统的考试方式已经在一定程度上不太适合现代考试的需求。

在计算机应用的迅猛发展的前提下,网络应用也伴随着蓬勃发展。

所以,无论是考试机构还是考生都迫切需求-•个应用來减轻工作量。

不仅减轻了考生的负担,而且也提高了考试的质量。

从而使考试更接近公平,公正,客观,更能激发考生的学习积极性。

现在这种技术已经得到初步推广,得到了各种认证考试的认可。

综上需求,我们做出这个在线考试系统能够在考试和学习的过程小起到便捷、提高考试质量、减少阅卷工作量的作用。

1.3对于该项目的描述

对计算机的应用,使得生产效率得到了极大的提高,同吋也使一部分生产力得到了解放。

在信息化飞速发展的今天,计算机的应用来解决实际生产生活屮的问题已经相当普遍。

鉴于传统考试小使用纸质试卷带来的效率低下,信息滞后等诟病,我们迫切需要一个应用解决这些问题。

本文设计这个在线考试系统,采用了JAVA编程语言实现考试系统。

本文介绍的这个在线考试系统,考生通过系统许可。

在用户登录界面输入口己的账户和密码,进入考试系统。

然后根据系统提示,完成考试作答并得到IH己的分数。

上述这个过程全部都是在网络上进行并口解决了纸质答卷的繁琐过程。

本文论述的在线考试系统主要分成两个部分,即服务器部分与客户端部分。

这两者之间是通过网络连接起来的,服务器的一个线程和客户端是连着的。

首先,在服务器部分,这部分首先启动。

然后,服务器开始读取系统所需的配置文件。

上述操作能够使考试所用到的试题提交到服务器;接着读取学生的信息、学号、姓名、密码等都要出现在服务器屮。

将上述信息读取到服务器屮之后,将上述信息封装在某个类屮,紧接着等待客户端发送请求。

半客户端有请求发送,然后服务器就会与客户端进行连接。

然后等待请求结束,该连接才会断开。

在这个过程屮,服务器不断监听客户端的请求,控制运行进程。

其次,客户端部分,设计的比较简单。

因为要给学生操作,所以为了方便学生进行操作,这里用到了图形界面的操作。

上边提到的图形界面总共有三个界面构成。

第一个就是用于学生考试的用户登录的界面:

考生需要正确输入自己的账号和密码才能登录该系统;第二个就是学生选择考试科FI的界面,在这个窗口出现之前先将前面一个窗口关闭,然后再创建新的窗口;第三个界面是考生的考试界而的窗口,进入此界而也要关闭前一个窗口,紧接着当考生完成考试,提交试题,分数自动显示,然后关闭窗口。

在此同时,服务器同时要断开连接,线程结束。

综上所述,就是客户端的三个窗口。

在这个在线考试系统屮,本文涉及到两个主要的类:

即试卷类和学生类。

这两个类的信息,都是以配置文件的形式保存的。

上述信息都可以用工具类读取。

1•4系统设计思想

本文所描述的在线考试系统是以服务器和客户端的连接为屮心的,下述就是该系统的设计思想。

首先,服务器先启动,服务器然后读取配置文件。

接着,将考试所需的考题以及规定格式写入配置文件;然后,把考生的账号密码等信息写入另i个配置文件屮。

服务器需要读取试题信息,所以在设计吋要定义学牛类,试卷类以及题n类。

出客户端与服务器之问连接时需要数据请求,这里包括多种请求类型。

这里包含的请求有连接请求,考生登录请求,试题发送请求,答题请求。

为满足上述需求,我们要定义请求类,并且要求服务器不断读取请求信息。

为了减少代码量,我们这里需要几个工具类:

一个是创建套接字的连接;另--个就是用来读取配置文件的工具类。

这样就出来了服务器的基本框架。

在客户机这边,我们只需考虑一个线程就行了。

并且涉及到四个类,这之屮有三个窗口类和一个客户机与服务器线程连接的类。

这个连接类是上述三个窗口类的一个属性,这个属性用來使三个窗口类与服务器进行数据通信。

三个窗口也只能通过上述连接类与服务器之间进行通信。

这样这个客服器的整体设计也就呈现出来了。

此外还要说一下就是,客户机与服务器进行连接是通过ip和端口号数据通信的。

客户机与服务器对应关系如下:

一个客户机对应一个服务器;血一个服务器对应多个客户机。

服务器与客户机通过线程连接。

1.5可行性分析

鉴于在线考试系统的美好前景,本项FI的设计FI标是实现考试系统,并且能够实现其和应的业务功能,例如登录功能,考试功能,管理员修改难度系数,考试时间,题H数,考试得分等。

此项H需要实现如下功能。

一、登录功能:

用户能够准确无误的登录考试系统。

二、考试功能:

实现基本的业务逻辑。

三、查看分数:

在考试结束后,考生能够看到考试分数。

四、管理员可以根据系统定义修改难度系数和题FI数。

五、题H切换:

实现上--题与下一题的切换。

六、其他功能还有计吋功能等。

第二章系统设计相关技术介绍及开发环境要求

2.1MVC模式的介绍

2.1.1MVC模式的概述

MVC是模型(Model),视图(View)和控制(Controller)的缩写。

其中Model层用来实现系统屮的业务逻辑,通常可以用JavaBean来实现;View层用于与用户的交互;Controller层连接模块与视图,它可以是用户的请求得到恰当的视图予以显示,同时它也可以是用户的输入得到解释并将它们映射为模型层可执行的操作⑴。

2.1.2MVC的强势与劣势

优点:

低耦合性,使得更改视图层代码就不用重新编译模型和控制器代码。

高重用性和可适用性,允许你是用各种方式的视图来访问同一个服务器端的代码。

快速的部署,使用MVC模式是的开发时间得到相半大的缩减⑵。

缺点:

MVC的缺点是它没有明确的定义,不容易理解。

2.2Java组件JavaBeans

2.2.1什么是JavaBeans

JavaBeans是一种金业级开发屮的技术规范,凡是遵循该规范的类都称为JavaBeans类,又叫做pojo类。

该规范主要包含以卜•几点:

1•所有的类都必须实现序列化接口。

2.所有的属性尽量定义为私有属性。

3.所有的方法定义为公有方法。

4.提供属性的get和set方法,通过该方法可以访问属性。

2.3JavaSE概述

JavaSE是javaStandardedition的缩写。

JavaSE就是Java的标准版,主要用于桌面应用软件的编程。

MvaSE包含那些构成语言核心的类。

比如:

数据库连接、接口定义、输入/输出、网络编程肚。

JavaSE具有以下几个特点:

第一,它比较容易开发;第二,它启动时间短,

内存占用较少;第三,它还有元数据特性。

2.4关于Struts

2.4.1Strutst

Struts是开源软件。

使用Struts的H的是为了帮助我们减少在运用MVC设计模型应用的时间。

Struts已逐步越来越多运用于商业软件,是一种非常优秀的JavaSEMVC实现方式乂。

2.4.2Struts的主要功能

1.Struts包含一个controllerservlet,能够将客户端的请求发送给Action对象。

2.它提供了一系列实用对象:

通过Javareflection自动处理JavaBeans属性、提示和消息。

Struts提供了它自身的控制器组件,并且整合了其他技术,用来提供模型和视图。

Struts正逐步被运用,是性能良好的MVC实现方式点。

2.4.3Struts工作原理

这里我们先来介绍一下MVC,MVC是Model-View-Controller的缩写。

它作为称用得设计模式得到了广泛的运用。

MVC使数据接口和逻辑接口连接减弱,并且使得视图更加富有变化性。

MVC使得程序逻辑清晰,更容易被人理解。

MVC的工作原理如下2-1所示:

►方法调用►爭件

・:

2-1MVC的工作原理

接下来,我们说-一下Struts,它作为MVC的一种实现。

Struts继承了MVC的各项特性,具有MVC的特点。

并根据JavaSE的特点,做出了相应的更改。

Struts的工作原理,如下图2-2所示:

2-2Struts的工作原理

2.5关于Swing

2.5.1Swing简介

Swing是建立在AWT之上的组件集。

除提供了AWT所缺少的、大量的附加组件外,Swing还提供了替代AWT重量组件的轻量组件。

AWT'p文含义抽象窗口工具包(AbstractWindowToolkit)功能是Java开发用户界而最初的工具包。

Swing还包括了一个用于实现插入式界面样式特性的图形用户界面的下层构件。

因此,在不同的平台上,Swing组件都能保持组件的界面样式特性。

例如双缓冲、调试图形和文本编辑包等⑹。

2.5.2为什么需要Swing

Swing设计者采用的设计模式:

模型——视图——控制器(MVC)模式。

该设计模式遵循一个基本原则:

它限制一个对象的功能的数量。

防止一•个按钮完成所有的事情。

而应该分配内容,比如说让一个对象负责组件的观感,另一个对象负责存储内容。

当程序员想要使用Swing组件来完成开发吋,不需要考虑MVC休系结构。

每个用户界而的元素都有一个包装器的类来保存模型和视图。

当需要查询所需要的内容时,包装器类会向模型询问并且返回所要的内容。

当想要改变视图时(例如,在一个文木域屮改变光标位置的吋候),包装类会把此请求转发给视图。

然而,有吋候包装器转发命令并不得力。

在这种情况下,就必须直接地与模型进行交互。

2.5.3Swing带给我们什么

MVC模式吸引广大Swing设计者原因是这种模式允许实现可插观感。

每个按钮或者文本域的模型是独立于观感的。

为然可视化表明完全依赖于特殊观感的用户界而的设计,并且控制器可以改变它。

比如,在一个语音控制设备屮,控制其需要处理的各种事件与使用键盘和鼠标的标准计算机完全不同。

Swing设计者通分离底层模型与用户界面,这样能够重用模型的代码,更甚于在程序运行时对观感进行切换⑴。

对于绝大多数组件,模型类将实现一个以Model命名结尾的接口。

比如,我们所知道的按钮就实现了ButtonModel接口。

实现上述接口的类可以定义各种按钮的状态。

丄述按钮并不是很复杂,在Swing组件库屮就有个叫DefaultButtonModel的类就实现了这个接口。

在试图对象屮,每个Swing组件都有一个相关的后缀UI的视图对象⑷。

2.6关于开发环境的概述

2.6.1操作系统

此在线考试系统的开发环境是Windows系统,该系统安全系数比较高血且方便。

2.6.2开发语言

开发语言:

jdkl.6.010oJDK(JavaDevelopmentKit)是Sun公司针对Java开发员研发的产詁。

Java的就是JDK,它包括了Java运行环境(JavaRuntimeEnvimment);一堆Java工具和Java基础的类库(rt.jar)。

所有的Java应用程序都有某个版木的JDK与其相对应。

所以,要学好Java,首先要掌握JDK。

最能被程序员接受的是Sun公司发布的JDKo除了Sun之外,好多公司都开发了自己的JDK。

例如GNU组织开发的JDK;IBM公司开发的JDK等

2.6.3开发环境

开发环境:

EclipseG.0版。

Eclipse是一个基于JAVA的开发平台。

它的源代码是开放的。

该软件本身是一个框架和一组服务,用于通过插件组件來构建开发环境。

其屮Eclipse附带了一个标准的插件集,包括了Java开发工具(JavaDevelopmentKit,JDK)⑼。

2.7关于布局的概述

2.7.1BorderLayout

BorderLayout用于边框布局的布置容器。

它可以对容器内的组件等进行布局设置。

例如,调整大小,调整容器内组件的位置。

该容器有以下五个区域:

东、西、南、北、屮。

这五个位置,每个位置只允许包含一个组件。

并且这些位置都有自己的标志:

EAST、WEST、SOUTH>NORTH、CENTER山。

2.7.2FlowLayout

FlowLayout外观管理器的功能就是把系统程序屮所用的的各个组件按照先后顺序由上到下,由左及右依次排开他。

2.7.3GridLayout和GridBagLayout

GridLayout的作用是将该窗口分成大小不等的均匀网格,然后使得组件能够依次按格放入组件。

GridBagLayout的功能是根据设计者的想法,改变组件的大小,使它们能够摆在想要的位置曲。

2.8小结

本章主要介绍了该在线考试系统的关键技术和工具,对系统模式简介MVC,以及串联的Strutso使得模型——视图——控制器直接进行恰当的交互,完成各自的职能。

用Swing布局器进行布局,使得用户界面的设计更加人性化。

第三章系统需求分析和总体设计

3.1系统功能需求

这个在线考试系统的设计H标是实现考试系统,让考生能够H主考试完成答卷以及查分。

并附带实现相应的业务功能,如登录功能、考试功能、查分功能等。

项H屮的需实现的功能如下。

1•登录功能。

考生能够自主登录该考试系统,再输入考生的账号密码后能够准确无误的进入考试系统。

为考试完成做好充分的前提。

2•考试功能。

它主要业务逻辑就是考试功能。

考试功能,顾名思义,考试点击该按钮能够打开试题进行作答。

进入考试后系统为考生自动分配考题,考生只需对试卷屮出现的考题进行作答即可。

3.查看分数。

考生能够在考试结束后查看考试分数。

半考生对自己分配到的试题做大完毕并确认无误后,提交试卷。

系统会对考生对试题的作答准确与否进行判断,进而对考生的作答给出得分。

4.查看考试规则。

该考试系统能够查阅考试规则。

考试组织者根据具体情况对考试规进行编写。

考生在考试前能够阅读该规则,以免出现不该发生的失误。

5•题H切换。

实现上一-题、下一题的切换。

是考生能够在做题的过程屮进行题H选择,或者切换题H进行答案纠止,题H检查。

6•计时功能。

考试科H都有规定一定的作答时间,该考试系统具有倒计吋功能。

考生能够吋刻看到自己的作答吋间以及剩余吋间。

不至于因为时间问题影响自己的答题,计吋功能能够督促考生快速完成试题的作答。

除此之外,该系统下管理员还可以修改难度系数和倒计数时间修改设定以及

考题题H的增减来适应不同的情况。

3.2系统设计的总体框架

3.2.1软件层次结构

3.2.2界面与控制器的关系

界面与控制器的关系人致由上图就能够表述岀来,

在线考试系统软件层次结构大致以上述图片进行连接。

首先,登陆窗体,菜单窗体,测试窗体共同构成了用户客户端。

用户客户端连接业务层,业务层连接数据层,三者共同构成了该考试系统的软件层结构。

客户端就是这里的控制

器。

它能够控制选择进入各个界面。

它根据考生的信息输入请求,响应进入不同的考试界面。

例如:

登陆界面,选择界面,和考试界面。

综上,呈现出控制器与界面的关系。

3.2.3业务层介绍

在这个在线考试系统的开发屮,业务层采用接口加实现的方式制作。

其屮项

H屮的业务层主要有以下几个功能:

1•验证用户信息的正确性。

当用户来到登陆界面,用户需要输入本人的账号和密码方能进入该考试系统完成考试作答。

半输入的账号或者密码不准确时,系统会做出报错信息。

以免考试出现问题。

2.从数据层抽取试题,生成试卷,为表现层提高考试所需要的信息及试题。

使考生能够得到考试试题并完成考试。

3.验证用户的答案是否正确并且给出分数。

在考生完成试题作答后能够获取自己的得分。

3.2.4数据层介绍

在本次在线考试系统的开发小,数据层的主要实现的功能是读取用户信息,考题信息,考试信息等。

读取用户信息:

数据层接收到登录请求时,数据层要调出用户信息并且读取。

从而响应请求,进而用户能够顺利进入考试系统。

考题信息:

当用户登录考试系统成功,考生要进行考试,必须发送考试请求。

这时,数据层要调出考题信息,形成考题。

这样,考生就能进入考试界而并完成考试作答。

考试信息:

当考生开始答卷,数据层要不断地更新考试信息。

并通过考生的答案提交判断考生的得分。

当考生提交试卷,数据层提交考生得分。

3・3系统的用例

3.3.1总体用例分析

在线考试系统

3-3总体用例图

由上图我们可以看出该考试系统分为以上五个部分即:

用户管理部分,考试管体部分,成绩管理部分以及试题管理部分。

其屮,用户管理部分是对用户的个人信息进行统一管理,使用户能够登陆该在线考试系统。

考试管理部分是指考生再登陆考试系统后,对考试进行的所有操作,比如,查看考试规则、进行考试、试卷提交等,都贵考试管理部分统一作出处理。

成绩管理系统就是为用户提交试卷,系统给出分数后,它要对数据进行处理并能够在用户界而呈现出来。

试题管理部分是管理者将试题导入该考试系统,并将试题进行分类。

当用户点击考试请求,试题管理部分自动分配考题供用户作答。

上述的使用者分为两部分,其屮一部分是管理者;另一部分是用户。

3.3.2用户管理用例分析

通过下图我们能够看到用户管理分为以下四部分,当用户登陆考试系统后可以进行以下五个操作即:

考试开

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1