基于Java的在线考试系统的设计与实现

2015-06-02 05:20邢翀
科技创新导报 2015年6期
关键词:Java语言在线考试模块设计

邢翀

摘 要:随着计算机和互联网技术的发展,传统的人工出卷、现场答卷、人工阅卷等方式正在发生着巨大变革。如何使得考试过程变得方便高效,是现代教育的一个重要课题。该文设计了一个由管理员模块、教师模块和学生模块构成的在线考试系统,并基于Java语言介绍了该系统的实现方法。该系统能够降低考务过程中的人力和物力消耗,从而降低考试的组织和管理成本,同时提高试题的客观性、保密性,使考试结果更加准确公正,大幅提高考查的效率和质量。

关键词:Java语言 在线考试 模块设计 实现

中图分类号:TP311.52 文献标识码:A 文章编号:1674-098X(2015)02(c)-0051-02

在计算机如此普及的今天,自动化管理已经深入到人们生活的方方面面,但绝大多数校园仍采用传统的考试模式。一次考试要经过人工出题、答题、阅卷、成绩统计、试卷分析几个步骤,整个过程低效而繁琐,在安全、效率、成本等诸多方面所表现出极大的弊端[1]。于是,针对传统考试的延伸与变革——网络化在线考试应运而生。该方式能够有效提高考试的管理与考核水平,具体表现为[2]:客观性、保密性强;迅速准确、公平公正;成本降低、效率提高。

1 项目背景与需求分析

1.1 Java语言

Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言。一经推出,便因其简单与优越性得到全世界的关注。Java语言有如下主要特点[3]:

(1)Java语言是简单的:Java语言由C/C++语言发展而来,它抛弃了C/C++中一些很少使用且容易让人迷惑的特性,如操作符的重载、多继承、指针等,Java还提供了内存管理机制,能够自动释放垃圾内存。

(2)Java语言是一种纯面向对象程序设计语言:在Java中,一切皆对象,万物皆对象。它的具体表现在类与类的单继承(extends),类与多个接口的实现(implements),接口与接口之间的多继承等。

(3)Java语言是健壮的:由于Java语言抛弃了C/C++中一些影响程序健壮性的特性,比如指针、操作符的重载等,并提供了强类型、垃圾管理、异常处理、安全检查等机制,使得Java更加健壮。

(4)Java语言是平台无关的:Java是运行在Java虚拟机(JVM)之上的,只要安装了JVM的机器和系统,都可以运行Java程序。Sun公司在发布Java时提出的理念就是:一次编译,到处运行。

(5)Java语言是可移植的:Java的可移植性來源于其平台无关性,只要在安装了JVM的地方,都可以运行Java程序。因此,Java程序既可以运行在Windows系统下,也可以运行在Unix系统下。

(6)Java语言是解释、编译并存的:一个用Java语言编写好的文件(.java文件)在Java平台上被编译成字节码格式,然后才被JVM拿去给操作系统执行。这个过程先讲Java程序解释成JVM认识的格式,JVM再编译成机器认识的语言。所以Java语言是解释型的。

1.2 在线考试系统的需求分析

在线考试系统的整体目标是实现信息的规范化、系统化和自动化,并易于管理人员和用户的维护和操作,能够真正方便师生的考务工作。具体来说,该系统应满足如下要求:

系统应具有友好的用户界面,使用户感觉操作方便、响应迅速,并愿意再次使用系统。

系统应具备在线运行功能,保证用户可以随时随地应用该系统。

系统应具备安全的数据存储和方便的数据操作等功能,并具备一定的自动操作能力。

系统应具备一定的业务逻辑判断能力,如设定考试时长、超出考试时长后不允许作答等。

2 系统总体设计

通过对考务工作者的调查与分析发现,用户对于在线考试系统的需求可分为三个方面:

第一是管理员需求:试题库维护和用户管理,主要包括对题目和用户的增、删、改、查功能。

第二是教师需求:登陆查看学生成绩,并在必要时进行试卷评阅并完成打分。

第三是学生需求:确认自己的基本信息、密码修改、选择试卷类型进行考试及查看自己考试历史记录。

