基于MySql和JSP的题库管理系统

学习是我快乐

发布日期: 2020-07-06 10:02:24 浏览量: 324
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

第一章 选题意义及可行性

1.1 背景及意义

随着电脑网络的不断普及,计算机技术已经被越来越多地应用到各个行业管理当中,担当起高效、节能的操纵主角。在日常生活中也充当着重要的角色。

随着疫情的发生,对于大学生的课程考核成为一个问题,该需求分析报告用于WEB的课程试题库管理系统这一课题的开发过程。明确了课题开发的目的与要求,介绍了该系统的所有功能以及适用范围。

1.2 主要研究内容

本次拟通过对题库管理有关理论著作和知识的学习,主要从使用者身份以及数据和信息两个方面着手去考虑,对题库管理的整个流程,从底层开始规划设计,针对不同角色的不同管理需求,制定相应的架构模块,实时跟进使用的需求变化,尽可能提高系统的操作性和灵活性。打下一个扎实的根基是非常必要的,否则系统将变得越发难以维护,复杂度也将增加。这就要求系统要有良好的模块化设计。当系统的信息量越大,复杂度越高的时候,用户体验显得尤为重要。对当前题库管理的新需求分析,根据这些新需求设计出一套合适但相对简化的管理模式的管理系统,并且完成该系统下的各子系统功能模块的设计与开发,以实现题库管理的自动化、及时化和系统化的目的。

第二章 需求分析及系统设计

2.1 需求分析

2.1.1 系统描述

本选题旨在设计一个可以对题库信息进行良好管理的系统。服务器端用于部署该系统并且储存用户提交的信息数据,所有的业务逻辑均在服务器端处理,而浏览器端仅仅是一个浏览器,使用者并不需要进行维护,只是需要进行数据访问,从而实现各项功能需求的定制。

2.1.2 系统基本要求

该课题研究的目的是为提高题库管理的效率,给需要进行题库管理的人提供方便、快捷的创建、编辑题库信息;提供方便、快捷的查询,提高题库调查工作的效率。

系统主要完成内容包括管理员管理、教师管理、题库管理、题库导入管理、题库导出管理主要功能如下:

  • 管理员管理:包括管理员对管理员信息的增加、删除、修改等,对各类型的查询、统计等

  • 教师管理:对教师信息的增加、删除、修改、查询等

  • 题库管理:对题库信息的增加、删除、修改、查询等

  • 题库导出管理:对题库信息的导出成Excel

  • 题库导入管理:对题库信息的Excel导入mySQL

2.1.3 功能需求分析

系统的功能包括:管理员管理、教师管理、题库管理、题库导入管理、题库导出管理等。管理员负责对各项信息的管理等,具体功能如图3.1:

管理员用例清单表

模块 用例编号 用例名称 用例描述
管理员登入 Admin-001 管理员登入 管理员根据账户名、密码登入系统
教师管理 Admin-002 教师管理 添加、修改、删除出题教师
试卷组建 Admin-003 试卷组建 在试题库中选择需求数量的题目组成试卷
教师名单导入 Admin-004 教师名单导入 在教师库中讲Excel文件中的教师名单导入
试题导入 Admin-005 试题导入 在试题库中讲Excel文件中的试题导入

管理员登入的用例描述表

描述
描述 管理员根据账户名、密码登入系统
基本流程 (1)根据登入界面选择“管理员”,输入用户名、密码 (2)核对数据库账号信息 (3)信息匹配登入成功,否则返回登入界面
返回数据 账户名

教师管理的用例描述表

描述
描述 添加、修改、删除出题教师
基本流程 (1)管理员点击“教师管理”,进入教师管理界面 (2)系统根据相应信息显示已存在的教师信息 (3)管理员根据需求,单击删除、修改、添加等按钮 (4)根据选择不同的需求弹出相应的窗口 (5)完成相应需求的操作
返回数据 NULL

试卷组建用例描述表

描述
描述 在试题库中选择需求数量的题目组成试卷
基本流程 (1) 管理员点击”组卷”,进入组卷界面 (2)系统根据相应信息显示已存在的题库信息 (3) 管理员根据需求选择相应的试题组成试卷 (4) 完成相应需求的组建操作
返回数据 试卷集

用户负责个人信息、个人题库的管理,具体功能如图3.2:

教师的用例清单表

模块 用例编号 用例名称 用例描述
管理员登入 Admin-001 管理员登入 管理员根据账户名、密码登入系统
教师管理 Admin-002 教师管理 添加、修改、删除出题教师
试卷组建 Admin-003 试卷组建 在试题库中选择需求数量的题目组成试卷
教师名单导入 Admin-004 教师名单导入 在教师库中讲Excel文件中的教师名单导入
试题导入 Admin-005 试题导入 在试题库中讲Excel文件中的试题导入

