版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
[16]。在搜索解空间的过程中,若干个体随机生成初始种群,根据适者生存、不适者淘汰的原则,种群中的个体不断向最优解的方向偏移,每一代进化产生的近似解越趋近于期望值,最终寻找到问题的近似最优解。在每一代中,根据所定义的适应度函数来计算并评判个体的优劣,个体适应度反映了个体对环境的适应能力、个体生存能力的适应度。根据自然选择的基本原理,个体适应性较好的个体被选择出繁殖的机会更大。同时,遗传算子还应当进行交叉和变异,产生一组具有代表性的新物种。这一过程将使种群中的个体自然进化、后续世代的种群将比比以前更适应环境。在完成迭代次数后的种群最优个体,可用于近似最优解。遗传算法流程图如下图2-5所示。图2-5遗传算法流程图3需求分析3.1系统功能需求概述在线考试系统的使用者根据需求来定义可以划分为三类人群,分别为:学生、教师、管理员。其中,管理员主要负责为对系统的基本信息进行管理,例如如:学生基本信息、教师基本信息、基本教学信息等,同时管理员应具备权限,在教师出现问题无法操作时对试卷、考试安排、题库等考试信息进行维护和修改;教师用户的核心需求是在线考试流程中考试前后的主要工作,例如:对试卷信息进行维护的需求、管理题库信息的需求、安排学生进行考试的需求、批改考试试卷的需求、查看成绩以及对负责班级的成绩进行分析的需求;学生用户主要的需求为进行考试并且在考试结束后查看成绩。系统整体的用例图如下图3-1所示。图3-1系统整体用例图3.1.1学生信息管理学生信息管理模块主要是管理员对系统前台的使用者学生的信息进行管理,主要需求有搜索学生、查看学生基本信息、修改学生基本信息,删除学生基本信息。该部分的用例图如图3-2所示。3-2学生管理用例图3.2.2教师管理教师管理模块主要是系统的管理员对教师的信息进行管理,其中基本信息中包括教师权限的赋予,只有管理可以修改教师的权限并将其指定为管理员,该部分其它功能还有:搜索教师、查看教师基本信息、修改教师基本信息,删除教师。该功能的用例图如图3-3所示。图3-3教师管理用例图3.2.3基本信息管理基本信息管理模块主要分为两个模块,分别是管理员当前系统内科目的管理以及对当前系统内年级的管理。科目管理具体为:管理员对当前系统中需要进行考试的科目的管理,包括对于科目的增删改查;年级管理具体为:管理员对当前系统中存在的年级信息进行增删改查操作,同时在该模块也可查看该年级所属的班级情况;其用例图如图3-4所示。图3-4基本信息管理用例图3.2.4班级管理班级管理模块的使用者为管理员,该部分为管理员提供了对当前系统中学生所存在班级的管理操作。主要分为班级信息管理和班级信息统计两个方面,其中班级信息管理包括对试卷基本信息,例如:班级名称等信息进行增删改查操作,这里管理员需要为每个班级设置一位负责老师,该负责老师作为班级的负责人,可以查看所负责班级内学生的成绩统计分析信息(即使用成绩统计分析功能),并对所负责班级内学生起到监督和督促的作用;班级信息统计功能主要为管理员提供系统内各班级的人数信息进行统计并以图表的形式展示出各班人数的线形图,便于管理员进行统计。该部分的用例图如图3-5所示。图3-5班级管理用例图3.2.5试卷管理试卷管理模块主要是教师或系统管理员对试卷信息的管理。主要包含试卷基本信息管理和试卷内试题管理两个方面,其中试卷基本信息管理包括对试卷基本信息例如:试卷名称,试卷考试科目,考试时间等基本考试信息进行增删改查操作,在增加和修改的操作中,需要为每套试卷设置一位负责老师,该老师在考试结束后,负责这套试卷主观题的评判工作;试卷内试题管理功能包括利用遗传算法自动生成试题、查看当前试题、手动从题库中添加试题、删除试题功能。该部分功能的用例图如图3-6所示。3-6试卷管理用例图3.2.6题库管理题库管理模块主要是教师对题库内题目基本信息进行维护,包括对题目信息例如:题目名称、题目选项、题目答案、题目难度、题目分值等信息进行增删改查操作,其中在增加操作中教师可以手动输入题目信息并添加,也可以从Excel表格中批量导入试题到题库中,其用例图如3-7所示。3-7题库管理用例图3.2.7考试安排设置考试安排模块具体为教师提供对考试安排的管理。该模块下教师可以安排即将进行的考试,例如:考试开始时间、考试总共用时、考试班级、考试所采用的试卷等信息进行增删改查操作。其用例图如图3-8所示。3-8考试安排设置用例图3.2.8成绩统计分析成绩统计分析模块负责为教师提供其负责班级的整体成绩统计分析情况,例如:本班学生每科考试的整体平均分、本班学生的平均成绩的趋势走向;其次,该模块为负责教师提供单个学生各科成绩的成绩统计分析,例如:单个同学所参与的所有考试的平均分。其用例图如3-9所示。3-9成绩统计分析统计用例图3.2.9进行考试进行考试模块主要负责为学生提供在线考试功能,具体的功能有:在学生点击进行考试后为学生可读题并进行作答;在考试界面右上方为考生显示考试剩余时间,在考试时间未用完前学生可主动提交试卷,若时间结束学生仍未交卷,则停止学生答题并自动提交试卷;学生在交卷后无法再次进入考试。其用例图如3-10所示。3-10进行考试模块用例图3.2.10查看成绩该模块分为教师查看批改成绩和学生查看个人成绩两个功能,分别为前台考试系统和后台管理系统的用户提供服务。对于后台使用者教师,该功能为显示该教师批改试卷后的试卷成绩情况;对于前台考试系统使用者学生,该功能会为其显示该学生所有考试的成绩信息。其用例图如3-11所示。3-11教师和学生查看成绩用例图3.2.11试卷批改试卷批改模块所负责的功能为在考试结束后,教师针对其负责的试卷主观题的答题情况进行批改并给予分数。该部分的用例图如图3-12所示。3-12试卷批改用例图3.3章节小结本章节的内容主要为描述了基于遗传算法的学生在线考试系统的基本需求,分别针对系统不同角色的需求进行分析,并总结出满足上述需求所需实现的各个功能。同时根据用户的不同使用需求,结合用例图详细描述出本系统的功能模块集合。通过本章节的工作,基本完成了对系统所需功能的分析。4系统设计4.1系统结构设计4.1.1系统逻辑结构本系统在SSM框架下并基于MVC模型整体的逻辑架构分为4层,分别为视图层、Controller层、Service层、Dao层。View层主要是Web前端页面的显示,同时需要负责将前端的页面请求发送到Controller层,该部分主要由JavaScript、HTML、CSS等语言编写;Controller层主要负责具体业务流程的控制,接收前端传来的请求并处理,同时将结果数据返回给前端;Service层主要处理业务逻辑;Dao层(也称为Mapper层)负责进行数据持久化工作,具体是设计数据库之间的交互,该层要求设计一个DAO接口,并在Spring的配置文件为该接口定义相应的实现类。系统逻辑架构图如图4-1所示。4-1系统逻辑架构图4.1.2系统物理结构本在线考试系统的用户是通过计算机对系统进行访问,主要访问界面基于Web端浏览器网页。本在线考试系统的物理结构图如下图4-2所示。4-2系统物理架构图4.2系统功能设计4.2.1系统整体功能设计对系统功能需求的分析后,依照上述需求设计本系统的功能,将系统分为两部分,分别为学生端和教师端,其中教师端的功能又可分为:系统信息管理、考试信息管理、考试相关功能,学生端的功能能够分为:进行考试,拦截未满足条件学生进入考试,查看成绩。教师端系统结构如下图4-3所示,学生端系统结构如图4-4所示。4-3教师端系统功能结构图4-4学生端系统功能结构图4.2.2系统流程图设计本考试系统主要为教师、管理员、学生三类人员提供服务。教师与管理员使用教师端,其中,教师可与考试有关的管理进行操作,例如:进行考试相关功能的管理操作;管理员主要对考试系统中的系统信息进行管理,例如:学生信息、教师信息等,在一定特殊情况下,管理员也可对考试信息进行管理与维护;学生主要使用学生端进行注册与登录,进行在线考试的整个流程,系统应具备拦截不符合条件的考生进入考试,学生在考试后能够查看到自己的成绩。本系统的系统流程图如下图4-5所示。4-5系统流程图4.3数据库设计本系统存储数据的数据库为MySql。在开发过程中数据库的可视化操作软件采用Navicat。依照上述的需求分析、功能分析结果来设计数据库并生成相关数据库表。本系统分为前台考试系统,使用者为:学生;后台管理系统,使用者为:教师、管理员。下面为是数据库的实体关系图以及涉及到的数据关系表,具体的容包括数据项、记录及记录间的联系、安全性和一致性约束等等。4.3.1实体-关系图设计本考试系统主要包含的实体有:学生、教师/管理员、班级、年级、科目、题库内试题、试卷、试卷内试题、考试、学生答题信息、考试成绩信息,主要描述用户实体的关联关系。实体关系图如图4-6所示。4-6实体-关系图4.3.2数据表设计1.1班级信息表(classinfo),该表作为存储班级信息的数据表,其中为每个编有唯一的班级编号(classId)并将其设为主键来对该表的数据进行唯一标识,其它内容还包括班级的名称、班级所在年级的编号、负责教师的编号。班级信息表结构图下表4-1所示。4-1班级信息表结构序号列名数据类型描述是否为空1classIdINT(11)班级编号PRIMARYKEY2classNameVARCHAR(50)班级名称NOTNULL3gradeIdINT(11)班级所在年级编号NOTNULL4teacherIdINT(11)负责教师编号1.2班级表外键约束信息,本部分作为班级信息表的外键约束,主要作用是保持数据库内相关联表数据的一致性,其中若该班级表内存在年级编号、负责教师编号,则对应表gradeinfo和teacherinfo中所对应的信息行不能删除或更新,否则会造成表内数据缺失,不一致的情况。4-2班级信息表外键约束序号栏位参考表参考栏位删除时更新时1gradeIdgradeinfogradeIdRESTRICTRESTRICT2teacherIdteacherinfoteacherIdRESTRICTRESTRICT2.1科目信息表(courseinfo),该表作为存储科目信息的数据表,将每个课程唯一的课程编号(courseId)设为主键对该表内每行的信息进行唯一标识,其它列名包括科目的名称、科目考试的形式(开卷或闭卷)、科目所属年级的编号。4-3科目信息表结构序号列名数据类型描述是否为空1courseIdINT(11)科目编号PRIMARYKEY2courseNameVARCHAR(50)科目名称NOTNULL3divisionINT(11)该科目考试形式4gradeIdINT(11)所属年级编号2.2科目信息表外键约束,由于该表内存在所属年级编号这一列,因此将所属年级编号(gradeId)作为外键进行约束,当本表内存在相关联信息时,年级信息表(gradeinfo)内该行信息被限制为不能删除与更改,否则会数据缺失或不一致的问题。4-4科目信息表外键约束序号栏位参考表参考栏位删除时更新时1gradeIdgradeinfogradeIdRESTRICTRESTRICT3.1考生答题信息表(examchooseinfo),该表作为考试答题信息表,主要作用是存储学生答题的情况,将学生每道所答的题目进行标号,并将已作答的编号(chooseId)设置为主键来对每一行的信息进行唯一标识,表内其它信息还包括学生(答题者)编号、所答试卷编号、所答题目位于题库中的编号、学生答案、该题目得分。4-5考生答题信息表结构序号列名数据类型描述是否为空1chooseIdINT(11)已作答的编号PRIMARYKEY2studentIdINT(11)学生编号NOTNULL3examPaperIdINT(11)所答试卷编号NOTNULL4subjectIdINT(11)所答题目位于题库中的编号NOTNULL5chooseResultVARCHAR(500)学生答案NOTNULL6scoreINT(11)该题目得分3.2考生答题信息表外键约束信息,由于表内存在学生编号、题目编号信息,与学生信息表、题库表存在关联关系,因此将学生编号、题目编号设为外键分别对学生信息表、题库表中与本表存在关联关系的行进行约束,不能进行删除和更新操作,否则将导致表之间的关系不对应,数据存在缺失或不一致的情况。4-6考生答题信息表外键约束序号栏位参考表参考栏位删除时更新时1studentIdstudentinfostudentIdRESTRICTRESTRICT2subjectIdsubjectinfosubjectIdRESTRICTRESTRICT4.1考试历史记录表(examhistoryinfo),该表主要作为为存储考试历史记录,用于在学生/教师查看成绩的主页面显示考试记录的大致信息,其中为每位学生的每次考试都设定一个考试历史编号,并将该编号设为主键,对表内信息进行唯一标识,同时还包括学生的编号、该考试历史所属的试卷编号、考试总分。4-7考试历史记录表结构序号列名数据类型描述是否为空1historyIdINT(11)考试历史编号PRIMARYKEY2studentIdINT(11)学生编号NOTNULL3examPaperIdINT(11)该历史所属试卷编号NOTNULL4examScoreINT(11)考试总分4.2考试历史记录表外键约束信息,由于表内存在学生编号(studentId)这一栏,因此在存在考试信息的情况下,不能对相关联的学生信息进行删除与更新,否则会造成数据不一致,因此将学生编号(studentId)作为外键对学生信息表(studentinfo)中存在关联信息的内容进行限制性约束,从而保证数据的一致性。4-8考试历史记录表外键约束序号栏位参考表参考栏位删除时更新时1studentIdstudentinfostudentIdRESTRICTRESTRICT5.1试卷基本信息表(exampaperinfo),该表的主要作用是存储试卷除试题外的基本信息,其中为每套试卷进行编号,并将试卷编号作为主键对每行信息进行唯一标识。其他内容还包括试卷名称、试卷内题目总数、试卷考试的时间、试卷总分、试卷所属年级编号、试卷考试形式、试卷参考难度、试卷负责教师编号。4-9试卷基本信息表结构序号列名数据类型描述是否为空1examPaperIdINT(11)试卷编号PRIMARYKEY2examPaperNameVARCHAR(50)试卷名称NOTNULL3subjectNumINT(11)试卷题目总数NOTNULL4examPaperTimeINT(11)试卷考试时间NOTNULL5examPaperScoreINT(11)试卷总分NOTNULL6gradeIdINT(11)试卷所属年级编号NOTNULL7divisionINT(11)试卷考试形式8examPaperEasyINT(11)试卷参考难度9teacherIdINT(11)试卷负责教师编号NOTNULL5.2科目信息表外键约束,由于表内存在年级编号(gradeId)这一栏,因此在存在试卷信息的情况下,不能对相关联的年级信息进行删除与更新,否则会造成数据不一致,因此将年级编号(gradeId)作为外键对年级信息表(gradeinfo)中存在关联信息的内容进行限制性约束,从而保证数据的一致性。4-10试卷基本信息表外键约束序号栏位参考表参考栏位删除时更新时1gradeIdgradeinfogradeIdRESTRICTRESTRICT6.1考试安排表(examplaninfo),该表的主要作用是存储与考试安排有关系的信息,其中为每场考试的安排设置一个编号,因此该考试安排编号(exmplanId)在表内作为主键对表内每行信息进行唯一标识,同时其它信息还包括考试课程编号、考试班级编号、考试试卷编号、考试开始时间。4-11考试安排表结构序号列名数据类型描述是否为空1examplanIdINT(11)考试安排编号PRIMARYKEY2courseIdINT(11)考试课程编号NOTNULL3classIdINT(11)考试班级编号NOTNULL4examPaperIdINT(11)考试试卷编号NOTNULL5beginTimeDATETIME考试开始时间NOTNULL6.2考试安排表外键约束信息,由于表内存在考试课程编号(courseId)、考试班级编号(classId)、考试试卷编号(examPaperId)这三列,因此在存在考试安排信息的情况下,不能对相关联的课程信息、班级信息、试卷信息进行删除与更新,否则会造成数据不一致,因此将考试课程编号(courseId)、考试班级编号(classId)、考试试卷编号(examPaperId)作为外键对课程信息表(couseinfo)、班级信息表(classinfo)、试卷基本信息表(examPaperinfo)中存在关联信息的内容进行限制性约束,从而保证数据的一致性。4-12考试安排表外键约束序号栏位参考表参考栏位删除时更新时1courseIdcourseinfocourseIdRESTRICTRESTRICT2classIdclassinfoclassIdRESTRICTRESTRICT3examPaperIdexamPaperinfoexamPaperIdRESTRICTRESTRICT7.1试卷内试题表(examsubjectmiddleinfo),该表的主要作用是存储试卷内相关试题,通过该表内的试卷编号可与试卷基本信息表结合起来表示一套完整的试卷,在该表内,对本试卷内每道试题进行编号,因此试卷内试题编号(esmId)作为主键对每行信息进行唯一标识,其它列还包括试卷编号以及题库内试题编号。4-13试卷内试题表结构序号列名数据类型描述是否为空1esmIdINT(11)试卷内试题编号PRIMARYKEY2examPaperIdINT(11)试卷编号NOTNULL3subjectIdINT(11)题库内试题编号NOTNULL7.2试卷内试题表外键约束信息,由于表内存在题库内试题编号(subjectId)这一栏,因此在该试题存在于试卷内的情况下,不能对相关联的题库内试题信息进行删除与更新,否则会造成数据不一致,因此将题库内试题编号(subjectId)作为外键对题库信息表(subjectinfo)中存在关联信息的内容进行限制性约束,从而保证数据的一致性。4-14试卷内试题表外键约束序号栏位参考表参考栏位删除时更新时1subjectIdsubjectinfosubjectIdRESTRICTRESTRICT8.年级信息表(gradeinfo),该表的主要作用是存储年级信息,其中为每一年级进行编号,因此将年级编号设为主键对表内行信息进行唯一标识,同时表内列还包括年级名称。4-15年级信息表结构序号列名数据类型描述是否为空1gradeIdINT(11)年级编号PRIMARYKEY2gradeNameVARCHAR(50)年级名称NOTNULL9.1学生信息表(studentinfo),该表的主要作用是存储系统使用者之一学生的基本信息,其中为每位学生进行编号,因此学生编号作为主键对表内行信息进行唯一标识,其它列还包括学生姓名,学生登录账户,学生登录密码,学生所属年级编号。4-16学生信息表结构序号列名数据类型描述是否为空1studentIdINT(11)学生编号PRIMARYKEY2studentNameVARCHAR(32)学生姓名NOTNULL3studentAccountVARCHAR(64)学生登录账户NOTNULL4studentPwdVARCHAR(32)学生登录密码NOTNULL5classIdINT(11)学生所属班级编号NOTNULL9.2学生信息表外键约束,由于表内存在年级编号(gradeId)这一栏,因此在学生存在于某一年级的情况下,不能对相关联的年级信息进行删除与更新,否则会造成数据不一致与缺失,因此将年级编号(gradeId)作为外键对年级信息表(gradeinfo)中存在关联信息的内容进行限制性约束,从而保证数据的一致性。4-17学生信息表外键约束序号栏位参考表参考栏位删除时更新时1classIdclassinfoclassIdRESTRICTRESTRICT10.1题库信息表(subjectinfo),该表的主要作用是作为题库存储系统内所有的试题信息,其中为每一道题库中的题目进行编号,因此将题库内题目编号设置为主键,对题库内每行试题信息进行唯一标识,其他信息还包括题目名称、题目的选项A-D、正确答案、题目分值、题目类型、题目所属科目编号、题目所属年级编号、题目难度。4-18题库信息表结构序号列名数据类型描述是否为空1subjectIdint(11)题库内题目编号NOTNULL2subjectNameVARCHAR(500)题目名称NOTNULL3optionAVARCHAR(500)题目备选项ANOTNULL4optionBVARCHAR(500)题目备选项BNOTNULL5optionCVARCHAR(500)题目备选项CNOTNULL6optionDVARCHAR(500)题目备选项DNOTNULL7rightResultVARCHAR(500)正确答案NOTNULL8subjectScoreINT(11)题目分值NOTNULL9subjectTypeINT(11)题目类型10courseIdINT(11)题目所属科目编号NOTNULL11gradeIdINT(11)题目所属年级编号NOTNULL12subjcetEasyDOUBLE题目难度10.2题库信息表外键约束信息,由于表内存在年级编号(gradeId),科目编号(courseId)这两栏,因此在题库中题目存在于某一年级、所属于某一科目的情况下,不能对相关联的年级、科目信息进行删除与更新,否则会造成数据不一致与缺失,因此将年级编号(gradeId)、科目编号(courseId)作为外键对年级信息表(gradeinfo)、科目信息表(courseinfo)中存在关联信息的内容进行限制性约束,从而保证数据的一致性。4-19题库信息表外键约束序号栏位参考表参考栏位删除时更新时1gradeIdgradeinfogradeIdRESTRICTRESTRICT2courseIdcourseinfocourseIdRESTRICTRESTRICT11.教师端用户信息表(teacherinfo),该表的主要作用是存储系统教师端用户(教师/管理员)的基本信息,其中区分教师与管理员的为权限(adminPower)列,若权限为0则表示为教师,若权限为1则表示为管理员;其次每位教师端的使用者进行编号,因此将教师端用户编号(teacherId)作为主键对每行信息进行唯一标识,其它信息还包括教师端用户姓名、教师端用户登陆账户名、教师端用户登陆密码、负责班级。4-20教师端用户信息表结构序号列名数据类型描述是否为空1teacherIdINT(11)后台用户编号PRIMARYKEY2teacherNameVARCHAR(10)后台用户姓名NOTNULL3teacherAccountVARCHAR(10)后台用户登录账户名NOTNULL4techerPwdVARCHAR(10)后台用户登录密码NOTNULL5adminPowerINT(11)后台用户权限NOTNULL6isWorkINT(11)负责班级NOTNULL5系统实现与测试5.1系统开发环境本系统的开发环境如下:(1)操作系统:Windows10(2)开发软件:EclipseIDEforEnterpriseJavaandWebDevelopers-2021-12(3)服务器:Tomcat7.0(4)浏览器:GoogleChrome(5)数据库:MySql5.05.2系统登录与注册登录界面首页如图5-1所示,其中点击右上角的学生登录即可进入学生考试页面;若未注册的学生需要先点击学生注册进行注册操作才能登录进入;管理员/教师通过点击最右侧的管理员/教师登录按钮进入后台系统,同时设置有登录拦截器,未登录用户点击其他操作按钮均会被拦截并提示进行登录操作。学生登录界面如图5-2所示,学生注册界面如图5-3所示,教师/管理员登录界面如图5-4所示,登录模块流程图如图5-5所示。5-1登录界面5-2学生登录界面5-3学生注册界面5-4管理员/教师登录界面系统登录过程的具体流程为:登录模块主要的功能为使用者进行登录并由系统进行登录验证两大功能。用户在登录页面输入相关信息后点击登录按钮,数据由前端传入,后端根据传入的账户信息进入数据库并查找账号是否存在,若存在则对该账号对应的密码进行验证,并将验证结果返回,若验证成功则跳转至对于的系统首页,验证失败则显示对应的错误原因。流程图如图5-4所示。5-5登录模块流程图5.3学生管理模块学生管理模块主要负责查看学生、搜索学生、编辑学生信息、删除学生信息等功能。该部分仅有管理员可以操作,具体流程为:点击侧边栏进入学生管理页面后,前端向后端发送登录教师的id,后端根据传入的信息查询该用户的权限属性值并将该值返回到前端,前端收到值后进行判断,若拥有管理员权限,则显示修改、删除等操作显示在页面内,否则不显示。以下图片均为拥有管理员权限,若仅有教师权限,则除搜索外所有按钮均不显示,查看学生信息如图5-6所示,搜索学生如图5-7所示,编辑学生信息如图5-8所示,学生管理模块流程图如图5-9所示。5-6查看学生信息5-7搜索学生5-8编辑学生信息图5-9学生管理模块流程图5.4教师管理模块教师管理模块主要作用为:管理员对教师基本信息进行管理,具体操作包括查看教师信息、查找教师、添加教师、修改教师信息、删除教师信息。该部分仅管理员拥有权限操作,具体操作流程为:点击侧边栏进入教师管理页面后,前端向后端发送使用者的信息,后端根据传入的信息查询该使用者的权限属性值并将该值返回到前端,前端收到值后进行判断,若拥有管理员权限(即教师信息表内代表权限列adminPower==1),则显示修改、删除等操作按钮在页面内,否则不显示。具体查看教师如图5-10所示,查找教师如图5-11所示,添加/编辑教师信息如图5-12所示,教师管理模块流程图如图5-13所示。5-10查看教师5-11查找教师5-12添加/编辑教师信息5-13教师管理流程图5.5教学信息管理模块教学信息管理模块主要分为班级管理、年级管理以及科目管理。该部分作为管理员权限可操作,具体操作流程为:点击侧边栏进入该模块内的子页面后(包含班级管理、年级管理、科目管理),前端向后端发送使用者的信息,后端根据传入的信息查询该使用者的权限属性值并将该值返回到前端,前端收到值后进行判断,若拥有管理员权限(即adminPower==1),则显示修改、删除等操作按钮显示在当前页面内,否则不显示。5.5.1班级管理管理班级管理模块主要是查看班级、添加班级、编辑班级信息、删除班级以及班级信息统计功能。查看班级信息如图5-14所示,添加/修改班级信息如图5-15所示,班级信息统计如图5-16所示。5-14查看班级信息5-15添加/修改班级信息5-16班级信息统计5.5.2年级管理年级管理模块主要是查看年级信息、查看年级内班级信息、添加年级、编辑年级信息、删除年级等功能。查看年级信息界面如图5-17所示,查看年级内班级界面如图5-18所示,添加/修改年级信息界面如图5-19所示。5-17查看年级信息5-18查看年级内班级信息5-19添加/修改年级信息5.5.3科目管理科目管理模块主要是查看科目信息、添加考试科目、编辑科目信息、删除科目等功能。查看科目信息界面如图5-20所示,添加/修改科目信息界面如图5-21所示。5-20查看科目信息5-21添加/修改科目信息5.6试卷管理模块试卷管理模块主要分为试卷基本信息管理和试卷内试题管理,其中试卷内试题管理功能包含使用遗传算法进行自动组卷的功能。5.6.1试卷基本信息管理试卷基本信息管理模块主要是查看试卷基本信息、为试卷库添加试卷、编辑试卷基本信息、删除试卷等功能。查看试卷界面如图5-22所示,添加/编辑试卷界面如图5-23所示。5-22查看试卷5-23添加/编辑试卷5.6.2试卷内试题管理(遗传算法自动组卷模块)试卷内试题管理模块主要是查看试卷内试题、移除试卷内试题、从题库中手动添加试题、遗传算法自动组卷等功能。查看/移除试卷内试题如图5-24所示,从题库中手动添加试题如图5-25所示,利用遗传算法自动组卷功能如图5-26所示。5-24查看/移除试卷内试题5-25从题库中手动添加试题5-26遗传算法自动组卷功能本小节实现了本论文的主要目标之一,使用遗传算法完成自动组卷功能。采用遗传算法自动组卷的原理是依据出题者限定的约束条件(本文主要考虑试题数量、试题所属科目、试题所属年级、试题的期望难度、试卷总分)选择题库中与以上特征值相匹配的题目组成试题组,并根据设定的适应性函数规则评判出试题组中最符合出题者期望的题目组(即最优解)加入到试卷中。下面主要从染色体编码、种群初始化、适应度函数设计、选择操作、交叉操作以及变异操作对遗传算法组卷进行简述,具体内容如下:染色体编码:在利用遗传算法找寻最优试卷时,染色体编码的目标是将问题的解空间映射为一组代码串,与传统遗传算法采用二进制编码不同,本文采用实数对染色体进行编码,与传统的二进制编码相比较而言,本文所采用的实数编码方式能有效缩短编码长度减少,加快搜索与求解速度,提升组卷效率。具体操作为:将种群中每个试卷都映射为一个染色体,将抽取到的每道题目在题库中的编号编码为该染色体上的一个基因。例如:若规定试卷内试题数为10,同时利用实数进行染色体编码,则可能抽取到的一个染色体为:2,4,6,8,10,12,14,16,18,20。产生初始种群:初始种群的产生是由题目总数以及题目总分进行约束的前提下进行随机抽取产生的,即通过前端用户输入限制性条件数据并传到后端组卷功能处对组卷功能进行限制,该方法使得初始种群内染色体均满足题目数、总分与等约束性条件,因此能减少算法迭代的次数,提高最优解的寻找效率。适应度函数设计:适应度函数能够对种群内个体的优劣程度进行评判,为问题解空间内最优个体的搜索提供方向。本文仅考虑各试题难度对试卷的影响,用户期望的难度应当试卷整体的难度接近,具体表示为用户的期望难度与试卷整体难度之差越小,则证明该试卷越符合用户的期望,表示该试卷质量越高,因此可得具体适应度函数为:F=|Edifficulty−Pdifficulty| =1\*GB2⑴在公式(1)中,Edifficulty代表期望难度,该值由出题者在自动组卷页面输入并传入后端;Pdifficulty代表试卷整体难度,其计算方法为:Pdifficulty=∑SubjectDifficulty×SubjectScore
∑SubjectScore=2\*GB2在公式(2)中,SubjectDifficulty代表单个题目的难度,SubjectScore代表单个题目的分数。本计算方法实质上是将每个题目的分数作为该题目难度的权重,并计算加权后的试卷难度。选择算子:选择算子为下一步交叉算子选择出染色体,该步骤模拟了真实自然界中优胜劣汰的特点。在本论文中,选择算子的实现方法为采用等可能的随机抽取方式从种群内抽取一定数量的个体并进行下一步的交叉操作,这些被抽取的个体组成淘汰数组(本文设定淘汰数组大小为6),并且在本论文中,采用了选择算子与精英保留策略相结合的方法,即在适应度计算过后,保留本种群中的最优个体,该个体不会被选择并进行交叉操作,而是直接保存到下一世代,采用精英保留策略的优势在于避免当前种群内的最优个体频繁被交叉算子操作破坏,能够在加快收敛的速度,提高算法的搜索效率。交叉算子:该步骤模拟染色体交配的过程,利用选择步骤挑选较优的个体并对两个个体内的题目按照一定规则进行交换,具体的交换流程为:产生两个随机数s1与s2,比较s1与s2的大小,假设s2>s1,则区间[s1,s2]为交叉的位置,下一步则将两个个体在区间s1到s2内的基因(即题目编号)进行交换,在交换时考虑到若题目分值不同则最终试卷的总分将会与预期不符,并且若交叉的题目相同,则交叉后会出现重复题目的情况,因此此处交换需考虑题目分值、题目编号是否相同,若分值相同、编号不同则再进行交换,若分值不同或编号相同则都跳过该题目,继续向后进行交叉操作。变异算子:该步骤模拟染色体上基因突变的过程,与自然界中的变异相同,在本算法中突变的概率较低,具体数值为0.025。变异算子具体过程为:因为每个基因都可突变的可能性,因此首先循环遍历染色体长度内的基因,每次遍历都生成一个0-1内的随机数,若该数值小于0.025,则该基因进行不完全随机的突变,根据题目限制条件,若突变后的题目类型、分值与突变前不同,则会造成试卷总分与期望值不符的情况产生,因此在此处需要根据突变题目的信息从后端获取到与该题目的类型以及分值相同的题目,并从题库中随机抽取一个符合条件的题目并替换掉原题目,以此进行突变操作,若遍历结束,则突变过程结束。在一轮迭代结束后,判断当前种群内是否存在符合期望的试卷,若存在则结束循环并将题目导入试卷内;若没有满足条件的试卷个体,则再次进入一轮循环并判断,本系统设定的最大迭代次数为100次,若达到最大次数仍没有符合期望的个体出现,则此时根据精英主义将当前世代种群内所保留的最优秀的个体所包含的试题存入目标试卷内。本论文中遗传算法组卷流程图如下图5-27所示。图5-27遗传算法组卷流程图5.7题库管理模块题库管理模块主要的功能有查看试题、搜索试题、添加/编辑试题、删除试题、批量导入试题等功能,在手动添加/编辑功能中,上方栏可以选择题目的类型,题库中存在的类型有单选、多选、填空、简答题。其次,在批量导入试题功能中,操作者可以通过Excel文件将题目导入到题库,根据需要也可以导入到新建试卷或已存在试卷中。其中,批量导入功能是通过POI-XSSF插件来对Excel文件进行处理与导入操作,具体流程为:首先将本地的Excel文件上传到项目地址下的/upload文件中;接下来解析导入的Excel文件、读取数据并得到试题集合;接下来将试题添加到试题库中;最后,将第一步中上传的Excel源文件从项目地址下的/upload文件夹下删除。查看题库内试题如图5-28所示,搜索试题如图5-29所示,手动添加/编辑试题如图5-30所示,批量导入试题功能如图5-31所示。图5-28查看题库内试题图5-29搜索试题图5-30手动添加/修改试题图5-31批量导入试题5.8考试信息设置模块考试信息设置模块主要负责设置即将进行的考试,具体功能为:查看,搜索,添加、修改、删除考试设置。其中查看考试设置如图5-32所示,搜索考试设置如图5-33所示,添加/修改考试设置如图5-34所示图5-32查看考试设置图5-33搜索考试设置图5-34添加/修改考试设置5.9试卷批改模块试卷批改模块主要功能是为教师提供试卷批改服务,该部分分为计算机自动批改客观题(选择、多选及单选)以及教师手动批改主观题(简答题)部分,客观题在学生交卷后就自动在后台批改完成并将成绩输入到已考试卷记录中,其判分条件为:判断学生所答答案与标准答案是否完全一致(填空题目包含逗号等符号信息),若一致则判断为该题得分,否则该题不得分;在客观题判卷完成后系统若判断试卷内不存在主观题需要教师判断,则直接公布成绩并提供给教师和学生查看,若此时判断存在主观题需要进行批改,则在成绩处显示待批改,在教师点击进入批改页面从前端输入成绩信息并传入后端最终存储在数据库中,在系统判断所有简答题均批改完成后(此处设置为每个简答题初始分值为-1分,在教师点击提交批改结果后,系统会自行判断所有简答题分数是否均大于或等于0,若分值满足上述条件,则判断批改完成),系统公布考试分数并可由教师和学生自行查看。教师端待批改界面如图5-35所示,教师批改试卷界面如图5-36所示,教师端已批改界面如图5-37所示。图5-35教师端待批改界面图5-36教师端批改界面图5-37教师端已批改界面5.10学生考试模块考试模块主要功能是为学生提供考试服务,具体流程为:在学生登录后进入考试中心查看待考试卷信息,不满足开始时间无法进入考试;在满足开始时间的情况下点击进入考试进入考试按钮,系统根据试卷id加载试题信息;在系统到达开始时间后自动开始计时,在规定时间内,学生可在答题界面完成审题、题目的作答等一系列考试流程;在答题界面内,右方所标识的题号,若未绿色表示未作答,橙色表示已作答,红色表示正在作答;学生作答完成后若时间未到可以选择主动提交试卷,在系统提示后仍确认则进行交卷;若超出规定时间学生仍未交卷,则系统将禁止学生答题并自动交卷;同时,已完成考试的学生无法再次进入考试进行作答。考试中心页面如图具体作答界面如下图5-38所示,考试作答页面如下图5-39所示,交卷界面如下图5-40所示。图5-38学生考试中心页面图5-39考试作答页面图5-40交卷界面5.11学生查看成绩模块查看成绩模块主要功能是为学生提供成绩查看服务,学生进入考试历史页面后,显示学生历史范围内所有考试的简要信息,在该页面中,若试卷内存在简答题且教师仍未批改,则此时分数显示未批改,但学生仍可以查看客观题的对错情况,具体操作位:学生点击查看试卷详细信息按钮进入考试成绩详细信息页面,能够查看每一题的对错情况以及该题目的得分情况。未批改的考试历史信息如下图5-41所示,已批改的考试历史信息如下图5-42所示,考试成绩详细界面如下图5-43所示。图5-41未批改的考试历史信息图5-42已批改的考试历史信息图5-43考试成绩详细界面5.12成绩统计分析该模块的主要功能为每个班级的每位负责老师提供班级内同学的考试信息统计情况,以便教师能够掌握全班及个人的学习情况,以起到监督和督促的作用。其中班级考试信息统计如图5-44所示,个人考试信息统计如图5-45所示。图5-44班级考试信息统计界面图5-45个人考试信息统计界面5.13系统测试本论文最后对系统进行的测试主要是功能测试,该测试是一种黑盒测试技术,采用功能测试的主要目的是测试系统内的各个功能是否能够按照开发者的预期运行并产生结果,在功能测试的过程中不考虑具体的代码与实现逻辑。只针对界面及其含有的功能进行测试。本次测试选择部分重要的模块进行功能测试,测试结果如下表5-1所示。5-1功能测试表测试用例测试功能测试步骤预期结果测试结果Case1学生登录在学生登录界面填写正确的学生账号和密码,随后点击登录跳转考试系统学生端首页正确Case2教师登录在教师登录界面输入正确的教师账号及密码登录跳转到教师端首页正确Case3查找学生在学生管理页面的搜索框输入学生姓名,点击搜索列表被筛选为查询后的学生信息正确Case4编辑学生在学生管理页面中对学生进行编辑,同时输入新的姓名学生姓名信息被更新正确Case5自动组卷输入相关信息点击自动组卷按钮符合条件的题目被插入试卷内正确Case6批量导入试题选择Excel文件并将内部题目导入题库内题库内题目更新正确Case7考试安排设置在考试安排管理页面添加一个在2022/3/11日15:30分的考试新增一条符合条件的考试信息正确Case8试卷批改在学生考试结束后点击试卷批改按钮并输入主观题的分值学生试卷的分值被更新正确Case9进行考试在考试被安排后学生点击进入考试并完成作答,提交试卷学生考试历史记录更新正确Case10考试自动提交在考试界面等待时间自动结束在时间结束后考试不再允许作答同时试卷被自动提交正确Case11学生注册输入已存在的学生信息显示该学生已注册正确Case12未满足时间考试在未满足考试时间的情况下点击进入考试显示时间未到,无法进入考试正确Case13拦截器测试在未登录的情况下点击考试中心按钮进入考试无法进入并显示“请先登录”正确6总结和归纳6.1总结本论文实现目标是在SSM框架下实现基于遗传算法的自动组卷考试系统,本系统以管理员、教师和学生对于考试流程相关的需求出发,设计出不同的功能模块并进行实现。论文从分析需求、使用用例图描绘需求,主要设计了教师端和学生端,教师端大致包含有系统信息管理、考试信息管理、考试相关功能三大管理功能模块,学生端主要是针对考试流程的实现。并对系统的架构与数据库的结构进行对应的设计,基于以上所述编码实现本系统并进行功能测试。但由于时间因素,导致对于遗传算法组卷功能的实现并不是特别完美,在适应度函数的设计方面,仍然有待优化,应可以采用更多因素进行综合限制,例如:知识点覆盖率、考试题型数量等更多方面的因素来对个体的适应度进行评估,提升组卷的质量。参考文献王冲.基于Web的在线考试系统的设计与实现[D].重庆大学,2009,1.杨清林.基于遗传算法的智能组卷考试系统的设计与实现[D].山东师范大学,2020,1-2.朱腾超.基于遗传算法的在线考试系统设计与实现[D].电子科技大学,2019,1-3.彭康华,黄裕锋,姚江梅.多种人工智能算法的数据库技术课程自动组卷比较[J].计算机系统应用,2018,27(03):210-216.胡明珠.基于智能组卷算法的信息安全竞技平台的研究与设计[D].北京邮电大学,2018,10-11.V.Katragadda,M.Muthee,A.Gasasira,F.SeelmannandJ.-H.Liao.Algorithmbasedadaptiveparametrictestingforoutlierdetectionandtesttimereduction[J],2018IEEEInternationalConferenceonMicroelectronicTestStructures(ICMTS),2018:142-146.陈春燕,刘梦赤.基于粒子群遗传算法的智能组卷策略[J].计算机与现代化,2021(08):16-23.胡新源,赵当丽,李辉,张向波,韩振兴.基于定向变异遗传算法的智能组卷算法研究[J].电子设计工程,2021,29(17):65-69.唐永红,龚安,王超.基于优化初始种群的自动组卷算法[J].计算机与现代化,2012(07):38-40.苏楠.遗传与蚁群混合算法实现在线考试系统组卷设计研究[J].现代信息技,2019,3(20):23-25.张宇,王映辉,张翔南.基于Spring的MVC框架设计与实现[J].计算机工程,2010,36(04):59-62.M.Linaje,J.C.PreciadoandF.Sanchez-Figueroa.EngineeringRichInternetApplicationUserInterfacesoverLegacyWebModels[J].IEEEInternetComputing,2007,11(6):53-59.胡启敏,薛锦云,钟林辉.基于Spring框架的轻量级J2EE架构与应用[J].计算机工程与应用,2008(05):115-118.徐雯,高建华.基于SpringMVC及MyBatis的Web应用框架研究[J].微型电脑应用,2012,28(07):1-4.L.HanandX.Li.TheAnalysisofExamPa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人脸认证系统设计课程设计
- 身份证信息提取技术优化课程设计
- 情感分析工具开发课程设计课程设计
- Snort规则优化设计课程设计
- 门禁系统安装调试技师岗位招聘考试试卷及答案
- 高考志愿填报:艺术艺考避坑与专业精准选择指南
- 2026客户关系管理CRM指数报告 2026 CRM INDEX REPORT
- 高温天气静心养心养生课件
- 高温天气饮水健康课件
- 展厅设计节约费用方案范本
- 2026江苏南京市栖霞区人民政府迈皋桥街道办事处公开招聘编外聘用人员19人考前冲刺密卷附参考答案详解(综合卷)
- 2026年事业单位招聘法学专业综合知识培训试卷
- 生成式引擎优化(GEO)可信信息传播与信息生态治理规范
- 2026年无锡语文中考试题及答案
- GB 48013-2026养老机构基本规范
- 2026 高考化学试题评析及教学启示河南卷
- 一线数智中国制造业AI场景应用白皮书2026
- 货车使用协议书范本
- 《人工智能基础与应用(第2版)》完整全套教学课件
- 工程地质(第4版)课件全套 第0-9章 绪论、矿物与岩石-岩土工程勘察
- 医院感染监测标准2023
评论
0/150
提交评论