针对以上需求,本文设计的在线考试系统分为管理员、教师、学生三个模块,系统功能模块如图1所示。

系统功能确定后,我们进行数据逻辑结构和系统数据库的设计。针对在线考试系统中的管理员、教师、学生、试卷四个主要实体,我们设计其实体表和实体E-R图如图2所示[4]。

管理员表(管理员ID,账号,密码,状态)。

教师表(教师ID,账号,密码,部门,职位,邮箱)。

学生表(学生ID,账号,密码,学校,专业,班级,学号,身份证号)。

试卷表(试卷编号,试卷类型,试卷状态,题目内容)。

以实体E-R图为基础,我们将完成对数据库中各个表的详细设计,本系统采用MySQL数据库[5]。因篇幅有限,我们仅列出管理员表作为示例,包括对字段名、类型、长度、是否为空等信息的具体描述,如表1。

3 系统详细设计

3.1 管理员模块

登陆界面下,用户选择“管理员”身份,然后输入用户名、密码和验证码,验证通过后即进入管理员界面。在该界面下,管理员可以对用户和题目进行添加、删除、修改、查询操作。完成操作后,点击退出按钮,退回原来登陆的界面。管理员模块功能图如图3所示。

3.2 教师模块

登陆界面下,用户选择“教师”身份,然后输入用户名、密码和验证码,验证通过后即进入教师界面。在该界面下,教师可以对评阅状态为“待评阅”的试卷进行批阅,可以查看状态为“已批阅”的试卷信息,包括试卷编号、试卷类型、题目得分以及考生信息。完成操作后,点击退出按钮,退出到登陆界面。教师模块功能图如图4所示。

3.3 学生模块

登陆界面下,用户选择“学生”身份,然后输入用户名、密码和验证码,验证通过后即进入学生界面。在该界面下,学生可以查看并修改自己的个人信息、修改密码,并查看自己参加过且状态为“已评阅”的考试列表和试卷信息。另外,学生可以选择考试类型并点击“开始作答”按钮,即进入相应的试卷界面参加考试。完成操作后,点击退出按钮,退出到登陆界面。学生模块功能图如图5所示。

3.4 代码实现

该系统的代码实现较长,因篇幅有限,我们以三个模块的共同功能——“选择身份”为例,列出选择管理员身份的具体实现代码。

if("1".equals(Shenfen)){

GuanliService guanliService =(GuanliService)this.getBean("guanliService");

Guanli guanli=new Guanli ();

guanli.setName(Name);

guanli.setPassword(Password);

boolean jieguo=guanli Service.login(guanli);

if(Jieguo){

request.setAttribute("shenfen",shenfen);

request.

setAttribute("Name",Name);

request.setAttribute("Password", Password);

request.setAttribute("YZCode", YZCode);

Guanli guanliFd = guanliService.get Guanli ByName(Name);

session.setAttribute("guanliFd", guanliFd);

return guanliPrivate(mapping, form, request, response);

}

return mapping.fdForward("Err");

4 結语

综上,该文基于Java语言设计了在线考试系统的模块与架构,并基于Java语言进行了具体实现。对该系统的基本测试结果显示,系统能够实现文中提出的需求,且在处理效率、稳定性、可扩展性、安全性方面都有良好的表现,能够运用到真实的校园考试组织及管理过程中。

参考文献

[1] 寇得宝.传统考试的弊端及改革的意义[J].小学教学参考,2007(4):10-11.

[2] 宋春晖,陈焕东,郑海涛,等.基于Web的在线考试系统的设计与实现[J].琼州学院学报,2005(2):34-36.

[3] 孟祥武.Java技术简介[J].现代科学仪器,1998(4).

[4] 杨睿娜.数据库设计过程中E-R图向关系模型的转换[J].硅谷,2009(11).

[5] 顾治华,忽朝俭.MySQL存储引擎与数据库性能[J].计算机时代,2006(10):8-10.

猜你喜欢
Java语言在线考试模块设计
基于小型ERP管理系统
大学物理在线考试与分析系统
效率观下高校课程考试形式的改革探索
大数据背景下在线评教与在线考试融合的思路探讨