APP下载

基于Android的选课系统的研究与实现

2014-10-27刘啸宇范辉

无线互联科技 2014年9期
关键词:移动终端

刘啸宇 范辉

摘 要:论文实现了一个基于Android智能操作系统的选课系统。该系统使用方便灵活,实现了高校选课流程中的所有功能,为学生提供了利用手机、平板等移动终端进行选课的环境,有着良好的用户体验。本系统服务器采用开源的tomcat服务器,以MySQL作为后台数据库,网络数据交互遵照HTTP协议。最后,文章对系统的扩展及优化提出了一种解决方案。

关键词:Android;移动终端;选课系统

随着移动通信网络和无线网络的不断发展,智能移动终端的迅速普及,移动互联网对社会各个领域产生了深刻的影响和重大的变革。移动互联网不仅仅改变人们的生活方式,它也对人们的工作方式产生了巨大影响。因此,本文提出并实现了一种基于Android手机操作系统的选课系统。利用该系统,学生选课可以脱离传统PC机和基于B/S技术的选课系统,充分使用已经飞速普及的移动终端设备(如智能手机和平板电脑等)进行选课。这为高校学生提供了一种宽松的选课环境,同时也减轻了传统校园网络的压力。

目前在很多高校之中,都拥有自己的选课系统,但是当今使用的选课系统大多是基于ASP或者JSP等技术,采用B/S架构利用计算机访问网络进行选课和选课信息处理。传统的选课系统模式,即学生利用网络,在计算机上提交自己的选课信息,由于受设备的固定性和可移动性差等原因,常常导致学生错过选课时间或者不能选修到自己理想的课程。本文实现的选课系统利用当今高速发展的4G移动互联网络和智能移动终端设备,针对传统选课业务,实现了全部的选课流程,优化了页面布局,拥有良好的用户体验。

1 Android系统介绍

Android系统是由Google发布的一种基于Linux的自由及开源的智能移动终端操作系统,其对智能移动终端的迅速普及起着至关重要的作用。本论文实现的选课系统使用的硬件是运行Android操作系统的智能移动终端。

Android系统架构共包括四层如图1所示:

1.1 应用程序层

Android会同一系列核心应用程序包一起发布,该应用程序包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。

1.2 应用程序框架层

开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。

隐藏在每个应用后面的是一系列的服务和系统, 其中包括:丰富而又可扩展的视图(Views),可以用来构建应用程序,甚至可嵌入的web浏览器。内容提供器使得应用程序可以访问另一个应用程序的数据,或者共享它们自己的数据。资源管理器提供非代码资源的访问。通知管理器使得应用程序可以在状态栏中显示自定义的提示信息。活动管理器用来管理应用程序生命周期并提供常用的导航回退功能。

1.3 系统运行库层

Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。同时,该层还包含了一个Java核心库,该核心库提供了Java编程语言核心库的大部分功能。

在这一层还包含了一个Dalvik虚拟机,每一个Android应用程序都在它自己的进程中进行,都拥有一个独立的Dalvik虚拟机实例。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都由Java编译器编译,然后统一转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于Linux内核的一些功能,比如线程机制和底层内存管理机制。

1.4 Linux内核层

Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也是作为硬件与软件栈的抽象层。驱动:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。

2 系统结构设计

该系统的整体框架如图2所示,系统的客户端采用C/S模式(客户端/服务器模式),系统的服务器端采用B/S(浏览器/服务器)和C/S两种模式实现。其中,用户与客户端交互,系统为其提供良好的用户界面;管理员与服务器交互有两种方式,一种是通过传统PC机的浏览器登录系统进行交互,另一种是使用智能终端设备登录系统交互,管理员对服务器端进行维护管理,服务器端想客户端提供数据下载、数据上传接口用于数据交换。

系统客户端和服务器端通过HTTP协议进行数据交互,系统的网络架构图如图3所示。系统的数据处理和业务逻辑全部在服务器端进行,用户使用客户端进行的登录和选课等操作指令均发送到服务器端,业务逻辑和数据处理对用户是透明的,从而保障数据和用户信息安全,防止数据泄露和恶意用户在客户端对系统业务逻辑和数据安全进行破坏。

