基于WEB的试题库管理系统设计与实现之系统实现与调试Word文档格式.docx
- 文档编号:21471493
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:29
- 大小:103.29KB
基于WEB的试题库管理系统设计与实现之系统实现与调试Word文档格式.docx
《基于WEB的试题库管理系统设计与实现之系统实现与调试Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于WEB的试题库管理系统设计与实现之系统实现与调试Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
本系统采用B/S架构。
B/S架构(Browser/Server,浏览器/服务器模式),它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构[4]。
B/S模式采用三层结构,由WEB服务器、浏览器、数据库服务器组成,客户端采用统一的浏览器(如Microsoft公司的IE或Netscape公司的Navigator等),服务器端为WEBServer。
浏览器通过WEBServer同数据库进行数据交互[5]。
B/S架构的特点:
(1)B/S架构是由三层结构组成,属于瘦客户机,是将程序中的业务逻辑和界面显示都移动到了WEB服务器里来实现,客户端不需要安装和部署任何程序,只要具有浏览器就可以作为B/S构架的终端。
(2)B/S架构中,系统的更新不需在客户机上执行任何操作,只是在WEB服务器修改相应的网页文档。
(3)只有WEB服务器端的程序与数据库建立连接,客户端间接与数据库建立连接,所以解决了数据库并发连接数量限制的问题。
(4)在B/S结构中,用户降低很大成本。
因此在电脑上通过WEB浏览器就可以实现对服务器的访问。
2.2MySQL关系数据库简介
瑞典MySQLAB公司开发的MySQL数据库是一个小型关系型式数据库管理系统。
因为其速度快、体积小、总体拥有成本低,特别是是开源这个特性,许多中小型网站选择MySQL作为网站数据库来减少开发成本,因此MySQL被广泛地应用在Internet上的中小型网站中。
MySQL的核心程序采用多线程和C语言实现的,线程是轻量级的进程,能灵活地提供服务给用户,而不过多的使用系统资源,因此能充分利用CPU[6]。
MySQL支持主机认证,当客户与MySQL服务器连接时,他们之间所有的口令都是被加密传送。
MySQL拥有一个稳定而且非常快速的基于线程的内存分配系统,可以持续使用,不必担心其稳定性。
MySQL支持查询的SELECT和WHERE语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷和方便[6]。
2.3Struts技术简介
Struts是Apache软件基金会(ASF)赞助的一个开源项目。
它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。
MVC是ModelViewController的简称,是模型(model)、视图(view)和控制器(controller)的首字母缩写,是一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
在Struts框架中,模型由实现业务逻辑的JavaBean或EJB组建构成,控制器有ActionServlet和Action来实现,视图由一组JSP文件构成[7]。
视图就是一组JSP文件。
JSP提供在HTML代码中混合某种程序代码、有语言引擎解释执行程序代码的能力[8],即是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp),通过引擎JSP把JSP标签、JSP页面中的Java代码甚至连同静态HTML内容都解释为大段的Java代码。
所以服务器接受到客户端发送过来的请求后,会对这些Java代码进行解释从而生成的HTML页面返回给客户端的浏览器。
模型表示应用程序的状态和业务逻辑。
业务逻辑通常由JavaBean或者EJB组件来实现。
控制器组件就是由Servlet来实现的。
Servlet类是Struts框架中的核心组件。
Servlet是驻留在服务器上的Java类,用于响应通过HTTP传入的请求。
当用户请求某个Servlet时,Servlet容器将创建一个Request对象和Response对象。
在Request对象中封装用户请求的信息,然后Servlet容器把Request对象和Response对象传给用户所请求的Servlet,Servlet把响应结果写到Response中。
最后由Servlet容器把响应结果传递给用户。
2.4JDBC技术简介
JDBC(JavaDataBaseConnectivity)可以使得开发者使用Java语言访问多种不同格式和位置的数据[9]。
向应用程序先开发者提供了独立于数据库的统一的API。
API是由一组用Java语言编写的类和接口组成。
JDBCAPI是Java应用程序与各种关系数据库相连的中介,使得编程人员能够从复杂驱动器调用命令和函数的操作中解脱出来,可以专注于应用程序的开发。
3试题库管理系统分析
鉴于开发人员精通计算机知识而疏于业务流程,而客户则反之。
因此,在系统的分析和开发上面,开发人员和客户之间可能存在认知上的差异。
基于此,要想开发出一个令客户满意的系统,则需要开发人员和客户进行广泛而良好的沟通,对系统的功能、界面等达成共识,从而达到满意的效果。
因而,在系统开发之前,对系统进行需求分析是非常重要的一环[10]。
本章节主要从用户需求、系统的功能需求和可行性方面进行了详尽的分析。
通过用户需求和功能需求分析,确定系统的主要功能模块,同时对系统进行可行性分析,探究系统开发成型的可能性。
3.1用户需求分析
系统的操作者主要是管理员、教师和学生,从这三个不同用户的角度进行需求分析。
管理员是系统中不可缺少的角色,一个系统需要维护和管理。
其职责主要是对系统参数、管理员信息、角色以及相关角色信息的设置。
传统教学方式,教师收集试题采用的方法一般是将合适的试题记录在试题本上。
由于对现有题目的管理方式有限,从而对试题编辑和旧试题的删除有困难,在组卷时,选题范围窄,很难找到最合适的试题。
所以教师们希望能自由管理、维护和调用试题库,并且能够自动组卷,减轻工作压力。
不能允许考生进入后台数据库,出现泄题,改题等不公正现象。
学生需要通过网络试题库对平时所学知识进行巩固和练习,也可以通过该系统进行某一门课程的考试。
考试是一项非常严肃的工作,对考生意义非常大,因此系统须具有很强的安全防护措施,能够保证考试在可靠的环境中得以顺利进行,要避免出现错误。
3.2系统功能需求分析
本系统主要着眼于开发一个健全的试题库管理系统。
系统一方面允许教师对试题进行增删改查,对试题库进行抽取试题形成试卷,从而进行考试的基本操作,同时能够对学生在线考试的进行管理,发布公告通知学生等管理操作;
另一方面,系统还能够允许学生登录参加考试和进行自我测试等操作,以及查看教师发布的公告通知。
本系统的主要功能如下:
(1)用户管理功能:
本系统涉及三类用户:
系统管理员、教师、学生。
不同的用户拥有不同的权限,管理员用户负责对教师用户进行管理,教师用户对学生用户进行管理,而学生用户不具备任何管理权限,不能管理其他用户。
系统管理员与教师都可以对系统进行管理和维护,只是拥有的权限有别。
系统管理员主要是对所涉及的用户和其权限进行设置,例如,系统管理员可以按需对教师用户和其权限进行添删改查等操作。
而教师用户异于系统管理员,是在于它的管理权限是针对于学生用户,该角色主要是对学生用户进行添删改查等操作。
(2)题库管理功能:
题库管理主要是对试题的添加、编辑、删除和查询等试题操作。
值得注意的是,在添加试题方面,如果一次只能添加一次试题,这样会让教师的工作量增大。
因此,在添加试题方面增添了批量导入试题的功能,这样不但可以压缩导入试题的时间,而且减轻教师的负担。
除此之外,本试题库管理系统并不是针对于某一科目而开发的,而是着眼于多科目,因此,它完全适用于对各类科目的试题进行增删改查。
(3)试卷管理功能:
该功能是对试题库中的试题进行随机抽取形成一份试卷,并且对试卷的管理。
在组卷方面,有手动组卷和自动组卷两种方式。
手动组卷是教师人工的从题库中选择试题从而形成试卷,而自动组卷是教师设定试卷的参数,继而快速地形成试卷。
在试卷的管理方面,能对试卷进行增删改查等操作,并能以Word文档的形式将试卷导出,同时能查看该试卷相对应的考试详情,如参与该试卷考试的考生人数,成绩等。
(4)考试管理功能:
它能够对考试过程情况进行监督、管理和对考后的试卷进行详尽的分析。
在进行考试的过程当中,教师可以查看在线学生考试的情况以及对学生考试进行管理,如强制收卷。
而在考后,教师可以对成绩进行分析,既可以获取本次考试的最高分、最低分和平均分,还可以得知每道题的正确率。
除此之外,教师开可以根据需要进行条件查询,查询在指定的分数范围的人数。
(5)公告管理功能:
公告管理是对考试信息、成绩查询信息等考试相关信息的发布,或者可以发布一些额外的知识内容扩展学生的知识面等。
公告管理是是教师根据实际情况和意愿来进行管理的,它就像一个专属于教师的微博一样,没有固定的内容和框架限制,可以由教师按需发布相关信息,只是它的受众群局限于学生用户。
公告管理主要是对公告的添加、编辑、删除和查看等操作。
(6)系统管理功能:
系统管理功能是系统运行的基本条件,系统管理功能是高于其他功能之上的系统级的功能。
任何一个完整的系统,在设计之初,都需要考虑整个系统的管理功能。
系统管理主要是对系统的基本信息的设置。
例如,系统的名称、注册权限、普通用户登陆权限以及待审核的用户答卷权限等基本信息。
(7)自动判分功能:
本系统应该具备有对学生答卷进行自动批改判分的功能,该功能是为了适应减轻教师工作量和负担而衍生出来的。
在学生考试的试卷当中,允许出现单选题、多选题、判断题、填空题、问答题等试题题型,教师用户并不需要对所有的试题进行人工打分,而是对于答案明确的客观题采用完全匹配评分法,主观题才由教师对其批改判分。
3.3系统的可行性分析
开发系统之前对系统可行性的分析是非常重要的,通过认真分析,就能避免系统在开发后期可能出现的错误。
试题库管理系统系统是一个初期人力投入都相当大的项目,可行性研究不可忽视。
3.3.1系统运行可行性
实用性:
根据学生与教师的普遍需求和平时使用习惯,系统必须保证实用,针对不同级别,不同功能,做出符合要求的试题管理系统。
安全性:
有效地将客户端与数据库之间隔离起来,客户端不能够直接访问数据库,保障数据的安全。
易用性:
可以使用浏览器访问网页,系统清洁的界面,操作简单。
3.3.2经济可行性
对于整个系统而言,在系统未运行前,是在系统建设方面投入的人力,在系统运行之后,需要管理员和教师对数据库进行定期维护和对题库的补充修改,从而减少人力资本的投入。
提高了教师的工作效率和学生的学习效率。
由于现在计算机已经普及了,学生对考试系统的使用应该说是较为方便。
所需硬件软件免费居多,使用时间长,除服务器需要长时间运行,没有其他成本。
从经济角度来说,本系统完全必要。
3.3.3技术可行性
采用B/S架构,应用MySQL数据库,使用MVC设计模式下的Struts,Servlet和JSP技术,用JDBC技术将数据库与之桥连。
从所使用的技术来看,试题库管理系统可以开发。
4试题库管理系统设计
试题库是整个系统核心,完整的试题库结构对实现系统的功能,提升组卷速度和质量起着关键性作用。
本章主要对系统的结构,模块功能和数据库进行设计。
4.1系统的设计原则
本项研究是在教育教学理论以及教育测量理论的指导下,通过借鉴国内外各式各样的试题库管理系统,详细分析开发题库系统时存在的重点难点问题,完成一个适合自身需要的题库系统。
现在进行的这项探索性研究工作是在以下设计原则的指导下进行的:
(1)界面友好,易操作原则。
建立友好的用户界面,因为题库系统的用户可能只会基本的计算机操作,所以系统的设计应着简单易用,坚持以人为本进行设计。
(2)可靠性强原则。
考试是一项非常严肃的工作,是检验学生学习成绩的重要方法,对学生的发展影响较大,所以大家都非常重视。
在考试过程中要尽可能避免因操作失误而使考试提前结束,或者试卷无效等不良的结果,所以,在系统设计过程中,要充分考虑系统中的软件、硬件和资源的可靠性。
(3)教学设计原则。
该系统的主要功能是试题库管理系统管理,是教学考试系统的重要组成部分之一,所以,在设计导入试题库的试题时要充分对学生的情况、教学目标、重点难点进行分析,导入合理的试题,有力地促进学生学习。
(4)可扩充原则。
软件的发展是不断更新的,所以系统可以在原来的基础上能够改进,这样才能保证系统能够跟上科技的进步。
4.2系统的概要设计
通过对试题库管理系统的调查,从不同角度对其工作原理进行了解,确定了本系统的主要操作对象有管理员、教师和学生。
根据第三章对试题库管理系统需求的分析,可以把本系统分成几个模块进行设计。
管理员能够管理的模块包括系统管理模块和系统日志模块。
其中,系统管理模块是对系统的基本信息进行修改,对管理员及角色等资料进行编辑修改;
系统日志是对系统的登录信息进行记录。
教师具有管理权限的模块有题库管理模块,试卷管理模块,考试管理模块,学生管理模块和公告中心模块。
教师通过题库管理模块可以创建并管理科目,增加或者删除试题;
在试卷管理模块,教师可以创建试卷,自动组卷和对试卷进行相应的管理;
在考试管理模块中可以对正在进行的考试管理,还可以对学生成绩,试卷审查分析,有效提高教学质量;
教师还可以在学生管理模块导入学生信息并审核,学生就可以通过自己的账号密码直接进入考试系统考试;
公告中心是对考试要求进行通知的版面,学生可以看到通知内容进行相关的考试准备和分数查询。
学生具有管理权限的是学生考试模块。
学生通过考试模块参加考试,自我测试,成绩查询,查看考试记录以及编辑个人信息。
4.3系统的功能设计
本系统的目的就是为教师用户提供一个实用的试题库管理系统,帮助教师从沉重的考务工作中开脱出来。
为教师节约时间,把更多的精力放在教学内容和教学方法上。
图4.1题库系统的功能总图
根据版面来分,系统主要分为三个部分,第一个是管理员管理的部分,第二个是试题库管理部分,即教师管理的部分,第三个是考试系统,即学生用户操作界面,学生可以通过这个界面查看试卷,参加考试,进行自我测试,查看成绩,查看考试信息,修改个人信息等。
通过对系统的概要分析和系统的功能介绍,得到本试题库管理系统的功能总图,如图4.1所示。
4.4模块设计
根据上面给出的系统总的结构图,下面对各个模块分别进行详细的设计分析,对各部分的功能进行详细的介绍。
4.4.1系统管理模块
系统管理是对系统内部功能设置,管理员,角色等进行管理。
(1)系统设置:
对系统的名称的修改,对学生注册权限、学生用户的登录权限是否开放,以及用户是否通过审核才能答卷进行限制,有效地限制了学生在任何时刻都可以进入考试系统,提高了管理效率。
(2)管理员:
能够添加修改管理员,此功能主要是添加教师用户。
(3)角色管理:
此系统中,主要的管理角色是管理员和教师,管理员具有最高的权限,教师则拥有部分有关考试的权限,如题库管理,试卷管理,学生管理,考试管理等。
(4)个人资料:
是对个人信息进行修改编辑,如密码,真实姓名,电话等。
4.4.2题库管理模块
题库管理是试题库管理系统中很重要的一部分,是对试题进行筛选、导入和管理。
题库包括试题的答案,考试结束后,系统会将客观题直接和标准答案对比出成绩。
(1)创建科目:
针对不同的课程名称,对试题按课程的不同进行分类。
锁定科目可以禁止此科目在试题库中能否被使用。
(2)管理科目:
能够对科目的名称、状态编辑修改。
(3)手工添加试题:
通过键盘输入进行试题录入,适用于少量题目。
此功能中,针对试题类型、试题难度、所属科目和试题开放状态进行添加。
对于多选题,增加的选项可以在旁边的答案设置增加选项,对于填空题,两个或两个以上,也可以增加填空。
对于手工录入的试题,可以添加解析。
(4)批量导入试题:
根据标准模板,可以添加相应类型的试题,这适用大量试题导入,方便快捷。
(5)管理试题:
对已导入的试题,可以根据科目、题型或者关键字,查找相应的试题进行编辑修改,或者删除。
4.4.3试卷管理模块
常见的试题有客观题,如:
单选题,多选题,填空题,判断题。
主观题即简答题。
试卷管理即对这些试题进行组合,组成一套完整的试卷。
组卷之后,要储存这些试卷的并把试卷的信息存放在试卷数据表paper中。
(1)手动组卷:
首先对试卷标题进行编辑,然后标记出考试时间、成绩查看时间,之后进行试题筛选并给出相应试题的分数。
这种方式虽然工作量大,但是可以按照老师的想法进行试卷安排。
(2)自动组卷:
对试卷标题、考试时间及成绩查看时间设置好之后,按照试卷所需要的科目,题型,题量和试题的分数。
其方法是在试题库中对试题随机排序,然后按照所需要的数目从前面选出来。
这种方式方便、快捷。
(3)管理试卷:
对试卷编辑修改,可以以Word形式导出查看,还可以打印之后笔试。
4.4.4考试管理模块
考试管理模块可以对正在进行的考试进行管理,考试结束后,教师可以查看成绩分布,了解各个分数段的学生人数。
教师也可以对试卷进行分析,掌握试卷的合理性。
然后对学生的成绩分析,从而确定下一步的教学计划。
4.4.5学生管理模块
主要是针对课任教师直接对自己班级学生的管理。
教师可以添加本班学生名单,学生可以通过审核后直接参加考试,免去注册的步骤,节约时间。
(1)手工增加学生:
即针对少数需要添加的学生,可以采用手工输入学生信息,可以添加学生的详细情况,如学生姓名、照片、电话等。
(2)批量导入学生:
主要针对大量学生信息的输入,教师或管理员通过制定的格式,将学生名单上传,即可自动生成学生名单,学生通过用户名和默认密码登录考试系统考试。
(3)管理学生:
对已导入的学生进行修改、审核和删除等操作。
其中,最重要的是对学生的审核操作,学生通过审核才具有考试的权限。
4.4.6公告中心模块
教师具有公告栏的管理权限,是对考试信息,成绩查询信息等考试相关信息发布的版块,学生可以查看公告,及时准备考试。
(1)发布公告:
可以对标题及公告内容进行编辑,可以插入图片,插入外部链接。
(2)公告分类:
可以创建公告分类,如考试时间公告,成绩发布时间公告等。
(3)管理公告:
编辑、修改或删除已发布的公告。
(4)公告中心:
可以查看已经发布的公告信息。
4.4.7学生考试模块
学生考试模块是整个试题库管理系统的实现与测试主要部分之一。
学生通过我的试卷参加正在进行的考试。
学生通过考试记录查看之前的考试。
学生也可以自我测评,自己选择试题数目,组卷练习。
通过个人管理系统可以修改个人信息,如密码,电话,照片,邮箱等。
学生通过公告栏能够查看教师发布的考试相关消息。
4.4.8系统日志模块
系统日志是对用户的登录信息的收集,在这里可以查看管理员、教师用户、学生用户的登录信息,如他们的登录时间,登录IP地址。
4.5数据库设计
本系统的数据存储采用MySQL数据库,数据库名为TBS。
依据系统的结构和功能需求,设计和创建了18个数据表,见表4-1至表4-18。
表4-1question试题表
字段名
类型
备注
id
int(11)
试题编号
续表4-1
dbid
科目编号
qtype
题型
qlevel
难度级别
status
varchar
(2)
状态
content
text
试题内容
postdate
datetime
创建时间
skey
答案
keydesc
试题解析
adminid
创建人编号
注1:
status字段规定的值,分别为完全开放和不完全开放。
完全开放是给用户做自我测试时使用的试题。
而不完全开发是对考生不可见,为了避免考生知道试题库里的所有试题。
注2:
qlevel字段的范围为3-7。
3:
很容易,4:
较容易,5:
一般,6:
较难,7:
非常难。
表4-2question_db科目表
Id
题库编号
Dname
varchar(50)
题库名称
Remark
Adminid
Cdate
Status
注:
Status字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 WEB 试题库 管理 系统 设计 实现 调试