【关注可白嫖源码】基于Android的过程性考核平台的设计与实现

摘 要

信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对学生考核等问题,对如何通过计算机在线考核进行研究分析,然后开发设计出过程性考核平台已解决问题。

过程性考核平台主要功能模块包括登录、学生管理、教师管理、主观题管理、主观题回答管理、试题管理、试卷管理、系统管理、试卷列表、考试记录、错题本,采取面对对象的开发模式进行软件的开发和硬体的架设,能很好的满足实际使用的需求,完善了对应的软体架设以及程序编码的工作,本系统的前端界面涉及的技术主要有HBuilder X和Uniapp,通过这些技术可以实现前端页面的美观和动态效果使之符合广大群众的审美观,后台主要使用的技术主要有Java编程语言,Mysql数据库,Springboot和Ajax异步交互,根据Ajax异步模式的过程性考核平台解决了传统管理方式所带来的人力、物力和时间上的虚耗和交流深度的限定,这让考核的过程更快捷、准确、便利。本次报告,首先分析了研究的背景、作用、意义,为研究工作的合理性打下了基础。针对过程性考核平台的各项需求以及技术问题进行分析,证明了系统的必要性和技术可行性,然后对设计系统需要使用的技术软件以及设计思想做了基本的介绍,最后来实现过程性考核平台和部署运行使用它。

关键词:在线考核;Springboot框架;MySQL数据库

Design and Implementation of a Process Assessment Platform Based on Android

Abstract

In the information society, there is a need for targeted information acquisition channels, but the expansion of channels is basically the direction of people's efforts. Due to the deviation in perspective, people often can obtain different types of information, which is also the most difficult topic for technology to overcome. To address issues such as student assessment, research and analysis were conducted on how to conduct online computer assessments, and a process based assessment platform was developed and designed to address these issues.

The main functional modules of the process assessment platform include login, student management, teacher management, subjective question management, subjective question answer management, test question management, test paper management, system management, test paper list, test record, and error book. The platform adopts an object-oriented development model for software development and hardware installation, which can effectively meet practical needs and improve the corresponding software installation and program coding work, The front-end interface of this system mainly involves technologies such as HBuilder X and Uniapp. Through these technologies, the aesthetics and dynamic effects of the front-end page can be achieved to meet the aesthetic standards of the general public. The main technologies used in the backend include Java programming language, MySQL database, Springboot, and Ajax asynchronous interaction. The process assessment platform based on Ajax asynchronous mode solves the manpower and The depletion of material resources and time, as well as the limitation of communication depth, make the assessment process faster, more accurate, and convenient. This report first analyzes the background, role, and significance of the research, laying the foundation for the rationality of the research work. Analyze the various requirements and technical issues of the process assessment platform, prove the necessity and technical feasibility of the system, and then provide a basic introduction to the technical software and design ideas required for designing the system. Finally, implement the process assessment platform and deploy it for operation.

Key words:Online assessment; Springboot framework; MySQL database

目  录

第1章 绪论

1.1 研究背景与意义

1.2 开发现状

1.3 论文组成结构

第2章 相关技术介绍

2.1 HBuilderX开发软件

2.2 Ajax 介绍

2.3 Springboot框架

2.4 Java语言与JDK开发环境

2.5 MySQL数据库

第3章 系统分析

3.1 可行性分析

3.1.1 技术可行性

3.1.2 经济可行性

3.1.3 操作可行性

3.2 功能需求分析

3.3 非功能需求分析

3.4 安全性需求分析

3.4.1 系统的安全性

3.4.2 数据的安全性

3.5 业务流程分析

3.6 数据流程分析

第4章 系统设计

4.1 系统架构设计

4.2 系统总体设计

4.3 系统功能设计

4.4 数据库设计

4.4.1 数据需求分析

4.4.2 数据库概念设计

4.4.3 数据库表设计

第5章 系统实现

5.1 登录模块的实现

5.2 注册模块的实现

5.3 用户客户端首页模块的实现

5.4 用户资料修改模块的实现

5.5 主观题模块的实现

5.6 在线考试模块的实现

5.7 考试记录模块的实现

5.8 主观题评分模块的实现

5.9 试题管理模块的实现

5.10 试卷管理模块的实现

第6章 系统测试

6.1 测试目的

6.2 功能测试

6.3 性能测试

第7章 总结与展望

参考文献

致谢

第1章 绪论

1.1 研究背景与意义

在20世纪末期,国家提出了教育要面向四个现代化,同时也提出了要大力发展教育手段和教育方式的信息化建设。在这样的背景和需求下,基于当今的互联网技术和计算机信息技术的过程性考核平台就应运而生了。人们急切地需要再在线考试中利用现代网络技术达到教师工作量减少并且提高学校及其他工作人员工作效率的目的。同时,与传统的考试形式相比,考试的质量也更能得以保证,从而使得考试变得更为客观公正。

过程性考核平台的实现让考试不再局限于只能在教室中进行,它利用网络的优势,使得考试不再像以前那么复杂,学生也不再需要定时定点而是随时随地就能参与考试。过程性考核平台具有传统的考试模式无法媲美的准确、科学、公平、方便等优点,于是对过程性考核平台的研究和建设也就在这样的环境中逐渐发展了起来。

