基于MyEclipse系统的在线考试系统设计与测试
Design and Testing of Online Examination System Based on MyEclipse

作者: 钱韫竹 , 魏家鹏 :辽宁工程技术大学,辽宁 阜新;

关键词: 在线考试面向对象B/S模式Online Exam Object-Oriented B/S Mode

摘要: 本文以网络远程教育中在线考试为背景,从考试的实际出发,通过在对考试的流程详细的分析基础上,不仅对在线考试系统进行了详细的分析与设计,还对整个系统进行了测试。系统是基于面向对象理论,采用MyEclipse作为开发工具,基于Struts和Hibernate框架技术完成的B/S模式体系结构在线考试系统。近年来,网络远程教育发展迅猛,已成为不可阻挡的历史潮流,网上考试系统的应用将更加广泛。

Abstract: The article takes the online exam in the network distance education as the background. Based on the actual examination, based on the detailed analysis of the test process, it not only analyzes and designs the online test system in detail, but also tests the whole system. The system is based on object-oriented theory, using MyEclipse as a development tool, based on Struts and Hibernate framework technology to complete the B/S mode architecture online test system. In recent years, the rapid development of network distance education has become an irresistible historical trend, and the application of online examination systems will be more extensive.

1. 前言

目前,世界上许多国际考试都采用在线考试的方式,比如:微软认证,思科认证,惠普认证等,这些考试都是通过互联网连接支持在线考试,不用舟车劳顿地赶到公司所在地,这样就节省了时间。许多的国内企业也纷纷效仿国外的网络考试机构,借用外国的考试模式,打破了传统的考试模式,国内许多公司开始开发在线考试系统,如驾照模拟考试系统,充分利用了网络考试的特点。随之而来的是各大院校推广网络教学,网络考试。在线考试系统作为现代教育的一个子系统,是确保教育教学质量的重要办法。在线考试系统的开发目的是使网络远程教育中的在线考试模式从手工记录转变成信息管理,为在线考试人员提供方便条件。对在线考试的实际情况进行调研之后,进行详细的需求分析,对现有的管理模式进行改进,开发出一套新型的管理系统,从中领悟系统开发的思想,掌握系统开发的流程和方法。系统开发将围绕在线考试工作的实际情况,使之能迅速适应网上远程教育的需要。

2. 系统业务流程分析

在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等 [1]。业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。

根据相应的需求,设计一个用于学生考试的在线考试系统,用于帮助学校进一步推进科技教育。本次系统会根据学校以及学生老师的需求来设计相应的功能。本系统将会有三个主界面:管理员界面,学生界面,老师界面。系统有三种登陆用户,每一种用户分别负责而不同的职能。三种不同的登录用户分别用不同的账号登陆考试系统。管理员将学生和老师的信息存储在数据库之中,并且可以对课程进行管理。老师对整个题库进行管理,还可以对成绩进行统计查询。学生可以登录网站进行答题,答题结束后可以选择提交。学生将试卷提交之后老师登陆考试系统进行阅卷。

为了便于管理以及出于安全性的考虑,本系统分别为三种用户设计了一个界面。管理员界面用于对老师学生的管理,以及对课程的管理。教师界面用于试题的添加和删除,老师阅卷并提交学生考试成绩。学生界面用于在线考试以及分数的查询。由于此系统用于对学生的测试,所以在界面上一定要简洁明了,学生能够很方便的查看自己的考试成绩,并且确保系统的安全性。

3. 系统功能模块

在线考试系统采用了模块化的设计方式,目前共设计了九个模块,分别是阅卷模块、考试模块、分数查询模块、课程管理模块、题库管理模块、试卷管理模块、考生管理模块、老师管理模块、成绩统计模块,如图1所示。同时,为了适应未来考试模式的变化,预留了考试系统模块化程序设计接口,根据未来在线考试模式的要求,添加相应的考试功能模块,从而提高了在线考试系统的适用性。

Figure 1. Function models of system

图1. 系统功能模块

4. Use Case建模

根据上述需求,本系统主要有三类活动者,即管理员(对整个系统进行管理),学生(使用系统进行考试以及对分数的查询),老师(进行判卷提交学生考试成绩)。根据系统需求分析,结合系统参与者的定义分析,得到如下几个模块:系统管理员登陆模块,课程管理模块,学生老师模块,题库管理模块,试卷管理模块,阅卷模块,学生考试模块。

其中管理员登陆模块的用例包括用户登录以及用户密码修改。课程管理模块的用例包括管理员对课程的添加和删除。学生老师模块的用例包括管理员对老师和学生的添加和删除。题库管理模块的用例包括老师对考试题目进行添加和删除,并且可以添加和删除此门课程的试题。试卷管理模块的用例包括老师可以对已有课程添加试卷,并在题库中选择已有试题添加到试卷中。阅卷模块的用例包括:教师登录和批改试卷。学生考试模块的用例包括学生登陆系统可以进行考试和自己的考试成绩查询。

5. 系统架构设计

