第一章 需求分析
计算机技术没有应用到考试上时,组织一次考试只是要经过五步:人工出题,考生考试,人工阅卷,成绩评估和试卷分析,这是一项十分繁琐和容易出错的工作,教师的工作量非常的大。很明显,传统的考试方式已经不再适应现代考试的需要。如今,信息技术的迅猛发展,应用不断扩大,教学和虚拟大学等相继出现,这些应用正逐步深入到千家万户,人们迫切要求利用这些技术来进行在线考试,以减少教师的工作负担并提高工作效率,同时提高考试的质量,从而使考试更趋于公正,客观,更加激发学生的兴趣。例如,目前许多国际著名的计算机公司所举办的各种认证考试绝大部分是采用这种形式。
1.1 课程设计题目
刷题后台管理系统的设计与实现。
随着互联网的高速发展,人们的日常生活已经与互联网息息相关,许多行业受益于互联网时代带来的便利,后台管理系统也变得越来越完善,传统的管理系统已经不能满足当今数据时代的需求,众多的学科和众多的考题无疑使得纯人工的管理不合实际。而互联网+后台刷题管理系统就解决了这个问题,管理员可以通过这个系统来对用户,以及企业学科等题目进行很方便的管理。这样的模式正在一步步成为全新的经营模式,得益于互联网的数据信息能够有效的交互,确保了数据的可靠性及真实性。
1.2 课程设计任务及要求
随着时代的进步,题目的数量也逐渐变得庞大起来,如何管理好题目信息成为一个亟待解决的问题。在当下这个发展快速的信息化时代,越来越多的机构开始建立或者已经使用起题目信息管理系统,利用计算机和网络对信息进行管理已是大势所趋。题库信息系统必将代替之前繁琐的人工操作模式,实现由复杂、冗余性手工操作向人机简便操作的转化,运用计算机完成数据增加、修改、查询、删除以及统计等工作,提高了管理人员工作效率,避免繁重的业务量造成的人为错误,还可运用信息共享加快数据传递。通过对题库管理系统的操作,既节省大量的人力与物力,又不用保存与整理数据文件,将一切信息转化为数字化,提高了工作效率。
管理员方面:实现管理员登录,对用户,题目,权限控制,等拥有绝对权限。
题目录入员:实现登陆,以及题目的查看,题目的录入,等功能。
题目审核员:实现对录入的题目进行审核,是否有错误或者题目不合适了,以及对题目的审核过程进行日志记录。
1.3 系统开发技术和环境
软件体系:B/S结构[1](Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Chorm或[InternetExplorer](https://baike.baidu.com/item/Internet Explorer),服务器安装[SQLServer](https://baike.baidu.com/item/SQL Server)、Oracle、MYSQL等数据库。浏览器通过WebServer同数据库进行数据交互。采用B/S结构是因为该结构在功能拓展和维护方面简单、方便,只需要增加或更改网页,并且B/S结构是以浏览为主,录入简单。而图书管理系统网站就是通过web浏览器访问,选用B/S模式最为合适。
1.3.1 idea与Tomcat简介
IDEA[2] 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。
Tomcat[3]服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
1.3.2 JDK1.8简介
JDK是Java语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。JDK1.8相较之前的版本有很大的改进,主要有Lambda表达式的引入,流以及日期时间的改进。
1.3.3 Mybatis简介
MyBatis[4]是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的对象映射成数据库中的记录。
1.3.4 JSP简介
JSP[5]是一种开发动态系统的编程语言,它能嵌入在html中使用,也能单独使用,同时具有多种有优点,可以说,JSP已经成为Web脚本技术的先驱。它融合了现代编程语言(如C,JSP)的一些最佳特性。Linux、JSP、Tomcat和MySQL的组合已经成为Web服务器的一种配置标准。JSP可以用来:收集表单数据、生成动态网页、字符串处理、动态输出图片、处理服务器端文件系统、编写数据库支持的网页、会话跟踪控制、处理XML文件、支持利用大量的网络协议、服务器端的其他相关操作[9]。
1.3.5 MySql数据库简介
MySQL[6]是一种开放源代码的关系型数据库管理系统(RDBMS),使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。
1.3.6 Redis简介
Redis是近几年最流行的非关系型数据库。
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
\1. Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
\2. Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
\3. Redis支持数据的备份,即master-slave模式的数据备份。
1.3.7 SQLyog简介
SQLyog 是一个快速而简洁的图形化管理MYSQL数据库的工具,它能够在任何地点有效地管理你的数据库,由业界著名的Webyog公司出品。
1.3.8 性能需求
该后台管理系统在性能功能上达到如下需求:
操作简单、界面友好[4]:在浏览器上运行,使得题目录入和用户管理更加简便,许多功能包括题目录入、题目审核,用户管理等通过点击输入相关信息就可以完成;另外,查询所有题目信息功能也让管理员随时清楚每一道题的具体情况。对常见系统的后台管理的各个方面:添加、修改、查看和查看考题/用户等方面都大体实现,实现了管理员对后台的管理要求以及用户的考试刷题需求。
即时可见:对考题及用户的所有操作有异常的,都会随时在日志中进行记录,达到“即时操作、即时生效”的功能。
系统运行快速、稳定、高效、可靠。
结构上应具有非常好的可扩展性,便于将来的功能扩展和维护。
根据对后台管理系统需求分析的上述要求,后台管理系统的功能模块分为两个大的部分,用户管理端和题目管理端,其中用户端就是查看所有用户,对异常用户可以进行限制登陆,题目管理端包括题目的录入,题目的审核,增加,删除,以及各种企业,学科题目来源进行各种增删改问题。
第二章 系统设计
2.1 系统设计方法三原则
人类在复杂的工程技术系统如能源、交通等建设方面,积累了丰富的经验,为研究复杂系统如管理系统提供了科学的指导性方法论,其主要原则如下:
(1)整体性原则。系统是相互联系,相互作用的诸要素组成的综合体。我们必须从整体和各组成部分的相互关系来考察事物,从整体目标和功能出发,正确处理系统各组成部分之间的相互关系和相互作用。
(2)分解—协调原则。就是把复杂问题化成若干相对简单的子问题以方便求解。若子系统的问题比较复杂,还可以再分。但在处理各类子问题时,必须根据系统的整体功能和目标,协调各子系统的行为、功能与目标,以保证整体功能目标的实现。
(3)目标优化原则。所谓目标优化原则对简单的系统来说,是求最优解,对复杂系统来说,求的是满意解。一定要注意,目标优化原则并不简单是求最优解的问题。
这里最需要指出的是:以上三原则是系统方法中处理复杂系统问题的三个主要原则,并非是全部原则。在处理实际问题时,还需要在这些原则的指导下,根据问题的特点,确定求解的具体方法和策略。
2.2 系统的功能模块
在线系统方便了题目信息管理,真正使信息得以共享,改变了人们的工作和生活方式。在线管理题目信息是公司管理员管理题目信息提高工作效率的有效方式,同时也为题目的信息保存提供了有力保障。在发展速度快速的今天,人们对题目信息管理的需求有了更大的要求,而题目信息资源庞大、内容参差不齐等特点恰好满足这种要求。所以题目信息管理系统正慢慢成为一种全新的在线工作方式。也正是由于互联网的数据信息能够进行有效交互,确保了在线数据的可靠性。
系统的功能模块分成三大部分,第一部分是平台系统管理信息管理部分,第二部分是题目信息部分,以及第三部分是刷题会员的管理。在平台系统管理信息管理部分可以分成部门管理,用户管理,角色管理,模块管理,以及系统日志管理部门等功能。如图2-1所示。
图2-1 平台系统管理功能模块图</