1.2 开发现状

在越来越重视知识的当今社会,各个国家都加大了在新一代培育上的投入,都希望在以后的社会发展中走在互联网的前列,从而在信息的飞速发展中占据一个有力的地位,正是这个原因,各地政府依托于互联网来实行教育教学,并把此作为其民族发展的动力之源。

在外国,澳大利亚在早期就开始投资建设“澳大利亚教育网”,这个网络不但包含了澳大利亚全部的高校,还要联通本国境内的每一所中小学。另外美国政府提出要到二十一世纪初,让本国家所有学校和图书馆都搭载上互联网的快车,让国内不论是哪个阶段的学生都可以享受到“21世纪教师”的网络服务,因此提出了“教育技术规划(Educational Technology Initiative)”。到了1995年末,国外一些教育机构开始开发自己的网上教育平台,最早的有美国的NTU、英国的OPEN COLLEGE等这些都是那个时候实施互联网教育的典范。随着教育搭载上互联网的高速公路,在线考试作为远程教育不可分割的一项,随着互联网的大潮也如雨后春笋般迅速发展起来,人们的选课和考试都在互联网上进行,特别是互联网业务的普及、低成本的在线考试从技术和经济条件上已经日趋成熟。

在国内,从大多数来看,很大一部分的教育教学还普遍停留在传统的考试方式上,但是传统的考试每次都需要人为的出卷、组织考试、批改试卷并且做出许多试卷分析和成绩评估,作为老师,一次考试的实施给他们带来了许多的麻烦,并且随着教育现代化,考试类型的增加和考试要求的更加严格,教师的工作也会变得越来越繁重。而现在人们普遍认为的网络教育也是停留在网上报名和考试记录,没有形成相应的规模,而国外网上提交作业和考试已经变得非常普及,所以传统考试方式终究要被替代,网上考试方式正在以燎原之势飞速发展。

1.3 论文组成结构

根据市场调研得到的信息数据,结合国内外前沿研究,利用相关系统开发和设计方法,最终设计出过程性考核平台。

本文共有七章,如下所示。

第一章概述了过程性考核平台的研究目的和意义;精炼地总结了国内外在仓储领域的研究情况和未来的研究趋势,最后给出了论文的组成结构。

第二章简要概述了本文所用的开发技术和工具。

第三章简要对系统各业务流程进行需求分析、可行性分析。

第四章对过程性考核平台进行设计。

第五章对过程性考核平台进行实现,并贴出相关页面截图,语言描述出具体功能实现的操作方法。

第六章对过程性考核平台采用测试用例的方式来对一些主要功能模块测试,最后得出测试结果。

第七章总结全文并对未来的研究做出展望。

第2章 相关技术介绍

2.1 HBuilderX开发软件

1.最快的开发工具

由于我们的极客特质,HBuilder同时被我们打造成了最快的前端开发工具,代码输入法的创新、代码块的优化、emmet的集成、快捷键语法设计、无鼠标操作。。。这些可能低端程序员不感兴趣,但我们乐于其中。HBuilder有句口号:为极客、为懒人、为你。

2 .环保健康的主题设计由于我们天天面对屏幕眼睛很受伤,所以设计了绿柔主题以保护开发者的视力健康。

3.App开发及部署

当然移动App开发也是HBuilder的优势,Run in device真机调试、打包发行这些功能并非普通的HTML4开发工具会涉及的。我们认为,如果只是做个网站,HTML4就够了,搞HTML5而不做App,太糟蹋这个技术了。以及云打包还能使得没有mac电脑的程序员可以开发iOS应用。

4.能力 - HTML5plus Runtime说完性工能里的工具,再说说能力。HTML5plus Runtime,简称5+ Runtime,是运行于手机端的强化web引擎,除了支持标准HTML5外,还支持更多扩展的js api,使得js的能力不输于原生。5+ Runtime内置于HBuilder,在真机运行、打包时自动挂载。

5.业内之前有phonegap/Cordova方案,但是他们自带js api太少了,扩展api需要用原生语言开发,更致命的是这类方案的性能不足。

6.  5+ Runtime分3个层次解决了HTML5与原生的能力差距。

7.常用的API – HTML5plus封装成跨平台的HTML5plus规范,并将规范公开于www.HTML5plus.org,不做厂商私有API。

8.包括二维码、摇一摇、语音输入、地图、支付、分享、文件系统、通讯录等常用API,可以方便简单的编写,并且可跨平台。

2.2 Ajax 介绍

Ajax即Asynchronous Javascript And XML(异步JavaScript和XML)在 2005年被Jesse James Garrett提出的新术语,用来描述一种使用现有技术集合的‘新’方法,包括:HTMLXHTML,CSS,JavaScript,DOM,XML,XSLT, 以及最重要的XMLHttpRequest使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作。

2.3 Springboot框架

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。

2.4 Java语言与JDK开发环境

Java是美国sun公司所推出的一款程序设计语言,其能够在多个平台内应用,具有良好兼容性,进而其凭借自身优势在数据中心、个人PC与科技超级计算机等平台内广泛应用,具有目前最为庞大的开发者专业社群。