3 系统功能实现

3.1 服务器端功能

该系统服务器端主要实现三个功能:存储数据功能、处理数据功能和管理员管理系统功能,各模块的实现如下:

⑴数据存储功能。服务器端提供数据的存储功能,保障数据的一致性,服务器上存储每一个开课科目的详细信息、选课记录、精品课程等数据。在校的注冊学生可以登录系统对自己的培养计划进行编制,以方便学生选课。

系统采用MySQL数据库存储数据,采用回滚和备份数据多重策略保证数据的一致性、正确性和可恢复性。

⑵数据处理功能。服务器端要求能够对客户端发来的请求信息进行解析,然后将处理后的数据返回给客户端。本系统在客户端进行的所有操作都被提交到服务器端,并由服务器进行处理以保证数据的安全性。处理完成后,服务器端把结果返回给客户端,客户端呈现结果给选课学生,客户端专注于界面的显示效果以提高学生选课的便捷性。

⑶管理员管理功能。管理员负责维护系统后台信息,包括新生注册、毕业生离校注销、开设课程信息的添加修改等等。同时管理员负责审核学生的选课信息,并更新学生的选课状态。

3.2 客户端功能

本系统中客户端的框架图如图4所示。

系统开放之前,管理人员根据在校学生学籍信息添加学生用户,用户与在校生学号一一对应,此后新用户只在每学年开始前根据毕业生离校信息、新生入学信息和学生降级信息进行一次维护,学生无注册系统账号权限。管理员根据各个学院教学主任提交的排课信息表录入待选课程的基本信息,包括课程名、课程号、授课教师、考核方式、课程等级、授课时间和班容量等。课程信息的设置工作智能由管理员设置,该信息维护在后台通过shared preferences方式进行存储,此后客户端每次选修课程的请求仅仅读取该设置的课程ID信息,然后把该ID作为参数传送给服务器端,有服务器端进行数据处理和选课信息存储。

为保障数据一致性,数据的更新处理全部由后台处理,前台学生看到的永远都是最新的数据。该过程的详细流程如图5所示。

系统运行后首先判断是否联网,如没有联网,提示用户设置网络;联网成功后从服务器上下载默认的XML文件,解析后判断是否有数据更新,若有则下载数据并更新前台页面数据,若无则读取本地文件显示在前台。由于移动终端的应用庞杂,内存使用十分受限制,对XML的解析采用SAX方式(SAX方式顺序读取XML文件内容,不会将XML文件完全加载,可以高效的使用内存)。

4 结束语

本文实现了一个基于Android的选课系统,本系统实现了高校学生选课流程的所有功能,包括预选课、选课、编制培养计划和退补选课程等,系统有着良好的可扩展性。根据学校的需求,可以陆续将学校其他系统并入实现系统的移动智能化,比如现在大部分高校的MIS系统、图书管理系统等系统的功能并入选课系统,实现一个具有高校全部系统接口的移动端高校信息系统。

由于系统中一门课程可能存在开设多个教学班的现象,当一个教学班未达到选课人数时,需要由管理员把这部分选课学生并入同一时间相同课程的其他教学班。针对这个情况系统可以进行优化,后续实现系统自动并班,减轻管理员工作负担。

总之,在移动互联网飞速发展的今天,人们的生活方式、工作方式都在发生变化,高校作为一个掌握和研究前沿技术的领域,实现高校选课系统研究有着广阔的实用前景。

[参考文献]

[1]Jaroslav Tulach.Practical API Design Confessions of a Java Framework Architect[M].北京:人民郵电出版社,2011.

[2]李刚.疯狂Android讲义[M].第二版.北京:电子工业出版社,2010.

猜你喜欢

移动终端
基于移动终端平台的编辑学习和交流方法
国内移动数字出版发展现状及对策研究
基于移动终端的高校移动学习体系构建研究
移动终端云计算应用分析
手机APP在学生信息化管理中的应用探索