




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)题目: 基于SSH的课程考试管理系统设计 专业(方向): 软件工程 毕业设计论文摘 要计算机网络技术在现代社会得到了广泛应用,促进了各行业网络化的变革,教育行业也因此产生巨大变化。在线网络考试模式具有不可替代的优势,逐渐成为新型教育测量的重要手段,被越来越多的人关注和认同,在教育、国防、金融等行业成为了考核的重要形式。在线考试系统不受时间和空间的约束,能公正公平的对成绩进行测评,节约考试中出卷、监考、阅卷、评测等步骤的人力物力,且储存传输更为便利,成为考试的重要工具。本系统采用SSH框架作为后端开发,采用bootstrap框架作为前端开发,采用tomcat作为应用服务器,采用mysql作为数据库,研究并实现了一个课程考试管理系统。该系统支持单题录入和通过Excel表格批量导入试题,减少教师在出题过程中的工作量;支持按规定难度自动组卷,保证了试卷的质量,从不同程序检测考生;支持根据错题出现次数改变试题难度;支持考试结束后自动提交试卷;支持题型有选择题、填空题、问答题和简答题,其中主观题由系统自动评分,客观题由教师手动评分,避免由于教师主观原因影响考试的公平。本论文主要从课程考试系统有关的背景开始研究,了解目前该有关领域的现状,再到需求分析统计系统要完成什么目标和概要设计的总体设计方案,然后是详细设计叙述系统详细的功能模块即所完成的情况,最后,对本考试系统进行功能模块测试是否正常运行,是否符合要求。关键字: 课程考试;SSH;难度组卷Design of Course Examination Management System Based on SSH Abstract:Computer network technology has been widely used in modern society, which has promoted the network transformation of various industries, and the education industry has also undergone tremendous changes. The online network test mode has an irreplaceable advantage and has gradually become an important means of new type of education measurement. It has been paid more and more attention and recognition, and has become an important form of assessment in the fields of education, national defense, and finance. The online test system is not subject to time and space constraints. It can evaluate the results fairly and fairly, save the manpower and resources of the test in the process of volume, invigilation, scoring, evaluation, etc., and the storage and transmission is more convenient, and become an important tool for the test.This system adopts SSH framework as the back-end development, adopts bootstrap framework as front-end development, adopts tomcat as application server, and uses mysql as database to research and implement a course examination management system. The system supports single-entry entry and batch import of test questions through Excel form, reducing the workload of teachers in the process of writing; supporting automatic grouping according to the specified difficulty, ensuring the quality of test papers, testing candidates from different programs; supporting according to wrong questions The number of times changes the difficulty of the test questions; the test papers are automatically submitted at questions, quiz questions and short answer questions. The subjective questions are automatically scored by the system, and the objective questions are manually scored by the teacher to avoid affecting the test due to subjective reasons. fair.This thesis starts with the background of the course examination system, understands the current status of the relevant field, and then goes to the demand analysis and statistics system to complete what objectives and the overall design of the summary design, and then of the situation, in the end, the functional module test of the test system is normal operation, whether it meets the requirements.Key words: course exam; SSH; difficulty group volume目 次摘 要IAbstractII1 绪论11.1 课题背景及发展情况11.2 国内外研究现状11.3 开发意义11.4 系统可行性分析21.4.1 技术可行性21.4.2 操作可行性31.4.3 法律可行性31.4.4 经济可行性32 关键技术介绍42.1 IntelliJ IDEA42.2 SSH框架42.3 外置tomcat52.4 MYSQL数据库62.5 bootstrap前端框架63 需求分析73.1 系统功能需求73.2 需求描述83.2.1 系统管理员用例图83.2.2 教师用例图93.2.3 学生用例图104 概要设计114.1 总体开发过程114.2 配置文件124.3 系统功能模块124.4 系统数据库设计144.4.1 数据库实体联系图144.4.2 数据库表具体设计195 详细设计235.1 用户登录模块235.2 试题管理模块255.2.1 单题录入255.2.2 批量试题导入285.3 试卷管理模块315.3.1 自动生成试卷315.3.2 手动组卷335.4 在线考试模块365.5 成绩查询模块396 测试416.1系统测试416.2 测试方法416.3 模块功能测试416.4 测试结论437 总结45致 谢45参考文献46IV1 绪论 1.1 课题背景及发展情况考试自人类社会发展以来一直存在人类文明社会中,从古代的科举考试开始到现代社会流行的机考,考试已经是我们日常生活中必不可少的东西了。考试能够帮助出题人选出想要的人才,同时也能反映出出题人的出题水平,传统的考试从出题、组卷、印刷,到试卷发布、组织答题、收卷,再到评卷、统计成绩,整个过程如果都要完全靠人工去完成,不仅周期长、工作量大,最后整个考试下来人力物力消耗非常大。随着现代网络技术的快速发展,更多的考试机构已经开始选择更为便捷的机考,利用网络的无界性,在能连上网络的地方,登录一个网络考试系统,你就能很方便的在网上答题考试,不用到现场也能完成考试。1.2 国内外研究现状截止到目前为止,国内外已经有许多著名的考试管理系统,比如国内比较常用的由国家级开发就是普通话等级考试、计算机等级考试、职业技能考试等,国内现在也有很多中小学校开始自研考试系统,比较著名的天空教室、中国数字大学城以及由北大开发的北大在线教育考试系统;国外也有很多网上的考试系统也很不错,这些机构都采用了一些优秀的线上考试的方式进行考核评选。现在市面上比较出名的在线考试系统由很多不同的语言开发,有java开发的,也有.net开发的,虽然可能存在开发语言上的不同,不过这些系统都有一个相同的特点,都没有离开B/S模式,或者C/S模式。很多官用的大型网络考试系统都是在局域网内考试,比如计算机等级考试系统,你只能在它限制的范围内,才能连接到它的系统,进入它的系统内部进行考试;另一个在广域网上运行,不论你在什么时间什么地点,只要你能连接上网路,拥有它提供的账号密码,就能进入它的系统,考试或者发布考试。这就是两个模式在本质上最大的区别。1.3 开发意义 教学是每一个教育机构每一所学校培育管理检验学生至关重要的一环,考试是任何教育考核测评中不可或缺的一部分。考试作为教学过程中的重要环节,是学习成果的重要反馈途径,更是学员在某阶段加强学习的重要措施。通过考试,管理者可以对学员的综合能力素质有大概的了解,从而制定更合适的教学或培训重点;而学员通过考试,可以找出自己的不足,全方位的完善自己,才能有所提升。像我们现在普通的一次考试,都要提前准备好几天,首先根据你的时间和你的考生的时间,选之间都是空闲的时间来安排考试;然后去网上或书本上找你要考核的题目,考试要考虑到通过率,题目要做到不要太难也不能太容易;印刷试卷,申请考试地点,安排考生进场,考试过程中最少要两个老师监考;考试结束后,不同的老师对同一道简答题的理解不一样,自然评分的标准也不一样;最后要进行成绩统计。网上的考试系统就不一样了,从你决定要发布一场考试到学生知道成绩,能做到一天时间就可以完成。不用特地去找题目,本身系统就提供很多试题,难度类型各式各样。立马就可以组成一套难度适中的考卷,学生可以随时登陆系统答卷。提交试卷后,主观题系统自动判定,客观题由教师判定,排除了传统考试过程中可能会出现的所有人工干预考试结果的可能性,不仅能够节约大量的人力、物力和财力,而且还可以大幅度地提高考试成绩的客观性、公平性和准确度。1.4 系统可行性分析 判断一个系统是否符合开发要求,明确系统的进一步目标,从以下四个方面进行可行性分析。1.4.1 技术可行性本课程考试管理系统使用SSH(Spring+Struts2+Hibernate)为设计开发框架,SSH框架是目前市面上较为流行的开发框架,经过前人的经验和版本的迭代更新,在搭建SSH框架时也是非常快捷方便。结合当前主流的B/S(浏览器/服务器)模式进行开发,一个要在特定的范围内才能访问系统,另一个不需要再特定的范围内,只需要你有网络就能进入系统,可以随时随地进行查询、浏览,通过页面添加就可以达到增加服务器的目的,维护起来也相对方便。整个开发过程主要分为三个方面:前端web页面设计开发,后端功能代码实现和数据库的搭建。前端页面设计运用bootstrap前端框架,现在bootstrap中文网也提供了bootstrap3中文文档,能很容易就找到各个组件的用法,bootstrap自带很多现成的css组件和js插件,基本上满足了一般前端的开发需求,整体清新明了,功能分明;后端由ssh框架控制页面跳转,实现逻辑上的控制;数据库用MySQL,既提高了数据操作的方便性,又保证了数据的安全性。由此可见,在现有的开发技术情况下,系统是完全可以实现的。1.4.2 操作可行性本课程考试管理系统登录页采用HTML5和CSS开发,简洁大方,适用于目前市面上主流的浏览器(IE、Opera、Firefox、Chrome),用户只需要在浏览器输入tomcat服务器配置路径(http:/localhost:5188/toLogin),进入系统登录页面,可以看到有两个输入框,一个是用户名,一个是密码,输入正确的用户名和密码,然后选择要选的角色便可以进入系统操作,本系统初始只有一个系统管理员admin,后续要添加教师和学生只能从系统管理员用添加,所有用户初始密码都为1234,每个用户都有修改密码的功能,系统管理员分配账号后,请教师和学生都要修改密码。整个系统功能分明,符合人体设计,操作方便,不论在PC设备还是移动设备,都能轻松操作本系统,适用于各类中小学校作为局域网内的考试系统。因此,本系统可以进行正常设计开发。1.4.3 法律可行性本系统是由本人自主研发并实现的课程考试管理系统,所有的开发过程均在导师的指导下按规定,没有触及到一丝违法的规定,所有开发软件均为官方下载的正版软件,开发过程严格遵守国家法律法规。所做出来的系统保证不会对外进行商用,只用于此次毕业设计答辩用,包含测试所用试题也是从网上正规渠道下载,遵守有关的知识产权保护的法律和相关的软件法律。所以在法律规定内,本系统也是可行的。1.4.4 经济可行性此系统使用的开发工具多为常见工具,IntelliJ IDEA开发工具,mysql数据库,tomcat服务器都可以在网上下到免费版,本系统采用的框架也由官方直接获取,成本可以忽略不计;在本系统开发前,做过一次小型的调查,只涉及到一点资金;如果要在计算机上运行,PC设备只需要较低配置即可运行,若要运行在移动设备上,需要搭建服务器;本系统由个人开发,功能较为简单,支持后期的管理和维护,使用者只需要提供试题,即可发布考试;因此在人力物力上成本不高,可以接受。2 关键技术介绍2.1 IntelliJ IDEA IntelliJ IDEA 和myeclipse一样都是非常受欢迎的开发工具,idea相当于myeclipse的更完善版本,myeclipse有的功能idea也有,idea舍弃了一些臃肿的功能,占用内存更少。idea拥有丰富的导航查看模式,在你不小心删除一个文件后,可以通过idea特有的历史记录功能恢复你删除的文件;如果你编写的代码之前就已经存在,idea能帮你自动补全你的代码,idea还提供排版方式进行重排版功能;idea安装git.exe后,能将你的工程项目自动上传至GitHub,在别的设备登录GitHub,就能轻松的下载相同的项目压缩包。本系统主要使用idea工具来进行代码编写的工作。在idea中,有众多的快捷键加快编码速度,比如:Ctrl+Alt+O 优化导入的类和包;Ctrl+N 放到一个类上显示这个类出现的地方;Ctrl+Alt+ left/right 退回到上次鼠标点击的位置;Idea有着优秀的提示功能,整合了Git、maven等主流插件,提供完美的主题,好用的快捷键和代码模板,集成多功能编程项目,集成的框架技术明显提高编程效率。2.2 SSH框架SSH是一个组合型框架,一个S代表Spring框架,另一个S代表Struts2框架,H表示Hibernate框架。每个单独的框架都特定的功能,组合在一起是一种web系统开发流行的集成框架。SSH三大框架在整合开发web项目过程中相互之前都存在一些联系,Spring框架和Struts2框架整合在于Javabean类定义过程中,Spring框架与hibernate结合点在于数据源的配置过程,hibernate框架提供session进行数据持久层的访问。SSH框架的工作原理如图2-1所示:图2-1 SSH工作原理图从上面的工作原理图得出,客户端在接收到一个浏览器初始化的请求后,请求通过过滤器过滤,初始值被初始化到内存;到达Struts2框架,Struts负责web层,相当于一个大的servlet,Struts2根据配置文件的配置信息生成相应的对象,跳转到指定jsp页面;hibernate负责对象-关系的映射,从映射关系查询数据库,Struts将数据库结果返回表单页面。2.3 外置tomcatTomcat服务器是一个适合个人开发者的小型服务器,不像大型公司自己搭建的服务器,tomcat使用方便且是免费的,直接从Apache官网下载解压版或安装版,配置到开发工具,浏览器输入tomcat地址即可使用。tomcat可以分为外置和内置,本系统采用的是Springboot内嵌式Tomcat服务器,在访问项目请求时,不需要加上项目名称。要使用外部tomcat,首先要去掉SBT自带的内置tomcat服务器,具体在pom.xml中springboot的内嵌tomcat插件,编写一个启动类继承SpringBootServletInitalizer类,重写config方法,返回启动类的初始值,再结合idea插件jrebel热部署,下次直接用jrebel插件启动项目,浏览器中输入tomcat地址不需要加项目名。利用jrebel插件,代码编写后,就不需要像内置tomcat一样,每次都要进行tomcat热部署。2.4 MYSQL数据库mysql是一个公开的、免费的数据库,适用于个人用户的开源数据库。mysql将数据存在本地服务器,也避免了数据的泄露,提高了安全性。mysql支持很多数据库指令,比如drop,insert等,相比在DOS界面操作mysql,使用Navicat软件对mysql进行可视化,更方便用户对数据库的操作。MySQL数据库将数据已数据表的形式存取在数据库中,mysql能做到数据之间存在联系时,能将数据之间的关联关系存到另一个表中,把数据分开存放,更方便数据存取的稳定性。和企业级的大型数据库Oracle相比,尽管mysql还是有很多不足之处,存储容量太小,安全性太低等,但对于个人用户和小型企业来说已经足够了,不影响它的受欢迎程度。2.5 bootstrap前端框架 Bootstrap是一个在HTML和css的基础上进行深加工,更加完善的web前端框架。boostrap从GitHub网站推出到今天,一直以清醒脱俗,简洁明了的特点受众多开发者欢迎。要使用bootstrap框架,只需要从bootstrap中文网下载bootstrap.js,jquery.js,bootstrap.css,导入到要使用的工程里,从里面找出要使用的类名进行调用就可以使用里面的css样式,组件,js插件,尽管是初级的前端开发者也能快速上手。bootstrap提供的样式和css组件可以帮助开发人员快速完成一个网站的前端页面开发。可以用来开发兼容谷歌,火狐,IE等多种浏览器且精致的页面;能提供多种流行简洁的UI组件、特有的栅格系统以及部分广泛使用的脚本插件,bootstrap提供一个栅格类对不同设备进行适配,在页面开发时调用栅格类,在分辨率和屏幕大小不同的设备上自动适配;bootstrap框架还支持不同设备的自适应,自动调节手机、平板、PC设备网页显示的内容。3 需求分析3.1 系统功能需求 通过对此类课题的社会调研,结合得到的需求分析报告,加上目前流行的在线考试系统功能分析,本系统一共有以下几个功能需求: 1、登录主页。进入登录主页可以看到需要输入用户名和密码,有三个可以选择的角色选项,一个用户只对应一个用户角色,选对了用户角色,才能进入系统,不一样的用户结合不一样的用户角色,对应不同的功能页面。 2、考试管理。考试管理功能模块包含试卷管理、题目管理和错题管理3个子功能。试题可以手动添加或Excel表格批量导入,在题目添加过程中,需要选择所属科目、试题类型、难度、分数、试题内容、试题答案,其中根据试题类型,需要输入不同的试题内容,选择题需要填写ABCD选项内容并选取正确答案,填空题需要填写题目和正确答案,问答题和简答题只需要题目,正确答案由教师评卷时自行决定。如果对题目有问题,可以进行重新编辑,也可删除。试卷管理分为自动生成试卷和手动组卷,自动生成试卷需要填写所属科目、试卷名称、规定考试时间、选定试卷难度、选择题、填空题、问答题、简答题的数量,手动组卷需要试卷名称、考试时间并勾选试题。可以通过试卷详情查看试卷内容,也可对试卷进行删除,已考试卷无法进行删除。错题管理以正序排列显示错题出现次数,实时更改每道题出错次数,根据系统规定,当错题出现次数达到一定数量,系统会自动增加本题的难度。 3、阅卷评分。阅卷管理功能主要完成评分和成绩统计两部分功能。试卷评分根据每一个学生的答题情况进行阅卷评分,主观题(选择题和填空题)由系统自动评分,客观题(问答题和简答题)由教师来评分。每个学生每次考试只能进行一次阅卷。试卷列表中显示每一个学生的考试成绩,并可以查看试卷详情。 4、用户管理。用户管理又可以细分为学生管理和教师管理,都可以添加学生或教师,登录名为用户名,新增用户的初始密码都为1234。 5、科目管理。支持添加、修改课程,管理员规定课程所属教师,一个教师可以管理多个课程。 6、我的考试。在我的考试功能里面可以在线考试,或者进行成绩查询;自动交卷功能,若在考试时间结束后考生未按时提交试卷,系统将自动提交。学生可通过成绩查询查看历史考试成绩和试卷内容。 7、修改密码。系统添加用户的初始密码为1234,修改密码可以让你的密码变为其它更复杂的样式。3.2 需求描述3.2.1 系统管理员用例图系统管理员拥有最高权限,管理员只有一个,在建立数据库的同时加入一个插入语句,添加系统管理员的用户名为admin,密码为1234。管理员进入系统后,通过功能页面菜单管理后台系统。系统管理员的用例图如图3-1所示:图3-1 系统管理员用例图系统管理员共有四个用例,分别为:1、登录系统:系统管理员用系统提供的用户名和密码进入系统。2、教师管理:对教师进行添加、修改、删除。3、学生管理:对学生进行添加、修改、删除。4、科目管理:添加课程或修改课程信息,并赋予科目所属的教师。5、修改密码:系统管理员可以修改个人密码。3.2.2 教师用例图教师角色有以下几个用例,如题目管理、试卷管理、错题管理、评卷管理、修改密码等。教师的用例图如图3-2所示:图3-2 教师用例图教师共有六个用例,分别为:1、登录系统:选择教师用户角色,输入教师用户名和密码登录系统。2、题目管理:教师可以添加、修改、删除所管理科目下的题目。3、试卷管理:教师可以组成、删除试卷信息。4、错题管理:教师可以查看错题排行榜错题信息。5、评卷管理:教师对选取了所管理科目考试学生试卷的评阅。6、修改密码:教师可以修改初始密码。3.2.3 学生用例图 学生用户角色有以下几个用例,如在线考试、成绩查询、修改密码等。学生的用例图如图3-3所示:图3-3 学生用例图学生共有四个用例,分别为:1、登录系统:学生输入自己的用户名和密码登录系统。2、在线考试:学生选取对应考试开始考试。3、成绩查询:学生能查询自己的历史考试成绩以及试卷详情。4、修改密码:学生可以修改个人密码。4 概要设计4.1 总体开发过程按软件工程要求开发一个完整的系统要按系统总体开发过程执行,即记录软件设计中的思路和方法的过程。系统总体开发过程如图4-1所示:图4-1 系统总体开发过程 通常的系统从开发到结束一般要经历以下几个过程,首先要制定项目计划,要做什么,怎么做,要达到什么目标;然后是进行市场调研,了解用户的需求,为什么那样做更好,要做到什么程度;根据需求统计要完成的功能模块进行设计,模块之间的结合;最后是代码编写和单元测试,在规定时间内完成代码编写,按人员分配进行功能测试,汇总最后的结果,至此,一个完整的项目完成。4.2 配置文件本系统前台利用JSP进行可视化实现,后台通过Struts2,Spring5,Hibernate5,组合框架进行搭建。其中主要环境配置如下: 运行系统:Windows 10 开发工具:IntelliJ IDEA 2018 JDK&JRE: JDK 1.8.0及其匹配JRE Tomcat服务器:Apache-Tomcat-7.0.57MySQL数据库:MySQL Server 5.1.21运行浏览器:Chrome、Firefox、QQ浏览器选其一均可运行4.3 系统功能模块课程考试管理系统中教师管理分为教师添加、修改、删除,学生管理分为学生添加、修改、删除,科目管理分为添加、删除,题目管理分为添加、修改、删除、查询,试卷管理分为手动组卷、自动组卷、删除试卷、查看试卷详情,错题管理分为查看错题详情,错题查询,评卷管理分为阅卷、查看详情,成绩查询分为历史成绩查询、当前成绩查询。本系统的系统功能模块图如图4-2所示:图4-2 系统功能模块图 系统可以分为用户管理、考试管理、我的考试三个方面,用户管理又可以分为教师管理和学生管理,试卷管理可分为题目管理、试卷管理、错题管理、科目管理、评卷管理,我的考试可分为在线考试和成绩查询。4.4 系统数据库设计 系统在实现时,要求的信息过多,业务逻辑关系太过复杂,这时候我们就需要设计数据库,合理的数据库结构不仅可以提升性能,围绕数据操作的代码也更加清晰了,维护起数据也更加方便。比如在数据库表设计时,我们可以添加一些预留的字段,需求改变的时候可以用上,或者说是添加不足的字段。4.4.1 数据库实体联系图 E-R图表示关系模型,E-R图是与表相对应的,同时表也相对应着E-R图,每个实体表示一张表,两个实体之间的联系很复杂,可以把关系拿出来单独存一个表。实际情况结合前面的数据库需求分析,可以得到本系统的实体-联系图。1、课程考试管理系统的系统用户实体的属性有用户编号、性别、密码、姓名、登录名,系统用户实体图如图4-3所示: 、图4-3 系统用户实体图 2、课程考试管理系统的用户角色实体的属性有角色编号、角色名。用户角色实体图如图4-4所示:图4-4 用户角色实体图3、课程考试管理系统的课程实体的属性有课程名称、课程编号、课程描述,课程实体图如图4-5所示:图4-5 课程实体图4、课程考试管理系统的课程实体有试题编号、试题内容、试题类型、试题难度、试题分值、试题答案、课程编号、选项A、选项B、选项C、选项D、错题出现次数。试题实体图如图4-6所示:图4-6 试题实体图5、课程考试管理系统的用户_课程实体实体联系图中一个用户可以管理多个课程,一个课程只能由一个用户管理,用户_课程E-R图如图4-7所示:图4-7 用户_课程E-R图6、课程考试管理系统的课程实体的属性有试卷编号、试卷名称、课程编号、考试时间(小时)、考试时间(分钟),试卷实体图如图4-8所示:图4-8 试卷实体图7、课程考试管理系统的试题_试卷实体联系中一张试卷由多个试题组成,一个试题可存在多个试卷中,试题_试卷E-R图如图4-9所示:图4-9 试题_试卷E-R图8、课程考试管理系统的考试列表实体的属性有考试编号、学生编号、课程编号、试卷难度、试卷编号、是否阅卷、是否正确,考试列表实体图如图4-10所示:图4-10 考试列表实体图9、课程考试管理系统的答案实体的属性有答案编号、试卷编号、试题编号、答案内容、是否正确,答案实体图如图4-11所示: 图 4-11 答案实体图10、课程考试管理系统总体实体-联系中一个用户可以生成多个试卷,一张试卷只能由一个用户生成;一张试卷属于一个课程,一个课程可以有多张试卷;一个用户可以管理多个试题,一个试题只能由一个用户管理,总体实体-联系图如图4-12所示:图4-12 总体实体-联系图4.4.2 数据库表具体设计本系统要设计的数据库的表共有九个,分别为系统用户信息表、用户角色表、课程信息表、用户_课程信息表、试题信息表、试卷信息表、试题_试卷信息表、考试列表、答案信息表。下列为数据库表的设计及相关参数:1、系统用户信息表如表4-1所示:表4-1 系统用户信息表字段名描述类型长度限制备注id用户编号bigint(6)自增,主键不为空name姓名varchar(255)login_name登录名varchar(255)password密码varchar(100)gender性别varchar(50)2、用户角色表如表4-2所示:表4-2 用户角色表字段名描述类型长度限制备注r_id角色编号bigint(6)自增,主键不为空id用户编号varchar(255)role角色名varchar(50)3、 课程信息表如表4-3所示:表4-3 课程信息表字段名描述类型长度限制备注c_id课程编号bigint(6)自增,主键不为空c_name课程名称varchar(100)description课程描述varchar(255)4、 试题信息表如表4-4所示:表4-4 试题信息表字段名描述类型长度限制备注q_id试题编号bigint(6)自增,主键不为空content试题内容varchar(100)type试题类型varchar(100)difficulty试题难度int(50)score试题分值int(20)answer试题答案varchar(100)c_id课程编号int(20)choice_A选项Avarchar(100)choice_B选项Bvarchar(100)choice_C选项Cvarchar(100)choice_D选项Dvarchar(100)mistake_count错题出现次数int(50)5、用户_课程信息表如表4-5所示:表4-5 用户_课程信息表字段名描述类型长度限制备注s_c_id用户_课程编号bigint(6)自增,主键不为空id用户编号bigint(6)c_id课程编号bigint(6)6、试卷信息表如表4-6所示:表4-6 试卷信息表字段名描述类型长度限制备注p_id试卷编号bigint(6)自增,主键不为空c_id课程编号int(20)p_name试卷名称varchar(255)hours考试时间(小时)int(50)minutes考试时间(分钟)int(50)7、试题_试卷信息表如表4-7所示:表4-7 试题_试卷信息表字段名描述类型长度限制备注q_p_id试题_试卷编号bigint(6)自增,主键不为空p_id试卷编号bigint(6)q_id试题编号bigint(6)8、考试列表如表4-8所示:表4-8 考试列表字段名描述类型长度限制备注e_id考试编号bigint(6)自增,主键不为空student_id学生编号bigint(6)c_id课程编号bigint(6)grade试卷难度varchar(50)p_id试卷编号bigint(6)is_complete是否阅卷1is_checked是否正确19、答案信息表如表4-9所示:表4-9 答案信息表字段名描述类型长度限制备注a_id答案编号bigint(6)自增,主键不为空p_id试卷编号bigint(6)q_id试题编号bigint(6)correct是否正确1answer答案内容varchar(255)5 详细设计5.1 用户登录模块 由于考试是非常严谨且保密的一项工作,考虑到试题不能提前泄露,所以需要登录系统的用户才能正常操作系统进行考试。本系统共有三个用户角色能登录系统,分别为系统管理员、教师和学生,每种角色登录成功后的页面都不一样。系统管理员登录后能进行教师管理、学生管理和科目管理;教师登录后可以试题管理、试卷管理、错题管理和成绩管理;学生登录后可以进行在线考试和成绩查询。用户在任意浏览器中输入(http:/localhost:5188/toLogin)进入系统登录页面,系统登录页面如图5-1所示:图5-1 系统登录页本系统的用户管理有学生管理和教师管理两个方面,不提供管理员添加方式,只能通过数据库直接插入方式添加系统管理员,系统初始状态只提供一个系统管理员admin,初始密码为1234。添加学生和教师相同,都不需要设置密码,系统自动设置密码,用户名为登录时的用户名,初始密码为1234.系统再添加用户以规定所有新用户的初始密码都为1234,提供修改密码功能,用户可以根据自己的需求修改密码。用户登录系统流程图如图5-2所示:图5-2 用户登录系统流程图登录页面主要使用HTML5和css开发,输入相应的用户名和密码,选择正确的角色,点击“登录”,当用户名、密码或登录角色错误时,系统会有对应的错误提示。验证表单,在登录角色错误时主要用一个JavaScript弹出错误提示,主要实现代码为: $(.js-tilt).tilt( scale: 1.1 ); $(function() $(#login-button).click(function() var flag = false; $.ajax( async:false, dataType:json, data:loginName:$(#username).val(), url:/user/checkRole, success:function(data) if(no=data) alert(用户名不存在); else if($(#role).val()=data) flag = true; else alert(用户角色不正确); ); return flag; ); ); 5.2 试题管理模块5.2.1 单题录入 单题录入需要人工手动录入题目,按输入内容一步一步填写,系统根据不同题型需要输入不同内容,获取内容后存取到数据库。新增试题如图5-3所示:图5-3新增试题试题需要填写所属课程、试题类型、试题难度、试题分值、试题内容、试题答案。其中选择题需要填写选项ABCD各个选项的内容并选定正确答案;填空题要填写试题内容和正确答案;问答题和简答题只需要填写试题内容,禁止填写正确答案,最后打分标准由教师评定。试题难度系数一共分为十级,默认等级为一级,等级越高代表题目越难,难度系数随着这道题被答错次数达到一定数量而提升,一次提升一个等级。单题录入流程图如图5-4所示:图5-4 单题录入流程图 在系统登录页面输入教师用户名和密码,勾选教师角色,登录系统,在左侧菜单栏选择考试管理-题目管理,进入试题管理页面,选择单题录入,按规定输入试题信息,点击确认,试题添加成功。主要实现代码为: public void saveQuestion(Question question) /处理非选择题的内容 if (!QuestionType.CHOICE.equals(question.getType() question.setChoiceA(null); question.setChoiceB(null); question.setChoiceC(null); question.setChoiceD(null); questionRepository.save(question); 5.2.2 批量试题导入 系统支持试题从Excel表格批量导入,需要按照固定格式写,从系统下载上传模板,表格录入时按照单题录入的顺序依次填写,题型限制条件选择题、填空题、问答题和简答题,难度限制条件一级-十级,填空题的选项ABCD不用填写,问答题和简答题的选项ABCD与最后的答案不用填写。批量导入试题页面如图5-5所示:图5-5 批量导入试题页面POI和jxls是读写Excel表格常用的两种技术。这里使用的是jxls技术导入Excel模板数据,相比较POI来读取Excel数据个人觉得jxls用起来更加方便一点,用时jxls导出Excel也是比较方便的,有自己的标签类似JSTL。批量导入试题流程图如5-6所示:图5-6 批量导入试题流程图具体实现步骤如下:首先明确每个Excel表格代表什么,有什么限制;定义好解析的XML-question-excel-config.xml;生成一下解析的实体类Question;添加jxls的 jar包,我用的是jxls-reader-2.0.5.jar;Windows弹窗选择文件并解析Excel数据。主要实现代码为: public void importQuestionsFormExcel(Long courseId, File excelFile) XLSReader mainReader; final List resultList = new ArrayList(); final Map beans = new HashMap(); try InputS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 揭阳职业技术学院《电磁场与天线A》2023-2024学年第二学期期末试卷
- 2025至2031年中国户外硅橡胶绝缘子跌落式熔断器行业投资前景及策略咨询研究报告
- 《美容护肤与造型》课件
- 2025至2031年中国亚克力标准板行业投资前景及策略咨询研究报告
- 2025至2030年中国黄樟精油数据监测研究报告
- 小区红色物业施工方案
- 2025至2030年中国铂铱管数据监测研究报告
- 2025至2030年中国软宝数据监测研究报告
- 2025至2030年中国芳纶数据监测研究报告
- 2025至2030年中国淀粉过滤机数据监测研究报告
- 腹壁切口疝手术护理查房
- 2025年4月版安全法律法规标准文件清单
- 2025年合肥高新国有房屋租赁经营有限公司社会招聘14人笔试参考题库附带答案详解
- 统编版语文一年级下册2024-2025学年度语文园地五(课件)
- 品管圈PDCA改善案例-降低住院患者跌倒发生率
- 人工智能引论知到智慧树章节测试课后答案2024年秋浙江大学
- 工程造价咨询服务投标方案(技术方案)
- 英文版中国故事绘本愚公移山
- JTG F90-2015 公路工程施工安全技术规范
- 量与计量单位的整理与复习
- 员工工资条模板
评论
0/150
提交评论