APP下载

基于Android的云考勤系统设计与实现

2016-03-01单滢滢张俊杰

计算机技术与发展 2016年9期
关键词:考勤云端客户端

方 巍,单滢滢,张俊杰

(南京信息工程大学计算机与软件学院,江苏南京 210044)

基于Android的云考勤系统设计与实现

方 巍,单滢滢,张俊杰

(南京信息工程大学计算机与软件学院,江苏南京 210044)

学生考勤工作是课堂教学管理的一个重要环节。目前,高校大多采用传统手工的方式进行考勤,这种方式存在易出错、效率低、共享性差、无法解决代考、脱岗等问题。随着“移动互联网”时代的来临,迫切需要更科学先进的解决方案。为此,开发了一款基于Android的智能云考勤系统,该系统基于百度云平台和百度Map服务,利用GPS定位技术,采用Android移动开发框架,借助SQLite轻量级数据库及MySQL关系数据库。同时,系统还提供精确的基于位置服务(LBS)的定位考勤服务。该系统在实际应用中不仅方便学生使用,而且方便教师和相关工作人员可以随时随地使用以了解学生的出勤情况,从而使教学管理更加科学和有效。

学生考勤系统;Android;云计算;位置服务

0 引言

随着信息社会的日益发展,计算机技术成为当下必不可少的科技力量,其应用涉及的领域也越来越广泛,人们的生活越来越离不开计算机应用技术的发展所带来的便利。同时,以前很多只能在台式计算机上运行的软件系统,也越来越掌上化、移动化。其中,重要的转变就是手机软件市场的发展,将很多应用功能浓缩到随身携带的手机上。此外,4G网络的广泛应用也为移动应用部署到云端提供了更优异的网络环境。

学生考勤不仅是为了监督学生上课出勤,督促学生完成课业,同时也为学生在校安全提供了保障,减少意外事故的发生。虽然手机软件数量越发庞大,但是对于学生考勤系统的开发,在手机市场上还属于比较新的概念。目前,就普通大学的随堂考勤情况来看,教师大多还是采用传统的手工考勤模式。这种模式,缺少数据管理以及实时传递机制,不利于考勤数据的实时管理与共享且存储效率低。因此,开发出一款手机考勤管理系统、实现实时智能考勤具有一定的研究价值和意义。

文中基于Android的智能云考勤系统的实现展开论述,主要介绍了系统的总体设计、数据库设计、服务器和客户端设计、云端部署以及搭建环境等。

1 系统总体设计

为满足高校考勤的实际需求,系统主要分为两大模块,即部署到云端的服务器和客户端。其中,云服务端租用百度云BAE,将核心服务端应用及数据库封装到云,实现数据的持久化,通过网络通信可随时随地实现考勤数据的管理;客户端主要是Android[1-4]手机端的功能实现,根据LBS服务[5-6]定位模块获取手机位置,通过HTTP协议访问云端数据库并进行对比,匹配成功则进行相应操作,最终将数据传送到云端。其工作流程图如图1所示。

服务端的设计主要为客户端的数据访问提供机制,分别在Android端采用C/S设计模式及浏览器端采用B/S设计模式。用户不仅可以通过Android手机访问数据,也可以通过浏览器进行操作。为了更高效地操作考勤系统,该系统设置了教师端和学生端两种访问权限,分别有不同的操作功能。其中,教师端可对全部考勤数据进行操作,学生端则只能操作个人考勤信息。另外,系统增设了管理员终端以管理用户权限。图2为系统功能模块结构。

图2 系统功能结构

具体来说,系统的基本功能包括:计算基站定位、基础数据管理、考勤记录检索、组织机构管理和权限控制等。具体的系统整体架构如图3所示。

(1)采用现有的百度云平台,实现数据的实时存储功能。

服务器借助云计算技术,部署在云平台上。主要包括Web Service[7]服务器、LBS服务平台和学生数据库三个子模块。基于现有的百度云平台、新浪云平台,通过移动终端将大量的网络资源统一起来,提供强劲的查询处理能力和更快的服务器响应能力。

(2)Android客户端模块开发。

由在线考勤、考勤统计、信息汇总、账号管理等模板组成。考勤的同时,手机会自行启动位置模块,定位并发送数据到云服务器,与数据库中的位置信息进行比对,进而完成定位。

(3)用户界面。

主要由用户登录界面、学生端主界面、教师端主界面等界面组成。在MVC设计模式的实现中,用户界面主要用于界面显示的实现,直接面向用户,是用户对系统最直接的感受。

2 数据库设计

为了动态管理考勤数据,需要设计一个合理规范的数据库[8]。当下,数据库的产品也有很多。MySQL数据库因其开源、免费,同时又兼具简单、灵活、支持多语言平台等优点,在中小型软件设计中备受青睐。该系统采用MySQL数据库对考勤数据进行管理。

