收藏 分享(赏)

基于java的在线考试系统.doc

上传人:无敌 文档编号:632870 上传时间:2018-04-15 格式:DOC 页数:32 大小:310.50KB
下载 相关 举报
基于java的在线考试系统.doc_第1页
第1页 / 共32页
基于java的在线考试系统.doc_第2页
第2页 / 共32页
基于java的在线考试系统.doc_第3页
第3页 / 共32页
基于java的在线考试系统.doc_第4页
第4页 / 共32页
基于java的在线考试系统.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、本科生毕业设计报告课 题: 基于 java 的在线考试系统作 者: 专 业: 班 级: 指导教师: 2012 年 04 月 02 日摘 要在线考试系统与传统考试相比,可以实现考务工作的全自动化管理,并有效地利用校园网的软硬件资源,实现 考试的客观性和公证性;自动化组卷、阅卷、判分的流程更是大大的减轻教师的工作强度。在线考试系统旨在实现考试的无纸化管理,基于计算机和网络技术进行在线考试系统的使用,方便校方对考试的管理。本程序是基于 eclipse 的在 线考试系统,利用 MVC 架构编写,将功能分为 3 个模块,分别是视图,模型和控制器。将数据分为 3 个层次,分 别为 UI 层,业务层,实体数

2、据层,各层之间模块独立化,便于数据管理,易于系统维护关键词:Eclipse,MVC 架构,Java 语言,三 层结构。AbstractCompared with the traditional test, online examination can realize the automation management work of the thesis, and effective use of the software and hardware of the campus network resources, realizing the objectivity of the exam an

3、d real; Automation group rolls, scoring, the process is the scores were greatly reduce teachers working strength. On-line examination system designed to achieve examination of the paperless management, based on the computer and network technology online examination system use, convenient to school e

4、xamination management.The program is based on the eclipse of the online examination system, with the MVC framework to write, will function is divided into three modules, respectively is the view, model and the controller. Data is divided into three levels, respectively UI layer, business layer, the

5、entity data layer, between each layer DuLiHua module, facilitate data management, and is easy to maintain the system.Keywords: Eclipse, MVC framework, Java language,the Three-tier Structure大学本科生毕业设计(报告)I目 录1. 序言 .11.1 系统描述 .11.2 结构框图 .12. 所用开发工具简介 .22.1Eclipse 简介 .22.2 Java 简介 .22.3 Java 语言在 Eclipse

6、 中的应用 .33. 系统总体设计 .43.1 系统需求分析 .43.2 系统概要设计 .43.2.1 系统结构设计 .43.2.2 Swing 设计 .53.3 系统详细设计 .53.3.1 MVC 架构 .53.3.2 对象依赖注入(IOC) .63.3.3 简单工厂方法 .64. 系统应用程序设计 .84.1 用户层界面的实现 .84.1.1 布局的实现 .94.1.2 welcomeWindow 的实现 .94.1.3 loginFrame 的实现 .104.1.4 menuFrom 的实现 .194.1.5 examFrame 的实现 .214.1.6 clientContext 的

7、实现 .22大学本科生毕业设计(报告)II4.2 业务层界面的实现 .234.2.1 ExamService 的实现 .234.2.2 用户登录的实现 .244.2.3 开始考试的实现 .254.2.4 获得考卷的实现 .264.2.5 保存用户答案的实现 .274.2.6 判分的实现 .274.3 数据层的实现 .274.3.1 线性表 HashMap .274.3.2 Users 集合的实现 .274.3.3 Questions 集合的实现 .28致谢 .29参考文献 .30大学本科生毕业设计(报告)01. 序言1.1 系统描述在线考试系统主要是学生通过客户机登陆自己的账号,然后完成课程科

