1 引言

1.1课题背景

随着网络技术的飞速发展,现在很多国外的大学和社会其他部门都已经开设了远程教育,通过计算机网络实现异地教育和培训。现在,计算机硬件技术的发展已经达到了相当高的水平。但是,远程教育软件的开发目前还处于起步阶段,随着这项技术的不断深入发展,就要求有更好、更完善的软件系统应用到远程教育当中去,给传统教育模式带来新的变革,并对教育的发展形成新的推动力。
本文以Internet为平台,研究了基于Web考试系统――题库管理模块和试卷管理模块的设计与实现,包括系统需求分析和系统功能设计以及数据库设计。重点阐述了题库管理模块和试卷管理模块的设计。

1.2国内现状

在我国,虽然远程教育已经蓬勃地发展起来,但是目前学校与社会上的各种考试大多数采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出题、考生考试、人工阅卷、成绩评估和试卷分析。然而在这个过程中人工手动出题和试题的选择是最为复杂的。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。

1.3本课题研究的意义

随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证、客观,更加激发学生的学习兴趣。
在线考试是现阶段研究开发的一个热点。它是建立在国际互联网上的应用系统,客户端的配置可以极为简单,使考试不受地域的限制。一个完备的在线考试系统可以使用户在网上学习后及时检验自己的学习效果,已发现自己的不足,使得学习效率得到很大提高。只要形成一套成熟的题库和生成试卷的自动化就可以实现考试的自动化,可以使教师方便的出卷,在出题模块设计了比较智能的出题方式,为教师提供很大的方便,这样一来,教师所要做的只是精心设计题目、维护题库,智能出卷就可以了,从而大大减轻了教师的负担,这表明其经济性是相当可观的。为了适应新形势的发展,我进行了这一系统的初步设计工作,也可以说是做一个初步的探索,希望它能够在各类考试中发挥高效、便捷的作用,把老师从繁重的工作中解脱出来!

2相关理论知识及其技术

2.1系统开发环境及技术

2.1.1 开发环境

(1)集成开发环境: JDK5.0+Eclipse3.1+MyEclipse4.0
(2)硬件环境:PC机 CPU:PIII 500以上,内存:256M以上
(3)开发语言: Java、SQL

2.2框架介绍

本系统采用struts + spring管理的hibernate作为平台框架搭建的。

2.2.1 Struts 简介

  • 1、MVC设计模式
    MVC是一种设计模式,他强制性的把应用程序的输入、处理和输出分开。MVC把应用程序分成三个核心模块:模型、视图和控制器,他们分别担负不同的任务。图2显示了这几个模块各自的功能以及它们的相互关系。
  • 2、Struts概述
    Struts最早作为Apache Jakarta项目的组成部分问世。这个名字来源于在建筑和旧式飞机中使用的支持金属架。它产生的目的是为了帮助开发者减少运用MVC设计模式来开发Web应用的时间。Struts框架是基于JAVA技术的,开发人员通过Struts框架可以充分利用代码重用和“一次编写、到处运行”的优点。它提供了一种创建Web应用程序的框架,其中对应用程序的显示、表示和数据的后台代码进行了抽象。
    Struts是一个比较好的MVC框架,继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化和扩展。它采用的主要技术是Servlet,JSP和tag library。Struts架构是围绕一个Action Mapping把HTTP消息形式的用户请求转换成应用程序的动作。Action Mapping创建了一个Action对象来处理请求。一旦Action对象完成了一个任务,它就通过在一个JSP页面上写结果来直接回应一个用户请求,或者它可以让一个引用程序流动到其它地方作回应。
    Struts作为一个MVC的框架,对Model、View和Controller都提供了响应的实现组件,对此分别做介绍,并且看它们是如何结合在一起的。
    Controller:控制器的作用是从客户端接受请求,并且选择执行相应的业务逻辑,然后把响应结果送回到客户端,在Struts中由ActionServlet和ActionMapping对象组成。
    Model:struts为Model部分提供了Action 和ActionForm对象。Struts建议在实现是把“做什么”(Action)和“如何做”(业务逻辑)分离。
    View:Struts应用中的View部分是通过JSP技术实现的。Struts提供了自定义的标记库可以使用,通过这些自定义标记可以非常好地和系统的Model部分交互,通过使用这些自定义表创建的JSP表单,可以实与Model部分中的ActionForm的映射,完成对用户数据的封装,同时这些自定义标记还提供了像模板定制等多种显示功能。

3需求分析和设计方案

3.1 题库管理

3.1.1 试题管理需求分析

试题管理是整个系统非常核心的模块,它基于知识点模块、章节模块、课程模块、题型管理模块完成的基础上的。其中核心元素是试题,通过试题将题库中的各模块连接起来。
试题管理分为题库录入和题库维护两部分组成。试题录入是整个题库管理模块的灵魂所在,所以试题录入十分重要。由于试题类型很多和试题录入、查询时方便快捷、管理的便利等各个因素考虑,不同种题型的试题分别保存在不同的试题库中。同时考虑到整系统的实用性,每一个题库都要有一个相应的答案库。答案库是独立的,这样设计是为了避免答案的泄露。
题库管理模块用来维护题库中的试题的,对题库中的试题提供增加、删除、修改及其查询等功能。其中题库生成是一个独立的子模块。
题库是有使用权限的,只有拥有权限的管理员与教师才可以向题库中添加各种类型且符合要求的试题,也可以对它们进行修改和删除。所添加的试题可以通过试题来源来设计试题库,例如:可以设计某某老师的题库。这样设计可以使老师在出卷的时候直接调用自己的题库来出试卷。这样方便了教师的出卷,缩减了教师的工作量和时间。