针对高校考勤的实际情况,需要拟定用户信息、课程信息、考勤信息三方面的表。用户表主要记录各种用户的身份信息,包括自身id、姓名、密码、性别、联系方式等相关属性;课程信息是表设计的重点,包括课程id、院系id、班级id、选课id、任课教师id以及学生id等具体属性;考勤表需要包含的信息除了相关课程信息外,还需要有考勤情况操作时间等必要属性。根据数据库的规范化要求[2],可以将用户表细分为:管理员表、教师表、学生表;将课程表细分为:学院表、班级表、课程表;考勤表记录项。利用Power Designer软件内置的强大功能,可以根据上文构建的PDM模型[9]自动生成该考勤系统的数据库脚本,完成数据库的代码实现。

3 Android客户端设计

众所周知,Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,随着移动开发技术的不断发展,Android开发环境也在不断优化。该系统的客户端就是在此环境下开发的,在E-clipse中集成的ADT开发平台上,为了兼容多平台的安卓系统,选用API 8作为最低兼容SDK。

Android的设计遵循MVC框架,即模型-视图-控制模式,将业务逻辑层、数据层和视图层分离。视图层采用XML文件进行设计,主要有登陆界面、注册界面、查询界面,另外,根据登陆的权限,教师端可以访问全部考勤信息界面、考勤数据管理界面等,学生端可以访问个人信息界面、签到界面等。业务逻辑层主要通过消息—活动机制(Intent-Activity)实现数据的传递和操作,并根据HTTP协议实现对云端服务器的通信访问。数据层主要通过云服务端的访问机制,在云端进行数据操作的具体实现。数据层则分成移动数据库SQLite及部署在后台考勤服务器端的MySQL。其中,MySQL数据库通过Web Service方式与业务逻辑层进行数据交互,而SQLite轻量级数据库则通过Android类库被各个应用程序组件调用。图4为客户端的整体模型结构。

运行考勤软件时,手机会自行启动位置模块,定位并发送数据到云服务器,与数据库中的位置信息进行对比,进而完成定位。Android平台是一个非常适合提供LBS应用服务的平台,LBS由移动通信网络和计算机网络结合而成[10],两个网络之间通过网关实现交互。移动终端通过移动通信网络发出请求,经过网关传递给LBS服务平台;服务平台根据用户请求和用户当前位置进行处理,并将结果通过网关返回给用户,用户从Android端登录认证。进行签到时,学生在课前1分钟根据系统中课程表对应颜色块完成相应课程的签到工作,还可由任课教师发布此次课程签到图形或颜色方便完成签到。系统手机终端运行部分效果图如图5所示;查看考勤情况界面如图6所示。

图5 手机端登录界面

另外,为方便班主任和辅导员查课,系统还提供了查课功能,能实时了解本班今天实际出勤情况。基于云计算的实现,提供了移动用户在云平台存储和处理数据的服务[11],学生只需在手机上安装一个考勤软件,就可以随时随地将位置传到云端,并与事先设置的考勤地点和考勤时间进行对比,从而判断出是否是有效的考勤,教师也可随时查询云端考勤记录。

4 云服务器端设计

服务器端的设计同样采用了MVC框架。视图层是面向用户的界面显示层,主要通过JSP文档实现,并运用CSS样式进行页面统一设计,规范布局,使可视化效果更好。业务逻辑层中,在作为控制器的Servlet中接收JSP传送来的请求,并根据JSP的请求生成JavaBean的实例,对MySQL数据库进行处理[12]。数据层是服务器端的核心,几乎所有对数据库的操作都在该层进行。系统采用JDBC技术完成数据操作,服务器接收浏览器的HTTP数据请求,在Servlet接收到请求后,利用JDBC提供的标准API对数据库进行操作,并执行相应的SQL语句,最后将结果返回给用户[13]。

云计算是并行计算、分布式计算和网格计算的发展,因其具有的超大规模、虚拟化、高可靠性、通用性、按需服务及廉价等诸多优势,往往成为开发者推广应用的首选[14]。将系统部署到云端,不仅意味着用户可以随时随地访问数据,还使得应用的优化升级变得更加方便安全。由于云计算具有存储方便、安全等特征,再加上手机客户端软件的优势,可以很容易地集成巡更、请假、通讯录等功能。百度开放云平台拥有较多的功能、轻应用等,也有开发者服务,在申请开发者账号后,将系统及数据库部署到云端,并设置了三级域名,通过SVN实现应用代码的管理。运行服务器端应用,根据权限登入系统,系统主要功能有在线考勤、班主任查勤、账号管理。

