移动教务管理系统的设计与实现
【摘 要】教务信息管理作为学校管理的重要手段,在学校的发展中起到举足轻重的作用。文章分析了系统功能,介绍了相关技术,探讨了基于Android系统的软件的开发细节,实现了一个可以运行的是系统客户端。
【关键词】Android 移动教务 Ksoap2 Web Service
引言:基于Web的教务系统需要有互联网和计算机的支持,对于信息量较少的查询工作,例如课程表信息的查询,就显得比较繁琐。尤其是在远离电脑的某种紧急情况下,需实时查询教务信息更是困難。教师和学生如果可以利用手机查询课程信息、成绩信息等将会使学校生活变得非常方便。
1、系统分析
登录基于Android的移动教务系统,首先要进行身份确认,用户角色分为教师与学生两类。从稳定性与安全性考虑,系统将数据库保存在学校服务器上,用户可以随时下载,下载成功即可使用本地数据。
1.1 功能分析
基于Android的移动教务系统要实现以下基本功能:
(1)用户登录。根据提供的用户名、密码进入系统,角色分为教师和学生两种,不同的角色进入系统后将展示不同的内容。支持多用户记住密码以及自动登录功能。
(2)系统设置。系统设置可以使得软件具有较好的灵活性、通用性,该部分功能至少应该能设定当前学年、学期,以及学期教学周数和开学日期。
(3)下载课表。考虑到网络查询可能存在耗时而导致查询效率低,以及手机移动网络由于某种原因不能连入网络的局限性,所以为了课表查询的快捷、便捷和节省移动网络流量,用户可从服务器上下载指定学期自己的课表信息到本地嵌入式数据库SQLite中保存。
(4)显示课表。经过比较权衡,本系统采用比较传统的课程表格的形式来显示课表信息,每个课程信息采用不同的背景颜色呈现。
(5)课表课程管理。该模块包括本地课表信息的增加、删除以及修改,当从服务器下载的课表跟实际课表有出入或者用户出于其他考虑的时候,用户可以自行管理本地课表信息。
(6)成绩查询。用户可以查询指定条件的课程成绩信息。当用户为学生时,可以查询指定学期所有课程的成绩;当用户为教师时,可以查询指定学期和班级的所有学生的某课程的成绩信息。
(7)作业管理。用户可以方便地记录某一堂课的作业信息,并能对其管理。
(8)时间提醒。可以调用Android系统的闹钟功能,管理对某课程的提醒。
(9)清除登录。用户登录时可以选择记住密码和自动登录,该功能就是要清除某用户的登录信息。
1.2 技术分析
(1) Web Service技术
Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的Web的应用程序[6]。通过使用Web Service,我们能够像调用本地方法一样去调用远程服务器上的方法。我们并不需要关心远程的那个方法是用什么语言编写,也不需要关心远程的方法是基于什么平台。
Web Service希望实现不同的系统之间能够用“软件—软件对话”的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现“基于Web无缝集成”的目标。
(2) SQLite数据库
SQLite是D.Richard Hipp 在 2000 年开发的一个小型嵌入式数据库,是遵守ACID的关系型数据库管理系统。它是完全独立的,不具有外部依赖性[8]。SQLite的设计目标是嵌入式的,目前已经在很多嵌入式产品中使用了它,它占用的资源非常低。
与常用的数据库管理系统有所不同,在 SQLite 中并没有数据库服务器的概念。SQLite 不能用标准的 SQL语句对数据库操作,对它的操作要调用专用的 API 实现。这些 API 提供了查询、插入、删除等功能。
2、系统设计
2.1 系统目标
系统的目标确定如下:
(1)针对教务系统目前的发展状况和存在的问题,深入调查用户需求,并对拟开发系统进行可行性分析,做出切实可行的用户需求报告以及功能性和非功能性的需求说明。 (2)对系统基础类进行设计与编码、实现所有功能模块并进行大量的功能与性能测试。具体设计用户登录、系统设置、课表下载、作业管理、课表查询、课表管理、课表显示以及成绩显示等模块。在系统开发过程中,严格按照项目开发各个时期的内容进行,同时对存在的技术难点进行分析、解决。 (3)实现一个可以实际运行的基于Android的移动教务系统。
2.2 客户端功能模块划分
根据功能需求分析,对系统客户端进行如图2-1所示的模块划分:
3、系统实现
3.1 Web Service功能实现
.NET平台内建了对Web Service的支持,包括Web Service的构建和使用。
3.2 SQLite数据库实现
创建数据库主要用到了SqlLiteUtils类,该类继承了SQLiteOpenHelper类。本系统数据库设计初衷是为了在手机上保存学生和教室各个学期的课表信息,首次查询,需要先从服务器上下载数据至本地数据库保存,这样即使将来手机没有网络,用户也可以方便快速地查询相关信息。(下转302页)
(上接441页)3.3 客户端功能实现
系统代码结构如图3-2所示。com.ericWx.schedule包中包含了本系统的几个Activity;com.ericWx.schedule.Entity包中是对课表信息(CourseInfo)的一个抽象;com.ericWx.schedule.ScheduleView包中实现了用于显示课表的自定义控件;com.ericWx.schedule.utils包中封装了一些常用工具类。
图3-2 系统代码结构
系统运行后部分效果如图3-3,图3-4所示。
限于篇幅,下面以“下载课表”模块的实现来说明系统开发的相关细节。初次使用本系统,需要先从服务器上下载课表数据到本地SQLite数据库中。
4、系统测试
在安装了IIS的Windows操作系统、Microsoft SQL Server 2005数据库以及Visual Studio2010集成开发环境的机器上发布Web Service,利用实验室的无线路由器以及不同屏幕大小的Android智能手机多台对系统进行了反复多次测试。经过大量测试,系统在功能和性能方面都能良好运行。
5、结束语
基于Android的移动教务系统客户端实现了对课表信息的查询、增加、修改以及删除,系统可以管理课程的课堂作业信息,可以查询学生成绩,并可以通过基本设置以提高系统的灵活性。在实验室环境下对系统功能进行了测试,运行良好。
参考文献
[1]黄舜.基于Android平台的校园通软件[D].浙江师范大学,2012.
[2]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010.
[3]罗震.Android平台环境下应用程序架构的设计与实现[D].华中科技大学,2009.
作者简介:张灵芝(1975-),女,江苏无锡人,硕士,讲师,研究方向为软件技术、无线通信技术。