基于UML的考试系统设计与实现

2016-02-13 07:50:18徐鹏
现代计算机 2016年36期
关键词:题库功能模块管理员

徐鹏

(岭南师范学院数学与统计学院,湛江 524048)

基于UML的考试系统设计与实现

徐鹏

(岭南师范学院数学与统计学院,湛江 524048)

分析一个采用B/S架构作为系统的总体结构、基于JSP的网上考试系统的系统结构、设计和实现过程。系统采用MVC三层体系结构:JSP+JavaBean+Servlet的开发模式,以Access数据库为依托,结合DAO模式,实现对数据库的访问和查询。该设计实现按题型随机抽题组卷、在线考试、考生管理、题库管理、管理员管理,并能在线评分。

在线考试系统;B/S模式;JSP;数据库

0 引言

近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入信息时代,在这数字化的时代里,Internet技术持续迅猛的发展,也给传统的考试模式提出了新的要求[1]。现阶段,学校与社会上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即出卷、考生考试、阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,并且其工作将是一件十分繁琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,从而提高了考试的质量,使考试更趋于公证、客观、激发学生的学习兴趣。

本系统采用JSP、HTML图形编辑与数据库等工具,通过基于Web服务器访问Web页面,可以不受地点,时间限制,通过宽带上网或其他上网方式,借助Internet这一强大、方便的工具,考生可以在互联网上通过浏览器参加考试,为避免现存考试系统联网作弊的普遍缺陷,本系统实现随机抽题组卷,并且选项也随机的方式以杜绝这一现象。管理员可以在互联网上通过浏览器来维护考生信息、试题信息、成绩信息等,实现对整个系统的管理。

1 系统的整体分析与设计

1.1 系统设计过程设计的主要问题:

考生进入系统应该进行身份验证,验证的对象是考生的准考证号和密码,而准考证号应该能够自动生成。考生确认本人信息后进入考试系统。鉴于学校的考试环境一般为机房,考试者之间的距离很近,为了避免考试作弊,在试卷的试题和题量相同的基础上,试题并不相同。在线考试基于网络环境,试卷应该从服务器的数据库随即抽取试题后动态生成,且试题选项也随机生成。另外,系统还应该对考试时间进行控制,离考试时间到了还有五分钟的时候提醒考生加紧时间完成,时间到了会要求考生交卷,若没有提交答卷系统自动完成提交操作。考生选择提交答卷或系统完成提交操作后,应该自动判卷,给出考生分数。

1.2 系统功能模块划分

本在线考试系统可分为两个主要功能模块进行设计,这两个功能模块分别为:

(1)考生功能模块:考生功能模块可以实现考生登录、信息确认、在线考试、完成考试自动判卷并给出分数,如果已经考过试,则不能登录考试。

(2)管理员功能模块:管理员功能模块可以实现管理员登录、考生信息管理、题库管理、考试成绩管理。

系统由一个公共登录界面登录,在登录时如果是学生,则要求输入考生准考证号,如果是管理员登录,则要求输入管理员名,通过在数据库表中查询准考生号或管理员名,并核对登录密码,然后根据不同的角色进入不同的界面。系统功能模块划分如图1所示:

图1 系统功能模块划分图

1.3 细化分析与设计

(1)系统的总体用例图

在前面的需求分析过程中,我们明确了系统的两个参与者及其相关的用例:

管理员:管理员管理维护系统的所有信息,包括考生信息、题库、成绩、用户的信息,管理员可以对这些信息进行增、删、改、查操作。

考生:考生可以进行考试,系统可以自动的评判考生的考试成绩,并显示成绩。

通过前面的需求分析,可以确定系统的总体用例图如图2所示。

图2 系统总体用例图

(2)系统类图

根据系统总体用例图,对于考试系统涉及到的主要类为:试卷、考生、管理员、题库、成绩等。图3给出了各个类之间的关系:

图3 系统总体类图

(3)系统设计时序图

为了更加详细地介绍本系统中各个用例的工作过程,接下来给出本系统中管理员、考生登录,考生考试的UML时序图。时序图反映了各用例的工作流程,以及工作过程中系统各层次间的协作关系[8],这对编码实现非常重要。

考生考试用例由两部分组成:第一部分是从题库当中提取试题信息,随机的生成试卷;第二部分是考生在试题生成之后开始考试,考生需要在规定时间内提交答案,不然系统自动提交。考试完毕之后系统会自动判断答案是否正确然后计算分数并显示出来。

图4 考生登录时序图

图5 考生考试时序图

2 系统详细设计

2.1 数据库设计

数据库被定义为是在计算机存储设备上长期存放的、有组织的、可共享的、合理存放的、互相关联的数据集合[6]。本系统设计的数据库内只含有五张表,所执行的工作也只是一般的增加、删除、修改、查询等操作,为了简单易行,选择了Micosoft Office附属的Access来设计数据库

2.2 数据库结构图

图6 系统E-R图

2.3 数据库结构表

利用Microsoft Access创建数据库,库文件名为Exam.mdb.

根据对系统进行需求分析,及其E-R图,可以明确知道系统中需要保存的信息,这些信息包括:学生信息、管理员信息、成绩信息、题库信息(包括单选题和多选题),对这些信息进行数据库设计。

3 程序模块的实现

本系统主要分两大模块:考试模块和后台管理模块。考试模块的主要功能功能有考生登录,进入考试界面,交卷自动评分并显示成绩。后台管理模块分为考生管理,题库管理,成绩管理,管理员管理。

3.1考试模块的实现

(1)考试页面的实现

