【《基于SpringBoot的智能组卷系统设计与实现》16000字(论文)】_第1页
【《基于SpringBoot的智能组卷系统设计与实现》16000字(论文)】_第2页
【《基于SpringBoot的智能组卷系统设计与实现》16000字(论文)】_第3页
【《基于SpringBoot的智能组卷系统设计与实现》16000字(论文)】_第4页
【《基于SpringBoot的智能组卷系统设计与实现》16000字(论文)】_第5页
已阅读5页,还剩53页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

[20]。数据库表是基于上文分析的数据库概念模型进一步优化数据库的逻辑设计内容。本系统数据库命名为paper_composition_db,其主要涉及到的表有:用户表、科目表、试卷表、试题表、题型表、知识点表等。用户表设计用户表(user):用来记录用户的信息,用户表详细设置如表4-1所示。表4-1用户表字段名数据类型数据长度是否为空说明user_idint11否自增iduser_namevarchar50否用户名passwordvarchar50否密码typeint11否用户类型,0为管理,1为教师notevarchar128是备注科目表设计科目表(subject):用来记录科目的信息,科目表详细设置如表4-2所示。表4-2科目表字段名数据类型数据长度是否为空说明subject_idint11否自增idsubject_namevarchar50否科目名称notevarchar128是备注试卷表设计试卷表(paper):用来记录试卷的信息,试卷表详细设置如表4-3所示。表4-3试卷表字段名数据类型数据长度是否为空说明paper_idint50否自增idsubject_idint11否科目编号(外键)user_idint11否用户编号(外键)group_peoplevarchar50否组卷人group_datedatetime-否出卷日期use_datedatetime-是用卷日期answer_timeint11否答题时间total_scoreint11否总分数downloadint11否下载次数notevachar128是备注题型表设计题型表(topic):用来记录题型的信息,题型表详细设置如表4-4所示。表4-4题型表字段名数据类型数据长度是否为空说明topic_idint11否自增idtopic_namevarchar50否题型名称scoreint11否分数notevarchar128是备注知识点表设计知识点表(knowledge):用来记录知识点的信息,知识点表详细设置如表4-5所示。表4-5知识点表字段名数据类型数据长度是否为空说明knowledge_idint11否自增idknowledge_namevarchar50否知识点名称subject_idint11否科目编号(外键)notevarchar128是备注试题表设计试题表(question):用来记录试题的信息,试题表详细设置如表4-6所示。表4-6试题表字段名数据类型数据长度是否为空说明question_idint50否自增idsubject_idint11否科目编号(外键)knowledge_idint11否知识点编号(外键)topic_idint11否题型编号(外键)user_idint11否用户编号(外键)subject_namevarchar50否科目名称contenttext-否试题内容answertext-否试题答案scoreint11否分数difficultfloat11否难度值exposure_rateint11否使用频率notevachar128是备注根据上文的数据库需求分析,使用PowerDesigner设计出系统的概念数据模型(ConceptualDataModel,CDM),再利用该工具将其转换为物理数据模型(PhysicalDataModel,PDM),如图4-7所示,最后导出sql语句,使用Navicat运行导出的sql语句即可生成本系统所需的数据库。PowerDesigner是Sybase公司的CASE(ComputerAidedSoftwareEngineering)工具集,运用软件工程的思想,它几乎囊括了数据库模型设计的全过程。利用PowerDesigner可以制作数据流程图、概念数据模型、物理数据模型,还可以为数据仓库制作结构模型,也能对团队设计模型进行控制。Navicat是强大的数据库管理和设计工具,具有可视化界面,方便用户使用。图4-7智能组卷系统PDM图系统的实现开发环境配置本系统前端采用thymeleaf的模板引擎框架,后端采用SpringBoot框架,使用MyBatis框架完成数据的持久化操作。具体的开发环境配置如表4-7所示。表4-7开发环境配置运行系统Windows10开发工具IntelliJIDEA2019.3.3JDKJDK1.8Mavenapache-maven-3.6.1服务器SpringBoot内嵌Tomcat服务器数据库MySQL5.7数据库管理工具Navicat11.0.8.0在开发过程中使用Maven管理开发需要用得到的jar包,通过配置项目的pom.xml文件即可导入jar包。如图4-8所示。图4-8pom.xml配置文件MyBatis的配置文件是generatorConfig.xml,通过配置该文件即可生成操作数据库的dao文件和mapper文件。如图4-9所示。图4-9generatorConfig.xml配置文件登录模块的实现本文系统配置的用户有管理员和教师,用户在登录界面输入帐号、密码、验证码以及用户类型,通过表单的形式将数据传给后端的LoginController,登录控制器判断表单数据是否为有效数据,如果是有效数据则将数据传给UserService进行验证帐号密码的正确性,正确则成功登录系统。登录模块的关键代码如图4-10所示。图4-10登录模块代码用户登录界面如图4-11所示。图4-11登录界面管理员子系统的实现管理员子系统包括教师用户管理功能、科目管理功能、试题管理功能、试卷管理功能。因为上述功能的实现过程相似,以用户管理功能为例进行详细的阐述。管理员登录成功后进入管理员界面如图4-12所示图4-12管理员系统主页管理员点击左侧导航栏的“用户管理”按钮,后端的UserManagerController将调用UserService的getUserPage()方法,此方法调用UserMapper的findUserList()方法去查询数据库中的用户列表信息,然后将结果返回给前端显示。在显示用户列表信息的时候,使用了jQuery的jqGrid的插件进行显示。用户管理的前端代码和后端核心代码如图4-13、图4-14和4-15所示。图4-13用户管理前端代码图4-14用户管理jqGrid代码图4-15用户管理后端代码用户管理的界面图如图4-16所示。图4-16用户管理界面本文系统实现了对用户进行新增、删除、修改的功能。用户新增点击系统界面上的“新增”按钮,将弹出添加用户信息的模态框,用户输入待添加用户的帐号密码,点击“确定”,前端将用户信息以表单的形式传给后端,后端的UserManagerController新建一个用户对象,将使用MD5加密算法加密的密码和帐号传给新建的用户对象,调用UserService的saveUser()方法,把用户对象保存到数据库中即可实现新增用户的功能。后端代码如图4-17所示。图4-17新增用户后端代码用户新增的显示界面如图4-18所示。图4-18用户新增界面用户删除用户删除实现了批量删除和针对某一个用户的具体删除。批量删除先选中待删除用户列表最前端的复选框,点击红色删除按钮,前端将选中用户的id数组传给后端,后端UserManagerController调用UserService的deleteUsers()方法删除数据库中id数组中的用户信息。后端代码如图4-19所示。图4-19删除用户后端用户删除界面如图4-20所示。图4-20用户删除界面教师子系统的实现教师子系统是本文系统的核心部分,包括知识点管理模块、题型管理模块、试题管理模块以及智能组卷模块。由于知识点和题型管理模块与试题管理模块实现过程相似,本小节重点阐述试题管理模块以及智能组卷模块。试题管理如图4-21所示,教师点击左侧导航栏“题目管理”按钮,界面就会显示当前数据库中的题目列表,在此页面教师可以完成题目的增删改查功能。图4-21试题管理界面图4-22是新增试题的界面,教师点击“新增”按钮即可弹出模态框,教师在此界面输入试题的相关信息,点击“确定”,前端通过ajax将数据传给后端的TeacherQuestionController进行处理,调用questionService的saveQuestion()方法将试题信息保存到数据库中。代码如图4-23所示。图4-22新增试题界面图4-23新增试题后端代码点击试题列表操作列的“删除”按钮,前端将选中试题的id传递给后端的TeacherQuestionController,通过调用questionService的deleteQuestion()方法即可删除数据库中该道题目。代码如图4-24所示。图4-24删除试题后端代码智能组卷智能组卷算法在第二章已经做了详细的介绍,在此只针对代码和具体实现效果进行介绍。在这个模块有三个重要的实体,分别是:RuleBean、CompositionPaper以及Population。RuleBean是组卷规则,系统从前端获得用户输入的组卷信息(组卷科目、题型数量、题型分数、知识点)保存到RuleBean中以便后期组卷时调用。如图4-25所示。图4-25RuleBeanCompositionPaper实体保存组卷过程中的试卷信息,包含了适应度、知识点覆盖率、试卷总分、试卷难度系数以及试题列表。如图4-26所示。图4-26组卷实体CompositionPaper实体中,getTotalScore()用于计算试卷总分(图4-27),getDifficulty()用于计算试卷难度系数(图4-28),setKpCoverage()用于计算试卷的知识点覆盖率(图4-29),setAdaptationDegree()用于计算试卷的适应度(图4-30)。 图4-27试卷总分图4-28难度系数图4-29知识点覆盖率图4-30适应度Population实体是组卷过程中产生的种群,也就是包含了多套试卷,初始化种群、精英策略均在该实体实现。如图4-31和4-32所示。图4-31初始化种群图4-32精英策略selectFactor()是计算选择算子的方法,如图4-33所示。图4-33选择算子crossFactor()是计算交叉算子的方法,如图4-34所示。图4-34交叉算子mutate()是计算变异算子的方法,如图4-35所示。图4-35变异算子evolvePopulation()是种群进化的方法,如图4-36所示。图4-36种群进化填写组卷规则的前端界面如图4-37所示。图4-37组卷规则界面组卷结果的前端界面如图4-38所示。图4-38组卷结果界面系统测试系统测试是一个项目开发过程中必不可少的一部分,也是软件工程中的重要组成部分。通过有效合理的测试可以检验系统是否完成了需求分析所要求的功能,也可以让开发人员发现系统存在的问题以便于进行改进。登录模块测试登录模块的测试用例如表5-1所示。表5-1登录模块测试用例编号测试功能测试步骤预期结果测试结果是否通过001用户登录用户输入帐号密码、验证码以及选择用户类型。点击“登录。”用户登录成功与预期结果一致是002用户登录输入错误的帐号密码、验证码。点击“登录”。用户登录失败,并显示相关失败信息。与预期结果一致是管理员子系统模块测试管理员子系统模块测试用例如表5-2所示。表5-2管理员子系统测试用例编号测试功能测试步骤预期结果测试结果是否通过003添加用户点击“添加”按钮。输入用户信息。点击“确定”。用户添加成功,并在用户列表中刷新出新添加的用户信息。与预期结果一致是004修改用户点击用户列表中的“修改”按钮。显示用户信息。修改用户信息。点击确定。用户信息成功修改。与预期结果一致是表5-2管理员子系统测试用例(续)编号测试功能测试步骤预期结果测试结果是否通过005删除用户点击用户列表中的“删除”按钮。点击弹框中的“确定”。用户信息被删除。与预期结果一致是006添加科目点击“添加”按钮。输入科目。点击“确定”。科目添加成功,并在科目列表中刷新出新添加的科目信息。与预期结果一致是007删除科目点击科目列表中的“删除”按钮。点击弹框中的“确定”。科目信息被删除。与预期结果一致是008删除试题点击试题列表中的“删除”按钮。点击弹框中的“确定”。试题信息被删除。与预期结果一致是009删除试卷点击试卷列表中的“删除”按钮。点击弹框中的“确定”。试卷信息被删除。与预期结果一致是教师子系统模块测试教师子系统模块测试用例如表5-3所示。表5-3教师子系统测试用例编号测试功能测试步骤预期结果测试结果是否通过010添加试题点击“添加”按钮。输入试题信息。点击“确定”。试题添加成功,并在试题列表中刷新出新添加的试题信息。与预期结果一致是表5-3教师子系统测试用例(续)编号测试功能测试步骤预期结果测试结果是否通过011删除试题点击试题列表中的“删除”按钮。点击弹框中的“确定”。试题信息被删除。与预期结果一致是012智能组卷点击“智能组卷”按钮。输入组卷规则。点击“组卷”。系统成功组卷,返回符合组卷规则的试卷。与预期结果一致是013删除试卷点击试卷列表中的“删除”按钮。点击弹框中的“确定”。试卷信息被删除。与预期结果一致是通过本节的单元测试可以得出本系统基本实现了需求分析中的需求,登录模块、管理员子系统和教师子系统均能正常运行。算法性能测试本文系统选择《高中历史》科目进行组卷测试,题库中共有500道试题,题型包括选择题、填空题、判断题三种题型,这三种题型的题目数量分别为236、141、123。涉及的知识点有六种,难度级别为五。试题库中试题难度和知识点的分布情况如表5-4所示。表5-4试题库试题难度和知识点分布表知识点一知识点二知识点三知识点四知识点五知识点六题量易102020103010100较易203030202010130中143135633720200难51510510550较难14523520题量5010010010010050500本文系统的算法参数如表5-5所示,组卷要求如表5-6所示。表5-5算法参数表种群规模知识点权重难度权重变异概率200.50.50.085表5-6组卷要求表数量分数期望难度知识点覆盖范围选择题1020.5前四个知识点填空题45主观题320根据上述表格的数据设置进行组卷实验,实验结果如表5-7所示。表5-7试卷表题型试题ID难度知识点选择题380.4三1950.4三4670.8四420.4四180.4一330.2三2210.4四300.2三230.4二填空题510.4一610.2三3050.6三4510.8二主观题2360.4四3700.6四630.6一组卷结果的难度系数为0.50,适应度为0.999。从上述实验结果分析可得,本文系统能够按照用户需求从试题库中抽取相关难度和知识点的试题,从而组成一套满足用户需求的试卷,具有较好的组卷效果。总结与展望工作总结本文系统在阅读大量文献资料的基础上,运用软件工程的思想,经历了需求分析、详细设计(包括数据库设计和程序设计)、编码工作、系统测试,最后实现了基于SpringBoot的智能组卷系统。本文的所作工作如下:分析智能组卷系统的研究意义和研究目的,阅读文献并总结国内外研究现状。利用UML统一建模语言建立需求分析的模型以及详细设计的模型,为后面的编码工作提供了模型支撑。使用PowerDesigner为系统所需数据设计概念模型并转化为物理模型,最后导出sql文件,建立数据库,实现系统数据的持久化。运用前后端分离的思想,前端采用Thymeleaf的模板引擎,后端采用SpringBoot的框架,并使用MyBatis框架完成数据持久化的工作,利用框架可以极大地简化开发工作,降低系统的耦合性提高代码的复用性。本文系统采用实数编码的遗传算法作为组卷算法,介绍了组卷算法的原理和实现流程,并详细阐述了该算法在本文系统中的代码实现。展望尽管本文系统已经实现了需求分析中的需求,但仍存在一些问题:对于试题的管理,可以添加多条件查找功能,例如通过设置科目、题型、知识点来查找符合要求的试题,快速定位试题。本系统缺少批量导入功能,对于用户和试题的添加目前只能一个一个的输入,后期可以添加批量导入功能,节省时间提高效率。本系统对于组卷结果的显示较为简陋,后期可以对试卷的UI进行设计。由于时间原因,本系统尚未实现人工组卷功能和导出PDF功能,后期可以实现此功能以提高系统的功能健全性。心得体会通过本次毕业设计的开发工作,我收获颇丰。首先,学习了SpringBoot框架,学会使用maven管理开发过程中使用到的包,还了解了MyBatis框架的简单使用并在应用在项目中,极大地提升了开发效率。其次,总结了文献管理和阅读文献的方法,提高了阅读文献的效率,能高效的获得开发中所需要的文献信息。诚然,在开发过程中难免会遇到问题,搜索和查阅资料是我解决问题的主要方式。往往每个问题会得到很多类似问题的解决方案,但并不意味着要照搬这些方案,如果照搬这些方案的话很大程度上是不能解决我们自己的问题。所以我通常是从这些方案中寻找思路并结合自己已有的知识储备,最终找到一个真正适合本项目的方案。在这个解决问题的过程中,我的信息检索能力、信息筛选及整合能力、创新能力得到了很大程度的训练。最后,通过开发本文系统,了解了一个项目的开发流程,并将平时所学的知识运用的开发中,为今后的工作提供了宝贵的经验。参考文献汪莉,周雪梅,李玲秀,吴凡,陈仁明,黄稳,董昌武.疫情防控期间人工智能试卷命题与分析系统的研发与应用[J].中医教育,2020,39(06):8-10.杨婕,邵晨,郝慧琴.智能组卷系统在中医学学硕招生工作中的应用[J].继续医学教育,2019,33(8):31-34.YinQilong.ResearchonIntelligentTestPaperGeneratingSystemBasedonImprovedGeneticAlgorithm[J].JournalofPhysics:ConferenceSeries,2021,1744(3).黄超叶,卢光云,覃仲欣.智能组卷试题库系统的设计与开发探讨[J].信息通信,2020(09):76-78.廖欧.基于Web的在线考试系统的设计与实现[D].电子科技大学,2015.孟少博,李娅楠.高校试题库的建设研究[J].科学咨询(科技·管理),2021(01):105-106.黄唯.基于人工鱼群算法的智能组卷系统设计与实现[D].广西大学,2019.杨伟海.在线考试的智能题库管理系统的设计与实现[D].北京邮电大学,2019.肖豆.智能组卷系统的设计与实现[D].电子科技大学,2017.王沛.基于SSH框架的在线考试系统设计与实现[D].山东师范大学,2018.胡维华,江虹,梁荣华.计算机组卷策略研究[J].高等工程教育研究,1998(02):103-106.石慧升.基于改进遗传算法的智能组卷系统的研究与实现[D].河北科技大学,2019.苏文成.智能组卷技术的研究与应用[D].西南科技大学,2020.王宣策,欧阳鑫玉.基于改进遗传算法的智能组卷系统设计[J].电脑知识与技术,2020,16(02):65-67.F.Bellas,J.A.Becerra,R.J.Duro.Usingpromotersandfunctionalintronsingeneticalgorithmsforneuroevolutionarylearning

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论