借助强大的云计算技术,不需要维护任何服务器,只需要简单地上传应用程序到百度云BAE中,BAE就可以提供随时随地的共享服务。这样将系统连同数据库一起部署到云端,结合云的高效安全,简单易用,真正实现了系统的实时服务。

5 结束语

通过介绍一种基于Android的智能云考勤系统的实现方案,对系统的总体设计及数据库的设计进行论述,并给出了可行的设计方案;同时介绍了客户端及服务器端的设计思路,提出将应用部署到云端的实行方案;介绍了系统的实现环境。系统的设计是基于当下流行的开发语言Java,客户端采用市场占有率高的Android系统为开发平台,服务器端在集成了JSP运行环境的Eclipse中实现,并在本机及云端通过测试,证实了其设计方案的可行性。

[1] Mednieks Z,Dornin L,Meike G B,et al.Programming Android [M].[s.l.]:O’Reilly Media,2011.

[2] 吴亚峰,苏亚光.Android应用案例开发大全[M].北京:人民邮电出版社,2011.

[3] Ostrander J,刘文斌.Android UI基础教程[M].北京:人民邮电出版社,2012.

[4] Conder S,Darcey L.Android移动应用开发从入门到精通[M].北京:人民邮电出版社,2010.

[5] Ferraro R,Aktihanoglu M.Location-aware application[M].[s. l.]:Manning Publications,2011.

[6] 陈霄凯,刘明辉.基于Google Maps的通用定位服务平台的开发研究[J].计算机技术与发展,2011,21(11):215-218.

[7] 顾 宁,刘家茂,柴晓路.Web Services原理与研发实践[M].北京:机械工业出版社,2006.

[8] 丁智斌,石浩磊.关系数据库设计与规范化[J].计算机与数字工程,2005,33(2):114-116.

[9] 郝进义.数据库设计规范及设计技巧研究[J].计算机光盘软件与应用,2012(12):176-177.

[10]顾 聪,陈益强,刘军发,等.基于Android平台的室内LBS系统设计与实现[J].计算机工程与设计,2012,33(1):396 -401.

[11]Fan Xiaopeng.A survey of mobile cloud computing[J].ZTE Communications,2011,9(1):4-8.

[12]Liu Chien-Hung.Data flow analysis and testing of JSP-based Web applications[J].Information and Software Technology,2006,48(12):1137-1147.

[13]王玉英.基于JSP的MySQL数据库访问技术[J].现代计算机,2010(14):67-70.

[14]方 巍,文学志,潘吴斌,等.云计算:概念、技术及应用研究综述[J].南京信息工程大学学报:自然科学版,2012,4 (4):351-361.

Design and Implementation of Cloud Attendance System Based on Android

FANG Wei,SHAN Ying-ying,ZHANG Jun-jie
(School of Computer and Software,Nanjing University of Information Science&Technology,Nanjing 210044,China)

Students’attendance is an important part of the university teaching management.At present,many colleges and universities are mostly using the traditional manual way of attendance,which has these problems such as the error-prone,low efficiency,poor sharing,omission,off-job and other issues.With the advent of the mobile Internet era,it needs to find more scientific and advanced solutions.To this aim,an intelligent cloud attendance system based on Android has been developed.It is based on Baidu cloud platform and Baidu Map service,using the GPS technology and the Android mobile development framework with SQLite database and MySQL relational database. In addition,it also provides accurate Location Based Service(LBS)for positioning attendance service.The system has already been in the application.Through the system,it is not only convenient for students to use,but also for teachers and staff to manage the students’attendance easily and efficiently whenever and wherever.So,the system has greatly made the teaching management work more scientific and efficient.

student attendance system;Android;cloud computing;location based service

TP302

A

1673-629X(2016)09-0061-04

10.3969/j.issn.1673-629X.2016.09.014

2015-08-01

2015-12-09< class="emphasis_bold">网络出版时间:

时间:2016-08-23

全国大学生创新实践训练计划项目(201410300026)

方 巍(1975-),男,副教授,硕导,博士,CCF高级会员,研究方向为气象信息处理、数据挖掘和云计算等;单滢滢(1993-),女,硕士研究生,研究方向为云计算。

http://www.cnki.net/kcms/detail/61.1450.tp.20160823.1112.018.html

猜你喜欢

考勤云端客户端
你的手机安装了多少个客户端
你的手机安装了多少个客户端
“人民网+客户端”推出数据新闻
——稳就业、惠民生,“数”读十年成绩单
四海心连·云端汇聚
事业单位人员考勤管理存在的问题及对策
在云端永生
云端之城
基于人脸识别技术的考勤应用研究
智能人脸识别考勤系统
浅谈用人单位的考勤管理在劳动管理中的重要位置