JDK为美国sun公司为java开发员所推出的一款全新产品,要是没有JDK的情况下,所安装的java程序也就无法运行。

2.5 MySQL数据库

数据库是系统开发过程中不可或缺的一部分。 在WEB应用方面,MySQL AB开发了一个具有很大优势的MySQL关系数据库管理系统。 MySQL可以将数据存储在不同的表中,这非常灵活,并且还可以提高系统在实际应用中的速度。 数据库访问最常用于标准SQL语言,MySQL用于SQL语言,因此它具有高度兼容性。数据库的操作是必不可少的,包括对数据库表的增加、删除、修改、查询等功能。现如今,数据库可以分为关系型数据库和非关系型数据库,Mysql属于关系性数据库,Mysql数据库是一款小型的关系型数据库,它以其自身特点:体积小、速度快、成本低等,Mysql数据库是目前最受欢迎的开源数据库。

在WEB应用技术中, Mysql数据库支持不同的操作系统平台,虽然在不同平台下的安装和配置都不相同,但是差别也不是很大,Mysql在Windows平台下两种安装方式,二进制版和免安装版。安装完Mysql数据库之后,需要启动服务进程,相应的客户端就可以连接数据库,客户端可通过命令行或者图形界面工具登录数据库。

数据库管理系统的总体结构图如下图所示。

图2-1 数据库组成结构

第3章 系统分析

3.1 可行性分析

在软件开发的过程中系统的可行性分析是必不可少的,可行性的研究就是评估问题是否能得到解决并且是要以最少的时间和最少的代价来解决。为实现上面的目标还要必须考虑到解决这些问题的方法的优点和缺点,还要考虑到实现了这些系统规模的开发带来的经济效益。这里可以用技术的可行性,操作的可行性,经济的可行性对我们的系统进行可行性的研究。过程性考核平台的可行性分析如下所示:

3.1.1 技术可行性

过程性考核平台采用的是Java编程语言并于Springboot的模式,数据库部分采用的是当前流行的MYSQL数据库,过程性考核平台中的所有数据资源都存储在Mysql数据库中,本系统多处采用了Ajax的异步操作,Ajax技术可以对用户指定部分的数据进行局部刷新,不仅减少了服务器对页面的解析而且极大增加了用户的体验度。本系统的环境配置也较为简单,因为用的是Myeclipse编辑器,而Myeclipse里面有自带的Tomcat服务器和JDK环境,因此不需要我们在重新配置。

3.1.2 经济可行性

过程性考核平台是在Java和Mysql的环境中运行的,而系统的成本也只是主要分布在软件的开发和维护上。但如果系统上线投入使用之后,不仅可以方便人们,还节省了用户的时间和精力,而且还极大限度的方便了运营者,减少了运营者的工作强度。过程性考核平台其实也不太复杂,在开发的时候经济支出也不大,在开发系统时时间用的也不多,从时间的优势和对经济利益方面产生的好处远超过维护和管理的成本,所以开发此系统是可行合适的。

3.1.3 操作可行性

本系统是基于浏览器和服务器的过程性考核平台,系统开发完成之后用户只需要在手机上即可进行访问。本系统的前台页面简单明了,在没有操作指导的情况下也可以进行操作,无论是系统管理员还是普通用户在页面中所有的操作都是在浏览器中完成的,因此只要电脑或手机在有网络的情况下,打开浏览器都能操作。而且在使用之前也不用进行相关的环境配置,因此本系统方便、简单、易于使用,所以该系统是容易并且可操作的。

3.2 功能需求分析

本系统使用的角色大概分为学生、教师和管理员。

1.学生需求

学生登陆系统主要进行两类操作:在线考试,考试记录与个人信息管理.

(1)在线考试

系统能自动给学生选题,试题必须是随机分配的,以保证考试的公平性。学生在考试过程中页面将提供考试时间倒计时功能,使学生随时了解考试剩余时间。在考试时间到时,系统将自动地将学生考试试卷提交,将提醒学生离开考场。当考试试卷提交时,系统自动为选择题、判断题、多选等客观题评分。

(2)考试记录与个人信息维护

学生可以登陆系统查询各科成绩,其中成绩信息包括每种题型的得分,如选择题,判断题等。别外学生还可以查询自己的做错的题目,了解自己的考试情况。

除此之外,学生登陆系统可以查看和修改个人的基本信息,如修改密码等。

2.管理员和教师需求

系统管理员登陆系统后主要进行四类操作:

(1)试题维护,考试信息维护,用户维护和个人信息维护管理员可以往题中添加试题,修改错误试题和删除无用试题,试题维护包括选择题管理(选择题添加、删除、修改)、判断题管理(判断题添加、删除、修改)、多选题管理(多选题添加、删除、修改)。

(2)考试信息的维护

考试信息的维护主要是对于考试设置信息进行维护,这些信息主要是考试总时间,试题数量,各试题分值的分布等。

(3)用户维护

系统管理员可以对用户信息(包括学生信息)进行增,删,改查操作。

(4)个人信息维护

管理员也可以对自己的基本信息的维护。

(5)错题本信息维护

考试结束后,对于错题会自动生成错题本记录在学生和教师系统里。