3.1.2 试题管理设计方案

试题录入:首先进入,选择年级,课程,章节,知识点,只有知识点不为空的时候点确定,才会跳出试题的具体设置信息,否则会提示“请首先选择知识点”要选择对应的试题类型,才能跳出对应的选项。比如选单选才能跳出单选对应的内容。所涉及的表的操作主要是保存。
题库管理:进入初始化页面,将所有的试题查询出来显示在页面上。

(1)查询:为用户提供3种查询方式——按知识点查找(通过年级→课程→章节→知识点),按试题类型查找和按试题来源查找。通过3种查询方式,分别显示出符合条件的试题,显示在页面上。
(2)删除:主要实现对试题的删除操作。通过试题左端的复选框,实现单个试题的删除或者批量的删除。
(3)修改:主要实现对试题的修改功能。通过点击试题对应的id,或者通过选择复选框,进入到修改页面。

a.修改页面要先加载整个试题的内容,单用户修改完内容点击保存的时候,能够更新数据库中对应的字段的内容。
b.修改页面还要实现对本试题的删除,以及返回到初始页面的功能。
(4)主要涉及表有:
物理年级表:smart_real_grade 课程表:smart_course
章节表:smart_section 知识点表:Smart_knowledge_point
判断题目表:smart_judgement 单选题目表:smart_single_choice
多选题目表:smart_multi_choice 试题来源表:smart_source
标准答案表:smart_answer

3.2试卷管理

3.2.1 试卷管理需求分析

功能主要实现试卷由试题组成,而试题又来自于题库,所以试卷管理模块依赖于题库。试卷管理对试卷提供管理,包括试卷的增删改查。试卷管理中最重要的是试卷的生成,试卷生成的结果存储到试卷库。
试卷的生成可能根据多种条件来生成,可以人工出题,自动出题,试卷应具有“单元测试、学年/半学年测试、学年考试、年级统考等多种性质,以适合不同场合的需要。可以由出卷人来设定,试卷生成与题型管理结合非常紧密。
手动出卷:老师可以定制出卷的一些参数,比如:总题目数、试题的类型,每种类型试题中具体小题的数目,每道题的分数,每个年级的题所占比例,相关题目的难度比例、试题的范围等,在此基础上,系统会根据出卷人的参数,按类型分类筛选出符合条件的试题,以可翻页的方式显示,由出卷人选择确定后生成一套完整的试卷。
自动出卷:老师可以定制出卷的一些参数,比如:总题目数、试题的类型,每种类型试题中具体小题的数目,每个年级的题所占比例,相关题目的难度比例、试题的范围等,在此基础上,系统会根据出卷人的参数,自动生成一套完整试卷。
鉴于主观题的主观性,目前无法实现系统自动阅卷,所以本系统只作客观题部分。一般情况下,单选题往往在四个供选的答案A、B、C、D中选择唯一正确的答案;多选题是在供选答案中有多个选择;而判断题实质上就相当于有两个选项的单选题。因而,本系统中所涉及的单选题和多选题跟过去的大体相同。还有判断题部分。并且假设多选题一般情况下也是最多提供八个备选答案,标准答案至少有一个。

3.2.2 试卷管理设计方案

试卷生成:当用户进入试题管理的模块新建一份试卷时,给用户提供试卷类型、出题方式、使用年级、及其相应的科目和适用考试名称的选项,用户只要选择就可以了,避免手动输入,给用户提供了很大的方便,同时也节省了宝贵时间。其余的就是让用户设置试卷的相关内容,为接下来的试卷的试题的具体添加做好准备。如果设置的各个类型的题目的总分没有和开始设置的整张试卷的总分一致是无法进入下一步进行添加各种试卷具体类型的题目的。只有第一步骤设置都满足条件后就可以进一步完成出卷。当用户进入步骤二时看到页面显示的所有参数都是有步骤一设定的。如试题类型和每一类型题型要选的题目数的数目都是通过前面的设定来的,接着用户就可以设定各种参数从数据库抽题目,如选题的时候可以按书本查询、章节查询、各个知识点查询。提高了选题的速度和准确度,体现了出题的智能化。试题被选中显示在页面刷新。就采用了ajax技术避免传输,并实现了分页显示。当用户选定了相应的题目的时候,点击添加试题的时候。也是采用的ajax技术传到后台函数进行处理,把数据保存相应的session中,处理成功后会给用户一个对话框提示“临时保存成功”。用户就可以进行下一类型试题的添加了。
试卷管理:进入初始化页面,将所有的试选查询出来显示在页面上。可以通过点击列表的每一列表头,可以对所以试卷对应相关属性进行排序,用户使用十分方便快捷。

(1)查看:用户可以点击所要查看的试卷所在行的查看图片,就可以看到此试卷的所有内容。
(2)删除:主要实现对试卷的删除操作。通过试卷左端的复选框,实现单个试卷的删除或者批量的删除。
(3)修改:主要实现对试卷的修改功能。通过点击试卷对名称链接进入到修改页面,进行修改操作。

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