基于Android系统下的在线校园考试系统
2017-06-07谢永浩高嵩峰
谢永浩 高嵩峰
摘 要:针对传统意义上烦琐的考试和受地域限制的网上考试,设计了一个基于Android平台的在线考试系统。该系统以Android为终端,提供不受地域限制的在线考试、自动阅卷等相关服务,在校学生可通过移动网络(或Wi-Fi)随时随地完成考试,具有操作简单、灵活便捷的特点。
关键词:Android;在线考试;移动网络;自动阅卷
中图分类号:TP31 文献标识码:A DOI:10.15913/j.cnki.kjycx.2017.09.121
在各大高校的教育中,考试作为一个重要的环节,起到对学生学习状况的监控、评测知识掌握程度的作用。以往传统的考试模式经过人工组卷、人工阅卷、成绩统计和试卷分析等几个过程,往往需要花费大量的人力、物力和财力,整个过程烦琐而低效。因此,传统考试方式已经不能完全适应教育信息化建设和现代教学的要求。
将传统的考试模式与移动化联网相结合,开发出一款基于Android智能操作系统的考试程序,能够降低考试成本,减轻监考人员的负担。基于Android移动智能操作系统下的考试模式,已经成为高等院校考核学生学业水平的趋势,是对原有考试方式的发展和创新,符合信息时代的发展要求。
1 Android系统的发展
Android是Google公司于2007-11推出的一款针对智能手机、平板电脑等移动设备的操作系统,它是以Linux为基础的开源移动设备操作系统。
正是因为Android操作系统支持开源免费的特点,国内大部分手机厂商基本采用Android操作系统,在校大学生所使用Android操作系统的手机也占很大比例。Android系统在国内的发展主要是对其操作系统的二次开发,即以Android系統的源码为基础,Android操作系统以其自身的开放性吸引了越来越多的开发者。随着用户的增多,Android系统越来越受大众的欢迎,在智能手机市场中占有重要位置。
2 Android的基本功能
Android(安卓)应用通常是由一个或多个基本组件组成,最常用的组件就是Activity、 Service、Broadcast Receiver和Content Provider等。
2.1 Activity
在开发应用程序的过程中,Activity就是一个单独的屏幕,承载了所有程序的UI界面和运行流程。
2.2 Service
1个Service是一段长生命周期的、没有用户界面的程序,可以用来开发比如监控类的程序。
2.3 Broadcast Receiver
Broadcast Receiver是广播接收器,主要过滤应用程序之间所传输的信息。
2.4 Content Provider
Android平台中的Content Provider是内容提供者,主要用于应用之间的数据提供和交换。
3 Android考试系统基本设计
3.1 系统框架
基于Android的在线学习系统主要从2个方面构建架构——从客户端的角度出发和从服务端角度出发,即C/S架构模式,它是软件系统的体系结构。服务器端为了更好地利用Android系统资源,采用B/S模式,提供所需API借口,以方便客户端访问。系统框架如图1所示。
3.2 客户端设计
根据考试需求,客户端主要有考生登录、进入考试、成绩查询、退出考试和信息查询等功能。客户端结构如图2所示。
考生可以通过考生登录界面,由Activity向用户呈现UI界面,考生输入相关数据——学号及其密码,点击进入考试或者成绩查询等。用户界面如图3所示。
比如点击进入考试,数据传递到后台服务器端,后台就会检测数据,并返回相应数据,将考生所需考试科目内容传到客户端的UI界面。考试科目界面如图4所示。
点击成绩查询,可以查看各学期的考试成绩,也可以重新查看本次考试(前提是考生已提交试卷)情况。如果考生想要自行修改密码,可以注册账号。
3.3 服务端设计
服务器端就是向用户提供调用各种API的,是连接客户端与数据库之间的桥梁。该考试系统服务器后台运行,创建线程处理学生所提交的各种操作,主要功能有:学生信息和试题数据存储、数据处理和后台管理。系统网络流程如图5所示。
对于系统更新和API升级,只需要保证接口名与返回值的一致性,可在服务器端改进代码,无需操作到客户端。这样做,不仅提高了开发效率,还能保证系统运行的稳定性。
4 系统功能
4.1 服务器端功能
服务器端采用的是MySQL数据库,由于其具有速度快、体积小、成本低、源码开放的特点,所以,选择MySQL作为应用数据库。该数据库不仅用来接收客户端所输入的数据,更重要的是,它将在校学生的个人信息直接导入,从而方便服务端对其进行相应的数据处理。数据库中最主要的表有考生信息表、课程表、试题表和试卷表等。当服务器端接收到来自客户端用户发出的请求信息时,服务端依据信息内容调用相应的API作回馈处理,并将处理后的数据通过API接口返回到UI界面上,以便考生及时了解相关内容。
4.2 客户端功能
在Android考试系统中,客户端分为3层,即:①界面层。由Activity组件向用户(考生)提供可视的UI界面,用户(考生)可根据自身需求对其进行相应的操作。②业务逻辑层。用户操作后,服务器后台可根据用户的操作创建线程进行处理。③最后通过第三层——数据访问层。
4.3 组卷的随机功能
MySQL数据库中存储着各种表,其中包括试题表。试题表中存放着各种与考试科目相关的试题,比如判断、选择、简答题。数据库中的试题按照题型、分数和难易程度存放。考试试题由系统管理员录入。随机组卷程序如图6所示。
对于表内的各类题型,每道题目都有各自的编号,当数据库接收到组卷命令时,程序中就会生成随机数去抽取对应编号的试题。这样做,不仅能保证试题的顺序不同,也能保证试题内容上的差异,从而大大提高试卷质量。
5 结束语
该系统运用软件工程的思想,设计并实现了基于Android平台的在线考试系统。虽然该系统中还有许多问题需要改进,但是,系统的设计与开发是对传统考试形式的创新和发展,具有高效率、低耗能、随时随地便捷操作等特点,是今后其他系统发展的方向。笔者希望有一天能够真正实现这类系统,为考试工作提供便利。
参考文献
[1]Boschmann Erwin.Teaching chemistry via distance education.
Journal of Chemical Education,2003,80(06).
[2]訾世庆.浅议无纸化网络考试系统的选择[J].科技创新导报,2008(8).
[3]邓凡平.深入理解Android[M].北京:机械工业出版社,2011.
[4]李刚.疯狂Android讲义[M].北京:电子工业出版社,2011.
[5]刘世贵.基于Android的在线学习系统的设计与实现[J].中国高新技术企业,2014(21).
[6]梅尔.Android高级编程[M].王鹏杰,霍建同,译.北京:清华大学出版社,2010.
[7]胡剑锋.基于Android的在线考试系统的设计与实现[J].电脑知识与技术,2015(12).
[8]Luke Welling Laura Thomson.PHP and MySQL Web Development.4th Edition.Addison-Wesley Professional,2004.
〔编辑:白洁〕