(6)试卷维护

随机生成试卷,并能按需求修改试卷中的题目数量和题目。

(7)考试成绩维护

考试结束后,学生提交试卷后,客观题由系统自动评分,然后总成绩由客观题加主观题得分。

学生用例图如下所示。

图3-1 学生用例图

教师用例图如下所示。

图3-2 教师用例图

管理员用例图如下所示。

图3-3 管理员用例图

3.3 非功能需求分析

首先主要考虑的是系统功能软件,在具体设计的环节上,是不是能够较好的满足各类用户的基本功能需求,如果不能较好的满足用户需求,那么这个系统的存在是没有价值的。软件系统的非功能性求分析,从7个方面展开,一个是性能分析,针对系统;一个是安全分析,针对系统,一个是完整度分析,针对系统,一个是可维护分析,针对系统,一个是可扩展性分析,针对系统,一个是适应业务的性能分析。面对过程性考核平台存在的性能、安全、扩展、完整度等7个方面性能综合比对分析后发现,需要相应的非功能性需求分析。

3.4 安全性需求分析

3.4.1 系统的安全性

安全性对每一个系统来说都是非常重要的。安全性很好的系统可以保护企业的信息和用户的信息不被窃取。提高系统的安全性不仅是对用户的负责,更是对企业的负责。尤其针对于过程性考核平台来说,必须要有很好的安全性来保障整个系统。

系统具有对使用者有权限控制,针对角色的不通限制使用者的权限,以此来确保系统的安全性。

3.4.2 数据的安全性

数据库中的数据是从外界输入的,当数据的输入时,由于种种原因,输入的数据会无效,或者是脏数据。因此,怎样保证输入的数据符合规定,成为了数据库系统,尤其是多用户的关系数据库系统首要关注的问题。

因此,在写入数据库时,要保证数据完整性、正确性和一致性。

3.5 业务流程分析

首先系统将考试信息和学生个人信息提供给学生,并要求学生核对个人信息。在考试开始时系统按照一定的算法为登陆的学生随机选取一定的试题生成考试试卷,学生在系统生成好试卷后进行答题操作。答题必须在规定的时间内进行,此时间是由管理员事先设置好的,如在规定的时间内没有完成答题,系统将强制提交学生考试试卷。学生在试卷提交后系统自动地改卷、得到最后成绩,学生可以查看个人的成绩。

本系统的业务流程图如下所示。

图3-4 业务流程图

图3-5 业务流程图

3.6 数据流程分析

对系统的数据流进行分析,系统的使用者分为二类,一般用户,管理员。系统主要对界面信息传送,登录信息的验证,注册信息的接收,用户各种操作的响应做处理。

系统顶层数据流图如下图所示。

图3-2 顶层数据流图

要判断用户是是什么身份,是根据登录的数据来判断后,跳转到对应的功能界面。在系统的内部用户就可以对数据进行操作,数据库中心就可以接收到系统传输的有效数据流来对数据sql语句进行对应操作。

系统底层数据流图如下图所示。

 图3-3 底层数据流图

系统可以分为前台和后台两部分,每一种操作后系统都返回操作结果。前台和后台的数据连接主要通过数据库,既分别对数据库做不同的操作。

第4章 系统设计

4.1 系统架构设计

由于本系统在逻辑事务处理方面对数据库的操作比较频繁所以系统在底层连接数据库时并没有使用原生的JDBC,而是把JDBC进行了封装,封装之后相当于一个连接数据库的工具DB UTIL,这样使用起来会更加方便而且这样进行封装还可以降低系统中代码的冗余,当我们需要连接和使用数据库时只需要调用这个工具里面的一个方法就可以了。而且通过封装可以把对数据库的操作独立起来,当需要连接不同种类的数据库时只需要加以修改就可以达到目的。

DAO层本来并无这个类,它只是java中MVC构造里的一个model概念,主要就是里面的一些方法,而这些方法就是用来访问数据库的方法。我们在软件开发时DAO层我们一般都放接口和接口的实现类,用于来规范实现类的我们叫它接口,实现类重点用于对数据库的操纵。

MVC是一种系统研发的关键模型,M是Model模型,它是系统内部关键程序运行的核心,主要进行对数据库的各种操作。视图View是V也叫做视图,主要的作用是对一些数据进行显示。控制器Controller 是C执行从View的视图层来读取数据,然后控制用户的输入。

系统架构如下图所示。

图4-1系统架构图

4.2 系统总体设计

过程性考核平台总体分为前台用户模块和后台管理员模块。

两个模块表现上是分别独立存在,但是访问的数据库是一样的。每一个模块的功能都是根据先前完成的需求分析,并查阅相关资料后整理制作的。

综上所述,系统功能结构图如下图所示。

图4-2 系统功能结构图

4.3 系统功能设计

登录模块:登录模块是进入系统的入口,所有用户必须登录后才能访问系统。登录需要输入用户名和密码,如果多次尝试登录需要输入验证码。登录时需要选择用户的角色,是一般用户还是管理员登录等。登录成功后,会通过数据库获取用户的权限,并跳转至用户的主页面。

