基于java在线考试系统的设计与实现_毕业论文设计(编辑修改稿)内容摘要:

JavaSE 就是 Java 的标准版,主要用于 桌面 应用软件的编程。 JavaSE 包含那些构成 Java 语言 核心的类。 比如 :数据库连接、接口定义、输入 /输出、 网络编程 [3]。 基于 Java 的 在线考试系统的设计和实现 5 JavaSE具有以下 几个特点 : 第一,它比较容易开发;第二 ,它 启动时间短 ,内存占用较少;第三 ,它 还有元数据特性。 关于 STRUTS Struts 简介 Struts 是 开源软件。 使用 Struts 的目的是为了帮助我们减少在运用 MVC 设计模型应用的时间。 Struts 已逐步越来越多运用于商业软件,是一种非常优秀的JavaSE MVC 实现方式 [4]。 Struts 的主要功能 包含一个 controller servlet, 能够将客户端的请求发送给 Action 对象。 提供了一系列实用对象 : 通过 Java reflection 自动处理 JavaBeans 属性、提示和消息。 Struts 提供了它自身的控制器组件,并 且 整合了其他技术, 用来 提供模型和视图。 Struts 正逐步被运用,是性能良好的 MVC 实现方式 [5]。 Struts 工作原理 这里我们先来介绍一下 MVC, MVC 是 ModelViewController 的缩写。 它作为称用得设计模式得到了广泛的运用。 MVC 使数据接口和逻辑接口连接减弱,并且使得视图更加富有变化性。 MVC 使得程序逻辑清晰,更容易被人理解。 MVC 的工作原理如 下 21 所示: 基于 Java 的 在线考试系统的设计和实现 6 21MVC 的工作原理 接下来,我们 说一下 Struts,它 作为 MVC 的一种实现。 Struts 继承了 MVC的各项特性, 具有 MVC 的特点。 并根据 JavaSE 的特点, 做出了相应的更改。 Struts 的工作原理, 如 下图 22 所示: 22Struts 的工作原理 关于 SWING Swing 简介 Swing 是建立在 AWT 之上的组件集。 除提供了 AWT 所缺少的、大量的附加组件外, Swing 还提供了替代 AWT 重量组件的轻量组件。 AWT 中文含义抽象窗口工具包 (Abstract Window Toolkit)功能是 Java 开发用户界面最初的工 具包。 Swing 还包括了一个用于实现插入式界面样式特性的图形用户界面的下层构件。 因此,在不同的平台上, Swing 组件都能保持组件的界面样式特性。 例 如双缓冲、调试图形和文本编辑包等 [6]。 为什么需要 Swing 基于 Java 的 在线考试系统的设计和实现 7 Swing 设计者采用的设计模 式:模型 —— 视图 —— 控制器( MVC)模式。 该设计模式遵循一个基本原则:它限制一个对象的功能的数量。 防止一个按钮完成所有的事情。 而应该分配内容, 比如说 让一个对象负责组件的观感,另一个对象负责存储内容。 当 程序员 想要使用 Swing 组件 来完成开发 时,不需要考虑 MVC 体 系结构。 每个用户界面的元素都有一个包装器的类来保存模型和视图。 当需要查询 所需要的 内容时,包装器类会向模型询问并且返回所要的内容。 当想要改变视图时(例如,在一个文本域中改变光标位置的时候),包装类会把此请求转发给 视 图。 然而,有时候包装器转发命令并不得力。 在这种情况下,就必须直接地与模型进行交互。 Swing 带给我们什么 MVC 模式吸引 广大 Swing 设计者原因是这种模式允许实现可插观感。 每个按钮或者文本域的模型是独立于观感的。 当然可视化表明完全依赖于特殊观感的用户界面的设计,并且控制器可以改变它。 比 如,在一个语音控制设备中,控制其需要处理的各种事件与使用键盘和鼠标的标准计算机完全不同。 Swing 设计者 通分离 底层模型与用户界面, 这样 能够重用模型的代码, 更甚于 在程序运行时对观感进行切换 [7]。 对于绝大多数组件 ,模型类将实现一个以 Model 命名 结尾的接口。 比如,我们所知道的 按钮就实现了 ButtonModel 接口。 实现 上述 接口的类可以定义各种按钮的状态。 上述按钮并不是很复杂,在 Swing 组件 库中就有个叫DefaultButtonModel 的类就实现了这个接口。 在试图对象中,每个 Swing 组件都有一个相关的后 缀 UI 的视图对象 [8]。 关于 开发环境的概述 操作系统 此在线考试系统的开发环境是 Windows 系统,该系统安全系数比较高而且方便。 开发语言 基于 Java 的 在线考试系统的设计和实现 8 开发语言:。 JDK(Java Development Kit)是 Sun 公司 针对 Java开发员 研发 的产品。 Java 的就是 JDK, 它 包括了 Java 运行环境( Java Runtime Envirnment) ; 一堆 Java 工具和 Java 基础的类库 ()。 所有的 Java 应用程序都有某个版本的JDK 与其相对应。 所以,要学好 Java,首先要掌握 JDK。 最能被程序员接受的是 Sun 公司发布的 JDK。 除了 Sun 之外, 好多公司都开发了自己的 JDK。 例如GNU 组织开发的 JDK; IBM 公司开发的 JDK 等 [9]。 开发环境 开发环境: 版。 Eclipse 是一个 基于 JAVA 的开发平台。 它的源代码是开放的。 该软件本身 是一个框架和一组服务,用于通过插件组件 来 构建开发环境。 其中 Eclipse 附带了一个标准的插件集,包括 了 Java 开发工具( Java Development Kit, JDK) [10]。 关于布局的概述 BorderLayout 用于 边框布局 的布置容器。 它可以对容器内的组件等进行布局设置。 例如,调整大小,调整容器内组件的位置。 该容器有以下五个区域:东、西、南、北、中。 这五个位置,每个位置只允许包含一个组件。 并且这些位置都有自己的标志: EAST、 WEST、 SOUTH、 NORTH、 CENTER[11]。 FlowLayout 外观管理器的功能就是把系统程序中所用的的各个组件按照先后顺序由上到下,由 左及右依次排开 [12]。 和 GridBagLayout GridLayout 的作用是将该窗口分成大小不等的均匀网格,然后使得组件能够依次按格放入组件。 GridBagLayout 的功能是根据设计者的想法,改变组件的大小,使它们能够摆在想要的位置 [13]。 基于 Java 的 在线考试系统的设计和实现 9 小结 本章主要介绍了该在线考试系统的关键技术和工具,对系统模式简介 MVC,以及串联的 Struts。 使得模型 —— 视图 —— 控制器直接进行恰当的交互,完成各自的职能。 用 Swing 布局器进行布局,使得用户界面的设 计更加人性化。 第三章 系统需求分析和总体设计 系统功能需求 这个在线考试系统的设计目标是实现考试系统,让考生能够自主考试完成答卷以及查分。 并附带实现相应的业务功能,如登录功能、考试功能、查分功能等。 项目中的需实现的功能如下。 考生能够自主登录该考试系统,再输入考生的账号密码后能够准确无误的进入考试系统。 为考试完成做好充分的前提。 它主要业务逻辑就是考试功能。 考试功能,顾名思义,考试点击该按钮能够打开试题进行作答。 进入考试后系统为考生自动分配考题,考生只需对试卷中出 现的考题进行作答即可。 考生能够在考试结束后查看考试分数。 当考生对自己分配到的试题做大完毕并确认无误后,提交试卷。 系统会对考生对试题的作答准确与否进行判断,进而对考生的作答给出得分。 该考试系统能够查阅考试规则。 考试组织者根据具体情况对考试规进行编写。 考生在考试前能够阅读该规则,以免出现不该发生的失误。 实现上一题、下一题的切换。 是考生能够在做题的过程中进行题目选择,或者切换题目进行答案纠正,题目检查。 考试科目都有规定一定的作答时间,该考试系统具 有倒计时功能。 考生能够时刻看到自己的作答时间以及剩余时间。 不至于因为时间问题影响自己的答题,计时功能能够督促考生快速完成试题的作答。 除此之外,该系统下管理员还可以修改难度系数和 倒 计数时间修改设定以及基于 Java 的 在线考试系统的设计和实现 10 考题 题目的增减来适应不同的情况。 系统设计的总体框架 软件层次结构 控制层 视图层 业务层 数据层 31 软件层结构 在线考试系统软件层次结构大致以上述图片进行连接。 首先,登陆窗体,菜单窗体,测试窗体共同构成了用户客户端。 用户客户端连接业务层,业务层连接数据层,三者共同构成了该考试系统的软件层结构。 界面与控制器的关系 32 界面与控制器的关系 界面与控制器的关系大致由上图就能够表述出来,客户端就是这里的控制器。 它能够控制选择进入各个界面。 它根据考生的信息输入请求,响应进入 不同的考试界面。 例如:登陆界面,选择界面,和考试界面。 综上,呈现出控制器与界面的关系。 业务层介绍 在这个在线考试系统的开发中,业务层采用接口加实现的方式制作。 其中项loginframe menuframe examfranme clientcontext ExamServiceImplpl EntityContext 选择界面 MenuFrameMenuFrame Client Context 登陆界面 LoginFrame 考试界面 examframe 基于 Java 的 在线考试系统的设计和实现 11 目中的业务层主要有以下几个功能:。 当用户来到登陆界面,用户需要输入本人的账号和密码方能进入该考试系统完成考试作答。 当输入的账号或者密码不准确时,系统会做出报错信息。 以免考试出现问题。 ,生成试卷,为表现层提高考试所需要的信息及试题。 使考生能够得到考试试题并完成考试。 是否 正确并且给出分数。 在考生完成试题作答后能够获取自己的得分。 数据层介绍 在本次 在线考试系统的 开发中,数据层的主要 实现的 功能是读取用户信息,考题信息,考试信息等。 读取用户信息:数据层接收到登录请求时,数据层要调出用户信息并且读取。 从而响应请求,进而用户能够顺利进入考试系统。 考题信息:当用户登录考试系统成功,考生要进行考试,必须发送考试请求。 这时,数据层要调出考题信息,形成考题。 这样,考生就能进入考试界面并完成考试作答。 考试信息:当考生开始答卷,数据层要不断地更新考试信息。 并通过考生的答案提交判 断考生的得分。 当考生提交试卷,数据层提交考生得分。 系统的用例图 总体用例分析 在线考试系统 33 总体用例图 管理者 用户管理部分 考试管理部分 成绩管理部分 试题管理部分 基于 Java 的 在线考试系统的设计和实现 12 由上图我们可以看出该考试系统分为以上五个部分即:用户管理部分,考试管体部分,成绩管理部分以及试题管理部分。 其中,用户管理部分是对用户的个人信息进行统一管理,使用户能够登陆该在线考试系统。 考试管理部分是指考生再登陆考试系统后,对考试进行的所有操作,比如,查看考试规则、进行考试、试卷提交等,都贵考试管理部分统一作出 处理。 成绩管理系统就是当用户提交试卷,系统给出分数后,它要对数据进行处理并能够在用户界面呈现出来。 试题管理部分是管理者将试题导入该考试系统,并将试题进行分类。 当用户点击考试请求,试题管理部分自动分配考题供用户作答。 上述的使用者分为两部分,其中一部分是管理者;另一部分是用户。 用户管理用例分析 通过下图我们能够看到用户管理分为以下四部分,当用户登陆考试系统后可以进行以下五个操作即。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。