摘 要:本文介绍了基于Android平台的学生签到系统的设计和实现。由于传统的点名方式既费时又费力还无法解决学生代签的问题,因此该项目通过Android平台和GPS定位系统设计实现了学生注册、登录,利用GPS定位发送位置进行签到的基本功能。这样开发完成的学生签到系统运行稳定,可用性好,方便快捷。
关键词:学生签到系统;Android平台;GPS定位系统
中图分类号:TP312.1 文献标识码:A
1 引言(Introduction)
现代社会,随着计算机技术和网络通信技术的不断发展和迅速崛起我们的生产生活方式也发生了巨大的变化。同时由计算机设计的一些软件和系统为我们的生活提供了许多方便,从而也代替了一些较复杂的手工程序。基于这种思想,本文设计实现了一个基于Android平台的学生签到系统。相比于传统的点名方式如教师点名签到方式,利用手机GPS定位发送位置进行签到既可以节省时间,又解决了学生代签的问题,既方便又快捷,也提高了课堂质量,能够准确反映学生出勤情况。
2 系统与开发环境介绍(The introduction of the
system and development environment)
2.1 系统介绍
Android,是一个以Linux为基础的开源移动设备操作系统。该平台由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层的架构,主要分为三部分:底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序、短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分[1]。由于Android和操作系统进行了紧密的整合并提供了许多API和工具,所以用户可以方便地使用Android手机。
2.2 开发环境介绍
学生签到系统将Android SDK 4.0作为开发环境,Eclipse作为开发平台,Java作为开发语言,SharedPreferences和SQLite作为数据库。开发过程中还需用到sqlitejdbc-v033-nested.jar包,struts及Navicat 9。sqlitejdbc-v033-nested.jar包的使用是为了支持jdbc访问SQLite数据库。同时,struts提供了清晰的MVC架构和大量的标记库,可以有效地节省开发时间,因此本文选用struts作为开发的框架。专为简化数据库的管理及降低系统管理成本而设Navicat的是一套快速、可靠并价格合理的数据库管理工具。它能简单安全地创建、组织并访问及共用信息。
3 系统分析(System analysis)
3.1 可行性分析
现代的大学课堂中,老师常常通过点名或学生用纸签到的方式进行签到。这种传统的签到方式不仅管理复杂,统计困难,还浪费时间,也无法解决学生代签的问题。针对这些问题,若能够利用现在我们人人必备的智能手机进行签到,就可以便于教师管理,节省时间和成本,提高效率。
3.2 需求分析
3.2.1 系统总体需求分析
系统角色说明具体如下:
根据管理系统的使用范围,将用户划分为教师用户和学生用户两类。
(1)教师用户:第一次使用时需要注册,再次使用时可以绑定用户名避免频繁登录。开启签到功能后能够接受学生的签到信息。
(2)学生用户:第一次使用时首先需要注册,通过系统录入自己的信息,再次使用时可绑定用户名。待教师开启签到功能后进行定位签到发送位置也可以随时查询签到情况。
3.2.2 非功能需求
为了能够使系统稳定、安全且高效地运行,系统应该满足以下功能需求。
(1)可扩展性和开放性
一个好的系统程序需要不断地改进和创新,因此在开发编制本系统时,就需要很好的可扩展性和开放性,使得在开发过程中主体结构不变,可以随时根据用户的需求不断将新的功能加入到系统中去或者减少不必要的功能,而不必将整个系统大范围改动,省时省力。
(2)易用性和易维护性
为了方便用户的使用,提高签到系统的交互流畅性,需要简化注册流程,操作提示要出现在合适的位置,并且用户如果出错要及时反馈,尽可能地为用户创造方便,也需要为用户提供一个简便快捷友好的操作界面。
(3)响应速度
在用户注册完毕提交后,系统应提高反馈速度,在短时间内提示用户注册是否成功,若成功则提示“成功注册”,若不成功则迅速返回注册,重新注册。作为衡量学生签到系统的重要性能指标提高响应速度是很重要的。
4 系统设计(System design)
4.1 系统基本功能模块设计:
根据本系统的设计需求及理念将系统划分为注册、登录和定位签到三个模块。
(1)注册模块:教师和学生需要输入用户名(学生的用户名为学号)、密码、姓名及验证码,若注册成功则提示“成功注册”,否则返回到注册页面清空信息并提示错误的输入信息。
(2)登录模块:教师和学生需要填写自己已注册的用户名、密码及验证码,在确定后有提示信息是否记住密码,选择“是”则以后默认登录信息直接登录。
(3)定位签到模块:系统利用Android手机的GPS定位功能进行软件开发。Android关于地理定位的API主要集中在android.location软件包内[2]。因此可以利用Android手机提供的API从平台的GPS模块来获取地理位置数据,并将数据通过GPRS传输到服务器,自动分析人员所在区域,将定位信息发送给手机。根据系统设计需求将此定位签到模块分为两部分。
a.教师签到情况查询部分:教师需要开启签到功能,可设定签到规定时间,随后系统将自动列出已签到学生的姓名、学号和签到位置信息。
b.学生签到部分:待教师开启签到功能后,学生首先开启自动定位功能,点击“定位”键,并将已定位到的位置在对话栏里发送。
图1 学生签到系统总体需求用例图
Fig.1 The use case diagram of students' overall
demand on the signing system
4.2 数据库设计
数据存储是在Android系统开发中一项很重要的技术,在Android系统开发中常见的四种数据存储方式有文件存储数据、SharedPreferences存储数据、Content Provider存储数据和SQLite数据库存储数据[3]。其中SharedPreferences是Android平台上一个轻量级的存储类,用来保存一些标志位状态和一些常用配置。SQLite是一款轻型的数据库,占用资源低,处理速度快。因此根据它们的特点本系统采用了SharedPreferences和SQLite数据库两种存储方式用来存储数据。数据通信接口采用JDBC,通过JDBC向数据库开发人员提供了一个标准API,可以用Java API编写数据库应用程序。根据系统功能设计要求及功能模块划分,系统主要数据表如表1—表3所示。
表1 学生信息表
Tab.1 Studentsinformation table名称 字段名称 数据类型 约束
用户名 Id integer 主键
密码 password varchar Not Null
姓名 Name text Not Null
表2 签到信息表
Tab.2 The signing information table
名称 字段名称 数据类型 约束
签到号 Id integer 主键
学生账户 student_id varchar Not Null
签到日期 Date date Not Null
签到时间 signtime time Not Null
表3 签到参数表
Tab.3 The parameter table 名称 字段名称 数据类型 约束
参数记录号 Id integer 主键
签到地点 place varchar Not Null
签到点经度坐标 longitude float Not Null
签到点纬度坐标 latitude float Not Null
5 结论(Conclusion)
基于Android平台开发的学生签到系统将手机自带的GPS定位功能和Java编程相结合来读取GPS信息获取学生位置。这样设计实现的签到系统方便了教师的教学管理,解决了学生代签的问题,提高了课堂效率。相信随着Android手机的不断普及和发展,这种能够解决现实问题的应用软件也会越来越受欢迎。
参考文献(References)
[1] 安卓软件开发网.Android的系统架构认识,2013.
[2] 代敏.基于Android平台下手机定位程序的设计及实现[J].计 算机与数字工程.2012,40(4):143-145.
[3] 尹京花,王华军.基于Android开发的数据存储[J].数字通 信,2012,39(6):79-81.
作者简介:
白肖璇(1993-),女,本科生.研究领域:软件开发.