基于区块链的网络考试系统的前端设计与开发毕业论文
2021-11-16 23:47:45
论文总字数:25903字
摘 要
为了优化考试流程,减少老师机械式的批阅试卷工作量,同时防止数据被直接由数据库篡改。本文主要研究基于区块链的网络考试系统。本文阐述网络考试系统的前端设计与开发。主要采用了HTML5 CSS JavaScript、Layui框架、Ajax技术、区块链等技术。通过前后端分离,分两人负责前后端开发,通过web3j调用以太坊区块链来实现数据防篡改。本系统实现了用户登录、学生考试、发布考题/考卷/考试、数据防篡改等核心功能。
关键词:web开发;Ajax;MUI;区块链;
Abstract
In order to optimize the examination process, reduce the workload of teachers' mechanical examination paper marking, and prevent the data from being directly tampered by the database. This paper mainly studies the network examination system based on blockchain. This paper describes the front-end design and development of network examination system. It mainly adopts HTML5 CSS JavaScript, layui framework, AJAX technology, blockchain and other technologies. Through the separation of front end and back end, two people are responsible for front end and back end development, and through web3j to call Ethereum blockchain to realize data tamper proof. This system realizes the core functions of user login, student examination, issue examination questions / examination papers / examination, data tamper proof and so on.
Key Words: web development;Ajax;layui;block chain;
目录
摘 要 I
Abstract II
第1章 绪论 5
1.1 系统开发背景以及研究目的与意义 5
1.1.1 系统开发背景 5
1.1.2 系统开发意义 5
1.2 本文主要研究内容 6
1.3 本文结构安排 6
第2章 基于区块链的网络考试系统需求分析 7
2.1 现状分析 7
2.2 可行性分析 7
2.2.1 经济可行性 7
2.2.2 技术可行性 8
2.3 设计目标 8
2.4 功能要求 8
2.5 系统开发关键技术 9
2.5.1 layui简介 9
2.5.2 Ajax简介 10
2.5.3 JSON简介 10
2.6 系统开发环境配置 11
2.6.1 Jetbrains Webstorm简介 11
2.6.2 IntelliJ IDEA简介 11
2.7 本章小结 12
第3章 网络考试系统移动端设计 13
3.1 界面设计 13
3.2 系统结构设计 14
3.3 本章小结 15
第4章 网络考试系统移动端实现 16
4.1 系统各部分的实现方法 16
4.1.1 登录及注册模块实现 16
4.1.2 考题模块实现 19
4.1.3 批阅模块实现 25
4.2 本章小结 32
第5章 系统调试与总结 33
5.1 系统调试 33
5.2 系统总结 33
5.3 系统不足与展望 33
参考文献 34
致谢 36
第1章 绪论
1.1 系统开发背景以及研究目的与意义
1.1.1 系统开发背景
在互联网快速发展的这个时代,教育也在不断的与时俱进,而考试作为教育成果的督促与检测工具,随着教育的不断发展,需要用到考试的地方也就越来越多。而传统考试存在许多限制,同一时间、地点的安排,手工阅卷的准确性,以及监考人员和考试人员的培训以及安排等等。而线上的网络考试系统,往往是基于B/S架构的中心化系统,通过用户的账号密码,对用户进行基础的身份识别,这种考试模式对时间地点,以及人员安排的要求都会更加轻松一些。然而无论是考试题目,还是学员的考试结果,都是存储在服务器的数据之中,对于学员来说没有权限篡改题目,成绩等关键信息,但是对于管理人员而言,他们具有在服务器上篡改数据的能力,而且这种篡改从明面上无法被发现。
1.1.2 系统开发意义
考试是教学活动中必不可少的环节,同时也是用来反馈老师教学水平以及学生学习情况的主要方式之一。传统的考试模式,以笔和纸作为媒介,由老师出题,打印试卷,线下安排考场,参加同一场考试的同学们在同一个考场中,少数几位监考老师监督考试,考试完毕之后收上来进行评改,登分到数据库中。这是一个漫长而复杂的过程,在我国教育水平不断提升的过程中,考试人数和考试场数都在不断的增多,考试工作量也自然而然地更多。对老师而言需要花费大量时间在监考,批阅试卷上,重复机械地批阅以及登分过程都容易造成失误。对于学校,需要考虑学生考试时间,教室和教师的资源安排。所以,考试方式的改革必不可少。
随着互联网技术的不断发展,高校校园网的日益完善,越来越多的高校采用了或多或少的网络考试系统进行考试。网络考试系统从出现到现在,已经经历了一段很长的历程。就现状而言, 网络考试系统可分为C/S架构和B/S架构两种,开发系统所采用的语言以及技术都层出不穷,从最初的VC,.net,java到之后才出来的nodejs等各种开发环境和开发语言。网络考试系统与传统的线下考试相比,其便捷性,超时空性,让很多大型的考试都开始采用线上考试系统进行考试,比较著名的如思科CCNA认证、微软的MSCE、以及托福、GRE考试等等。我国目前也有许多的大型考试也是采取的线上考试系统进行统一考试。
随着互联网技术的不断发展,高校校园网的日益完善,越来越多的高校采用了或多或少的网络考试系统进行考试。网络考试系统从出现到现在,已经经历了一段很长的历程。就现状而言, 网络考试系统可分为C/S架构和B/S架构两种,开发系统所采用的语言以及技术都层出不穷,从最初的VC,.net,java到之后才出来的nodejs等各种开发环境和开发语言。网络考试系统与传统的线下考试相比,其便捷性,超时空性,让很多大型的考试都开始采用线上考试系统进行考试,比较著名的如思科CCNA认证、微软的MSCE、以及托福、GRE考试等等。我国目前也有许多的大型考试也是采取的线上考试系统进行统一考试。
C/S(客户端/服务器)体系结构主要用于特定机房局域网下的统一考试,如学校的普通话考试,大学英语听力学习等等,与传统的考试系统相比其特点在于考试题目更加灵活,可以选择更多的题目随机组合,简单的题目会由系统自动得出结果,批改更加简单。B/S(web程序系统)体系结构则是对C/S的一个改良,客户端改成了浏览器,这使得兼容性更好,互联网的普及使得人手一台电脑成为一件很轻松的事情,而B/S 体系对于所有的电脑而言只需要任意一个浏览器就能轻松运行,学生只需在有网络的地方通过计算机访问相应网页即可进行考试,老师也是同样的可以在跟多的地方进行出题,改卷。然而这两种架构是中心化的系统设计,数据都存储在中心服务器中,这样会有被篡改数据,单点故障,服务器宕机等风险存在。
本系统旨在开发一个防篡改的网络考试系统,在以往的网络考试基础上,基于区块链的防篡改性和去中心化,通过web3j连接以太坊对以太坊进行操作,校验数据库进行数据的防篡改,搭建一个基于区块链的网络考试系统。
1.2 本文主要研究内容
本文主要研究网络考试系统的前端设计,主要着眼于网络考试系统前端的设计与开发。研究的主要内容如下:
- 研究基于区块链的网络考试系统需求。
- 设计网络考试系统前端界面。
- 实现网络考试系统的基本功能。
1.3 本文结构安排
本文共分为五章,每章的主要内容如下:
第一章:绪论。说明本系统研究的目的与意义。
第二章:基于区块链的网络考试系统需求分析。进行需求分析,现状分析与可行性分析,介绍相关技术与开发工具。
第三章:基于区块链的网络考试系统前端设计。说明本系统的数据库设计与结构设计。
第四章:基于区块链的网络考试系统前端实现。具体介绍部分模块的实现,并列出核心代码。
第五章:系统调试与总结。介绍调试方法,总结本系统并说明不足与展望。
第2章 基于区块链的网络考试系统需求分析
本章简要介绍了基于区块链的网络考试系统的需求分析,包括现状及可行性分析、主要功能要求、主要技术、开发工具等。
2.1 现状分析
大多数时候,我们采用的依旧是传统的考试模式。首先是由老师或相关部门发布考题,编辑考卷,而后相关部门打印大量试卷由监考人员携带到考场,之后是对考场,考试时间以及监考人员的安排,此后由监考人员监考学生集体考试,最后收上试卷由老师阅卷,登分,讲解。
这种模式存在有较多的问题:
请支付后下载全文,论文总字数:25903字