1、 毕 业 设 计 (论 文 )题目: 基于 SSH 的课程考试管理系统设计 专业(方向): 软件工程 毕 业 设 计 论 文I摘 要计算机网络技术在现代社会得到了广泛应用,促进了各行业网络化的变革,教育行业也因此产生巨大变化。在线网络考试模式具有不可替代的优势,逐渐成为新型教育测量的重要手段,被越来越多的人关注和认同,在教育、国防、金融等行业成为了考核的重要形式。在线考试系统不受时间和空间的约束,能公正公平的对成绩进行测评,节约考试中出卷、监考、阅卷、评测等步骤的人力物力,且储存传输更为便利,成为考试的重要工具。本系统采用 SSH 框架作为后端开发,采用 bootstrap 框架作为前端开发,
2、采用tomcat 作为应用服务器,采用 mysql 作为数据库,研究并实现了一个课程考试管理系统。该系统支持单题录入和通过 Excel 表格批量导入试题,减少教师在出题过程中的工作量;支持按规定难度自动组卷,保证了试卷的质量,从不同程序检测考生;支持根据错题出现次数改变试题难度;支持考试结束后自动提交试卷;支持题型有选择题、填空题、问答题和简答题,其中主观题由系统自动评分,客观题由教师手动评分,避免由于教师主观原因影响考试的公平。本论文主要从课程考试系统有关的背景开始研究,了解目前该有关领域的现状,再到需求分析统计系统要完成什么目标和概要设计的总体设计方案,然后是详细设计叙述系统详细的功能模块
3、即所完成的情况,最后,对本考试系统进行功能模块测试是否正常运行,是否符合要求。关键字: 课程考试;SSH;难度组卷毕 业 设 计 论 文IIDesign of Course Examination Management System Based on SSHAbstract: Computer network technology has been widely used in modern society, which has promoted the network transformation of various industries, and the education indust
4、ry 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 fiel
5、ds 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 trans
6、mission 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 mana
7、gement 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
8、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
9、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
10、 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毕 业 设 计 论 文III目 次摘 要 .IAbstract .
11、II1 绪论 .11.1 课题背景及发展情况 .11.2 国内外研究现状 .11.3 开发意义 .11.4 系统可行性分析 .21.4.1 技术可行性 .21.4.2 操作可行性 .31.4.3 法律可行性 .31.4.4 经济可行性 .32 关键技术介绍 .42.1 IntelliJ IDEA.42.2 SSH 框架 .42.3 外置 tomcat .52.4 MYSQL 数据库 .62.5 bootstrap 前端框架 .63 需求分析 .73.1 系统功能需求 .73.2 需求描述 .83.2.1 系统管理员用例图 .83.2.2 教师用例图 .93.2.3 学生用例图 .104 概要设
12、计 .114.1 总体开发过程 .114.2 配置文件 .124.3 系统功能模块 .12毕 业 设 计 论 文IV4.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 测
13、试结论 .437 总结 .45致 谢 .45参考文献 .46毕 业 设 计 论 文11 绪论 1.1 课题背景及发展情况考试自人类社会发展以来一直存在人类文明社会中,从古代的科举考试开始到现代社会流行的机考,考试已经是我们日常生活中必不可少的东西了。考试能够帮助出题人选出想要的人才,同时也能反映出出题人的出题水平,传统的考试从出题、组卷、印刷,到试卷发布、组织答题、收卷,再到评卷、统计成绩,整个过程如果都要完全靠人工去完成,不仅周期长、工作量大,最后整个考试下来人力物力消耗非常大。随着现代网络技术的快速发展,更多的考试机构已经开始选择更为便捷的机考,利用网络的无界性,在能连上网络的地方,登录一
14、个网络考试系统,你就能很方便的在网上答题考试,不用到现场也能完成考试。1.2 国内外研究现状截止到目前为止,国内外已经有许多著名的考试管理系统,比如国内比较常用的由国家级开发就是普通话等级考试、计算机等级考试、职业技能考试等,国内现在也有很多中小学校开始自研考试系统,比较著名的天空教室、中国数字大学城以及由北大开发的北大在线教育考试系统;国外也有很多网上的考试系统也很不错,这些机构都采用了一些优秀的线上考试的方式进行考核评选。现在市面上比较出名的在线考试系统由很多不同的语言开发,有 java 开发的,也有.net 开发的,虽然可能存在开发语言上的不同,不过这些系统都有一个相同的特点,都没有离开
15、 B/S 模式,或者 C/S 模式。很多官用的大型网络考试系统都是在局域网内考试,比如计算机等级考试系统,你只能在它限制的范围内,才能连接到它的系统,进入它的系统内部进行考试;另一个在广域网上运行,不论你在什么时间什么地点,只要你能连接上网路,拥有它提供的账号密码,就能进入它的系统,考试或者发布考试。这就是两个模式在本质上最大的区别。1.3 开发意义教学是每一个教育机构每一所学校培育管理检验学生至关重要的一环,考试是任何教育考核测评中不可或缺的一部分。考试作为教学过程中的重要环节,是学习成果的重要反馈途径,更是学员在某阶段加强学习的重要措施。通过考试,管理者可以对毕 业 设 计 论 文2学员的
16、综合能力素质有大概的了解,从而制定更合适的教学或培训重点;而学员通过考试,可以找出自己的不足,全方位的完善自己,才能有所提升。像我们现在普通的一次考试,都要提前准备好几天,首先根据你的时间和你的考生的时间,选之间都是空闲的时间来安排考试;然后去网上或书本上找你要考核的题目,考试要考虑到通过率,题目要做到不要太难也不能太容易;印刷试卷,申请考试地点,安排考生进场,考试过程中最少要两个老师监考;考试结束后,不同的老师对同一道简答题的理解不一样,自然评分的标准也不一样;最后要进行成绩统计。网上的考试系统就不一样了,从你决定要发布一场考试到学生知道成绩,能做到一天时间就可以完成。不用特地去找题目,本身
17、系统就提供很多试题,难度类型各式各样。立马就可以组成一套难度适中的考卷,学生可以随时登陆系统答卷。提交试卷后,主观题系统自动判定,客观题由教师判定,排除了传统考试过程中可能会出现的所有人工干预考试结果的可能性,不仅能够节约大量的人力、物力和财力,而且还可以大幅度地提高考试成绩的客观性、公平性和准确度。1.4 系统可行性分析判断一个系统是否符合开发要求,明确系统的进一步目标,从以下四个方面进行可行性分析。1.4.1 技术可行性本课程考试管理系统使用 SSH(Spring+Struts2+Hibernate)为设计开发框架,SSH 框架是目前市面上较为流行的开发框架,经过前人的经验和版本的迭代更新
18、,在搭建 SSH 框架时也是非常快捷方便。结合当前主流的 B/S(浏览器/服务器)模式进行开发,一个要在特定的范围内才能访问系统,另一个不需要再特定的范围内,只需要你有网络就能进入系统,可以随时随地进行查询、浏览,通过页面添加就可以达到增加服务器的目的,维护起来也相对方便。整个开发过程主要分为三个方面:前端 web 页面设计开发,后端功能代码实现和数据库的搭建。前端页面设计运用 bootstrap 前端框架,现在 bootstrap 中文网也提供了 bootstrap3 中文文档,能很容易就找到各个组件的用法,bootstrap 自带很多现成的 css 组件和 js 插件,基本上满足了一般前端
19、的开发需求,整体清新明了,功能分明;后端由 ssh 框架控制页面跳转,实现逻辑上的控制;数据库用 MySQL,既提高了数毕 业 设 计 论 文3据操作的方便性,又保证了数据的安全性。由此可见,在现有的开发技术情况下,系统是完全可以实现的。1.4.2 操作可行性本课程考试管理系统登录页采用 HTML5 和 CSS 开发,简洁大方,适用于目前市面上主流的浏览器(IE、Opera、Firefox、Chrome),用户只需要在浏览器输入 tomcat服务器配置路径(http:/localhost:5188/toLogin),进入系统登录页面,可以看到有两个输入框,一个是用户名,一个是密码,输入正确的用
20、户名和密码,然后选择要选的角色便可以进入系统操作,本系统初始只有一个系统管理员 admin,后续要添加教师和学生只能从系统管理员用添加,所有用户初始密码都为 1234,每个用户都有修改密码的功能,系统管理员分配账号后,请教师和学生都要修改密码。整个系统功能分明,符合人体设计,操作方便,不论在 PC 设备还是移动设备,都能轻松操作本系统,适用于各类中小学校作为局域网内的考试系统。因此,本系统可以进行正常设计开发。1.4.3 法律可行性本系统是由本人自主研发并实现的课程考试管理系统,所有的开发过程均在导师的指导下按规定,没有触及到一丝违法的规定,所有开发软件均为官方下载的正版软件,开发过程严格遵守
21、国家法律法规。所做出来的系统保证不会对外进行商用,只用于此次毕业设计答辩用,包含测试所用试题也是从网上正规渠道下载,遵守有关的知识产权保护的法律和相关的软件法律。所以在法律规定内,本系统也是可行的。1.4.4 经济可行性此系统使用的开发工具多为常见工具,IntelliJ IDEA 开发工具,mysql 数据库,tomcat 服务器都可以在网上下到免费版,本系统采用的框架也由官方直接获取,成本可以忽略不计;在本系统开发前,做过一次小型的调查,只涉及到一点资金;如果要在计算机上运行,PC 设备只需要较低配置即可运行,若要运行在移动设备上,需要搭建服务器;本系统由个人开发,功能较为简单,支持后期的管
22、理和维护,使用者只需要提供试题,即可发布考试;因此在人力物力上成本不高,可以接受。毕 业 设 计 论 文42 关键技术介绍2.1 IntelliJ IDEAIntelliJ IDEA 和 myeclipse 一样都是非常受欢迎的开发工具,idea 相当于myeclipse 的更完善版本,myeclipse 有的功能 idea 也有,idea 舍弃了一些臃肿的功能,占用内存更少。idea 拥有丰富的导航查看模式,在你不小心删除一个文件后,可以通过 idea 特有的历史记录功能恢复你删除的文件;如果你编写的代码之前就已经存在,idea 能帮你自动补全你的代码,idea 还提供排版方式进行重排版功能
23、;idea 安装git.exe 后,能将你的工程项目自动上传至 GitHub,在别的设备登录 GitHub,就能轻松的下载相同的项目压缩包。本系统主要使用 idea 工具来进行代码编写的工作。在 idea 中,有众多的快捷键加快编码速度,比如:Ctrl+Alt+O 优化导入的类和包;Ctrl+N 放到一个类上显示这个类出现的地方;Ctrl+Alt+ left/right 退回到上次鼠标点击的位置;Idea 有着优秀的提示功能,整合了 Git、maven 等主流插件,提供完美的主题,好用的快捷键和代码模板,集成多功能编程项目,集成的框架技术明显提高编程效率。2.2 SSH 框架SSH 是一个组合
24、型框架,一个 S 代表 Spring 框架,另一个 S 代表 Struts2 框架,H 表示 Hibernate 框架。每个单独的框架都特定的功能,组合在一起是一种 web 系统开发流行的集成框架。SSH 三大框架在整合开发 web 项目过程中相互之前都存在一些联系,Spring 框架和 Struts2 框架整合在于 Javabean 类定义过程中,Spring 框架与hibernate 结合点在于数据源的配置过程,hibernate 框架提供 session 进行数据持久层的访问。SSH 框架的工作原理如图 2-1 所示:毕 业 设 计 论 文5图 2-1 SSH 工作原理图从上面的工作原理
25、图得出,客户端在接收到一个浏览器初始化的请求后,请求通过过滤器过滤,初始值被初始化到内存;到达 Struts2 框架,Struts 负责 web 层,相当于一个大的 servlet,Struts2 根据配置文件的配置信息生成相应的对象,跳转到指定 jsp 页面;hibernate 负责对象-关系的映射,从映射关系查询数据库,Struts 将数据库结果返回表单页面。2.3 外置 tomcatTomcat 服务器是一个适合个人开发者的小型服务器,不像大型公司自己搭建的服务器,tomcat 使用方便且是免费的,直接从 Apache 官网下载解压版或安装版,配置到开发工具,浏览器输入 tomcat 地
26、址即可使用。tomcat 可以分为外置和内置,本系统采用的是 Springboot 内嵌式 Tomcat 服务器,在访问项目请求时,不需要加上项目名称。要使用外部 tomcat,首先要去掉 SBT 自带的内置 tomcat 服务器,具体在 pom.xml中 springboot 的内嵌 tomcat 插件,编写一个启动类继承SpringBootServletInitalizer 类,重写 config 方法,返回启动类的初始值,再结合idea 插件 jrebel 热部署,下次直接用 jrebel 插件启动项目,浏览器中输入 tomcat 地址不需要加项目名。利用 jrebel 插件,代码编写后,就不需要像内置 tomcat 一样,每次都要进行 tomcat 热部署。