主观题管理模块:可分为主观题管理浏览、主观题管理检索、主观题管理维护三个模块,教师对主观题管理有维护的权限,发布新的主观题管理、更新已有的主观题管理等。

试题管理模块:试题管理分为试题添加、修改和试题组卷。试题信息由管理员进行修改、添加、删除操作;试题组卷由教师用户来执行。

试卷管理模块:试卷管理分为试卷添加、修改和试卷更新。试卷信息由管理员进行修改、添加、删除操作;试卷更新由教师用户来执行。

4.4 数据库设计

4.4.1 数据需求分析

从前面可以分析到数据库中最重要的是学生信息,教师信息,管理员信息,同时存在试题信息和试卷信息。分析可以得到如下数据描述:

学生用户:用于记录学生的各种信息,包括学号、密码、姓名、性别、手机、班级、系部、身份证、照片等数据项。

管理员:记录管理员的登录信息。包括用户名,密码,权限等数据项。

教师用户:存放给教师用户的账号内容,包括教师编号、密码、姓名、性别、职称、年龄、系部、手机、身份证、照片等数据项。

主观题:存储各种主观题信息。包括编号、课程名称、主观题问题、答案等数据项。

选择题:存储各种选择题信息。包括编号、课程名称、选项A、选项B、选项C、选项D、答案等数据项。

试卷:存储用户的试卷信息。包括试卷的试卷编号、课程名称、选择题、判断题、多选题、开始日期、结束日期等数据项。

考试成绩。存储学生用户的考试成绩。包括考试成绩的用户名、课程名称、试卷编号、成绩、测试时间等数据项。

错题本。存储学生用户的错题信息。包括考错题本的错题内容、错题答案、试卷编号、成绩、测试时间等数据项。

4.4.2 数据库概念设计

根据前面的数据流程图,结合系统的功能模块设计,设计出符合系统的各信息实体。

系统ER图如下图所示。

图4-3 系统ER图

4.4.3 数据库表设计

过程性考核平台所拥有的数据表有以下:用户信息表,主观题信息表,选择题表,判断题表,试卷表,试题表,成绩表等。

由于数据表较多,只展示系统主要数据表,如下表所示。

表名:users

功能:用户表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

username

varchar

100

用户名

password

varchar

100

密码

role

varchar

100

角色

管理员

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

表名:token

功能:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

userid

bigint

用户id

username

varchar

100

用户名

tablename

varchar

100

表名

role

varchar

100

角色

token

varchar

200

密码

addtime

timestamp

新增时间

CURRENT_TIMESTAMP

expiratedtime

timestamp

过期时间

CURRENT_TIMESTAMP

表名:news

功能:公告信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

title

varchar

200

标题

introduction

longtext

4294967295

简介

picture

longtext

4294967295

图片

content

longtext

4294967295

内容

表名:jiaoshi

功能:教师

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

jiaoshigonghao

varchar

200

教师工号

mima

varchar

200

密码

touxiang

longtext

4294967295

头像

jiaoshixingming

varchar

200

教师姓名

xingbie

varchar

200

性别

lianxidianhua

varchar

200

联系电话

youxiang

varchar

200

邮箱

pquestion

varchar

200

密保问题

panswer

varchar

200

密保答案

表名:examrecord

功能:考试记录表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

userid

bigint

用户id

username

varchar

200

用户名

paperid

bigint

试卷id(外键)

papername

varchar

200

试卷名称

questionid

bigint

试题id(外键)

questionname

varchar

200

试题名称

options

longtext

4294967295

选项,json字符串

score

bigint

分值

0

answer

varchar

200

正确答案

analysis

longtext

4294967295

答案解析

myscore

bigint

试题得分

0

myanswer

varchar

200

考生答案

表名:examquestion

功能:试题表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

paperid

bigint

所属试卷id(外键)

papername

varchar

200

试卷名称

questionname

varchar

200

试题名称

options

longtext

4294967295

选项,json字符串

score

bigint

分值

0

answer

varchar

200

正确答案

analysis

longtext

4294967295

答案解析

type

bigint

试题类型,0:选择题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空)

0

sequence

bigint

试题排序,值越大排越前面

100

表名:exampaper

功能:试卷表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

name

varchar

200

试卷名称

time

int

考试时长(分钟)

status

int

试卷状态

0

表名:zhuguantipingfen

功能:主观题评分

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

timu

varchar

200

题目

fengmian

longtext

4294967295

封面

xuehao

varchar

200

学号

fenzhi

int

分值

xueshengxingming

varchar

200

学生姓名

pingfen

int

评分

jieshi

longtext

4294967295

解释

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

crossuserid

bigint

跨表用户id

crossrefid

bigint

跨表主键id

userid

bigint

用户id

表名:config

功能:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表名:zhuguantihuida

功能:主观题回答

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

timu

varchar

200

题目

fengmian

longtext

4294967295

封面

xuehao

varchar

200

学号

fenzhi

varchar

200

分值

xueshengxingming

varchar

200

学生姓名

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

datishijian

datetime

答题时间

daan

longtext

4294967295

答案

crossuserid

bigint

跨表用户id

crossrefid

bigint

跨表主键id

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

userid

bigint

用户id

表名:zhuguanti