教师登入用例描述表

描述
描述 教师根据账户名、密码登入系统
基本流程 (1)根据登入界面选择“教师”,输入用户名、密码 (2)核对数据库账号信息 (3)信息匹配登入成功,否则返回登入界面
返回数据 账户名

组建试题库用例描述表

描述
描述 落实课程的授课知识点,完成试题库的组建
基本流程 (1) 教师点击“出题”,进入出题界面 (2) 向试题库中添加试题 (3) 完成相应需求的组建题库操作
返回数据 试题库

试题维护用例描述表

描述
描述 修改、删除试题库
基本流程 (1) 教师点击”搜索”,进入题库界面 (2) 填写相应的查询添加 (3) 编辑对应试题 (4) 完成相应需求的组试题维护操作
返回数据 改变的试题集

2.1.4 运行需求分析

系统服务器端配置需求信息表

类型 配置型号
操作系统 Window10
Web服务器 Tomcat9.0.3
数据库管理系统 MySQL5.6
运行库 JDK1.8

系统客户端配置需求信息表

类型 配置型号
浏览器 Mozilla Firefox
操作系统 Windows10

第三章 系统设计

3.1 系统概要设计

对于本系统的各子系统功能模块初步设想如下:

  • 系统登录模块:分别为教师和管理员的登录,进入不同页面

  • 管理员管理模块:教师信息题库数据的录入、维护、查询、删除管理工作

  • 教师管理模块:包括题库数据的录入、维护、查询、删除管理工作

  • 导入导出模块:对数据库数据的导出成excel和将excel数据导入excel中

3.2 系统功能模块图

系统主要功能模块图如图3.3所示,以使用角色来分,主要包括管理员模块、用户模块两大部分。其中管理员模块主要包括管理员信息管理,教师信息管理,题库管理;教师模块主要包括个人信息管理,题库管理,导入导出题库。

3.3 系统总体业务流程

管理员通过自己的用户名和密码登录管理系统,若输入不匹配则重新输入,进入系统后可以浏览所有管理员、教师、题库信息,可以对管理员、教师、题库信息进行增加、删除、修改与查询;教师登录系统后便列出该所教课程的所有试题,可以创建新的试题,可以对试题进行录入、维护、查询、删除管理工作,教师还可以修改个人的信息;管理员和教师都可以对题库的导入导出。

  • 管理员登录,如果帐号密码不匹配,重新输入

  • 系统验证登录信息,验证通过后进入管理系统首页

  • 管理员对管理员、教师、题库信息的查询或修改等管理操作

  • 退出系统

3.4 系统开发体系结构设计

本系统采用JSP技术,通过MVC三层设计模型实现基于B/S架构的《电路原理》重点课程网。用JSP+Servlet+JavaBean实现MVC设计模式的流程。

MVC是三个单词的缩写:M,Model(模型);V,View(视图),C,Control(控制)。MVC模式的目的就是实现Web系统的职能分工,Model层:实现系统的业务逻辑,即javaBean部分。View层:负责与用户交互,即在界面上展示数据对象给用户,即html,jsp。Control层:Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作,当然就是Servlet的职责了。

3.5 系统数据库设计

数据库是信息管理的常规方法,它可以处理各种各样的数据信息。数据库的优势就在于它可以将庞大而复杂的信息以有序的方式组织起来,便于修改和查询, 管理人员手工处理这些枯燥的数据。数据库一般按照数据的组织和查询方式加以区分。目前使用最多的都是基于关系代数的关系数据管理系统(RDBMS)。在关系数据库关系系统中,数据按照表存放。一个数据库可以有多个表,每个表由行和列组成,每行是一个记录,每个记录的信息分为多段,一张表的每一行的段的组成都是相同的,而不同行中相同的列就称为字段。

设计本系统,主要包括以下数据表,E-R图如下图所示:

使用MySQL建立起数据库表如下:

  • admin表:用于存储管理员信息

  • class表:用于课程信息

  • teacher表:用于存储教师信息

  • test表:用于存储所有题库信息

管理员信息表(admin)

字段 类型 主键 Null 默认 注释
adminNumber varchar(20) Y N 用户名
adminPassword varchar(20) N 密码

用户信息表(class)

字段 类型 主键 Null 默认 注释
classNumber varchar(20) Y N 课程号
className varchar(20) N 课程名
classCredit varchar(20) N 学分

题库信息表(teacher)

字段 类型 主键 Null 默认 注释
teacherNumber varchar(20) Y N 教师编号
teacherPassword varchar(20) N 登入密码
teacherName varchar(20) Y 教师姓名
teacherSex varchar(20) Y 0 教师性别
teacherTitle varchar(20) Y 教师头衔
teacherPhone varchar(20) Y 教师电话

