基于Android的课堂考勤系统的设计与实现.docx
《基于Android的课堂考勤系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Android的课堂考勤系统的设计与实现.docx(41页珍藏版)》请在冰豆网上搜索。
基于Android的课堂考勤系统的设计与实现
本科毕业论文
题目
基于Android的课堂考勤系统的设计与实现
DesignandImplementationofClassroomAttendanceSystemBasedonAndroid
姓名
学号
专业
计算机科学与技术
指导教师
职称
副教授
中国·
二〇一七年五月
分类号密级
华中农业大学楚天学院本科毕业论文
基于Android的课堂考勤系统的设计与实现
DesignandImplementationofClassroomAttendanceSystemBasedonAndroid
学生:
学生学号:
学生专业:
计算机科学与技术
指导教师:
华中农业大学楚天学院
二○一七年五月
华中农业大学楚天学院毕业论文(设计)
原创性声明
本人重声明:
所呈交的毕业论文(设计),是本人在导师的指导下,独立进行研究所取得的成果。
除文中已经注明引用的容外,本论文(设计)不包含任何其他个人或集体已经发表或撰写过的作品成果。
本人完全意识到本声明的法律结果由本人承担。
作者签名:
日期:
年月日
摘要
本论文介绍的是基于安卓技术的课堂考勤系统,本软件能够为用户提供实时查看课程信息,进行课堂签到的功能,能够解决当前高校对考勤信息管理困难的问题,对考勤信息进行统一的管理,提高考勤信息的实时性和统一性。
这样能让高校对考勤信息的管理变得更加方便快捷,节省人力物力,为需求双方提供了一个便利的平台。
本软件系统采用Eclipse开发环境结合AndroidSDK进行设计,开发了一个基于Java语言的课堂考勤软件。
系统主要实现了登录注册、请假、考勤签到、个人中心等主要功能模块。
在请假和考勤签到中使用了XX定位的解决了签到时候对学生位置的定位,在查询考勤信息中可以根据不同的条件获得符合要求的考勤信息,个人中心可以对账号密码等进行修改。
关键词
课堂考勤;Android;AndroidSDK;
Abstract
ThispaperintroducesaclassattendancesystembasedonAndroidtechnology.Thissoftwarecanprovidereal-timeinformationfortheusertoviewthecurriculum,classroomattendancefunctionandcansolvethedifficultiesinmanagingcurrentcollegeattendanceinformationforcollegesanduniversities,uniformlymanagingtheattendanceinformationandimprovingthereal-timeandconsistencyofattendanceinformation.Thiscanmakethemanagementofattendanceinformationmoreconvenientandquick,andsavemanpowerandmaterialresources.Itprovidesaconvenientplatformforbothsidesofdemand.
ThesoftwaresystemhasdevelopedaclassroomattendancesoftwarebasedonJavausingEclipsetodevelopenvironmentandcombiningwithAndroidSDKtodesign.Thesystemmainlyimplementsthemajorfunctionalmodulesoflogin,registration,leaving,attendance,personalcenterandsoon.Intheleaveandattendanceregistration,theuseofBaidupositioninghassolvedthepositionedpositionwhenstudentssign.Intheinquiryofattendanceinformation,thesystemcanaccesstotheattendanceinformationthatmeetstherequirementsaccordingtodifferentconditions.Thepasswordoftheaccountnumbercanbemodifiedinthepersonalcenter.
Keywords
Classattendance;Android;AndroidSDK;
1绪论
1.1研究目的与意义
开发本系统的目的,就是要解决目前高校中关于学生请假与上课出勤管理中所面临的一系列问题。
开发出高校学生考勤管理系统能有效地提高高校办事效率,解决目前高校学生请假及上课出勤管理问题,实现学生请假及上课出勤信息对任课教师、班主任、院系领导、学校领导透明,使班主任、院系领导及时把握学生的学习情况,及时与学生沟通,提高教学质量。
但是传统教学中,学生的考勤信息仅作为教师课程总评结果中对学生日常表现的评价依据。
而且还存在以下一些问题:
(1)考勤信息由教师人工操作、管理,效率低下;
(2)不同教师所掌握的考勤信息分散、缺乏联系;(3)信息汇总往往发生在期末总评期间,实时性差;(4)记录形式不规统计困难;(5)教师对教学期间的缺勤信息缺乏及时的处理,利用率低下。
本设计是以Android操作系统为基础的“课堂考勤”软件的设计与实现。
为了方便用户可以随时随地查看考勤信息,申请请假,在线签到等,一种高效的办法就是做成应用程序拓展到用户的终端设备上,并且提供一些辅助功能。
所以这次毕业设计的目标就致力于开发出一款基于Android手机平台的课堂考勤系统,来满足用户的需求。
1.2国外的研究现状
就目前的情况和事实来看,Android市场正在以迅猛的方式,慢慢地扩展了它的产品,以满足不同人群的需求,而不仅仅是做一些低端的智能手机,智能机器能够满足一般人群的日常生活,包括娱乐的需求,会产生一些比较昂贵,但高品质的高端智能手机,适合商务人士使用。
智能机现在越来越多的被大家所接受,相较于其他品牌的普通机器,人们喜欢买一种便宜的,性能优异的智能机,其原因是因为他们能满足一般人谁使用手机的需求,性能特点各方面也让用户感到这是一个非常良好的感觉和行动,而不是作为高端机的价格昂贵。
很多人喜欢用手机玩系统,看视频等,功能有点硬件和软件的手机需要增加的需求,比如在屏幕上流畅,速度快,兼容性好等优点,对这些人来说,也有很多高端智能手机采用Android,这款手机完全可以满足人们的日常需求。
现在应用的安卓系统将更加努力来改善,有许多出名的应用程序,如地图导航,视频点播系统等。
现在Android的发展速度超出了所有人的想象,为安卓开发的软件也非常乐观,这是一个值得发展壮大的领域,安卓也将是一个主流系统,供市民使用。
1.3本文的主要组织结构
第一章绪论:
全文的研究目的与意义、国外的研究现状是本章的主要容。
此设计的研究目的与意义在第一节做出了简单介绍,第二节对所用的工具及技术做出了简略的叙述,本文的主要组织结构在第三节做出了简单介绍。
第二章研究基础:
本章主要介绍了全文用到的几个基本概念以及使用的开发工具。
第一节对全文需要用到的基本概念给出了解释。
第二节对完成本次设计所需的开发工具做了简要介绍。
第三章系统分析:
系统的功能模块和系统使用流程在这一节进行了介绍。
第四章系统设计及主要模块功能:
本章对整个系统的实现、系统架构进行了介绍,并将核心容进行了实现,如:
签到、登录、查询请假、查询考勤等。
第五章系统实现:
这一章是对本次设计的各种功能进行细致的讲述实现过程及系统如何完成这些功能的。
第六章系统测试:
这一章是对本次设计的各种功能进行细致的测试,验证系统可用。
第七章总结:
这一章对本次毕业设计进行了自我总结。
2系统开发环境介绍
2.1Android开发平台基础知识
2.1.1Android平台简介
Android属于开源移动操作系统,该系统主要在Linux平台上进行设计,AndyRubin是该系统的最初设计主体,随后Google对其进行收购,并且在07年正式宣布该平台的建设成功,号称是首个为移动终端打造的真正开放和完整的移动软件。
该平台采用软件叠层架构,由操作系统、中间件、用户界面和应用软件组成。
该平台在具体实践过程中获得了快速的发展,究其原因:
其一,Google非常支持该系统的发展,该公司非常关注该系统在以下两个方面的优势,即开源以及标准化,同时希望在创新移动产业过程中让这一优势得到体现,借此来解决相关问题,以此来让个人也能够想享受到开放性的信息服务系统服务。
其二,Android自身所具有的开放、应用程序相互平等、应用程序之间沟通无限制的优势有也是其快速发展的重要原因。
2.1.2Android的系统结构
该系统架构在具体设计过程中遵循的思想为分层架构,形成了清晰的结构以及层次,做到了分工合作。
具体来说,其主要由以下几个部分组成,即应用程序层、应用框架层、系统库和Android运行库以及Linux核层,如图2-1所示。
图2-1Android系统架构图
接下来对每一层的功能进行具体分析:
第一,应用层,这一层的应用程序在编写过程中主要使用的语言为JAVA语言,并且有非常关键性的应用程序,典型代表有通讯录管理、收发信息以及拨打等等。
这些核心应用可以被编程人员自己用JAVA语言开发的应用程序进行替代。
第二,应用程序框架层,在具体开发这一系统时,这一层发挥着基础性作用,相当数量核心应用程序来实现核心功能过程中,都需要依托这一层才能够实现。
立足于该层中的重用机制,开发人员对其给予的组件部分,能够使开发应用程序快速的实现,同时能够方便地替换平台本身的各种应用程序组件。
第三,系统库以及Android运行库,系统库在应用程序中发挥着决定性影响,并且连接以下两个层,即框架层以及Linux核层。
在对该系统进行运行过程中,其具体组成容有核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库。
第四,Linux核层,该系统的关键功能实现都需要依托这一层次来实现,典型代表有安全性、相关进程、管理以及网络协议等等。
Linux核也同时作为硬件和软件栈之间的抽象层。
本文主要是在Android应用基础上来进行相关软件开发,这意味着有必要介绍Android的应用程序基础知识和相关组件。
2.2课题相关的Android技术介绍
2.2.1Android终端与Web服务器数据交互
在android中发布应用的途径主要有:
第一,客户端应用程序,依托AndroidSDK来完成开发,在用户设备安装过程中,其后缀为.apk。
第二,作为web应用程序,使用web标准制定和通过web浏览器访问一一不需安装任何东西。
在最终决定应用程序方法时,受到诸多因素影响,但是为能够支持viewport属性等等,以此来进一步简便web应用程序开发。
除此之外,能实现根据屏幕大小确定web应用的适当尺寸、根据屏幕分辨率提供图片和不同风格等功能。
在这种情况下,提出屏幕考虑因素可以让web应用程序开发难度进一步减少。
因为所有Android类型的款的屏幕可以帮你将web页面设计的很好。
在客户端以及web端中建立相应的程序并不需要对相关程序进行设计,这也是该系统的特点之一。
据此能够综合使用这两方面容,以此来对相关客户端进行开发,并且在程序中添加web页。
下图直观显示如何可以访问web页从web浏览器或Android的应用程序。
如图2-2所示。
图2-2Android终端与Web服务器端数据交互
2.3开发工具介绍
(1)Eclipse介绍
Eclipse源代码具有开放性的特点,从本质上看,其仅仅包含了一个框架以及一组服务,然而其存在相应的标准插件集,可以据此来对开发环境进行构建,是一个基于Java的可扩展开发平台。
Eclipse主要选择了轻型软件组件化架构来建立插件集,据此来在客户机中增加相应的功能,例如可以支持更多的开发语言。
现阶段,已经存在的插件可以对如下容进行使用,即C/C++(CDT)、Ruby等等,同时也可以开发数据库。
插件架构可以在当前环境中增加任何容,具体来说,可以实现配置管理等等,并不仅仅是对相关编程语言进行使用。
其主要结合如下思想进行设计,即依托插件来实现所有的功能,其不具有较大的核心,主要通过插件方式来在核心中添加相关的功能。
Eclipse基本核包括:
图形API,Java开发环境插件(JDT),插件开发环境(PDE)等。
Eclipse是一个开放源代码的软件开发项目。
它具体包括四个部分:
EclipsePlatform,JDT,CDT和PDE,主要由以下几个项目组成:
Eclipse项目、工具项目和技术项目。
PDE用来支持插件开发、CDT支持C开发、JDT支持Java开发、EclipsePlatform则提供了一个通用的开发平台,是一个开放的可扩展IDE。
要据此来编写Android工程,首先需要形成相应的开发环境,在这一过程中,首先需要对该工具进行安装,然后在其上安装ADT插件,再指定SDK正确的路径,这样变可以创建android虚拟机了。
(2)关键技术介绍
Android平台开发方面包含基本的应用功能开发、数据存储、网络访问这三大块。
如图2-3所示。
图2-3Android平台开发
(3)功能开发
标准的Android程序由如下4部分组成即Activity、BroadcastIntentReceiver、Service、ContentProvider来实现。
(4)数据存储
在Android,可供选择的存储方式包括了SharedPreferences、文件存储、SQLite数据库存储方式、容提供器方式(ContentProvider)以及网络方式5种,本系统网络方式主要是通过网络访问该网络提供的网络服务接口实现数据的读写服务。
(5)网络访问方面
主要是Http访问技术的封装,通过java.NET.*;以及A.*;下面提供的HttpPost、DefaultHttpClient、HttpResponse等类提供的访问接口来实现具体的web服务访问。
本软件采用Java作为开发语言,布局和数据存储是开发本软件的关键技术,布局用来设计用户交互界面,使用xml技术设计,而xml中控件的位置和状态则离不开布局的使用,用户界面的设计是否美观和合理直接影响用户体验,因此运用好布局技术是直接和用户相关的,而数据存储技术则记录了用户所有的操作数据和用户所需要提取的数据。
3需求分析及系统概要设计
3.1系统可行性分析
(1)技术可行性
Java提供了稳定的性能、优秀的升级性、更快速的开发、更简便的管理、全新的语言以及服务。
整个系统帮用户做了大部分不重要的琐碎的工作。
且关于这方面的书籍、资料比较齐全。
(2)操作可行性
本系统采用基于安卓客户端,利用安卓手机安装软件就能够进行访问和操作,且界面简单易操作,用户只要平时有在用过智能手机,都能进行访问和操作。
本系统具有易操作、易管理、交互性好的特点,在操作上是非常简单的。
因此本系统可以进行开发。
而且对于目前高校考勤信息管理困难的问题可以进行有效的解决,提高考勤信息的实时性和统一性。
(3)经济可行性
系统是基于Android的软件,采用Eclipse平台。
所以系统在开发人力、财力要求不高。
且能够有效降低高校中对考勤花费的人力物力。
具有经济可行性。
3.2功能需求分析
用户使用考勤系统,首先需要登录成功。
通过http协议发送post请求给后台服务器,后台服务器通过controller接受登录的用户名和密码选择对应方法验证是否登录成功。
当学生没有账号时,可以点击学生注册进行注册。
输入所有信息后,且账号名不为空,两次密码相同,则将注册信息通过异步post提交给后台,后台调用数据库添加学生信息。
教师、辅导员以及领导需要在后台由管理员进行添加。
系统主要分为考勤、请假、个人信息三个模块。
进入系统首页后可以选择这三个功能模块。
在学生登录后,点击请假可以查看请假状态(请假是否通过审核),并且可以添加请假的申请或者删除之前的请假申请;当点击考勤时根据课程、时间、当前定位地点来确定学生是否签到成功。
在教师登录后,点击查看请假信息可以查看当前通过审核的请假信息。
当点击查看考勤信息可查看此教师教授课程的所有考勤信息,教师也可以根据学号添加缺勤信息,或者点击统计然后根据学生搜此学生的各种考勤信息。
辅导员和领导登录后,点击查看请假信息可以查看所有请假信息,并且可以选择是否通过请假申请;而点击查看考勤信息可以查看所有学生的考勤信息,并且可以根据课程、时间来查询所有对应的考勤信息。
用户登录后都可以在个人界面查看到昵称和账号,也可以直接修改昵称和密码。
图3-1系统功能结构图
3.3数据库设计
(1)学生实体属性图,如下图3-2所示。
图3-2学生实体属性图
(2)教师实体属性图,如下图3-3所示。
图3-3教师实体属性图
(3)辅导员实体属性图,如下图3-4所示。
图3-4辅导员实体属性图
(4)领导实体属性图,如下图3-5所示。
图3-5领导实体属性图
(5)学生、课程考勤局部E-R图,如下图3-6所示。
图3-6学生、课程考勤局部E-R图
(6)教师、课程局部E-R图,如下图3-7所示。
图3-7教师、课程局部E-R图
(7)学生、课程请假局部E-R图,如下图3-8所示。
图3-8学生、课程请假局部E-R图
(8)总体E-R图,如下图3-9所示。
图3-9总体E-R图
3.4关系模型
由以上实体和E-R图可导出如下关系模型。
学生(编号,学号,密码,,角色,班级,,密保,经度,纬度)
教师(编号,工号,密码,,角色,课程,,密保,经度,纬度)
辅导员(编号,工号,密码,,角色,,密保,经度,纬度)
领导(编号,工号,密码,,角色,,密保,经度,纬度)
考勤(编号,学号,教师工号,地址,时间,学生,课程,状态,经度,纬度)
请假(编号,学号,教师工号,备注,时间,地址,审核状态,图片)
3.5数据库表
用户表,如下表3-1所示。
表3-1学生表
字段
字段名
类型
意义
id
编号
int
自增长
gonghao
学号
varchar(20)
主键
pass
密码
varchar(50)
name
varchar(50)
type
角色
varchar(20)
识别身份
banji
班级
varchar(20)
学生所在班级
tel
varchar(50)
mibao
密保
varchar(50)
找回密码需验证
lat
经度
varchar(20)
lng
纬度
varchar(20)
教师表,如下表3-2所示。
表3-2教师表
字段
字段名
类型
意义
id
编号
int
自增长
gonghao
工号
varchar(20)
主键
pass
密码
varchar(50)
name
varchar(50)
type
角色
varchar(20)
识别身份
kecheng
课程
varchar(50)
教师教授的课程名
tel
varchar(50)
mibao
密保
varchar(20)
找回密码需验证
lat
经度
varchar(20)
lng
纬度
varchar(50)
辅导员表,如下表3-3所示。
表3-3辅导员表
字段
字段名
类型
意义
id
编号
int
自增长
gonghao
工号
varchar(20)
主键
pass
密码
varchar(50)
name
varchar(50)
type
角色
varchar(20)
识别身份
tel
varchar(50)
mibao
密保
varchar(50)
找回密码需验证
lat
经度
varchar(20)
lng
纬度
varchar(20)
领导表,如下表3-4所示。
表3-4领导表
字段
字段名
类型
意义
id
编号
int
自增长
gonghao
工号
varchar(20)
主键
pass
密码
varchar(50)
name
varchar(50)
type
角色
varchar(20)
识别身份
tel
varchar(50)
mibao
密保
varchar(50)
找回密码需验证
lat
经度
varchar(20)
lng
纬度
varchar(20)
考勤表,如下表3-5所示。
表3-5考勤表
字段
字段名
类型
意义
id
编号
int
自增长
uid
学生学号号
varchar(20)
tid
教师工号
varchar(20)
根据教师确定课程
address
地址
varchar(50)
签到地点
time
时间
varchar(50)
签到时间
uname
学生
varchar(50)
签到学生
state
状态
varchar(20)
签到状态
kc
课程
varchar(50)
签到课程
lat
经度
varchar(20)
lng
纬度
varchar(20)
请假表,如下表3-6所示。
表3-6请假表
字段
字段名
类型
意义
id
编号
int
自增长
uid
学生工号
varchar(20)
tid
教师工号
varchar(20)
beizhu
备注
varchar(50)
请假原因
data
时间
varchar(50)
请假时间
address
地址
varchar(50)
请假地点
type
审核状态
varchar(20)
审核状态,默认审核中
pic
图片
varchar(50)
头像
4系统详细设计
4.1系统整体架构设计
4.1.1系统架构设计
若确定软件具有若干个部分,则其中最高层次必然为系统架构。
软件系统的核心容之一即为元件,再设计系统架构过程中,需要对元件之间的关系进行确定。
系统架构设计除了对己确定的需求的技术实现构架、作好规划外,对其可扩展行、稳定性和安全性也要给予足够的重视。