8、目的考试,提交,判分的过程。系统主要分成两个部分,分别是服务器端和客户端,两者通过线程的连接来完成考试的各项功能。在服务器端,服务器先启动,读取配置文件,然后将试卷和学生的信息,包括学号,姓名,密码,读取到服务器中。这些信息的读取,会被封装在其他的类中,等待客户端发送数据连接请求,一旦发现有请求,就创建一个服务线程与之保持连接,等待考试完成的数据请求发送过来,再断开连接。过程中服务器是一直处于监听客户端请求连接的运行状态。客户端部分,为了方便操作,应用到图形界面 swing 的技术,这里一共有三个部分的界面,第一个就是学生登录的界面,学生要输入学号和密码登录服务器;其次是学生选择考试科目的界面

9、,要注意先将前面一个窗口销毁,然后再创建新的窗口;最后是学生考试界面的窗口,功能较多,设计也稍显复杂。最后用户点击交卷完成考试过程,并且显示得分,最后关闭窗口,服务器同时要断开连接,线程结束。1.2 结构框图图 1大学本科生毕业设计(报告)12. 所用开发工具简介2.1 Eclipse 简介Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT ) 。Eclipse 还包括插件开发环

10、境(Plug-in Development Environment,PDE) ,这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 2.2 JAVA 简介Java 是一种简单的,跨平台的, 面向对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。当 1995 年 SUN 推出 Java 语言之后,全世界的目光都被这个神奇的语言

11、所吸引。Java 编程语言的风格十分接近 C、C+语 言。Java 是一个纯的面向对象的程序设计语言,它继承了 C+ 语言面向对象技术的核心,多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。Java 具有以下鲜明特点:1.平台无关性 平台无关性是指 Java 能运行于不同的平台。 Java 引进虚拟机 原理,并运行于虚拟机,实现不同平台的 Java 接口之间。使用 Java 编写的程序能在世界范围内共享。 2.安全性 Java 对程序提供了安全管理器,防止程序的非法访问。 3.面向对象 Java 吸取了 C+面向对象

12、的概念,将 数据封装于 类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员 只需把主要精力用在类和接口的设计和应用上。Java 提供了众多的一般对象的类,通过继承即可使用父类的方法。4.分布式 Java 建立在扩展 TCP/IP 网络平台上。 库函数提供了用 HTTP 和 FTP 协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。大学本科生毕业设计(报告)25.健壮性 Java 致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java 自己操纵

13、内存减少了内存出错的可能性。 Java 还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发 Java 应用程序的周期。并且 Java 还提供了 Null 指针检测、数组边界检测、异常出口、Byte code 校验等功能。6.动态 java 程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行 时动态装载的,这就使得 Java 可以在分部环境中动态的维护程序及分类,而不像 C+那样,没档期类库升级以后,如果想让程序具有新类库提供的功能,就需 要修改程序,重新编译。2.3 Java 语言在 Eclipse 中的应用Eclipse 是 Java 语言的开发工

14、具,通过 Eclipse 工具可以实现 Java 面向对象的思想,Java 中的接口用于实际编程中,定义一定的接口,并用 Java 实现类来实现特定的接口。具体步骤:1、安装 JDK,并在高级设置里面配置环境变量,打开 Eclipse 开发工具,并在 Eclipse 里面讲安装好的 JDK 配置进去。2、在 Eclipse 中新建一个 Java Project,在 src 目录下新建包。 (注意:包名一定要有意义。 )在包里面新建类,同样的,类名声明也要有意义。3、调试的时候要在 main 里面调试。大学本科生毕业设计(报告)33. 系统总体设计3.1 系统需求分析在传统的学校教学中,进行一场

