基于 Servlet WebSocket MySQL 实现的网络在线考试系统

基于 Servlet WebSocket MySQL 实现的网络在线考试系统 1,开发工具选择: 采用一个开放源代码的,基于 Java的可扩展开发平台 eclipse 作为主要开发工具

本文包含相关资料包-----> 点击直达获取<-------

基于 Servlet WebSocket MySQL 实现的网络在线考试系统

1.开发工具选择:

采用一个开放源代码的、基于 Java的可扩展开发平台 eclipse 作为主要开发工具,以及一个大型关系数据库管理系统 MySQL 作为数据管理工具,MySQL workbench 数据库可视化工具协助管理数据库。

2.开发环境:

开发系统:Win10

JDK 环境:jdk1.8.0_251

开发工具:Eclipse for Java EE4.7(Oxygen)

Web 服务器:apache-tomcat-9.0.36

Web 开发技术:eclipse2019

数据库:mysql-8.0.20-winx64

浏览器:最佳为 Google Chrome 浏览器

分辨率:最佳效果为 1440*900 像素

3.本报告的主要内容:

本报告详细的介绍了网络在线考试系统的开发过程,主要涉及到的工作如下:考试的一些重要功能,如:数据库设计、考试计时模块设计、考试科目模块设计,系统运行与测试。

功能要求:

1.学生用户注册

  1. 学生用户登录
  2. 学生查看个人考试科目
  3. 学生选择考试科目,选择考试试卷,进入考试
  4. 考试时间倒计时,查看答题卡
  5. 学生交卷,倒计时结束自动交卷,执行非法动作自动交卷
  6. 系统自动评分
  7. 学生查询成绩

4.关系型数据库

关系数据库由表组成。一个关系是由一个二维表来定义的:表的行保存事物的一组属性数据,表的列定义了事物的属性。

5.创建数据库表

设计如下所示的实体和属性的定义:

试卷信息(试卷 ID,试卷名称,创建时间,答题时间,科目 ID)

考试答案信息(考试 ID,问题答案,创建时间,问题 ID)

考试问题信息(问题 ID,问题标题,问题类型,创建时间,试题答案 ID,分数,试卷 ID)

考试科目信息(考试 ID,考试科目,创建时间)

学生登录信息(ID,用户名,密码,真实姓名,email)

成绩信息(ID,用户名,分数,试卷 ID)

6.系统总体结构及功能模块划分

6.1 需求分析

问题陈述

现有的大部分学生无法在线下参与考试。在设计初始考虑到的问题不够全面,仅仅用于处理事务比较简单,功能模块较少,系统不够完美。

在线考试系统在设计之初必须考虑到用户的多元化,各个用户的用户需求有所不同,应充分考虑用户需求,定制适合用户使用的功能模块,更贴心的服务于用户。

E-R 图:

1 学生注册/登录信息

2 成绩信息

3 考试科目信息

4 考试问题信息

5 试卷信息

6 总体 E-R 图

6.2 用例建模包括用例设计,用例规约等

数据库用例描述

描述项 说明
用例名称 数据库管理
参与者 管理者
用例描述 用例主要功能是修改答案,修改考试科目,登录管理,成绩修改
前置条件 登录账号进入系统界面
后置条件 若有修改数据,需确认保存
基本操作流程 参与者动作 系统响应
1、通过账号密码登录 2、修改题库答案 1、查询该账号是否存在数据库且密码是否正确。若不存在则登录失败

考试科目用例描述

描述项 说明
用例名称 考试科目管理
参与者 管理者
用例描述 用例主要功能是科目管理,题库管理
前置条件 登录账号进入系统界面
后置条件 若有修改数据,需确认保存
基本操作流程 参与者动作 系统响应
1、通过账号密码登录 2、修改题库信息 1、查询该账号是否存在数据库且密码是否正确。若不存在则登录失败 2、判断页面下拉,刷新题库信息,显示最新数据

6.3 系统整体架构设计,架构图

6.4 类图

数据库类图

考试计时模块类图:

6.5 设计模式

数据库模块

试卷信息(试卷 ID,试卷名称,创建时间,答题时间,科目 ID)

考试答案信息(考试 ID,问题答案,创建时间,问题 ID)