功能:主观题

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

timu

varchar

200

题目

fengmian

longtext

4294967295

封面

fenzhi

varchar

200

分值

timuneirong

longtext

4294967295

题目内容

fabushijian

datetime

发布时间

jiaoshigonghao

varchar

200

教师工号

jiaoshixingming

varchar

200

教师姓名

reversetime

datetime

倒计结束时间

表名:xuesheng

功能:学生

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

  主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

xuehao

varchar

200

学号

mima

varchar

200

密码

xueshengxingming

varchar

200

学生姓名

touxiang

longtext

4294967295

头像

xingbie

varchar

200

性别

shoujihaoma

varchar

200

手机号码

youxiang

varchar

200

邮箱

pquestion

varchar

200

密保问题

panswer

varchar

200

密保答案

第5章 系统实现

5.1 登录模块的实现

主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布试题信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。

登录流程图如下图所示。

图5-1登录流程图

系统登录界面如下所示。

图5-2系统登录界面

5.2 注册模块的实现

用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,用户名的长度必须在6到18之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。

用户注册流程图如下图所示。

图5-3用户注册流程图

注册,通过填写用户名、密码、姓名、手机等信息,输入完成后选择提交即可注册成功,如下图所示。

                    

图5-4注册界面图

5.3 用户客户端首页模块的实现

用户登录进入首页,可以进行主观题回答、在线考试等功能模块的查看与操作,如下图所示。

                        

图5-5系统首页界面图

5.4 用户资料修改模块的实现

用户登录/注册成功之后可以修改自己的基本信息。修改页面的表单中每一个input的name值都要与实体类中的参数相匹配,在用户点击修改页面的时候,如果改后用户名与数据库里面重复了,页面会提示该用户名已经存在了,否则通过Id来查询用户,并将用户的信息修改为表单提交的数据。

5.5 主观题模块的实现

教师发布主观题试题后,主观题在系统前台显示,用户浏览主观题信息,包括主观题题目、答题时间、教师、教师工号、图片、试题类型等,填写相应的主观题答案,点击提交,通过id传参,找到该主观题回答记录,在select.jsp提交回答表单,生成主观题回答记录。

主观题回答管理流程如下图所示。

图5-6主观题回答管理流程

主观题列表展示界面如下图所示。

图5-7主观题列表展示界面

主观题回答界面如下图所示。

图5-8主观题回答界面

5.6 在线考试模块的实现

学生开始考试后,系统要显示学生信息、试卷、交卷。这个界面的功能使用的是Ajax框架,通过客户端的Javascript和服务器端脚本实现。选择项和多选项都设置了单击事件。学生答过该题后,系统就把该题答案传送到服务器并保存起来。当学生重新登录时,试题仍然存在。另外,也防止学生集中交卷的时候因系统反应不及而导致答案丢失。

提交答案由客户端函数SelectAnswer()来实现,服务器端函数send_user_answer()把答案保存到数据库中。函数SelectAnswer()实时地把答案提交给服务器,也使得二次登录成为可能。

结束考试有两个部分的功能,当考试答完试卷但是交卷时间未到时,可以提前交卷,但是当考试结束时间已到,学生仍未交卷,系统则会强制收卷。函数SetTitle()在考试结束时,自动转向处理考试结束的文件endexam.jsp,完成自动收卷。

在线考试流程图如下图所示。

图5-9在线考试流程图

考试列表展示界面如下图所示。

图5-10考试列表展示界面

考试界面如下图所示。

图5-11考试界面

5.7 考试记录模块的实现

系统还提供了查询学生成绩的功能,用户在我的界面,点击考试记录,即可看到考过的试卷成绩记录,管理人员也可以查询班级内指定的多个学生成绩,但是当需要查询单个学生成绩时,只需要输入考试的科目,就可以实现查询单个学生的成绩,教师用户可以登录系统查询学生考试成绩。

考试记录界面如下图所示。

图5-12考试记录界面

教师查询考试记录界面如下图所示。

图5-13教师查询考试记录界面

5.8 主观题评分模块的实现

在客观题的上,系统能通过学生提交的答案和参考答案进行数据匹配和对比,完全一致的判定为正确,匹配不成功的判断为错误,在主观题上,只能由教师来进行手动评分,首先遍历出提交试卷的主观题,然后展示出来,由教师手动输入,并加入总分。

主观题评分页面设计效果如下图所示。

图5-18主观题评分界面

主观题评分管理界面如下图所示。

图5-19主观题评分管理界面

5.9 试题管理模块的实现

题目管理包括选择题管理、判断题管理、填空题管理、主观题管理。教师可以点击“添加题目”超级链接,既可跳转到timuxinxi_add.jsp页添加题目。题目添加成功后,教师可以登录到个人中心查询个人的题目的信息。教师在timuxinxi_list.jsp进行题目管理,timuxinxi_ list.jsp通过查询数据库的题目表列出所有题目管理信息,每条题目对应一个删除按钮和修改按钮,当教师点击删除按钮,直接在数据库删除题目信息,并重定向当前页面,当教师选择点击修改,则进入timuxinxi_update.jsp页面,进行题目信息的修改。