本系统使用Struts和Hibernate框架来整合实现系统的架构,使用Hibernate实现了数据库和类之间的转换。系统中比较核心的对象分层,可分为:用户界面层、控制层、业务逻辑层、数据访问层,还有在运行中会用到的公共部分提取出来,数据访问包,业务逻辑包,控制包,对象夹包,工具包。数据访问层的职责是:实现数据的持久化操作,实现事务处理 [2]。业务逻辑包的职责是:接收控制包传来的请求并处理,与数据访问层进行交互,发送数据操作的请求,并接收数据操作结果。控制包的职责是:给用户界面中控件注册监听器,监听用户界面行为;从用户界面获取用户输入的数据,调用业务处理层,将数据传到业务逻辑层;接收业务处理传回的数据,并传给用户界面层显示。数据访问包的主要职责是:根据数据库表在系统中建立对于的数据库表对象,实现系统中数据格式化集中处理。在UI、Action、DAO层都起到封装数据的作用 [3]。程序入口、数据库连接、工具包(即通用数据包)职责如下:包含系统中普通的通用数据,有系统入口类,负责制定系统进入界面;常用工作栏类,在每个界面中底部都包含的工具栏定义;包含数据库连接类的定义。

6. 系统编码

Java是一种跨平台开发语言。Java语言能开发出跨平台的应用对象和应用程序,具有以下特点:简单、面向对象、分布式、解释执行、安全、跨平台、高性能、多线程等特点。java是面向对象的编程语言 [4]。在java的世界里,万物皆对象,面向对象编程的好处就是能够在语言级别模拟现实世界的场景,简化开发。

Hibernate封装了所有数据的访问细节,减少了编写SQL语句的工作量,只要配置好Java对象和数据库表的关系间的映射就可以用面向对象方法编写程序。Hibernate体系结构如图2所示。

Figure 2. Frame of hibernate

图2. Hibernate体系结构

7. 系统测试

测试是开发时期最后一个阶段,软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程。

软件测试是整个系统开发中非常重要的一部分,是保证软件质量的重要手段。在编写本系统的过程中要对每个模块进行测试,不能等到所有的都编程结束再去测试。软件测试分为单元测试、集成测试和系统测试。单元测试就要在编程过程中对模块进行测试。例如,在编写完jsp页面后就要进行界面测试,看一下界面是否能正常显示出来,这样才能够避免对后面编程过程的影响。在编写代码的过程中,每次实现一个功能都要进行一下单元测试,例如在实现管理员登陆功能时,就要立刻测试管理员是否能成功登陆上去。在做题库管理模块之前,一定要对课程管理模块进行测试,只有课程管理功能能按照设计实现,才能保证在对题库管理模块编写过程中不会因为之前的错误而影响后续功能的实现 [5]。在编程的过程中,一定要保证题库管理模块的正常运行,才能继续开发试卷管理模块。集成测试就是要把几个模块放在一起测试,在编程过程中进行集成测试,这样才能看出有联系的几个模块是不是能够正常的运行。例如,看看课程管理模块和题库管理模块是否关联正确,学生考试模块中学生是否能选择正确的试卷,这些都是在集成测试阶段应该做的。在整个系统开发完成之后,一定要对整个系统进行全面的测试,保证管理员能够实现对老师、学生和课程的管理。老师能够对题库、试卷的管理,并且要测试是否能实现阅卷功能,以及对学生考试成绩的统计;测试学生是不是能够实现在线考试功能。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40%以上。而在软件开发的总成本中,用在测试上的开销要占30%到50%。只有做好测试,才能发现系统的缺陷,及时对系统进行修正,才能提高软件质量。

8. 结束语

在线考试系统将考试由纸张考试转变成无纸化的考试模式,这样就提高了考试效率,减少了人力、财力的使用,并可以随时随地对学生进行测试,降低了老师的工作量。本系统实现了基本功能,管理员可以很好地对整个系统进行维护,老师可以对整个题库进行管理并阅卷以及使用成绩统计功能,学生可以进行考试和分数查询。考试试题都保存在题库中,可以重复使用。这样也减少了纸张的使用,保护了环境。随着网络教育的发展,网络远程教育中在线考试系统的应用将越来越广泛。

文章引用: 钱韫竹 , 魏家鹏 (2019) 基于MyEclipse系统的在线考试系统设计与测试。 软件工程与应用, 8, 99-103. doi: 10.12677/SEA.2019.83012

参考文献

[1] 张海藩. 软件工程导论学习辅导[M]. 第五版. 北京: 清华大学出版社, 2008.

[2] 冯艳茹, 苏文芝. 基于MVC设计模式的Struts框架的设计与实现[J]. 安阳工学院学报, 2013(6): 69-71.

[3] 陈艳萍. SQL Server2008数据库案例与实训教程(高等职业教育十二五创新型规划教材) [M]. 北京: 北京理工大学, 2012.

[4] Budi Kurniawan, 著. Java 7程序设计[M]. 俞黎敏, 徐周乐, 俞哲皆, 译. 北京: 机械工业出版社, 2012.

[5] 辛运帏. Java程序设计[M]. 北京: 清华大学出版社, 2011.

分享
Top