问题信息表(test)

字段 类型 主键 Null 默认 注释
questionNumber int(10) Y N 试题编号
classNumber varchar(20) Y N 所属课程
teacherNumber varchar(20) Y N 教师姓名
questionType varchar(20) N 试题类型
question varchar(500) N 试题题目
questionSelect varchar(500) Y NULL 试题选项
questionResult varchar(500) N 试题答案
questionPoint varchar(200) N 试题考点

第四章 系统功能实现

4.1 系统的开发环境与开发工具

开发工具对一个系统的成败具有决定性作用。我选用了IntelliJ IDEA开发软件,并用MySQL作为系统后台数据库,开发中将用到以下主要几款开发工具:

开发工具、程序语言

类型 工具
开发环境 IntelliJ IDEA
后台数据库管理 MySQL 5.6
数据库管理软件 SQLyog
功能模块设计及流程图绘制 Microsoft Visio2013
系统界面设计 IntelliJ IDEA
jQuery框架 EasyUI
程序设计语言 JAVA
浏览器 Mozilla Firefox

4.2 系统主要功能模块实现

本套题库管理系统是基于当前流行的试题管理的新需求分析而开发的一套管理系统。通过对该管理系统的研究与相关开发,已达到如下目标:

  • 本系统主要完成上述六大子系统功能模块的设计与开发

  • 从管理人员的角度出发去人性化设计系统,方便使用者使用本系统

  • 系统开发完成后,能够提高工作效率,使得题库管理更加高效与便捷

4.2.1 系统登录模块实现

当使用本系统时,用户需要输入用户名和密码来进行安全验证登录。用户输入用户名密码后,系统会向后台登录模块发送请求,后台会调用方法来向数据库查询用户,若没有结果则返回错误状态,在界面向用户显示输入错误的提示。

登录界面

登录失败界面

4.2.2 管理员管理模块实现

当管理员输入正确的账号和密码时,系统登录成功跳转至admin.jsp。页面中,管理员可以进行对管理员信息的浏览,修改,增加,删除,查询等操作。

管理员登录界面

管理员增加界面

管理员增加成功界面

管理员编辑界面

管理员编辑成功界面

管理员删除界面

管理员删除成功界面

在管理员主界面中,上方有增加、删除、修改、查询等功能,管理员的信息一目了然。

4.2.3 教师管理模块

管理员可以点击左侧菜单中的“用户管理”,切换到用户管理的页面。页面中,管理员可以进行对用户信息的浏览,修改,增加,删除,查询,上传头像等操作。

教师信息界面

在用户管理主界面中,上方有增加、删除、修改、查询;

4.2.4 题库管理模块

管理员可以点击左侧菜单中的“题库管理”,切换到题库管理的页面。页面中,管理员可以进行对题库信息的浏览,修改,增加,删除,查询等操作。

题库管理界面

题库详情界面

题库添加界面

题库成功界面

题库编辑界面

题库编辑成功界面

题库删除界面

题库删除成功界面

题库导入界面

题库导入成功界面

第五章 总结

本次作业主要是对题库管理系统中学习到了以下几点:

  • 数据库的结构设计,数据库结构设计是继需求分析和确定开发工具后的重要阶段,是管理型软件开发设计的核心和重要组成部分。数据库结构设计的好坏与否将对应用系统的运行效率以及实现的效果产生很大影响。科学、合理的数据库结构设计可以提高数据访问的速度,有效保持数据的完整性、一致性和共享性,因此数据库结构设计对系统设计来说至关重要

  • 学习尝试了使用MVC结构完成JAVA的Web开发。并初次尝试使用了session的方式储存用户。学习到了许多JSP脚本的灵活使用。当然由于使用了MVC结构,大量运用了json的技术来传递数据。同时也使用了大量的jQuery中ajax的使用

  • 在开发过程中,大大小小的会遇到些问题,在询问老师或上网查找资料的过程中,对这项开发技术的一些细节也有了更深的理解和掌握。对于SQL语句也有了更深的理解,以及更好的运用;从刚开始每一条语句都要在数据库中执行一遍到能熟练掌握基本的增删改查语句

  • 对于各个界面有更深的理解以及完成过程,但也相对的会花费了更多的时间,很好的将程序进行分层管理,将各个模型的控制器,视图均放在一个界面中,便于后期管理

总的来说,本次的作业对我是一次很好的锻炼,让我对系统开发的需求分析阶段有了更好的理解,在实践中去领会它的优势所在无疑是最好的办法。通过本次的课程设计,提升了我在数据库设计方面的能力熟练度。

上传的附件 cloud_download jsp大作业.rar ( 7.03mb, 6次下载 )
error_outline 下载需要12点积分

发送私信

43
文章数
9
评论数
最近文章
eject