试题录入界面采用ajax实现,客户端的下拉框的响应事件的响应函数为select_ttype(),通过这个函数显示指定题型的录入界面。“提交”按钮的响应函数为SubmitTimu()。服务器函数InsertTiMu()返回数据,由函数dis_result()处理。

此页面的关键是编写试题信息,单击提交按钮以完成信息的添加。如果未写入完整的试题信息,例如,如果未写入试题编号,系统将给出相应的错误提示,并且无法成功输入。数据以概念的形式以onsubmit =“return checkForm()”的形式写入以进行检查,checkForm()函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过form表单中的οnsubmit=”return checkForm()来检查。

管理员点击左侧菜单“试题信息管理”,页面跳转到试题信息管理外观,调用后台试题查询所有试题信息。并将信息密封到数据集合List,绑定到请求对象,然后页面跳转到相应的jsp,显示出试题信息,单击删除按钮完成试题信息的删除。

试题管理流程图如下图所示。

图5-14试题管理流程图

主观题试题添加界面如下图所示。

图5-15主观题试题添加界面

试题添加界面如下图所示。

图5-16试题添加界面

试题管理界面如下图所示。

图5-17试题管理界面

5.10 试卷管理模块的实现

根据需求,需要对试卷进行添加、删除或修改详情信息。删除或修改试卷时,系统根据试卷的状态判定为可删除状态下,才会给出删除和修改链接,点击删除链接按钮时,请求到达后台,还会先查询试卷状态再次做出判定能否删除。点击修改链接按钮时,会跳转到修改信息的页面,重新填写好数据后,数据提交到后台会对数据库中相应的记录做出修改。试卷生成由教师填写试卷编号、选择题数、选择题分值、判断题数、判断题分值、多选题数、多选题分值、填空题数、开始日期、结束日期,提价生成新的试卷,如果当前题库的选择题数量小于用户输入的选择题数,则提示对不起,选择题数不足,需要在录入选择题。生成试卷是从当前数据库每一种题型表中选择前n条数据,放入试卷中,组成新试卷。

添加试卷时,会给出数据填写的页面,该页面根据填写好的试卷编号同样会事先发送Ajax请求查询编号是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。

试卷管理流程图如下图所示。

图5-18试卷管理流程图

试卷添加页面设计效果如下图所示。

图5-19试卷添加界面

试卷管理页面效果如下图所示。

图5-20试卷管理界面

第6章 系统测试

6.1 测试目的

对任何系统而言,测试都是必不可少的环节,测试可以发现系统存在的很多问题,所有的软件上线之前,都应该进行充足的测试之后才能保证上线后不会Bug频发,或者是功能不满足需求等问题的发生。下面分别从单元测试,功能测试和用例测试来对系统进行测试以保证系统的稳定性和可靠性。

6.2 功能测试

下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。

表6-1 系统登录功能测试用例

功能描述

用于系统登录

测试目的

检测登录时的合法性检查

测试数据以及操作

预期结果

实际结果

输入的用户名和密码带有非法字符

提示用户名或者密码错误

与预期结果一致

输入的用户名或者密码为空

提示用户名或者密码错误

与预期结果一致

输入的用户名和密码不存在

提示用户名或者密码错误

与预期结果一致

输入正确的用户名和密码

登录成功

与预期结果一致

下表是试题管理功能的测试用例,检测了试题管理中对试题信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-2 试题管理的测试用例

功能描述

用于试题管理

测试目的

检测试题管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加试题,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加试题,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改试题,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改试题,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除试题,选择试题删除

提示删除成功

与预期结果一致

点击搜索试题,输入存在的试题名

查找出试题

与预期结果一致

点击搜索试题,输入不存在的试题名

不显示试题

与预期结果一致

下表是试卷管理功能的测试用例,检测了试卷管理中对试卷信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-3 试卷管理的测试用例

功能描述

用于试卷管理

测试目的

检测试卷管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加试卷,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加试卷,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改试卷,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改试卷,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除试卷,选择试卷删除

提示删除成功

与预期结果一致

点击搜索试卷,输入存在的试卷名

查找出试卷

与预期结果一致

点击搜索试卷,输入不存在的试卷名

不显示试卷

与预期结果一致

下表是考试管理功能的测试用例,检测了考试管理中考试单的操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-4 考试管理的测试用例

功能描述

用于考试管理

测试目的

检测考试管理时各种操作的情况

测试数据以及操作

预期结果

实际结果

未答题,点击试卷提交

考试成绩为0分

与预期结果一致

在考试时间到,用户未答完题

试卷自动提交

与预期结果一致

答完题,并提交考卷

自动计算出考试成绩

与预期结果一致

6.3 性能测试

使用阿里云PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试。线上服务器环境为:1核心CPU,1G内存,1Mbps公网带宽,Centos7.0操作系统。

压测过程中使用了2台并发机器,每台机器20个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有40个用户并发时,数据管理相关页面的响应时间甚至达到了7s,通过查看服务器出网流量发现已经达到1381kb/s,可以看出服务器的带宽已经达到峰值,如果系统使用5Mbps的带宽,系统的响应时间和TPS将会大大增加。在整个测试的过程中,CPU的使用率占用仅8%,也提现出带宽瓶颈对系统的影响非常严重。

