本科毕业设计基于cs模式的小型局域网考试系统java.docx
- 文档编号:27576342
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:38
- 大小:899.36KB
本科毕业设计基于cs模式的小型局域网考试系统java.docx
《本科毕业设计基于cs模式的小型局域网考试系统java.docx》由会员分享,可在线阅读,更多相关《本科毕业设计基于cs模式的小型局域网考试系统java.docx(38页珍藏版)》请在冰豆网上搜索。
本科毕业设计基于cs模式的小型局域网考试系统java
毕业设计[论文]
题目:
基于C/S模式的小型局域
网考试系统
系别:
专业:
姓名:
学号:
指导教师:
摘要
随着互联网技术的发展与普及,网络文化伴随着网络时代的到来也应运而生,作为一种新的文化形式已基本完备。
本文概述了小型局域网考试系统的相关设计内容,论文开始简单的介绍了本次毕业设计的需求分析及设计背景,分析了目前各行各业信息化的进程,强调了无纸化考试对于现行教育事业的必要性,结合本次毕业实习的经历我确定了本次毕业设计的内容。
本文重点介绍了局域网考试系统的设计构思,经过认真的思考决定采用与平台无关的Java系统开发语言,利用Java语言的安全性、健壮性、可移植性等特性有效的完成对系统的开发;详细介绍了以客户/服务器为模型(C/S模型)的局域网考试系统的总体功能结构,重点阐述了在实际的设计过程中遇到的各种问题及解决方法;本文还在设计阶段对系统数据处理模块设计类图等做了简单的介绍,对系统中涉及的一些主要的代码进行了简单的介绍;本文还对系统实现的主要功能做了简单的概述,主要功能有:
试卷录入、试卷发放、发放考生信息单、发送即时通知、开启考场监控、调用辅助工具(计算器和记事本)、成绩评定、成绩查询、成绩导出等。
本文的最后我写了一下本次设计的感想,着重说出了本次设计中自己的得失以及该设计存在的不足之处。
关键词:
Java,C/S模型,局域网,考试系统
Abstract
WiththedevelopmentandthepopularityoftheInternet,cybercultureturnsoutontheappearanceofcybertime,whichisalmostfullyequippedasanewculturalform.ThisarticleoutlinesthesmallLANdesigncontentrelatedtoexaminationsystem,thepaperstartedasimpleintroductiontothisgraduationprojectneedsanalysisanddesignbackground,analysisofthecurrentprocessofinformationindustries,emphasizingthepaperlessexaminationtotheexistingeducationthenecessityofcombiningtheexperienceofthisgraduationinternshipI'msurethecontentsofthisgraduationproject.
Thisarticlefocusesonthelocalareanetworkexaminationsystemdesignidea,aftercarefulthoughtdecidedtoadoptaplatform-independentJavasystemdevelopmentlanguage,theuseoftheJavalanguage,security,robustness,portabilityandotherfeaturesandeffectivecompletionofthesystemdevelopment;detailedintroducestheclient/servermodel(C/Smodel)LANtestsystem'soverallfunctionalstructure,focusingontheactualdesignprocessencounteredproblemsandsolutions;paperstillinthedesignstageofthesystemdataprocessingmoduledesignclassdiagrams,andsodoabriefintroductionofthesysteminvolvedinsomemajorcodewasbrief;articlealsoachievethemainfunctionofthesystemtodoasimpleoverviewofthemainfeaturesare:
paperentry,releasepaperstodisseminateinformationonthecandidateslist,sendinstantnotification,openexaminationroommonitoring,calltheauxiliarytool(calculatorandnotepad),performanceevaluation,performanceinformation,exportandotherachievements.ThelastarticleIwroteaboutthisdesignthoughts,focusingutteredthisdesigntheirownprosandconsaswellasthedesignofexistingdeficiencies.
Keywords:
Java,C/Smodel,LAN,examinationsystem
第1章绪论
1.1设计背景
随着计算机技术和网络技术的迅猛发展,计算机已经应用到各个领域。
利用校园局域网在计算机上进行考试也越来越普遍。
传统的考试从出卷、制卷、评卷、登分工作量极大,而且人工出卷和评卷容易受到教师主观因素的影响。
网络考试利用计算机自动的出卷和评卷,大大的减轻了教师的工作量。
Java语言作为一种网络编程语言,它具有面向对象、平台独立、多线程等特点,非常适合网络环境下开发应用程序。
Java提供的Socket技术也大大的简化了原有的网络操作过程,使得网络应用程序在开发的时候不必再考虑网络底层的代码设计,大大的缩短了设计的时间。
1.2设计的目的与意义
为了适应新形势的发展,使其尽快在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来本次毕业设计我设计了一个简单的小型局域网考试系统——绿光考试系统。
绿光考试系统旨在实现考试的无纸化管理,对一些科目的考试可以通过局域网(校园网)进行,方便校方考务的管理,也方便了考生。
为了能使系统适应不同的操作系统,我选择了与平台无关的开发语言Java;为了实现考场监控等特色功能,我采用了C/S模式,因为B/S无法满足;为了保障系统通信,我采用了面向连接的TCP协议;为了让用户获得更方便的操作,我努力使系统最终无需安装即可使用,如通过对象序列化技术取代数据库、增加记忆功能等;为了能使系统容易扩展新的功能我采用优秀的设计模式进行系统架构。
绿光考试系统以其出色的功能特性为老师和学生带来更高的工作和学习效率。
1.3开发环境介绍
1.3.1硬件环境
编程工具:
JDK+Eclipse+RationalRose+Visio
机型:
联想ThinkPadE40
处理器名称:
AMDAthlon(tm)IIP340Dual-CoreProcessor双核
硬盘驱动器:
WDCWD1600AAJS-22WAAO
系统内存:
金士顿内存2GB
硬盘:
希捷ST9320325AS(320GB)
显示卡:
ATIMobilityRadeonHD5400Series(1024MB)
网卡:
MicrosoftVirtualWiFiMiniportAdapter11b/g/nWirelessLANMini-PCIExpressAdapterII
RealtekPCIeGBEFamilyController
显示器:
通用即插即用监视器
操作系统:
MicrosoftWindows7旗舰版ServicePack1(build7601),32-bit
1.3.2软件环境
1.Eclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。
虽然大多数用户很乐于将Eclipse当作Java集成开发环境(IDE)来使用,但Eclipse的目标却不仅限于此。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
[1]
这种平等和一致性并不仅限于Java开发工具。
尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL、PHP等编程语言的插件已经可用,或预计将会推出。
Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
基于Eclipse的应用程序的一个突出例子是IBMRationalSoftwareArchitect,它构成了IBMJava开发工具系列的基础。
2.JDK
JDK(JavaDevelopmentKit)是SunMicrosystems针对Java开发员的产品。
自从Java推出以来,JDK已经成为使用最广泛的JavaSDK。
JDK是整个Java的核心,包括了Java运行环境、Java工具和Java基础类库。
JDK是学好Java的第一步。
而专门运行在x86平台的Jrocket在服务端运行效率也要比SunJDK好很多。
从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也不断更新,运行效率得到了非常大的提高。
3.RationalRose
RationalRose包括了统一建模语言(UML),OOSE,以及OMT。
其中统一建模语言(UML)由Rational公司3位世界级面向对象技术专家GradyBooch、IvarJacobson、和JimRumbaugh通过对早期面向对象研究和设计方法的进一步扩展而得来的,它为可视化建模软件奠定了坚实的理论基础。
同时这样的渊源也使RationalRose力挫当前市场上很多基于UML可视化建模的工具,例如Microsoft的Visio2002、Oracle的Designer2000,还有PlayCase、CABPWin、CAERWin、SybasePowerDesigner等等。
RationalRose是一个完全的、具有能满足所有建模环境(Web开发,数据建模,VisualStudio和C++)灵活性需求的一套解决方案。
Rose允许开发人员,项目经理,系统工程师和分析人员在软件开发周期内在将需求和系统的体系架构转换成代码,消除浪费的消耗,对需求和系统的体系架构进行可视化,理解和精练。
通过在软件开发周期内使用同一种建模工具可以确保更快更好的创建满足客户需求的可扩展的、灵活的并且可靠的应用系统。
RationalRose的两个受欢迎的特征是它的提供反复式发展和来回旅程工程的能力。
RationalRose允许设计师利用反复发展(有时也叫进化式发展),因为在各个进程中新的应用能够被创建,通过把一个反复的输出变成下一个反复的输入。
(这和瀑布式发展形成对比,在瀑布式发展中,在一个用户开始尝试之前整个工程被从头到尾的完成。
)然后,当开发者开始理解组件之间是如何相互作用和在设计中进行调整时,RationalRose能够通过回溯和更新模型的其余部分来保证代码的一致性,从而展现出被称为"来回旅程工程"的能力,RationalRose是可扩展的,可以使用可下载附加项和第三方应用软件,它支持COM/DCOM(ActiveX),JavaBeans和Corba组件标准.
4.MicrosoftOfficeVisio2007
MicrosoftOfficeVisio2007便于IT和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。
使用具有专业外观的OfficeVisio2007图表,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的业务决策。
MicrosoftOfficeVisio帮助您创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。
大多数图形软件程序依赖于艺术技能。
然而,在您使用Visio时,以可视方式传递重要信息就像打开模板、将形状拖放到绘图中以及对即将完成的工作应用主题一样轻松。
使用OfficeVisio2007,可以通过多种图表,包括业务流程图、软件界面、网络图、工作流图表、数据库模型和软件图表等直观地记录、设计和完全了解业务流程和系统的状态。
通过使用OfficeVisioProfessional2007将图表链接至基础数据,以提供更完整的画面,从而使图表更智能、更有用。
第2章需求分析
传统的学校教学中,进行一场考试,要求老师打印试卷、安排考试、监考、收集试卷、评改试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。
而网络考试系统,正是信息化建设的产物,它是传统考场的延伸,它可以利用计算机网络方便地对学生进行考试,大大简化传统考试的过程,因此网络考试是电子化教学的不可缺少的辅助手段。
在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。
将计算机与网络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。
2.1系统可行性分析
可行性分析是对现行系统进行初步调查和研究之后的结论,它反映了新系统开发策略。
下面分别从社会可行性、技术可行性以及经济可行性三方面进行可行性分析。
2.1.1社会可行性分析
由于学校学生人数数量众多,因而通过电脑化操作可以减少纸张的使用,同时由于数据直接通过局域网传输,可以减少信息传递时间,提高效率,这个系统很大程度上方便了老师和学生。
因此从社会可行性分析角度来说,该系统的开发和设计是可行的。
2.1.2技术可行性分析
本系统是一个基于C/S结构的小型局域网系统,采用面向对象技术、序列化技术、各种Java流行框架的应用等Java先进技术开发的应用程序,现有的开发技术已非常成熟,且被广泛应用于各行各业,利用现有技术完全可以达到功能目标。
2.1.3经济可行性
在经济上,本系统只是针对机房中小型局域网进行设计,旨在减轻教学压力。
除此之外,在可扩充性方面,系统采用生命周期法把一个复杂的系统开发工作分解成一些相对独立的部分,可以分阶段实施,为以后的扩充提供方便,另外,系统开发时,充分考虑到,系统以后的可能扩展,因此对于二次开发,将会更加方便,也即是说,系统的适应性很强,可以长期使用。
在很大程度上减轻了在考试方面的经济投入,节省一部分教育投入。
根据分析研究,使用本套住院信息管理系统对于整个住院部门来说并不是一个很大的负担,因而在经济上是可行的。
2.1.4可行性分析结论
通过在社会、技术、经济三方面的可行性研究分析,发现系统的开发满足这三方面的要求,因此一致认为系统应该立即开发。
2.2系统功能分析
在局域网中的考试系统应该满足服务器端与客户端的通信,服务器端必须满足试卷录入、试卷发放、试卷评判、考试时间设置等功能;客户端应该满足在线答题、提交试卷等功能。
第3章系统总体设计
3.1系统设计原理
系统采用C/S设计模式,运用Socket建立服务器与客户端的连接。
服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。
客户端,使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。
要学Internet上的TCP/IP网络编程,必须理解Socket接口。
Socket接口设计者最先是将接口放在Unix操作系统里面的。
如果了解Unix系统的输入和输出的话,就很容易了解Socket了。
网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。
Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。
3.2技术设计方案
3.2.1Java网络编程
所谓socket通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。
ServerSocket用于服务器端,Socket是建立网络连接时使用的。
在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。
对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。
一个完整的socket有一个本地唯一的socket号,由操作系统分配。
最重要的是,socket是面向客户/服务器模型而设计的,针对客户和服务器程序提供不同的socket系统调用。
客户随机申请一个socket(相当于一个想打电话的人可以在任何一台入网电话上拨号呼叫),系统为之分配一个socket号;服务器拥有全局公认的socket,任何客户都可以向它发出连接请求和信息请求(相当于一个被呼叫的电话拥有一个呼叫方知道的电话号码)。
socket利用客户/服务器模式巧妙地解决了进程之间建立通信连接的问题。
服务器socket半相关为全局所公认非常重要。
假如通信双方没有任何一方的socket固定,就好比打电话的双方彼此不知道对方的电话号码,要通话是不可能的。
根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:
服务器监听,客户端请求,连接确认。
服务器监听:
是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。
客户端请求:
是指由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。
为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。
连接确认:
是指当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。
而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
3.2.2Java对象的序列化
对于一个存在Java虚拟机中的对象来说,其内部的状态只是保存在内存中。
JVM退出之后,内存资源也就被释放,Java对象的内部状态也就丢失了。
而在很多情况下,对象内部状态是需要被持久化的,将运行中的对象状态保存下来(最直接的方式就是保存到文件系统中),在需要的时候可以还原,即使是在Java虚拟机退出的情况下。
对象序列化机制是Java内建的一种对象持久化方式,可以很容易实现在JVM中的活动对象与字节数组(流)之间进行转换,使得Java对象可以被存储,可以被网络传输,在网络的一端将对象序列化成字节流,经过网络传输到网络的另一端,可以从字节流重新还原为Java虚拟机中的运行状态中的对象。
3.2.3Java多线程编程
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
通常有两种方法来创建线程:
其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。
值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。
线程的活动由一组方法来控制。
Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
第4章系统详细设计
4.1系统功能设计
4.1.1菜单栏主要功能项
1.导入考场设置
2.导入考试试卷
3.导出考试结果为TXT
4.导出考试结果为HTML
5.导出考试结果为EXCEL
6.调用系统工具计算器
7.调用系统工具记事本
8.查看帮助
4.1.2工具栏主要功能项
1.试卷录入
2.考试设置
3.考场监控
4.结果查询
5.系统设置
4.1.3监考选项卡主要功能项
1.发放考生信息单
2.发放试卷
3.发送即时通知
4.开启监控
4.2模块类设计
在系统UI模块的设计过程中设计了相关的类,具体类的设计如图4.1所示
图4.1系统UI模块设计类图
在系统通信/控制模块的设计过程中设计了相关的类,具体类的设计如图4.2所示
图4.2系统通信/控制模块设计类图
在系统实体/资源模块的设计过程中设计了相关的类,具体类的设计如图4.3所示
图4.3系统实体/资源模块设计类图
在系统数据处理模块的设计过程中设计了相关的类,具体类的设计如图4.4所示
图4.4系统数据处理模块设计类图
4.3界面设计
在界面设计中采用如下的三种原则,界面整体采用菜单栏、工具栏、选项卡、状态栏结构设计;软件具有自动记忆功能,运行后自动填充已保存的设置;设计遵循用户体验的KISS原则,操作方便快捷。
系统主界面的设计如图4.5所示
图4.5系统主界面设计图
第5章系统的实现与应用
5.1服务器端的实现
在服务器刚刚开始运行的时候会弹出一个欢迎界面,显示结果如图5.1所示
图5.1系统欢迎界面
欢迎界面显示一定时间后会显示系统服务器端的登录界面,显示结果如图5.2所示
图5.2服务器端登录界面
登录成功后进入系统服务器端主界面,显示结果如图5.3所示
图5.3系统主界面(考场监考界面)
在系统主界面可以录入需要进行考试的试题,试题录入界面如图5.4所示
图5.4试卷录入界面
另外在主界面可以对考试进行考试时间限定、发放及时信息等设置,并且还可以修改系统的登
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 毕业设计 基于 cs 模式 小型 局域网 考试 系统 java
![提示](https://static.bdocx.com/images/bang_tan.gif)