基于Android 的在线考试系统的设计与实现
2016-03-07胡剑锋
胡剑锋
摘要:论文主要实现了一个基于Android平台的在线考试系统。该系统上是以Android为终端,提供在线考试、客观题的阅卷工作等相关服务,通过移动无线网络技术实现在线考试系统。系统主要包括Android客户端、服务端二大功能结构模块。
关键词:Android;在线考试;客户端;移动
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)34-0082-03
Abstract:This paper mainly realizes an online examination system based on Android platform. The system is based on Android as the terminal, provides online examination, objective examination papers and other related services, through mobile wireless network technology to achieve online examination system. System mainly includes Android client, server two functional structure module.
Key words: Android; online test; client; mobile
随着互联网技术的迅速发展,特别是近年来校园内无线网络的全面覆盖以及WiFi的使用范围不断扩展,基于Android平台的智能手机等移动智能设备在大学校园内迅速得到普及,对校园日常生活特别是学生生活产生了巨大的影响。因此,本文设计并实现了一种基于Android平台智能手机的在线考试系统,以适应校园的这种变化。利用该系统,教师可以对考题进行更新和维护,不断扩展对知识点考查的覆盖,学生平时也可以在手机上下载安装该系统的APP进行在线试题练习,在教师开放考试后,可以进行在线考试,系统会随机抽取相应试题进行自动组卷,以脱离传统纸质组卷考试。
目前在很多高职院校中都拥有自己的在线考试系统,但基本上都是基于B/S或C/S等结构模式,这些考核形式在灵活度、自由度等方面有所欠缺。特别是在电脑设备资源有限的情况下,导致安排考试场次时间不足,教师也无法及时获取学生阶段性学习结果的反馈信息,从而影响到整个教学过程的顺利实施。
目前高职院校学生在线考试系统基本上是由专门的理员来负责管理维护,将系统部署到相关实验室,在需要进行考核的时候,通过系部教务与实验室管理员沟通过后,安排班级考试具体时间和实验室,这种方式就需要与学生人数相对应的计算机,才能完成相应考试,否则只能错开场次。
本文介绍胃基于Android的在线考试系统的设计与开发,采用Java和Eclipse开发环境,后台数据库采用MySQL作为数据库开发环境。
1 Android操作系统介绍
Android操作系统平台是由Google公司开发的一款专门面向移动应用平台的开源操作系统,由Google和二十多家业界重量级企业联盟提供技术支持。目前在校大学生中绝大多数的学生使用的智能手机都采用Android操作系统,只要是Android操作系统拥有丰富的硬件资源和各种APP应用程序、而且因为Android操作系统支开源免费的特点,全国各大手机生产商基本采用Android操作系统。目前已在大学校园中的智能手机市场中占据龙头地位。
Android设备相比于其它智能设备而言,具有相对的价格优势,而且性能也相当出色。考虑学生的实际情况,Android手机在学生中还是占有相当大的比例,在前期系统试用或推广上也具有很大优势,所以采用Android设备作为考试客户端。
Android平台中给出了四大组件(Activity、Service、Broadcast Receiver、Content Privider)供开发者使用,这四大组件分别实现了不同的功能:
1)Activity
在Android开发中,Activity是非常重要的组件,其承载了所有程序的UI界面和运行流程,其概念和网页相类似。
2)Service
Service依赖后台运行,可以不停地运行,与Activity的主要区别是界面,但可以和其他组件进行相互交互。
3)Broadcast Receiver
Broadcast Receiver是广播接收者,主要过滤应用程序之间传输的信息,然后接受该信息并对之响应的一类组件。
4)Content Privider
Content Privider是内容提供者,主要用于应用之间的数据提供和交换,也可以使用它对外部应用提供数据。
2 在线考试系统设计
2.1 系统整体设计
本系统的整体框架图如图1所示,客户端需要安装APP,并获得访问网络授权,采用C/S模式,以更好地利用Android系统资源,服务器端采用B/S模式实现,提供各种API接口,方便客户端对服务端的访问。
服务器端的数据主要来自数据库以及客户端输入数据,服务端的API接口则用来完成系统业务逻辑操作以及对客户端发来的数据进行处理,处理结果封装成JSON格式回传给客户端。客户端则完成两方面工作,一方面提供操作界面,接收来自于用户的输入(包括数据和指令),发送至服务端进行处理;另一方面接收来自服务端的处理结果,并进行解析处理,用于呈现给用户查看。客户端一般不直接进行数据处理,只是进行数据的中转和解析工作,保证数据的安全性。
根据前期调研分析,整个系统Android客户端、服务端二大功能部分。
2.2 详细设计
1)客户端设计
根据前期调研结构,该模块前台功能结构如图2所示,客户端主要完成以下功能:
l 考生登陆账号,并能进行相应管理。
l 系统完成自动组卷,从试题库中随机抽取试题,以保证多样性。
l 在线考试功能,自动阅卷并给出成绩。
l 计时功能,计时结束,能够自动交卷。
l 提供成绩查询功能。
考生登录该系统后,就可以打开在线考试模块,查看可考科目,进行科目选择,系统进行自动组卷,然后进行该科目的考试,考试结束后,系统进行阅卷及评分,显示成绩,考生看到成绩后即可退出登录,服务器记录该考生已经完成本场考试。
考生登录该系统后也可进行密码修改和身份信息的完善,也可进行成绩查询。
每门课任课老师来导入参加该门课考试的学生信息。
2)服务端设计
本系统服务器端主要实现以下功能:数据存储功能、数据处理功能和后台管理系统功能,各模块的具体实现如下:
3 系统功能实现
3.1 服务器端功能实现
1)服务器端的数据存储功能。本系统采用MySQL数据库进行数据存储,数据库最主要的表是试题表,考生信息表,课程表,试卷表,考试信息表等。在校的注册学生由管理员直接导入学生信息,课程可考学生信息由任课教师进行数据选择即可。
2)数据处理功能。服务器端主要功能就是进行数据处理,那就需要提供各种API供客户端调用。服务器端要求能够处理客户端发来的请求信息,然后服务器依据请求调用相应的API来作出相应的处理,并将处理后的数据通过API接口返回给客户端并在UI界面上作出相应显示,以便考生能够及时了解考试信息,并进行相应操作。这样避免了客户端直接进行数据库操作,节约客户端操作时间,也方便进行客户端开发,同时保证了数据库的安全。
3)后台管理功能。系统管理员主要负责维护系统后台信息,包括考生信息导入、待考课程信息,考试时间信息,考试通知等。同时也统筹负责课程考试的安排和成绩的导出,并更新学生的考试状态标志。任课教师还要及时更新试题,保证试题的充足性。
3.2 客户端功能实现
本系统中客户端的框架图如图4所示。
在考试系统正式开考之前,教务管理员必须把考试课程以及学生信息导入该系统,学生的用户名就是该生的学号,如该考生信息已经存在系统中,则不需要导入。也就是说该系统只有在新增考试课程或新增考生后,才需要导入数据。各个学院教务管理员还需录入任课教师基本信息,以方便该门课程老师能够导入参加课程考试的学生信息。
课程任课教师在学生开考前要导入该门课程的考试试题,以便在考生考试时能进行组卷;同时也要导入该门课程的考生信息。
为保证系统数据一致性,由服务器端来进行数据的更新,客户端只进行检测下载。打开客户端必须进行联网检测,检测本地数据是否与服务器数据保持同步,如不一致则下载更新数据。这一操作过程的详细流程图如图5所示。
考生启用客户端后,第一步先进行检测网络,判断该手机是否已经联网,如未联网,则必须进行相关设置,连接互联网,为节省流量也可连接校园网,联网成功后方可进入客户端进行后续操作;第二步用户登陆系统;登录成功后客户端自动从服务器上进行更新。考生可以根据实际情况来选择考试科目等操作。
4 结束语
本文提出并实现了一个基于Android平台的在线考试系统,该系统力求改变传统的考试形式。与传统考试方式相比较,本系统客户端运行在Android平台,具有灵活、方便等特点。
本系统不足之处在于只是一个考试系统,后期要与日常教学相结合,用来完成日常作业的布置,阶段性测试以及平时练习结合起来,提供课程知识点的讲解。
参考文献:
[1] 姚昱旻. 基于Android的移动学习终端平台的开发与研究[D]. 长沙:中南大学, 2008.
[2] 姚昱旻,刘卫国. Android的架构与应用开发研究[J]. 计算机系统应用, 2008(11):112-114.
[3] 郁亚男.基于Android平台的人机交互的研究与实现[D]. 北京:北京邮电大学,2011.
[4] 杨子天,邵宇. 基于Android平台的在线考试系统的设计与实现[J]. 电脑知识与技术,2014(3):554-558.
[5] 高爱梅.基于Android平台的在线考试系统的设计与实现[J]. 农业网络信息,2015(9):107-108.
[6] 张思,吴开诚,廖恩阳. 基于Android平台的在线考试练习系统的设计与实现[J].计算机时代,2015(3):27-29.