第7章 总结与展望

随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是过程性考核平台为核心展开的,主要是为了实现考试信息化管理和用户在线考试的需求。

本次毕业论文的主要是利用Springboot开发一个安全可靠,操作简易,同时具备业务可扩展的过程性考核平台。本文详细的论述了基于Android系统的设计和开发,本系统的所有事务逻辑都是按照系统的需求分析进行设计的,系统有普通用户和系统管理员两种角色,本系统多处采用了Ajax的异步交互技术,同时它也叫异步交互技术,利用它我们可以让网页的局部进行数据刷新操作,Ajax和传统的数据更新技术大大增加了客户的体验程度,由于是对局部进行操作那么就减少了一些繁琐而又不必要的操作,减轻了服务器对页面解析的负担。系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。

但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。

参考文献

[1]Jun Luo1,Pengcheng Cao2,Zijun Yu2. Online examination anti-cheating system and method based on multiple mixing algorithm[J]. Computer Informatization and Mechanical System,2023,6(2).

[2]孙昕,刘红根,张海,唐盼盼.基于B/S架构的在线考试系统设计与实现[J].中国信息化,2023(03):48-50.

[3]李娟,边玲,李海瑛,张东圆.基于微信小程序的手机在线考试系统设计[J].无线互联科技,2023,20(04):58-61+89.

[4]谭添,马晓星,许畅,马春燕,李樾.Java指针分析综述[J].计算机研究与发展,2023,60(02):274-293.

[5]Paul Krill. JavaScript, Java, and Python skills top demand[J]. InfoWorld.com,2023.

[6]. Research and Mobile Releases Report: Online Exam Proctoring Global Market[J]. Manufacturing Close - Up,2023.

[7]常祖政.在线考试系统中同卷异序的设计与实现[J].电脑编程技巧与维护,2022(11):40-42.DOI:10.16184/j.cnki.comprg.2022.11.047.

[8]任浩然,刘丹,景永强.JAVA在计算机软件开发中的应用研究[J].信息记录材料,2022,23(11):83-85.DOI:10.16009/j.cnki.cn13-1295/tq.2022.11.072.

[9]蒋金涛.基于Web的高校在线考试系统设计[J].无线互联科技,2022,19(19):88-90.

[10]张勇飞,陈艳君.基于微信小程序的线上学习平台设计[J].信息与电脑(理论版),2022,34(18):254-256.

[11]朱华汉.在线考试系统APP的设计与开发研究[J].现代信息科技,2022,6(15):1-5+10.DOI:10.19850/j.cnki.2096-4706.2022.15.001.

[12]宣子娇.基于学习通平台的大学数学过程性考核研究[J].办公自动化,2022,27(08):35-37.

[13]肖迎红,严文志.全方位提升过程性考核教学质量研究[J].化工设计通讯,2021,47(07):124-125.

[14]Fuyuan Cheng. Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework[J]. Advances in Educational Technology and Psychology,2021,5(2).

[15]王福环,葛田.基于“双平台”的线上教学的设计和实施——以“动态网页开发”课程为例[J].山东广播电视大学学报,2021(01):42-44.

[16]管小卫.基于Andriod平台的在线考试系统设计——以“专转本”计算机基础统考为例[J].科学技术创新,2019(36):93-94.

[17]兰明菊,蒋能记,郑金风.基于移动应用的在线考试系统研究与应用[J].信息系统工程,2019(06):111-112.

[18]李杰,张建国,施建朝,沈栩竹.微信小程序实现高等数学在线考试[J].数码世界,2019(02):137.

[19]张彤芳.基于云班课平台的过程性考核评价体系探索与实践[J].陕西青年职业学院学报,2019(01):20-22.

[20]张沈梅,孙昊,王玲,成甜甜,祖兆研.基于微信小程序的课程在线测试系统[J].电脑知识与技术,2018,14(32):82-84+88.DOI:10.14004/j.cnki.ckt.2018.3755.

致  谢

本次设计历时3个月。在这个毕业设计中,它离不开指导教师的指导,使事情基本顺利。指导老师无论是在毕业设计历经中,还是在论文做完中都给了了我特别大的助益。另1个方面,教师认真负责的工作姿态,谨慎的教学精神厚重的理论水准都使我获益匪浅。他勤恳谨慎的教学育人学习姿态也给我留下了特别特别深的感觉。我从老师那里学到了很多东西。在理论和实践中,我的技能得到了特别大的提高。在此,特向教师表示由衷的感激。

经过对该毕业设计的全部研究和开发,我的系统研发经历了从需求分析到实现详细功能,再到最终测试和维护的特殊进展。让我对系统研发有了更深层次的认识。如今我的动手本领单独处理疑惑的本领也获取到了特别大的演练学习增多,这是这次毕业设计最好的收获。

最后,在整个系统开发过程中,我周围的同学和朋友给了我很多意见,所以我很快就确认了系统的商业思想。在次,我由衷的向他们表示感激。

点赞、收藏、关注 私信博主可领取源代码

关注博主下篇更精彩

一键三连!!!

一键三连!!!

一键三连!!!

感谢一键三连!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值