JSP开放式无纸化考试系统的设计与实现-完整

更新时间:2024-01-16 09:25:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于JSP的开放式无纸化在线考试系统的设计与实现

摘 要

在二十一世纪的新时代,随着计算机技术的发展及计算机的日益普及,基于WEB开放式无纸化在线考试与无纸化办公一样已成为大势所趋。相比传统的考试方式,WEB的开放式无纸化在线考试系统的主要好处是一方面可以动态地管理各种考试信息,只要准备好足够大的题库,就可以按照要求自动生成各种试卷;另一方面,考试时间灵活, 可以在规定的时间段内的任意时间参加考试;另外计算机化的考试的最大特点是阅卷快,系统可以在考试结束时当场给出客观题考试成绩,计算机阅卷给了考生最大的公平感。

本论文讲述了一个基于WEB的开放式无纸化在线考试系统的大体实现过程,该系统基本上可以满足学校及现代信息化企业的内部考试要求,可以实现学校或企业的低成本投入,高效率办公的宗旨。例如:一个学校或公司如果使用了本系统,老师和领导即使在外地出差也可以通过访问Internet轻松设置审批考试`,考试结束后也不要传统的繁琐的阅卷过程,极大地提高了办公效率。考试的题型可以都是标准化客观题目,对于其他类型的题目只要在本文的基础上稍加修改即可。 关键词:开放式无纸化;在线考试系统;JSP;B/S模式

The Design and Implementation and Open Type Paperless

Online Examination System based on JSP

ABSTRACT

In the new era twenty-first century, along with the development of computer technology and the popularization of computer, online examination paper and open type paperless office based on JSP has become represent the general trend. Compared with the traditional test methods, the main advantage of the open WEB paperless online examination system is , on the one hand, it can manage all kinds of test information, as long as the questions are big enough, it can automatically generate a variety of papers in accordance with the requirements; on the other hand, the examination time is flexible, can at any time in the specified period in the exam; the biggest characteristic in computerized exam marking system is fast, can be in the end of the exam was given objective test scores, computer marking brings students a sense of fairness.

This paper tells the story of a paperless online examination system based on open WEB in the implementation process, the system can basically meet the school and modern information technology examination requirements within the enterprise, can realize low cost school or business investment, efficient office purposes. For example: if a School or company using this system, teachers and leaders in the field trip can easily access the Internet through the examination and approval of the examination, after the end of the examination, not the traditional red marking process, greatly improve the efficiency of the office. The exam can be objective standard for other types of problems, as long as the topic in this paper on the basis of a little modification can be.

Keywords: open type paperless; online examination system; J2EE; B/S model

目 录

引 言 .................................................................. 1 第一章 课题背景 ........................................................ 3 1.1 研究背景 .......................................................... 3 1.2 研究意义 .......................................................... 3 1.3 研究过程与实施方案 ................................................ 3 1.4 可行性研究 ........................................................ 4 1.4.1 经济可行性 .................................................... 4 1.4.2 技术可行性 .................................................... 4 1.4.3运行可行性 .................................................... 4 1.4.4 时间可行性 .................................................... 4 1.4.5 法律可行性 .................................................... 4 第二章 需求分析 ........................................................ 5 2.1 系统功能需求分析 .................................................. 5 2.2 业务流程分析 ...................................................... 7 2.2.1 业务流程图的符号说明 .......................................... 7 2.2.2 业务流程图 .................................................... 7 2.3数据分析 .......................................................... 9 2.3.1 系统数据流图 .................................................. 9 2.3.2 数据字典 ..................................................... 12 第三章 开放式无纸化考试系统的详细设计 ................................. 16 3.1系统和数据库的配置 ............................................... 16 3.2概念模型设计 ..................................................... 16 3.3数据库逻辑模型 ................................................... 17 3.4数据库表结构 ..................................................... 20

3.5数据库连接 ....................................................... 22 第四章 开放式无纸化考试系统界面的设计及功能实现 ....................... 24 4.1界面设计的原则 ................................................... 24 4.2界面功能结构设计 ................................................. 24 4.3在线考试系统的具体功能实现 ....................................... 24 4.3.1登陆信息功能 ................................................. 24 4.3.2个人信息/修改密码模块 ........................................ 26 4.3.3班级信息管理模块 ............................................. 27 4.3.4题库管理模块 ................................................. 28 4.3.5试卷审核模块 ................................................. 30 4.3.6阅卷人管理模块 ............................................... 30 4.3.7课程管理模块 ................................................. 32 4.3.8系统用户管理模块 ............................................. 33 4.3.9在线考试模块 ................................................. 34 4.3.10成绩查看模块 ................................................ 35 第五章 开放式无纸化考试系统测试 ....................................... 37 5.1 测试的意义 ....................................................... 37 5.2 测试方法 ......................................................... 37 5.3 系统测试用例 ..................................................... 38 5.4 测试内容 ......................................................... 38 5.5 测试结果 ......................................................... 38 5.6 测试结果分析 ..................................................... 38 结 论 ................................................................ 40 致 谢 ................................................................ 41 参考文献 .............................................................. 42

引 言

在当今信息时代,计算机技术与网络技术越来越广地应用于各个领域,改变着人们的学习、工作、生活乃至思维方式,也引起了教育领域的重大变革。将计算机与网络技术应用于现代高等教育中,是现代高等教育发展的需要,也是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。目前的一个发展趋势是采用大规模试题库的计算机网络考试模式 随着计算机网络在生产生活、科技教育中的普及,传统试的考试出卷、答卷方式以及学绩管理正发生着巨大的变革,因此,如何使考试过程变得方便、高效、快捷、公正,是现代教育的一个重要课题。

开放式无纸化考试系统是传统考场的延伸,它可以利用网络的无限广阔空间,随时随地对学生进行考试,加上数据库技术的利用,大大简化了传统考试的过程。因此开放式无纸化考试系统是电子化教学不可缺少的一个重要环节。有趋势表明,考试的标准化、计算机网络化已当今考试的发展方向,当前国际上许多考试认证,例如GRE、CISCO,其出题、答卷以及评分都是在计算机上完成的。无纸化的考试形式有着其科学、及时、准确、公平等优点,具有传统考试形式无法替代和比拟的优势。

(1)实现无纸化考试。考试结果均直接提交并存储在服务器上,无需用任何纸张。考卷也是实时下载显示在考生计算机的屏幕上,当考试结束后自动批阅试卷,显示成绩。

(2)安全性好:系统通过对网络通讯数据的加密,采用系统随机产生试卷以及老师手工筛选、修改的组卷方式取代简单的题库抽题方式,能更加科学的组织试卷对考生进行考核。试题顺序的随机性能够有效地防止考生的舞弊行为;同时采用考试监控系统和考生身份验证系统,更有效的保证了考试的安全性和公平性。

(3)有效的监考。系统拒绝其他考生用相同的学号注册进行考试,保证考生的唯一性;系统拒绝时间已经用完的考生再注册进行考试,以保证考试的有效性;

(4)通用性和可扩展性佳:题库导入系统可以将第三方试题库转换成系统识别的试题库格式,有效地增强了试题库的扩充能力。较为严格地按模块划分,为扩

1

展和完善留下了余地。软件的通用性设计方式使得本系统能够比较方便的为其它学科所使用。

(5)自动化程度高:实现了组卷自动化、阅卷自动化和成绩分析统计自动化。 (6)界面设计合理,使用方便:体贴的考试界面设计将使考生作起来更方便。电子试卷提供了自动记时、纵观全卷、即选即作、试题标记、题型过滤等友好的界面设定,加上计算器和草稿纸的设计,让考试的过程更流畅。所有的一切完全从考生的角度出发,力争提供最优化的考试环境。

(7)考试/练习终端采用键盘鼠标输入与手写输入方式相结合进行答题,加快了考生的答题速度。

(8)快速、透明的自动阅卷。考生可以随时合分,给出自己的考试分数。

2

第一章 课题背景

1.1 研究背景

随着信息技术和网络技术的迅速发展,教育信息化和网络化也将成为必然的趋势。作为教育评价和衡量学生能力的考试也正经历着无纸化和网络化的飞跃。网络的开放性和分布性的特点以及基于互联网的巨大计算能力使得考试突破了时间和空间的限制。基于网络技术的考试系统正成为人们的研究热点之一,其中,基于WEB技术的开放式无纸化考试系统已成为互联网的重要应用之一,对这个方向的研究具有重要的理论意义和现实意义。

1.2 研究意义

开放式无纸化考试系统具有降低考试成本,解决繁重的考务工作的优点。它可以免去教师大量的临考工作,试卷可以根据题库中的内容即时生成;教师也无须去做考后的阅卷、统计、分析工作,计算机可以自动判卷,直接把成绩送到数据库中进行统计、排序、汇总。实现无纸化考试,大大提高了工作效率,同时,试卷是随机组成的,不存在试卷的泄密和考试作弊问题,使考试的公平性、答案的安全性得到有效的保证。

目前,基于网络考试面向的主要是社会上的培训认证考试(如微软的各种认证考试)和远程教育的考试。一个成功的基于WEB的考试,需要一个好的网络环境,一个好的考试平台和一个好的题库。但一个真正的智能化的基于WEB的考试系统的实现是—个复杂的过程,考试平台和题库的研究要依靠软件开发专家、被测学科专家和精通考试理论和命题的专家三者的合作。因而对于有极大市场的社会认证考试,必然会走上专业化的道路。

1.3 研究过程与实施方案

该论文将根据笔者所开发的在线考试系统而编写,同系统以局域网(校园网)为平台与INTERNET技术相结合,使在校学生仅通过WEB浏览器就可以在网上进行课程的考试,教师则可以进行试题库的编辑、信息维护工作和组卷工作。该系统主要用于半开放型和组织型,组织型是以班级方式申请,在教师指定的机房定时定点进行考试。半开放型是指学生也可以在学校机房之外的其他机上远程登录,不择地点进入本考试系统。

采用B/S体系结构

3

整个系统采用MODEL/VIEW/CONTROL的3层体系结构。B/S的系统中,用户可以通过浏览器向分布在网络上的服务器发出请求,服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。B/S结构化了客户机的工作,客户机上只需配置WEB浏览器即可。服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。浏览器发出请求,而其余如数据请求、加工、结果返回以及动态网页生成等工作全部由WEB服务器完成。

1.4 可行性研究

该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行性等方面进行分析。

1.4.1 经济可行性

在对本系统进行开发的过程中,不需要其他高配置的系统,只需要免费安装程序设计软件,数据库软件等即可开始对系统的开发,同时,系统功能上的实现并不是特别困难,在个人的能力上即可完成,因此在经济上是完全可行的。

1.4.2 技术可行性

本系统的开发主要采用的是JSP与SQL技术,此两项技术在我们的平时学习和生活中都有过深度的联系和实操,在开发本系统之前已经做好了全新的准备,同时,计算机的硬件配置要求很低,因此在个人所及的情况下技术是没有问题的。

1.4.3运行可行性

如果系统开发完成后,只需要在个人电脑上对环境进行简单的配置即可,具体而言只需要在个人电脑上安装好tomcat,myclipse,sql server等工具,在这些都准确齐全的情况下,运行该系统是非常容易的。

1.4.4 时间可行性

从时间上看,在两个月的时间里学习相关知识,并开发本开放式无纸化考试系统,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。

1.4.5 法律可行性

本系统属于自行开发的系统网站,并无存在侵权的问题,同时,系统中所用到的代码都是个人自主研发的,因此不会在法律上承担任何责任。

综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。

4

第二章 需求分析

2.1 系统功能需求分析

本系统主要为考试开发的开放式无纸化考试系统,根据需要完成如下的需求: 本系统主要分为分成三中用户角色,分别是学生、老师、管理员。 一、学生

(1)学生登录系统后能够修改自己的个人资料。 (2)学生登录系统后能够修改自己的登录密码。 (3)学生登录系统后能够参加考试。 (4)学生登录系统后能够产看自己的成绩。 二、老师

(1)老师登录系统后能够进行手动组卷。 (2)老师登录系统后能够进行随机组卷。 (3)老师登录系统后能够进行综合组卷。 (4)老师登录系统后能够查看学生的成绩。 (5)老师登录系统后能够查看试卷。 (6)老师登录系统能够报改试卷。 (7)老师登录系统后能够修改个人信息。 (8)老师登录系统后能够修改登录密码。 综上所述,系统的功能结构图如下图所示:

开放式无纸化考试系统 在线考试 考试成绩查看 修改个人信息 修改登录密码

图2-1 开放式无纸化考试系统学生功能结构图

5

班级信息管理

开放式无纸化考试系统 题库管理 试卷审核 阅卷人管理 课程管理 系统用户管理 修改个人信息

修改登录密码

图2-2 开放式无纸化考试系统管理员功能结构图

开放式无纸化考试系统 随机组卷 手动组卷 综合组卷 查看试卷 批改试卷 成绩查看 修改个人信息 修改登录密码

图2-3 开放式无纸化考试系统老师功能结构图

6

2.2 业务流程分析

业务流程图是直观描述现行系统业务处理由开始到结束的整个过程的非结构化图形工具,它可以描述一个系统的业务,也可以描述一项具体业务的处理过程。

2.2.1 业务流程图的符号说明 业务流程图符号说明如下表2.1所示:

表2.1 业务流程图符号说明

图形符号

符号说明

系统中的实体,本系统中的实体有:会员、管理员等。

处理,本系统中的处理有:信息编辑、信息发布、信息查询等。

单据或报表,如:会员信息登记表,公告信息表等。 存档信息。 数据流向 2.2.2 业务流程图 7

开放式无纸化考试系统是针对考试开发的系统,总体分成三个子系统,分别是学

生考试系统,老师组卷评分系统和管理员关系系统。业务流程图如下图所示:

个人信息管理 个人信息 成绩查询 成绩信息 学生 密码修改 密码信息 参加考试 个人信息管理 组卷管理 密码管理 老师 查看成绩 查看试卷 批改试卷 试卷信息 个人信息 试卷信息 密码信息 成绩信息 试卷信息 试卷信息

8

个人信息管理 个人信息 班级管理 班级信息 管理员 题库管理 题库信息 试卷审核 阅卷人管理 试卷信息 阅读人信息 课程管理 用户管理 课程信息 用户信息 密码管理 密码信息 图2.4 系统后台业务流程图

2.3数据分析

2.3.1 系统数据流图 1)数据流图的定义

数据流图(DFD----Data Flow Diagram)是描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘信息在系统中流动和处理的情况。就是采用图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具。

DFD可以形象地描述事务处理与所需数据的关联,便于用结构比系统分析方法,自顶向下,逐层分解,步步细化。

2) 符号说明

9

表2.2数据流图符号说明

符号

名称 说 明

实体

PW 系统之外的数据提供或数据获得组织或个人。

处理

DN 记述某种业务的手工或计算机处理。

数据存储 记述与处理有关的数据存储。

FM

数据流 记述有关的流动方向FM记述数据流的名称。

P0 管理员操作信息 管理员 学生/老师操作信息 学生/老师 开放式无纸化考试系统 管理员操作结果 管理员 学生/老师操作结果 学生/老师 3)本系统的数据流图

图 2.5在线考试系统顶层数据流图

10

F1个人信息 F2成绩信息 F3考试信息

D3 试卷信息表 图2.6 学生子系统数据流图 P2 管理 员子 系统 P1 学生 子系统 D1 用户信息表 D2 试题信息表 F4个人信息 F5班级信息 F6题库信息 F7阅卷人信息 F8课程信息 F9 用户信息

D1 用户信息表 D4 班级信息表 D2 试题信息表 D1 用户信息表 D5 课程信息表 D1 用户信息表 图2.7 管理员子系统数据流图

P3 教师子 系统 F10个人信息 F11组卷信息 F12成绩信息 F13试卷信息 F14报改试卷信息

D1 用户信息表 D3 试卷信息表 D2 试题信息表 D3 试卷信息表 D3 试卷信息表 图2.8 教师系统数据流图

11

2.3.2 数据字典

数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用是在软件的分析和设计过程中提供关于数据的描述信息[1]。一般说来,数据字典应该由下列四类元素构成:数据元素,数据流,数据存储和数据处理。

1. 数据存储

数据存储是数据结构停留或保存的地方。也是数据流的来源和去向之一,可以是手工文档或手工凭单,也可以是计算及文档。一般而言,应包括如下内容:{数据存储名,说明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取方式}。 名字:用户信息表 描述:记录用户在系统上的注册信息。 编号:D1 组成:编号,用户名,密码,用户类型,审批日期,班级,照片,性别,生日,电话,地址,Email,学号,入学时间,说明,高考成绩

名字:试题信息表 描述:记录试卷中的每个试题的分数等。 编号:D2 组成:ID,课程,章节,内容,答案,分数,难度

名字:试卷信息表 描述:记录试卷的信息。 编号:D3 组成:ID,试卷名称,试题,状态,考试时间,阅卷人员

12

名字:班级信息表 描述:记录系统的班级。 编号:D4 组成:ID,班级名称,备注、创建日期

名字:课程信息表 描述:记录系统的课程信息。 编号:D5 组成:ID,课程名称,简介,纲要,教程 2.数据流

数据流是数据结构在系统内传输的路径。对数据流的描述通常包括如下内容:{数据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)}。

F1、F4、F10 编号: 名字:用户信息 描述:学生、老师、管理员在系统 编号:F2 名字:成绩信息 描述:学生在系统查询自己的成绩 中修改自己的资料 编号:F5 名字:班级信息 描述:管理员对班级信息进行管理 编号:F3 名字:考试信息 描述:学生在系统参加考试 编号:F6 名字:题库信息 描述:管理员对题库进行审核 13

编号:F7 名字:阅卷人信息 描述:管理员能够为试卷配置阅卷人 编号:F8 名字:课程信息 描述:管理员管理课程信息 编号:F11 名字:组卷信息 描述:老师能够通过三种方式进行3. 数据处理组卷 编号:F13 名字:试卷信息 描述:教师能够管理试卷信息 编号:F9 名字:用户信息 描述:管理员管理系统的用户信息 编号:F12 名字:成绩信息 描述:教师能够在系统查看成金 编号:F14 名字:报改试卷信息 描述:教师能够报改试卷信息 处理过程的具体处理逻辑通常在详细设计过程中用判定表或判定树来描述。在数据字典中,只无原则描述处理过程的说明性信息,通常包括以下内容:{处理过程名,说明,输入数据流,输出数据流,处理}。

001 数据处理编号:P0 数据处理名称:开放式无纸化考试系统 数据处理描述:系统的三中用户对系统操作

002 数据处理编号:P1 数据处理名称:学生操作子系统 数据处理描述:学生对网站的操作 输入:F1、F2、F3 输出:D1、D2、D3

14

003 数据处理编号:P2 数据处理名称:管理员操作子系统 数据处理描述:管理员对网站的管理与维护 输入:F4、F5、F6 、F7、F8,F9 输出: D1、D2、D4、D5

004 数据处理编号:P3 数据处理名称:老师操作子系统 数据处理描述:老师对网站的操作 输入:F10、F11、F12、F13、F14 输出:D1、D2、D3 15

第三章 开放式无纸化考试系统的详细设计

3.1系统和数据库的配置

系统按通用的B/S(浏览器、服务器)模式进行设计下图所示:

图3-1 B/S 系统模型

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。

3.2概念模型设计

概念模型设计的典型方法是用E-R图方法,即用实体-联系模型表示。E-R方法是用E-R图来描述显示世界,E-R图包含三个基本成分:实体、联系、属性。它直观易懂,能够比较准确地反映现实世界的信息联系,从概念上表示一个数据库的信息组织情况。

本系统E-R图如下图所示:

16

管理员 1 管理 N 班级信息题库信息试卷信息阅卷人信息课程信息系统用户个人信息登录密码 组合 N 1 老师

N 1 N 生成 批改/查看 管理 参考 1 学生

图3-2 系统总体E-R图

N 3.3数据库逻辑模型

(1) 用户信息(ID,用户名,密码,用户类型,审批日期,班级,照片,性

别,生日,电话,地址,Email,学号,入学时间,说明,高考成绩)

17

用户 ID 用户名 密码 …… 高考成绩

图3-3用户实体E-R图

(2)班级信息(ID(主键)、班级名称、备注、创建日期)

班级信息 ID 名称 备注 备注日期

图3-4 班级实体E-R图

(3)试卷信息(ID(主键)、试卷名称、试题、状态、考试时间、阅卷人员)

18

试卷信息 阅卷人员 ID 名称 试题 状态 考试时间

图3-5 试卷实体E-R图

(4)试题信息(ID(主键)、课程、章节、内容、答案、分数、难度)

试题信息 难度 分数 ID 课程 章节 内容 答案

图3-6 试题信息实体E-R图

(5)课程信息(ID(主键)、课程名、简介、纲要、教程)

19

课程信息 教程 ID 课程名 简介 纲要

图3-7课程信息实体E-R图

(6)答案信息(ID(主键)、编号,题目ID、答案、考生、保存时间、总分)

答案信息 总分 考生 ID 编号 题目ID 保存 时间 答案

图3-8 答案实体E-R图

3.4数据库表结构

进行数据库结构的分析设计时,不但要考虑到软件系统当前所要实现的功能,更要注重软件的长久性、可维护性及可扩展性。数据库的设计的好坏还直接关系到系统的质量和生命周期。试卷运转系统共设计六个数据信息表,各表的设计结果如下:

(1)试卷基本信息表

系统中所设计的试卷信息表(如表3.1)。

表3.1试卷基本信息表(sts)

20

名称 ID 试卷名称 试题 状态 考试时间 阅卷人员 id 代码 stsname stsids status kssj yjry 数据类型 int nvarchar datetime nvarchar nvarchar 长度 120 120 120 可否为空 Yes Yes Yes Yes 描述 (2)系统用户表

系统中所设计的系统用户表(如表3.2)。

表3.2用户信息表(sysuser)

名称 ID 用户名 密码 用户类别 审批日期 班级 照片 性别 生日 电话 地址 Email 学号 入学时间 说明 高考成绩

代码 ID uname upass utype tname xbbjs filename sex birth tel addrs email xno rtime zzmm gkcj 数据类型 int int nvarchar datetime nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar 长度 12 40 100 80 80 80 80 80 80 80 80 80 80 80 80 可否为空 No Yes Yes Yes Yes 描述 (3)试题表

表3.3试题表(shitis)

名称 ID 课程 章节 内容 答案 分数 难度 id kechen zhangjie scontent answers fenzhi zj 代码 数据类型 int int int nvarchar nvarchar int nvarchar 12 长度 12 可否为空 No 描述

(4)课程表

21

系统中所设计的课程表(如表3.4)。

表3.4课程表(kechens)

名称 ID 课程名 简介 纲要 教程 id Kename Jianjie Gangyao jiaochen 代码 数据类型 int nvarchar nvarchar nvarchar nvarchar 12 长度 No 可否为空 描述

(5)答案表

系统中所设计的答案表(如表3.5)。

表3.5权限表(p_uroles)

名称 ID 编号 题目ID 答案 考生 保存时间 总分 ID generalsrid tid answer uid savetime total 代码 数据类型 int nvarchar nvarchar nvarchar nvarchar nvarchar nvarchar 长度 12 100 100 100 100 100 100 可否为空 No Yes Yes 描述

该表记录了权限的职责。 (6)班级表

系统中所设计的答案表(如表3.6)。

表3.6部门表(p_bumen)

名称 ID 班级名称 备注 创建日期 id bmname bei savetime 代码 数据类型 id nvarchar nvarchar nvarchar 长度 12 12 40 100 可否为空 描述 该表记录了班级信息。

3.5数据库连接

数据库作为在线考试系统的后台,在建立之后要和前台的jsp应用程序建立连接才能发挥它的作用。本系统通过建立数据库连接文件,在需要与数据库进行交互操作的应用程序中都将引用此连接。

22

如何建立JDBC连接?Connection 对象代表与数据库的连接。连接过程包括所执行的 SQL 语句和在该连接上所返回的结果。一个应用程序可与单个数据库有一个或多个连接,或者可与许多数据库有连接。

如何打开连接?与数据库建立连接的标准方法是调用DriverManager.getConnection方法。该方法接受含有某个URL的字符串。DriverManager类将尝试找到可与那个URL所代表的数据库进行连接的驱动程序。DriverManager类存有已注册的Driver类的清单。当调用方法getConnection时,它将检查清单中的每个驱动程序,直到找到可与URL中指定的数据库进行连接的驱动程序为止。Driver的方法connect使用这个URL来建立实际的连接[15]。

dburl=jdbc\\:jtds\\:sqlserver\\://localhost\\:1433;DatabaseName\\=jywks;User\\=sa;Password\\=123

以上介绍的是如何建立与数据库的连接。

23

第四章 开放式无纸化考试系统界面的设计及功能实现

4.1界面设计的原则

(1)体现功能

系统开发的目的是为了满足用户的功能要求,这是第一位的。在设计界面时,要首先保证用户能完全使用系统的功能。界面设计得是否合理能在一定程度上决定用户掌握系统的时间以及是否正确。

(2)操作简单

这是人性化的体现,同时也是人类意志来对技术的要求。“屏蔽”复杂的东西,让用户最舒适的去使用我们的系统是很重要的目标。

(3)视觉角度

争取开发出美观的界面,美观的标准除了颜色形状和布局等因素外,很重要的就是简洁,这一目标以上目标从正本上说是统一的。

4.2界面功能结构设计

简单的查询、录入、修改、删除设计,对于一行就能显示清楚内容数据,采用简单表的设计方法。操作符在每一行数据的最左边,填入需要增加的数据,然后点击新增的按钮就可以增加一条数据,同样的,按需要修改数据,然后点击该行的修改按钮就可以完成修改操作。

4.3在线考试系统的具体功能实现

4.3.1登陆信息功能

系统的用户只有通过登陆页面才能够进入主页面,在登陆页面中,须键入http://localhost:8080/jywks/admin/index.jsp网址,出现登陆界面,输入正确的用户名、密码,就可以进入系统了。如下图所示:

24

图4-1开放式无纸化开始系统登陆界面

本模块界面非常简单,就一用户名和密码两个文本框和一个登陆按钮,但实现的方法比较复杂,因为系统要自动判断其输入的用户名及密码的正误,还要自动识别其权限(学生、老师及管理员之分),如果登陆正常后,系统要将当前用户名和权限记录下来以便之后其他操作给予适当的权限分配。

实现本模块的主要代码如下所示:

if(ac.equals(\))

{

String ma = request.getParameter(\);

String random = session.getAttribute(\).toString();

if(ma.equals(random)) {

String username = request.getParameter(\); String password = request.getParameter(\);

List userlist = dao.select(sql); if(userlist.size()!=1) {

request.setAttribute(\, \);

go(\, request, response); }else{

String sql = \

uname='\+username+\+password+\;

request.getSession(). setAttribute(\, userlist.get(0));

gor(\, request, response);

25

} } }else{ request.setAttribute(\, \); go(\, request, response); }

4.3.2个人信息/修改密码模块

系统的三种用户在登录系统后,都能够修改自己的个人信息和登录密码,修改个人信息的页面如下图所示:

图4-2个人信息修改

修改登录密码的页面如下图所示:

图4-3登录密码修改

两个模块的实现原理是相同的即更新操作,都是通过form表单将input框中value的值通过get或者post传值,通过update更新数据库中相应表中的相应字段。主要实现代码如下:

if(ac.equals(\)) { String id = user.get(\).toString(); 26

String uname = request.getParameter(\); String upass = request.getParameter(\); String utype = request.getParameter(\); String tname = request.getParameter(\); String xbbjs = request.getParameter(\); String filename = request.getParameter(\); String sex = request.getParameter(\); String birth = request.getParameter(\); String tel = request.getParameter(\); String addrs = request.getParameter(\); String email = request.getParameter(\);

+

String sql = \+uname+\,\

\+upass+\,\ + \+tname+\,\+ \+xbbjs+\,\+

\+sex+\,\+ \+birth+\,\+ \+tel+\,\+ \+addrs+\,\+ \+email+\+ \+id;

\+filename+\,\+

dao.commOper(sql);

go(\, request, response); }

4.3.3班级信息管理模块

管理员能够对系统的班级信息进行管理,管理功能分为添加、删除、修改三种权限,页面如下图所示:

图4-4班级信息管理页面

其中修改功能的主要实现原来在上文中已经进行了阐述,在此主要阐述添加功能

27

和删除功能的主要实现原理。添加功能的主要实现也是通过form表单通过get或者post进行传值,通过insert SQL语句,将相应的值插入数据库的相应的表中。

班级信息添加功能的主要实现代码如下:

List list = dao.select(\黑河学院'\); int i = 0; for(HashMap h:list) { i++; if(i!=list.size()) { %> { id:<%=h.get(\)%>, pId:<%=h.get(\)%>, name:\<%=h.get(\)%>\, open:true, %url\jgxiang.jsp?id=<%=h.get(\)%>\, \target\testIframe\, <% }else{ %> { id:<%=h.get(\)%>, pId:<%=h.get(\)%>, name:\<%=h.get(\)%>\,open:true, %url\jgxiang.jsp?id=<%=h.get(\)%>\, \target\testIframe\ <%} } %> 删除功能的主要是实现原理是,当用户想要删除某条信息时,低级删除时,会将该条记录的ID一起进行传值,然后通过get获取传递过来的ID值,使用select语句通过ID的值找到该条记录,最后通过delete SQL语句删除该条记录即可。

主要实现代码如下:

if(ac.equals(\)) { } String sql = \+id; dao.commOper(sql); go(\, request, response); request.setAttribute(\, \); String id = request.getParameter(\);

4.3.4题库管理模块

管理员登录系统后,能够对系统中的所有题库进行添加、修改、删除、查询的操作。单击题库管理页面中的添加试题,填写相应的信息,单击提交按钮即可添加一条

28

新的题库信息,如下图所示:

图4-5添加试题页面

试题管理页面如下图所示:

图4-6试题管理页面

老师登录系统后,可以通过试题库中试题再通过手动组卷、自动组卷、综合组卷三种方式进行组卷。老师选择相应的科目和章节,选择相应提醒的题目数单击发布试卷按钮即可。组卷页面如下图所示:

29

图4-7老师组卷页面

4.3.5试卷审核模块

老师在上图中发布试卷后,需要通过管理员的审核才能让学生通过该试卷参加考试。管理员审核试卷的页面如下图所示:

图4-8 管理员审核试卷页面

试卷审核的主要实现原理是,当老师提交试卷后,会自动在试卷表中生成一条记录,并且状态是不通过,管理员单击通过按钮,即可将该字段的值改成通过即可。 4.3.6阅卷人管理模块

学生参加考试之后,试卷会提交给管理员,管理员首先需要给每一份试卷分配一个阅卷单,单击配置阅卷人按钮,即弹出所有老师的一个弹窗,管理员可以为每一份试卷分配一个或者多个阅卷老师。如下图所示:

30

图4-9 配置阅卷人

老师登录系统后,通过批改试卷按钮,即可看到自己需要批改的试卷,并且显示是否已经批改。单击批改按钮,即可看到作答改试卷的学生的答案以及标准答案,老师只需要给出相应的分数即可,批改试卷列表页如下图所示:

图4-10批改试卷列表页面

老师单击批改按钮,即进入到试卷的批改页面,如下图所示:

4-11 批改试卷页面

if(ac.equals(\)) { String generalsrid = request.getParameter(\); String stsname = request.getParameter(\); 31

HashMap sjmap = dao.select(\String stsids = sjmap.get(\).toString(); for(String str:stsids.split(\)) { String pg = if(pg.equals(\))pg=\; dao.commOper(\+pg+\} stsname='\+stsname+\).get(0); request.getParameter(\+str)==null?\:request.getParameter(\+str); generalsrid='\+generalsrid+\+str+\); go(\, request, response); } 4.3.7课程管理模块

管理员登录系统后,能够多系统的课程进行添加、修改、删除以及查询的操作,单击课程管理页面中添加课程,输入相应的信息后,单机保存按钮即可,添加课程页面如下图所示:

4-12 添加课程

管理员能够在课程管理页面修改和删除某一条课程记录。课程管理页面如下如所示:

32

图4-13 课程管理页面

4.3.8系统用户管理模块

管理员登录系统能够对系统的用户进行添加、删除、修改和查询操作,添加用户的页面如下图所示:

图4-14添加用户页面

同其他管理模块一样,修改和删除操作均从用户管理页面进入,用户管理页面如下如所示:

33

图4-15用户管理页面

4.3.9在线考试模块

学生登录系统后,单击在线考试功能菜单后,即可进入本系统现有的试卷,如下图所示:

图4-15在线考试列表页面

单击进入考试,即可进入该试卷,进行考试,如下图所示:

4-16 在线考试页面

主要实现代码如下:

34

//记录考试信息 if(ac.equals(\)) { String generalsrid = request.getParameter(\); String stsname = request.getParameter(\); String uid = (String)user.get(\); String[] tids = request.getParameterValues(\); for(String t:tids) { String sql = \+generalsrid+\,'\+t+\,'\+request.getParameter(\+t)+\, '\+uid+\,'\+date+\,'','\+stsname+\; dao.commOper(sql); } request.setAttribute(\, \); go(\, request, response); } 4.3.10成绩查看模块

学生和老师登录系统后,均能产看考试的成绩,不用的是学生只能看到自己的成绩,而老师能看到所有学生的成绩,但是页面及功能的实现基本相同,不同是SQL的查询语句。成绩列表如下图所示:

图4-17成绩列表页面

单击查看,即可看到成绩的详细信息以及正确答案和标准答案,如下图所示:

35

4-18 成绩详细页面

36

第五章 开放式无纸化考试系统测试

5.1 测试的意义

软件测试是在软件投入生产性运行之前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量控制的关键步骤。测试是为了发现错误而执行程序的过程。基于不同的立场,测试存在着两种完全不同的测试目的。从用户的角度出发,一般希望通过软件测试发现软件中隐藏的错误和缺陷,以考虑该产品的可接受性;而从开发者的角度出发,则希望测试成为证明软件产品不存在错误的过程,Grenford J.Myers,站在用户的角度就软件测试的提出观点如下:测试目的在于发现错误;成功的测试是发现了至今未发现的错误的测试;好的测试在于能发现至今没有发现的错误。

测试的方法分为黑盒测试、白盒测试。黑盒测试是已知产品功能设计要求,通过测试来证明系统的实现的功能是否符合它本身功能要求;白盒测试是已知产品内部工作的过程,通过测试来证明其内部操作是否符合设计规格的要求以及所有的内部成分是否能够经过检查。黑盒测试意味着要根据软件的外部特性进行,也就是说检查程序的功能是否符合它的功能说明。

5.2 测试方法

在本系统的设计过程中,根据开发所选用的服务器和设计器,开发模式等相关情况,决定了本次工资管理系统的测试方法包括:功能测试、用户界面测试、性能测试、配置测试、安全性和访问控制测试等。

(1) 功能测试:测试学生子系统、老师子系统和管理子系统各个功能界面是否完成该功能的操作,是否可以达到用户的需要,有无容错等;

(2)用户界面测试:测试人机界面的友好,主要通过页面布局,页面主色调的显示及用户界面的版块布局是否符合用户的思想等;

(3)性能测试:测试本网站是否能够正常进行管理员及学生、老师的正常操作,在访问量大时本网站是否能够正常运行等;

(4)配置测试:主要测试所选服务器参数配置是否正常,环境变量配置是否正常,数据库配置及程序与数据库连接是否正常等;

(5)安全性和访问控制测试:安全性测试主要在于数据的安全性,主要体现在数据连接功能中,访问控制测试主要测试错误的用户名及密码进行登录以及不同权限用户账号登录测试等;

37

5.3 系统测试用例

表5-1 系统测试用例 测试方法 功能测试 用户界面测试 性能测试 配置测试 测试用例 管理员系统:管理员登录、添加课程信息、为试卷添加阅卷人等 检查各个功能模块的布局及颜色是否符合正常的需要 是否能添加、修改、删除和查询 服务开启有无报错、程序是否能正确与数据库交互,在程序执行的过程中访问量大时会不会影响服务的配置等 安全性和访问控制测试 使用正确和错误的数据库连接是否能够访问数据,正确的用户名密码和正确管理员账号可以正常登录系统,错误的用户名密码和管理员账号不可登录 5.4 测试内容

1.系统启动测试,测试系统能否正常启动,在系统启动的基础上进行以下测试。 2.添加测试,按照输入要求输入正确的信息能够正确的添加信息并跳转页面。 3.登录功能测试,测试输入一致用户名和密码及角色是否会登录成功,不一致是否留提示并留在当前页面。

4.查询功能测试,按照查询要求选择相应的查询条件,能够显示正确的查询结果。

5.修改功能测试,修改相应的信息,单击提交按钮后,信息更否被修改,并且跳转回相应的页面。

6.退出测试,单击退出按钮,用户能够退出并返回登录页面。

7.删除功能测试,选择想要删除的信息,能够正确的删除信息,并跳转回相应的页面。

5.5 测试结果

系统可以正常启动,用户可以根据权限正确登录,可以正常的添加、修该和删除相应的信息,同时能够按照所有的查询条件正确的查询出用户所需要的信息。同时系统所有的页面连接都可以正常跳转。

5.6 测试结果分析

测试系统是否能够完成与业务相应的处理工作,主要的错误分为以下几类:

38

(1)命名问题:命名问题是在测试过程中频繁遇到的问题,主要原因是命名的不正确,如类与方法重命名,单词拼写错误,特殊符号运用不正确等等。

(2)运行时错误:系统在运行过程中如方法调用不正确,脚本运行中断,导致在系统运行时经常出现错误。

(3)逻辑错误:程序在编写过程中,不可避免的存在一些逻辑上的错误,最终导致程序无法正常运行。

系统经过严格、全面的测试后,整体测试结果还是比较满意的,系统能够完成各功能模块的要求,运行稳定正常。

39

结 论

系统充分利用先进的信息化手段,解决了传统在线考试传递困难的问题,开发出面向学校使用的在线考试试卷运转系统。经过深入的调查和研究,学习借鉴了在线考试近些年的先进理念,并将其贯彻到本系统中,真正实现了自动化的试卷运转。

在设计过程中,首先对这个题目的背景和现状有了较全面的了解;然后对系统进行了需求分析,明确了设计内容、关键问题及设计目标。接着对系统进行结构特性的设计,完成对系统数据库的构建,用户界面的设计;在此基础上使用流程图分析了各个功能模块的算法流程并进行编码;最后通过对整个系统的测试,分析了测试结果。

本系统主要完成了教师对题库进行维护、处理或者是查询的工作,包括对题库进行登记、录入题库基本信息操作;对已经进行登记的题库进行信息修改、查看、删除、办理和查询操作;对所有题库进行信息查询。管理员审核试卷,对已经完成的试卷进行阅卷分配工作。对个人成绩进行信息查询。

本系统的测试结果证明,该系统基本上完成了毕业设计任务书中提出的要求,具有界面友好,易于使用的特点。不过由于调研和开发时间较短,有些方面还存在不足之处,本系统还需要进一步的改进。

40

致 谢

经过这几个月来的勤奋努力,自己终于完成了毕业设计和毕业论文的整体工作,在这里我要感谢我的设计指导教师,是他在论文的选题及技术方向上给我提出许多宝贵的设计意见,使得我得以顺利的完成毕业设计开发及毕业论文的整理,老师渊博的知识、敏锐的思路和实事求是的工作作风给我留下了深刻的印象,使得我终身受益,谨此向老师表示衷心的感谢。

感谢老师们在校期间对我的谆谆教诲和无私的帮助,在实际的写作过程中,我深深体会到了基础理论知识的重要性,在大学阶段只有好好学习,掌握好扎实的理论基础,这样才能在将来的工作中更快的学习,从而得心应手,有所成就,真正成为一个对社会和他人有用的人。

最后还要感谢我的同学们,在这次毕业论文写作中给我的支持和帮助。

41

参考文献

[1] Bruce Eckel. Java编程思想 (英文版.第三版) [M].北京:机械工业出版社 2004.1 [2] 许家珆,曾翎,彭德中.软件工程:理论与实践[M].北京:高等教育出版社,2004.7 [3] 萨师煊,王珊. 数据库系统概论(第三版) [M].北京:高等教育出版社 2004.4 [4] 向传杰. JSP+Servlet基础案例教程[M].北京:电子工业出版社,2006.12 [5] 马斗,邱哲,王俊标.专家门诊—JSP开发疑答200问[M].北京:人民邮电出版

社,2005.10

[6] 李振捷,陈雄,王军.JSP网站开发典型模块与实例精讲[M].北京:电子工业出

版社,2006.8

[7] 杨易(四维科技).JSP网络编程技术与实例[M].北京:人民邮电出版社,2005.10 [8] 杨昭,徐春卉,张新等.JSP课程设计案例精编[M].北京:中国水利水电出版社,

2006.1

[9] 刘中兵,李伯华,邹晨.JSP数据库项目案例导航[M].北京:清华大学出版社,

2006.1

[10] Nicholas C·Zakas .JavaScript高级程序设计[M].北京:人民邮电出版社,2006.11 [11] 王俊伟,史创明.SQL Server 2000中文版数据库管理与应用标准教程[M].北京:

清华大学出版社,2006.7

[12] 刘乃琦,王冲.JSP应用开发与实践[M].北京:人民邮电出版社,2012 [13] 普雷斯曼.软件工程:实践者研究方法[M].北京:机械工业出版社,2011 [14] 刘彩霞.通用在线考试系统设计研究[J].科技信息,2010(11):65-66 [15]

42

本文来源:https://www.bwwdw.com/article/zhdo.html

Top