考试页面有单选、多选题组成。通过从题库随机抽题,并且选项随机来生成试卷,每次考试都生成不同的试卷。

系统生成试卷使用了随机函数,分别生成两个由十个随机数组成的容器类来分别实行对单选题和多选题的随机抽取,从而达到每个考生的考试题目内容或顺序不同。题目选项的随机则只需简单的利用四个随机数来实现。页面右上方显示有30分钟的倒计时(JavaScript技术),并在离考试结束5分钟和1分钟发出提示,考生要在30分钟之前完成交卷,否则系统自动交卷并统计分数。单选题抽题和选项随机的主要代码实现如下:

(2)成绩显示页面的实现

考生交卷后,系统自动统计考生的成绩,显示在页面上,并修改数据库中考生的笔试成绩,标记该考生为已考试(HasTest设为1),便于考生登录和考试时的检验。

3.2 后台管理模块

后台管理存在一个管理员信息的会话(Session),用来避免跳过管理员登录页面而直接进入后台的情况,防止信息的泄漏。其中考生管理页面,考生成绩管理页面都设有打印和打印预览功能,实现对考生准考证和成绩单的打印,利用JasperReports&iReport技术,通过iReport开发报表,生成.jrxml文件,运用JasperReports的第三类库对.jrxml文件加载,编译,利用数据库填充数据进而实现打印和打印预览功能。打印功能的主要代码实现如下:

(1)考生信息管理的实现

考生管理页面显示了考生的基本信息,包括考生姓名、性别、准考证号、身份证号等。考生页面包含考生信息的显示和考生信息录入、删除、修改、查询的链接,从而实现对数据库的增、删、改、查的操作。考生信息录入实现批量录入,从而可以一次录入大量的考生信息,考生信息的查询通过输入考生姓名或准考证号或身份证号的关键字,可以很方便的知道该考生的信息。其中考生准考证号通过代码实现自动生成。

(2)题库管理的实现

题库管理页面分单选题、多选题显示,并分别设有增加新题目、修改原有题目、删除题目、模糊查找题目的功能。

(3)成绩管理的实现

成绩管理页面显示有考生姓名,准考证号,笔试成绩,上机操作成绩,总成绩,并设有成绩查询,成绩录入和后门程序功能。其中考生笔试成绩随着该考生考完试而自动生成笔试成绩并在笔试成绩处显示。

成绩录入主要是对考生的上机操作成绩的录入,通过JavaScript的技术使之管理员输入考生操作成绩后能够自动与笔试成绩相加并在总成绩处显示,成绩的录入实现批量录入,方便一次性录入大量考生的成绩。后门程序实现对数据库中考生成绩表的修改,通过后门程序,管理员可以方便地修改考生的笔试和上机操作成绩。成绩录入JavaScript代码实现如下:

(4)管理员信息管理的实现

管理员信息的管理只能对信息的修改,不可以做其他的操作。

4 结语

本在线考试系统基于B/S模式架构进行开发,具有开发简单,共享性强的特点。系统不需要安装客户端或应用程序,可直接运用浏览器随时随地进行访问。维护简单方便,只需要改变网页,及可实现所有用户的同步更新。使用在线考试系统可使考生考试更规范、更科学,同时也可减轻教师的工作量,节约时间,提高工作效率。本系统的主要特点是(1)实现了随机抽题组卷,杜绝联机作弊现象。(2)考试结束后,系统自动阅卷并评分。

[1]乔正洪.计算机网络技术与应用[M].北京:科学出版社,2011.6.

[2]向学哲.JSP程序设计教程[M].北京:人民邮电出版社,2006.1.

[3](美)Karl Moss.Java Servlet开发人员指南[M].北京:清华大学出版社,2003.

[4]张亚飞.JSP开发王[M].北京:电子工业出版社,2008.7.

[5]申莉莉.数据库系统与Access教程[M].北京:清华大学出版社,2003.

[6]李明.数据库原理与应用[M].北京:科学出版社,2006.

[7](美)Deepak,Alur.J2EE核心模式[M].北京:机械工业出版社,2002.

[8]王先国.UML统一建模使用教程[M].北京:清华大学出版社,2009.4.

Design and Implementation of Test System Based on UML

XU Peng
(School of Mathematics And Computation Science,Zhanjiang Normal College,Zhanjiang 524048)

Analyzes to use B/S structure as the overall system architecture,the JSP-based online examination system structure,design and implementation process.System uses three-tier MVC architecture:JSP+JavaBean+Servlet development model to the Access database as the basis,combined with the DAO pattern to achieve access to the database and query.The design and implementation of the random question test paper according to the kinds of questions,online exams,candidates management,exam management,and administrators to manage,and to score online.

Online Examination System;B/S Mode;JSP;Database

1007-1423(2016)36-0077-06

10.3969/j.issn.1007-1423.2016.36.019

徐鹏(1977-),男,硕士,讲师,研究方向为软件工程、数据挖掘、网络安全

2016-10-20

2016-12-15

湛江市科技计划项目(No.2016A01001)

猜你喜欢
题库功能模块管理员
我是小小午餐管理员
“勾股定理”优题库
我是图书管理员
少先队活动(2020年8期)2020-12-18 02:32:07
我是图书管理员
少先队活动(2020年7期)2020-12-18 01:48:39
“轴对称”优题库
可疑的管理员
“轴对称”优题库
“整式的乘法与因式分解”优题库
基于ASP.NET标准的采购管理系统研究
软件导刊(2016年9期)2016-11-07 21:35:42
输电线路附着物测算系统测算功能模块的研究