考试问题信息(问题 ID,问题标题,问题类型,创建时间,试题答案 ID,分数,试卷 ID)

考试科目信息(考试 ID,考试科目,创建时间)

学生登录信息(ID,用户名,密码,真实姓名,email)

成绩信息(ID,用户名,分数,试卷 ID)

考试计时功能模块

考试时间计算方式是,本地倒计时与服务器端同时计时,这样做考虑到网络延迟因素,不单方面的依赖任何一端的计时。计时终止时试卷提交。

运用到 WebSocket 相关知识。

简单介绍 WebSocket:(介绍图来自网上)

相关运用:

在开始的时候借助 http 请求建立连接,获得从服务器发过来的信息。开始计时。

在 WebSocket 的协议中有四个事件:

连接成功触发 open 事件

接受到服务器信息后触发 emssage

发生异常触发 error

断开触发 close

相关路径:

mySocket 就是一个映射,指向 MySocket.java 文件

考试科目模块设计

网络在线考试系统的后台首页是管理员对网站信息进行管理的首页面。在该页面中,管理员可以清楚地了解网站后台管理系统包含的基本操作。

1.考生信息管理:主要包括查看注册考生信息列表和删除已注册的考生信息。

2.考生成绩查询:主要用于根据考试 ID、考试课程或考试时间查询考生成绩。

3.套题信息管理:主要包括查看套题信息列表、添加套题信息、修改套题信息

和删除套题信息。

4.考试题目管理:主要包括查看考试题目列表、添加考试题目、修改考试题目

和删除考试题目。

学生登录系统后,单击“在线考试”,进入到查看考试科目页面, 选择考试科目后获取并显示指定考试科目的所有试卷最后获取并显示试题及答案。

6.6 顺序图

6.7 测试过程

1、学生用户能否正常 注册,登录。 (可以,符合要求,通过测试)

注册:

登录:

2、学生能否正常 选择考试科目,参加科目考试。 (可以,符合要求,通过测试)

显示可选科目(正常)

显示各科目监考老师(正常)

显示所选科目可选试卷(正常)

3、考试题答案单选、多选运行是否 (可以,符合要求,通过测试)

4、考试途中计时器倒计时功能、答题卡功能是否正常(可以,符合要求,通过测试)

5、考试成绩情况能否正常的被记录存储,学生能否正常 查看考试成绩。(可以,符合要求,通过测试)

总结

通过这次课程设计,是我们灵活应用所学 javaweb 知识,结合 javaweb 理论知识,编写程序实现系统所需功能。初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法分析和解决问题的能力;并用系统的的观点进行系统设计,巩固、深化学生的理论知识,提高编程水平,并在此过程中培养我们严谨的科学态度和良好的编程风格。进一步加深对 Servlet WebSocket MySQL 框架的知识的理解,并能够利用 JAVAweb 知识实现网络考试系统。同时在这学期的实验中,培养了以专业的眼光去对待我们系统中的每一段代码,这算是一次不可多得的实践机会。在这一次的实践过程中,个人动手能力,方方面面都得到了一定程度的提高。在这个过程中,我学会了很多学习的方法。而这是日后最实用 也是最宝贵的。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。通过这次课程设计使我们明白了自己知识还比较欠缺,只是学习书本知识还是远远不够的,自己不会的东西还有太多,学习需要自己长期的积累,在以后的学习、工作中都应该不断的学习,将课本的理论知识与生活中的实践知识相结合,不断提高自己文化知识和实践能力。

参考文献

  • 基于.NET技术的在线考试系统设计与实现(电子科技大学·蔡夏璐)
  • 基于J2EE的远程网络教育系统研究与实现(电子科技大学·陈南荪)
  • 基于ASP.NET在线考试系统设计与实现(电子科技大学·林栩)
  • 网上考试和查分系统设计与实现(国防科学技术大学·王腾)
  • 达州职业技术学院网上考试系统的设计与实现(电子科技大学·谷潇)
  • 基于Flex与J2EE的在线考试系统的设计与实现(电子科技大学·罗建明)
  • 基于JSP/XML考试系统的设计与实现(华侨大学·朱达欣)
  • 基于Java EE架构的在线考试系统设计与实现(西安电子科技大学·龚尚映)
  • 基于B/S结构的网络考试系统设计与实现(黑龙江大学·宗垚)
  • 基于B/S架构的税务考试管理系统的设计与实现(西安电子科技大学·刘斌)
  • 基于Flex与J2EE的在线考试系统的设计与实现(电子科技大学·罗建明)
  • 基于JSP技术在线考试系统的开发(武汉理工大学·龙保江)
  • 网络在线考试系统的设计与实现(云南大学·熊国铨)
  • 网络在线考试系统的设计与实现(西安电子科技大学·雷晓敏)
  • 基于ASP.NET的在线考试系统设计与实现(吉林大学·吴树德)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码项目助手 ,原文地址:https://bishedaima.com/yuanma/35941.html