15、考试,要求老师刻试卷、印试卷、安排考试、监考、收集试卷、评改试卷、讲评试卷和分析试卷,这是一个繁杂的过程,需要大量人力、物力与时间的投入,已经越来越不适应学校信息化建设与现代教学的需要。因此,开发基于 eclipse 的在线考试系统。3.2 系统概要设计3.2.1 系统结构设计三层架构(整体架构) DataLayer-BisnussLayer-ViewLayer 数据访问层-业务逻辑层 界面层,三层架构,是当今软件开发的一种流行架构,有点:使得数据与业务逻辑的分离,业务逻辑与用户界面的分离,但是三者相互依赖,用户界面层-依赖- 业务逻辑层- 依赖- 数据访问层。1) 表现层 (数据呈现/用户交

16、互 )在 ui 包中 的 “用户界面“和“控制器(ClientContext)“ 如:当点 loginFrame 的 login 按钮时,就会触发 clientContext.login()方法,控制器就会处理由用户界面发来的请求。控制器会去业务层处理由用户界面发来的数据。2) 业务层(业务模型),是软件的核心功能在 service 包中, 核心接口 ExamService 如: 登录系统,开始系统。业务层是在线考试系统的核心功能,它主要是为了处理控制器传来数据。比如说登录功能,先要由控制器从用户界面的得到用户输入的 id 和password。然后就会调用 ExamService 的 logi

17、n 方法。因为 ExamService 是接口,必须要有具体实现类来实现它,所以就定义了 ExamServiceImpl 来具体实现 ExamService 中的方法。而业务层的 id 和 password 是通过实体数据层得到的。3) 数据管理层( 数据持久化层),是提供数据的 CRUD 管理,增删改查数据管理层:只关心数据操作,不涉及业务功能大学本科生毕业设计(报告)4如: 查找用户。当业务层想实体数据层发送请求时,实体数据层就会寻找特定的id 和 password,若找到相应的 id 和 password 就将结果返回给业务层,业务层再将结果返回给用户界面。在 entity 包中, 核心

18、类:EntityContext, 管理 Users 和 Questions。图.2 系统层次图3.2.2 Swing 设计1)AWT 使 java 成功的技术:AppletAWT 具有强大的绘图功能AWT 的应用控件很少 (按钮, 菜单)AWT 时候开发图形,不适合开发应用2) Swing 是利用 AWT 绘图功能, 完整的重新绘制了一套控件系统包括:表格,Tree ,等JFrame 代表有框的窗口,中必须放置一个面板JPanel 代表空白矩形区域面板, 在面板上可以添加控件 /绘制图形大学本科生毕业设计(报告)53.3 系统详细设计3.3.1 MVC 设计模式MVC 是三个单词的缩写,分别为

19、:模型(Module),视图(View) 和控制 Controller)。 MVC 模式的目的就是实现 Web 系统的职能分工。 Model 层实现系统中的业务逻辑。 View 层用于与用户的交互,通常用 JSP 来实现。 Controller 层是 Model 与 View 之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示。Model-View-Control 模型- 视图-控制器。MVC 的优点: 1)低耦合性 2)高重用性和可适用性3)较低的生命周期成本 4)可维护性分离使得界面设计和业务逻辑分离。说的更通俗点就是,将前台设计和后台编码分离,便于美工和代码工的合作,已达到更

20、能完善,用户体验好的软件设计。1) Module 业务模型:软件核心功能的抽象 ,封装软件核心功能。如:注册,登录,开始考试,交卷。2) View 视图 (表现): 软件的界面视图, 用来呈现用户数据状态,接受用户请求, 界面中只包含界面显示处理逻辑。3) Controller(控制器):耦合界面与业务模型,响应处理用户请求,将用户数据和请求转发给业务模型,根据业务模型的处理结果更新转发视图界面。4) MVC 请求流程:用户访问 View,发起请求,请求由控制器处理,控制器请求业务模型完成业务处理,控制器根据业务处理结果更新用户界面。 3.3.2 对象依赖注入(IOC)依赖注入(IOC) 这里注入的是 loginFrame 具体实例(汽油) 相当于汽车和汽油。创建控制器类 ClientContext 类,中添加界面对象引用和注入方法。 达到控制器能够操作这些对象的目的 ,以防空指针异常的出现。用户界面创建对控制器的引用 。如: private ClientContext clientContext; public void setClientContext(ClientContext context) this.clientContext = context;

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

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报