# 在线考试系统 **Repository Path**: yxnb/online-examination-system ## Basic Information - **Project Name**: 在线考试系统 - **Description**: 软工项目-在线考试系统 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2020-09-20 - **Last Updated**: 2024-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ** ### 在线考试系统需求分析 ** ### **在线考试系统的功能要求** 在线考试系统的总目标是: 在当前网络环境下,数据库和先进的开发平台上,利用现有的软件,配置-定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的在线考试系统,实现企业或者是学校考试的无纸化,为企业或者学校选拔人才提高更方便,更有效的途径。 根据可行性研究的结果和用户的要求,分析现有情况及问题,采用brower/Server结构,将在线考试系统分成了一下功能模块。 本系统的用户可分为 **管理员** 和 **普通用户(考生)** 两类。 本系统共分成两个界面:一个界面用于管理员登录,主要负责进行基本资料、题库、试卷、成绩的管理以及查询等,另外一个界面用于普通用户(考生)登录、注册。主要负责在线考试、查询以往考试成绩留言和在线交流等。 从总体上考虑,系统应该实现下列功能: **1.** 试卷管理:管理员可以从课程,各种题型的数量等方面对某份试卷提出一定的要求生成试卷规则。同时,管理员还可以对库中已有的试卷进行修改和删除,添加新试卷等。 **2.** 题库管理:管理员可以对题库中的试题进行三种基本操作:添加新的考题、删除旧有考题、修改原有考题,其中试题类型包括客观题(32。,填空、选择、判断、简答)和主观题;对于每种类型的试题,教师可以设置题干、答案等属性。 **3.** 阅卷管理:对于客观题,系统应该可以自动阅卷评分,对于主观题,应该进行人工打分,进而让系统自动统计总成绩。 **4.** 学生管理:管理员可以对用户的资料进行查询、删除。 对普通用户来说,包括在线考试(包括模拟考试和正式考试)、查询以往考试成绩、留言和在线交流等。 **模块分布图:** ![输入图片说明](https://images.gitee.com/uploads/images/2020/0925/111708_793fbb32_8016183.png "模块分布图.png") **1.** 在线考试:学生可以任选时间进行在线测试,考生可以选择手动抽题和随机抽题。在规定的时间内完成作答并交卷。如果考试时间到,考试未交卷的,系统自动提交试卷。考试结束后,对于全部为客观性试题,系统会根据已有的标准答案进行在线判卷,考生可以立刻知道考试成绩。 **2.** 查询以往考试成绩:学生可以在线查询以前参加过的每门课程的考试相关信息。 留言板:学生提交对系统的留言信息。 **管理系统流程图** ![输入图片说明](https://images.gitee.com/uploads/images/2020/0925/112019_4277843c_8016183.png "管理系统流程图.png") **数据字典定义** 数据字典有四大类:数据项、文件、数据流、加工 ** 考生登录信息** 数据流名:简述:↓ ↓ 组成:↓ ↓ 注释:↓ ↓ 数据流名:组成:↓ ↓ 注释:↓ ↓ 数据流名:组成:↓ ↓ 注释:↓ ↓ 数据流名:组成:↓ ↓ 注释:↓ ↓ 考生登录信息↓ ↓ 考生进入考试系统中的身份↓ ↓ 考生学号+考生姓名↓ ↓ 考生只能参加- -次考试,即登录一次↓ ↓ 表4.2选择题↓ ↓ 选择题↓ ↓ 题名+题号+{问题+选项A+选项B+选项C+选项D答案+结果}↓ ↓ 每一次生成的选择题都不一样,结果都为空↓ ↓ 表4.3填空题↓ ↓ 填空题↓ ↓ 提名+题号+{问题+答案+结果}↓ ↓ 结果为空↓ ↓ 表4.4程序设计题↓ ↓ 程序设计题↓ ↓ 题名+题号+程序设计题内容+程序设计题要求↓ ↓ 结果为空↓ ** 备份答题卷** ↓ 数据流名:简述:↓ ↓ 组成:↓ ↓ 注释:↓ ↓ 数据流名:组成:↓ ↓ 注释:↓ ↓ 数据流名:组成:↓ ↓ 数据流名:组成:↓ ↓ 注释:↓ ↓ 备份答题卷 ↓ ↓ 试卷类对象初始化的一个string型数据↓ ↓ 考生学号+姓名+ (选择题) + (填空题) + (程序设计题) +考试时间+考试剩余时间+结果↓ ↓ 每隔5分钟生成1次↓ ↓ 学生信息表↓ ↓ 学生信息表↓ ↓ 学生姓名+学号+专业↓ ↓ 按学号排序↓ ↓ 学生成绩表↓ ↓ 学生成绩表↓ ↓ 学号+成绩+考试状态↓ ↓ 表4.8选择题存储表↓ ↓ 选择题存储表v ↓ 题序列号+问题内容+选项A+选项B+选项C+选项D+答案.按题序列号排序↓ ### 学员考试信息模块功能列表参考简介 - **登录模块** :当考生登录到考试系统窗体时,首先要求输入考生的学号和姓名,并点击确定,进行身份验证,如果没有通过身份验证,则返回登录界面。返回原因 可能为:学号与姓名不相配,或者是已经参加过考试。 - **身份验证模块:** 在考生进入考试系统时,要求确认其考试资格,并根据不同的情况返回不同的值。 - **生成试卷模块:** 根据读取到的考试设置,生成考试试卷。 - **做试卷模块:** 让考生根据试题要求,输入结果或进行操作。 - **试卷备份模块** :在考生做题时,每5分钟将试卷更新到数据库中-次。 - **试卷恢复模块** :在考生考试中发生终端或出现错误时,可以使试卷恢复设置,恢复试卷,继续考试。 - **时间控制模块** :在考试中,考试有时间限制,当考试规定时间到时,将自动交卷,并且禁止考生操作。 - **提交试卷模块** :先将考生试卷保存到数据库中,然后评卷,并把考试分数保存到数据库中。 - **评卷模块** :对考生试卷的答案与标准答案对比,符合标准答案的进行加分操作,最后得出考试结果。 - **学生考试查询模块** :系统中的教师只要登录,均可查询考生考试成绩和答题卷等信息。 **在线考试系统的性能需求** 为了保证系统能够长期、安全、稳定、可靠、高效的运行,在线考试系统应该满 足以下的性能需求: 1.系统处理的准确性和及时性 系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。 由于在线考试系统的在线考试功能对于整个系统的功能和性能完成举足轻重。 在线考试系统要确保在线考试过程中有一定的处理突发事件的能力,且在提交试卷后,所评阅的试卷的失误率要保证最小,保证成绩的准确性和真实性,所以在系统开发过程中,必须采用一定的方法保证系统的准确性。 **系统的开放性和系统的可扩充性** 在线考试系统在开发过程中,应该充分考虑以后的可扩充性。例如在线考试的.题型的改变,试卷的类型的改变,考生交流的功能也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成 系统的升级和更新换代。 **系统的易用性和易维护性** 在线考试系统是直接面对考生的,而大多数考生往往对计算机并不是非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。在线考试系统中涉及到的数据(比如考生信息、成绩)是企业的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。 **系统的标准性** 系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。如规范的数据库操纵界面、作为业界标准的.TCP/IP网络协议及ISO9002标准所要求的质量规范等,同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操 作性和可移植性 **系统的先进性 ** 目前计算系统的技术发展相当快,做为在线考试系统工程,应该保证系统在下个世纪仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品 ### 在线考试系统的数据需求 **在线考试系统的数据要求包括如下几点:** **1.数据录入和处理的准确性和实时性** 数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确、不可用和不真实,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。 在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。 **2.数据的一致性与完整性** 由于系统的数据是共享的,对于不同的考生,试卷是共享数据,所以如何保证这些数据的一致性,如何保证考生答同一套试卷或者不同的试卷,是系统必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。 对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。 **3.数据的共享与独立性** 在线考试系统的某些数据是共享的,比如试卷、试题、试卷的数量、试题的数量。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分 系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。 **建立在线考试系统存在的问题** **1、Brower/Server 结构总体设计方案对它的约束:** 在线考试系统做为Brower/Server 结构的一个应用系统,不可避免的要受到Brower/Server结构的约束。在其实施的各个阶段都要服从它的一些规划,包括功能设计、系统配置和计划。 **2.人力、资金、时间的约束:** 在线考试系统工程实施的目标就是要带给企业或学校看得出见的效益,其开发过程中也要考虑到人力、资金和时间的约束。因此,在设计中,重点是在线考试的良好的人机界面和强大的功能,以及处理突发事件的能力。