相关推荐

  • SpringDataJPA

    (一)J2EE 项目系列(三)--Spring Data JPA+Spring+SpringMVC+Maven 快速开发(1)项目架构 (二)J2EE 项目系列(三)--Spring Data JPA+Spring+SpringMVC+Maven 快速开发(2)多个第三方服务端接入之云旺 IM (三)Java-解决实现 JPA 的 hibernate 自动建表的编码问题 (四)WEB 后台--基于 Token 的 Web 后台登录认证机制(并讲解其他认证机制以及 cookie 和 session 机制) (一)J2EE 项目系列(三)--Spring Data JPA+Spring+SpringMVC+Maven 快速开发(1)项目架构 文章结构:(1)项目环境搭建;(2)简单业务逻辑测试框架;(3)项目配置注意点;(4)快速开发上手技巧; 一
    2024年05月14日
    3 1 1
  • 基于SpringBoot框架的社团管理系统

    这是一套采用Java语言编写的🔥🔥SpringBoot核心框架的社团管理应用源代码🔥🔥,该项目运用了SpringBoot和Vue技术栈,开发工具为Idea或Eclipse
    2024年05月23日
    7 1 1
  • 基于JSP和SQL SERVER实现的B/S架构的超市管理系统

    基于JSP和SQL SERVER实现的B/S架构的超市管理系统 1 引言 社会生活的现代化,使得市场的走向发生巨大变化,由于经济的发展,人们对生活的需求已经不再满足于丰衣足食的低度要求
    2024年05月14日
    5 1 2
  • 基于Java+SSM的物流配货管理系统

    这是一个🔥🔥基于SSM的物流配货管理系统🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 物流配货开发技术栈为SSM项目,可以作为毕业设计课程设计作业基于Java
    2024年05月23日
    18 1 2
  • 基于SpringBoot框架的流浪动物管理系统

    这是一套采用Java语言开发的🔥🔥SpringBoot框架的流浪动物管理系统的源代码,项目中融入了Vue技术,开发工具为Idea或Eclipse,此系统适用于毕业设计或课程设计任务
    2024年05月23日
    8 1 4
  • 基于SpringBoot框架的中医中药服务平台

    这是一套采用Java语言开发的🔥🔥SpringBoot为核心的中医药服务平台源代码,项目集成Vue框架,支持使用Idea或Eclipse作为开发工具,此平台适合作为毕业设计或课程设计任务
    2024年05月23日
    12 1 2
  • 大创管理系统

    这是一个🔥🔥基于SpringBoot框架的大创管理系统设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1
  • 基于SSM框架的求职招聘网站源码,javaweb+mysql

    使用SSM框架搭建的求职招聘网站是当前互联网发展的必然产物之一,随着经济的发展和人们就业观念的转变,传统的招聘方式已经无法满足日益增长的人才需求,因此,利用互联网技术建立一个高效
    2024年05月07日
    9 1 3
  • 基于Python开发早教管理系统

    金宝贝早教中心管理系统 一,摘 要 近年来,家长对孩子的教育问题愈加重视,倡导启蒙教育,因此,许多早教机构应运而生,而随着就够人员的增多,机构的管理成为重中之重
    2024年05月14日
    1 1 1
  • 基于 Python 制作推箱子小游戏

    基于 Python 制作推箱子小游戏 导语 月初更波 python 制作小游戏系列吧~用 python 写了个推箱子小游戏,在这里分享给大家,让我们愉快地开始吧~ 开发工具 Python 版本:3
    2024年05月14日
    1 1 1

发表回复

登录后才能评论