版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、- . 本科毕业论文题目基于 Android 的课堂考勤系统的设计与实现Design and Implementation of Classroom Attendance System Based on Android 姓名学号副教授专业运算机科学与技术指导老师职称中国二 一七年五月. -可修编 - . - . 分类号密级华中农业高校楚天学院本科毕业论文基于 Android 的课堂考勤系统的设计与实现Design and Implementation of Classroom Attendance System Based on Android同学:同学学号:同学专业:运算机科学与技术 指导老
2、师:华中农业高校楚天学院 二 一七年五月. -可修编 - . - . 华中农业高校楚天学院毕业论文设计原创性声明本人重声明:所呈交的毕业论文设计,是本人在导师的指导下,独立进展讨论所取得的成果;除文中已经注明引用的容外,本论文设计不包含任何其他个人或集体已经发表或撰写过的作品成果;本人完全意识 到本声明的法律结果由本人承当;作者签名:. 日期:年月日. -可修编 - - . 目录摘要 . 关键词 . AbstractI Key wordsI 1 绪论 . 1.1 讨论目的与意义 . . 1.2 国外的讨论现状 1.3 本文的主要组织构造 . 2 系统开发环境介绍 . 2.1 Android 开
3、发平台根底学问 . 2.1.1 Android 平台简介 . 2.1.2 Android 的系统构造 . 2.2 课题相关的 Android 技术介绍 . 2.2.1 Android 终端与 Web 效劳器数据交互 . 2.3 开发工具介绍 . 3 需求分析及系统概要设计 . 3.1 系统可行性分析 . 3.2 功能需求分析 . 3.3 数据库设计 . 3.4 关系模型 . 3.5 数据库表 . 4 系统具体设计 . 4.1 系统整体架构设计 . 4.1.1 系统架构设计 . 4.1.2 系统整体架构 . 4.2 从功能模块看核心流程 . 4.2.1 效劳端连接设计实现. 4.2.2 登录注册
4、设计实现 . 4.2.3 请假功能模块的实现. 4.2.4 考勤模块实现 . 4.2.5 个人中心模块功能实现. 5 试验与验证 . 6 系统测试 . 6.1 系统测试方法 . . -可修编 - . - -6.2 系统测试过程 . 6.3 测试总结 . 7 设计总结 . 参考文献 29 致 30 . word.zl.- . 摘 要本论文介绍的是基于安卓技术的课堂考勤系统,本软件能够为用户供应实时查看课程信息,进 展课堂签到的功能,能够解决当前高校对考勤信息治理困难的问题,对考勤信息进展统一的治理,提高考勤信息的实时性和统一性;这样能让高校对考勤信息的治理变得更加便利快捷,节约人力物 力,为需求
5、双方供应了一个便利的平台;本软件系统采纳Eclipse 开发环境结合Android SDK 进展设计 ,开发了一个基于Java语言的课堂考勤软件;系统主要实现了登录注册、请假、考勤签到、个人中心等主要功能模块;在请假和考勤 签到中使用了百度定位的解决了签到时候对同学位置的定位,在查询考勤信息中可以依据不同的条 件获得符合要求的考勤信息,个人中心可以对账号密码等进展修改;关键词课堂考勤; Android ;Android SDK ;Abstract This paper introduces a class attendance system based on Android technolog
6、y.This software can provide real-time information for the user to view the curriculum,classroom attendance function and can solve the difficulties in managing current college attendance information for colleges and universities,uniformly managing the attendance information and improving the real-tim
7、e and consistency of attendance information.This can make the management of attendance information more convenient and quick,and save manpower and material resources.It provides a convenient platform for both sides of demand. The software system has developed aclassroom attendance software based on
8、Javausing Eclipse to develop environment and bining with Android SDK to design.The system mainly implements the major functional modules of login,registration,leaving,attendance,personal center and so on.In the leave and attendance registration,the use of Baidu positioning has solved the positioned
9、position when students sign.In the inquiry of attendance information,the system can access to the attendance information that meets the in the requirements according to different conditions.The password of the account number can be modified personal center. Key words Class attendance;Android;Android
10、 SDK;. -可修编 - . - . 1 绪论1.1讨论目的与意义开发本系统的目的,就是要解决目前高校中关于同学请假与上课出勤治理中所面临的一系列问题;开发出高校同学考勤治理系统能有效地提高高校办事效率,解决目前高校同学请假及上课出勤治理问题,实现同学请假及上课出勤信息对任课老师、班主任、院系领导、学校领导透亮,使班主任、院系领导准时把握同学的学习情形,准时与同学沟通,提高教学质量;但是传统教学中,同学的考勤信息仅作为老师课程总评结果中对同学日常表现的评判依据;而且仍存在以下一些问题: 1考勤信息由老师人工操作、治理,效率低下;2不同老师所把握的考勤信息分散、缺乏联系;3信息汇总往往发生在期
11、末总评期间,实时性差;4记录形式不规统计困难;5老师对教学 期间的缺勤信息缺乏准时的处理,利用率低下;本设计是以 Android 操作系统为根底的“ 课堂考勤软件的设计与实现;为了便利用户可以随 时随地查看考勤信息,申请请假,在线签到等,一种高效的方法就是做成应用程序拓展到用户的终 端设备上,并且供应一些帮助功能;所以这次毕业设计的目标就致力于开发出一款基于 Android 手 机平台的课堂考勤系统,来满意用户的需求;1.2 国外的讨论现状就目前的情形和事实来看,Android 市场正在以迅猛的方式,渐渐地扩展了它的产品,以满意不 同人群的需求,而不仅仅是做一些低端的智能手机,智能机器能够满意
12、一般人群的日常生活,包括 消遣的需求,会产生一些比拟昂贵,但高品质的高端智能手机,适合商务人士使用;智能机现在越来越多的被大家所承担,相较于其他品牌的一般机器,人们喜爱买一种廉价的,性能优异的智能机,其缘由是由于他们能满意一般人谁使用手机的需求,性能特点各方面也让用户感到这是一个特别良 好的感觉和行动,而不是作为高端机的价格昂贵;很多人喜爱用手机玩系统,看视频等,功能有点 硬件和软件的手机需要增加的需求,比方在屏幕上流畅,速度快, 兼容性好等优点,对这些人来说,现在应用的安卓系统 也有很多高端智能手机采纳 Android ,这款手机完全可以满意人们的日常需求;将更加努力来改善,有很多知名的应用
13、程序,如地图导航,视频点播系统等;现在 Android 的开展速 度超出了全部人的想象,为安卓开发的软件也特别乐观,这是一个值得开展壮大的领域,安卓也将 是一个主流系统,供市民使用;1.3 本文的主要组织构造第一章绪论:全文的讨论目的与意义、国外的讨论现状是本章的主要容;此设计的讨论目的与 意义在第一节做出了简洁介绍,其次节对所用的工具及技术做出了简洁的表达,本文的主要组织构 造在第三节做出了简洁介绍;其次章讨论根底:本章主要介绍了全文用到的几个根本概念以及使用的开发工具;第一节对全 文需要用到的根本概念给出了说明;其次节对完本钱次设计所需的开发工具做了简要介绍;第三章系统分析:系统的功能模块
14、和系统使用流程在这一节进展了介绍;第四章系统设计及主要模块功能:本章对整个系统的实现、系统架构进展了介绍,并将核心容 进展了实现,如:签到、登录、查询请假、查询考勤等;第五章系统实现:这一章是对本次设计的各种功能进展细致的叙述实现过程及系统如何完成这 些功能的;第六章系统测试:这一章是对本次设计的各种功能进展细致的测试,验证系统可用;第七章总结:这一章对本次毕业设计进展了自我总结;. -可修编 - . - . 2 系统开发环境介绍2.1 Android 开发平台根底学问2.1.1 Android 平台简介Android 属于开源移动操作系统,该系统主要在 Linux 平台上进展设计,Andy
15、Rubin 是该系统的最初设计主体,随后 Google 对其进展收购,并且在 07 年正式宣布该平台的建立胜利,号称是首个为移动终端打造的真正开放和完整的移动软件;该平台采纳软件叠层架构,由操作系统、中间件、用户界面和应用软件组成;该平台在具体实践过程中获得了快速的开展,究其缘由: 其一,Google 特别支持该系统的开展,该公司特别关注该系统在以下两个方面的优势,即开源以及标准化,同时期望在创新移动产业过程中让这一优势得到表达,借此来解决相关问题,以此来让个人也能够想享受到开放性的信息效劳系 统效劳;其二,Android 自身所具有的开放、应用程序相互公平、应用程序之间沟通无限制的优势 有也
16、是其快速开展的重要缘由;2.1.2 Android 的系统构造 该系统架构在具体设计过程中遵循的思想为分层架构,形成了清楚的构造以及层次,做到了分 工合作;具体来说,其主要由以下几个局部组成,即应用程序层、应用框架层、系统库和 Android 运行库以及 Linux 核层,如图 2-1 所示;图 2-1Android 系统架构图接下来对每一层的功能进展具体分析:第一,应用层,这一层的应用程序在编写过程中主要使用的语言为 JAVA 语言,并且有特别关 键性的应用程序,典型代表有通讯录治理、收发信息以及拨打等等;这些核心应用可以被编程人员 自己用 JAVA 语言开发的应用程序进展替代;其次,应用程
17、序框架层,在具体开发这一系统时,这一层发挥着根底性作用,相当数量核心应 用程序来实现核心功能过程中,都需要依靠这一层才能够实现;立足于该层中的重用机制,开发人 员对其赐予的组件局部,能够使开发应用程序快速的实现,同时能够便利地替换平台本身的各种应用程序组件;第三,系统库以及 Android 运行库,系统库在应用程序中发挥着打算性影响,并且连接以下两 个层,即框架层以及 Linux 核层;在对该系统进展运行过程中,其具体组成容有核心库和 Dalvik 虚. -可修编 - . - Java语言所需要调用的功能函数,又包括了-拟机,前者既兼容了大多数Android 的核心库;第四, Linux 核层
18、,该系统的关键功能实现都需要依靠这一层次来实现,典型代表有平安性、相关进程、治理以及网络协议等等;Linux 核也同时作为硬件和软件栈之间的抽象层;本文主要是在Android 应用根底上来进展相关软件开发,这意味着有必要介绍Android 的应用程序根底学问和相关组件;2.2 课题相关的 Android 技术介绍2.2.1 Android 终端与 Web 效劳器数据交互在 android 中发布应用的途径主要有:第一,客户端应用程序,依靠 Android SDK 来完成开发,在用户设备安装过程中,其后缀为 .apk;其次,作为 web 应用程序,使用 web 标准制定和通过 web浏览器拜访一
19、一不需安装任何东西;在最终打算应用程序方法时,受到诸多因素影响,但是为能够支持viewport 属性等等,以此来进一步简便web 应用程序开发;除此之外,能实现依据屏幕大小确定web 应用的适当尺寸、依据屏幕辨论率供应图片和不同风格等功能;在这种情形下, 提出屏幕考虑因素可以让 web 应用程序开发难度进一步削减;由于全部 Android类型的款的屏幕可以帮你将 web 页面设计的很好;在客户端以及 web 端中建立相应的程序并不需要对相关程序进展设计,这也是该系统的特点之一;据此能够综合使用这两方面容,以此来对相关客户端进绽开发,并且在程序中添加 web 页;下列图直观显示如何可以拜访 we
20、b 页从 web 浏览器或 Android 的应用程序;如图 2-2 所示;图 2-2Android 终端与 Web 效劳器端数据交互2.3 开发工具介绍1 Eclipse 介绍. word.zl.- -Eclipse 源代码具有开放性的特点,从本质上看,其仅仅包含了一个框架以及一组效劳,然而其存在相应的标准插件集,可以据此来对开发环境进展构建,是一个基于Java的可扩绽开发平台;Eclipse 主要挑选了轻型软件组件化架构来建立插件集,据此来在客户机中增加相应的功能,例如可以支持更多的开发语言;现阶段,已经存在的插件可以对如下容进展使用,即 C/C+CDT 、Ruby 等等,同时也可以开发数
21、据库;插件架构可以在当前环境中增加任何容,具体来说,可以实现配置治理等等,并不仅仅是对相关编程语言进展使用;其主要结合如下思想进展设计,即依靠插件来实现全部的功能,其不具有较大的核心,主要通过插件方式来在核心中添加相关的功能;Eclipse根本核包括:图形 API ,Java开发环境插件 JDT ,插件开发环境 PDE 等; Eclipse 是一个开放源代码的软件开发工程;它具体包括四个局部:Eclipse Platform,JDT,CDT 和 PDE,主要由以下几个工程组成: Eclipse 工程、工具工程和技术工程;PDE 用来支持插件开发、CDT 支持 C 开发、 JDT 支持Java开
22、发、 Eclipse Platform 那么供应了一个通用的开发平台,是一个开放的可扩展 IDE ;要据此来编写 Android 工程,第一需要形成相应的开发环境,在这一过程中,第一需要对该工具进展安装,然后在其上安装 ADT 插件,再指定 SDK 正确的路径,这样变可以创立 android 虚拟机了;2关键技术介绍Android 平台开发方面包含根本的应用功能开发、数据储备、 网络拜访这三大块;如图 2-3 所示;图 2-3 Android 平台开发3功能开发标准的 Android 程序由如下4 局部组成即Activity 、Broadcast Intent Receiver、Service
23、、Content Provider 来实现;4数据储备在 Android ,可供挑选的储备方式包括了 容供应器方式 Content Provider以及网络方式 的网络效劳接口实现数据的读写效劳;5网络拜访方面SharedPreferences、文件储备、 SQLite 数据库储备方式、5 种,本系统网络方式主要是通过网络拜访该网络供应主要是 拜访技术的封装, 通过 java.NET.* ;以及 A.* ;下面供应的 Post、Default Client、Response等类供应的拜访接口来实现具体的 web 效劳拜访;本软件采纳 Java作为开发语言,布局和数据储备是开发本软件的关键技术,
24、布局用来设计用户交互界面,使用 xml 技术设计,而 xml 中控件的位置和状态那么离不开布局的使用,用户界面的设计是否美观和合理直接影响用户体验,因此运用好布局技术是直接和用户相关的,而数据储备技术那么记录了用户全部的操作数据和用户所需要提取的数据;. word.zl.- -3 需求分析及系统概要设计3.1 系统可行性分析1技术可行性 Java供应了稳固的性能、优秀的升级性、 更快速的开发、 更简便的治理、 全新的语言以及效劳;整个系统帮用户做了大局部不重要的琐碎的工作;且关于这方面的书籍、资料比拟齐全;2操作可行性 本系统采纳基于安卓客户端,利用安卓手机安装软件就能够进展拜访和操作,且界面
25、简洁易操 作,用户只要平常有在用过智能手机,都能进展拜访和操作;本系统具有易操作、易治理、交互性好的特点,在操作上是特别简洁的;因此本系统可以进展 开发;而且对于目前高校考勤信息治理困难的问题可以进展有效的解决,提高考勤信息的实时性和 统一性;3经济可行性系统是基于Android 的软件,采纳Eclipse 平台;所以系统在开发人力、财力要求不高;且能够有效降低高校中对考勤花费的人力物力;具有经济可行性;3.2 功能需求分析用户使用考勤系统,第一需要登录胜利;通过协议发送 post 恳求给后台效劳器,后台效劳器通过 controller 承担登录的用户名和密码挑选对应方法验证是否登录胜利;当同
26、学没有账号时,可以点击同学注册进展注册;输入全部信息后,且账号名不为空,两次密码一样,那么将注册信息通过异步post 提交给后台,后台调用数据库添加同学信息;老师、辅导员以及领导需要在后台由治理员进展添加;系统主要分为考勤、请假、个人信息三个模块;进入系统首页后可以挑选这三个功能模块;在同学登录后,点击请假可以查看请假状态请假是否通过审核,并且可以添加请假的申请或者删除之前的请假申请;当点击考勤时依据课程、时间、当前定位地点来确定同学是否签到胜利;在老师登录后,点击查看请假信息可以查看当前通过审核的请假信息;当点击查看考勤信息可 查看此老师教授课程的全部考勤信息,老师也可以依据学号添加缺勤信息
27、,或者点击统计然后依据 同学搜此同学的各种考勤信息;辅导员和领导登录后,点击查看请假信息可以查看全部请假信息,并且可以挑选是否通过请假 申请;而点击查看考勤信息可以查看全部同学的考勤信息,并且可以依据课程、时间来查询全部对 应的考勤信息;用户登录后都可以在个人界面查看到昵称和账号,也可以直接修改昵称和密码;. word.zl.- 图 3-1 系统功能构造图-3.3 数据库设计1同学实体属性图,如以下图3-2 所示;同学实体属性图图 3-2 2老师实体属性图,如以下图3-3 所示;老师实体属性图图 3-3 3辅导员实体属性图,如以下图3-4 所示;word.zl. - 图 3-4 辅导员实体属性
28、图-4领导实体属性图,如以下图3-5 所示;领导实体属性图图 3-5 5同学、课程考勤局部E-R 图,如以下图3-6 所示;E-R 图图 3-6 同学、课程考勤局部6老师、课程局部E-R 图,如以下图3-7 所示;E-R 图图 3-7 老师、课程局部7同学、课程请假局部E-R 图,如以下图3-8 所示;word.zl. - 图 3-8 同学、课程请假局部E-R 图-8总体 E-R 图,如以下图3-9 所示;图 3-9 总体 E-R 图3.4 关系模型由以上实体和 E-R 图可导出如下关系模型;同学编号,学号,密码,角色,班级,密保,经度,纬度老师编号,工号,密码,角色,课程,密保,经度,纬度辅
29、导员编号,工号,密码,角色,密保,经度,纬度领导编号,工号,密码,角色,密保,经度,纬度考勤编号,学号,老师工号,地址,时间,同学,课程,状态,经度,纬度请假编号,学号,老师工号,备注,时间,地址,审核状态,图片3.5 数据库表用户表,如下表3-1 所示;表 3-1 同学表意义字段字段名类型id 编号int 自增长gonghao 学号varchar20 主键pass 密码varchar50 识别身份name varchar50 角色type varchar20 banji 班级varchar20 同学所在班级tel 密保varchar50 找回密码需验证mibao varchar50 lat
30、经度varchar20 word.zl.lng 纬度varchar20 . - 3-2 所示;表 3-2 老师表-老师表,如下表字段字段名类型意义id 编号int 自增长gonghao 工号varchar20 主键pass 密码varchar50 识别身份name varchar50 角色type varchar20 kecheng 课程varchar50 老师教授的课程名tel 密保varchar50 找回密码需验证mibao varchar20 lat 经度varchar20 lng 纬度varchar50 辅导员表,如下表3-3 所示;表 3-3 辅导员表字段字段名表 3-4 类型意义i
31、d 编号int 自增长gonghao 工号varchar20 主键pass 密码varchar50 识别身份name varchar50 角色type varchar20 tel 密保varchar50 找回密码需验证mibao varchar50 lat 经度varchar20 意义lng 纬度varchar20 领导表,如下表3-4 所示;领导表字段字段名类型id 编号int 自增长gonghao 工号varchar20 主键pass 密码varchar50 识别身份name varchar50 角色type varchar20 tel 密保varchar50 找回密码需验证mibao v
32、archar50 lat 经度varchar20 lng 纬度varchar20 考勤表,如下表3-5 所示;表 3-5 考勤表字段. 字段名类型意义id 编号int 自增长uid 同学学号号varchar20 依据老师确定课程tid 老师工号varchar20 address 地址varchar50 签到地点word.zl.- 时间varchar50 签到时间-time uname 同学varchar50 签到同学state 状态varchar20 签到状态kc 课程varchar50 签到课程lat 经度varchar20 lng 纬度varchar20 请假表,如下表3-6 所示;表 3
33、-6 请假表字段字段名类型意义id 编号int 自增长uid 同学工号varchar20 请假缘由tid 老师工号varchar20 beizhu 备注varchar50 data 时间varchar50 请假时间address 地址varchar50 请假地点type 审核状态varchar20 审核状态,默认审核中pic 图片varchar50 头像4 系统具体设计4.1系统整体架构设计4.1.1 系统架构设计 假设确定软件具有假设干个局部,那么其中最高层次必定为系统架构;软件系统的核心容之一 即为元件,再设计系统架构过程中,需要对元件之间的关系进展确定;系统架构设计除了对己确定 的需求的
34、技术实现构架、作好规划外,对其可扩展行、稳固性和平安性也要赐予足够的重视;本系统主要存在前台以及后台,即客户端以及效劳器端,彼此之间具有相对独立性;在设计客 户端过程中,要对使用者的可操作性进展关注,后台效劳端设计着重功能实现上的规律合理性,兼 顾与数据库的数据交互;本基于 Android 手机的课堂考勤系统后台的开发便是采纳了Spring MVC 的框架来进展实现的;Spring MVC 是效劳者到工作者模式的实现;前端掌握器是 DispatcherServlet;应用掌握器其实可以拆为处理器映射器 Handler Mapping进展处理器治理和视图解析器View Resolver来进展视图
35、治理;页面掌握器 / 动作 / 处理器为 Controller 接口仅包含 ModelAndView handleRequestrequest,response 方法的实现也可以是任何的POJO 类;支持本地化Locale解析、主题 Theme解析及文件上传等;供应了特别敏捷的数据验证、格式化和数据绑定机制;供应了强大的商定大于配置惯例优先原那么的契约式编程支持;. word.zl.- -图 4-1 Spring MVC 应用构造核心架构的具体流程步骤如下:1第一用户发送恳求至 DispatcherServlet,前端掌握器收到恳求后自己不进展处理,而是托付给 其他的解析器进展处理,作为统一拜
36、访点,进展全局的流程掌握;2DispatcherServlet 至 HandlerMapping,HandlerMapping 将会把恳求映射为 HandlerExecutionChain 对象包含一个 Handler 处理器页面掌握器对象、多个 HandlerInterceptor 拦截器对象,通过 这种策略模式,很简洁添加新的映射策略;3DispatcherServlet 至 HandlerAdapter,HandlerAdapter 将会把处理器包装为适配器,从而支持多 种类型的处理器,即适配器设计模式的应用,从而很简洁支持很多类型的处理器;4HandlerAdapter 至处理器功能处
37、理方法的调用,的处理器的功能处理方法,完胜利能处理;并返回一个视图名;HandlerAdapter 将会依据适配的结果调用真正 ModelAndView 对象包含模型数据、规律5ModelAndView 的规律视图名至ViewResolver,ViewResolver 将把规律视图名解析为具体的View,通过这种策略模式,很简洁更换其他视图技术;6View 至渲染, View 会依据传进来的Model 模型数据进展渲染,此处的Model 实际是一个Map数据构造,因此很简洁支持其他视图技术;7返回掌握权给 DispatcherServlet,并且由 DispatcherServlet返回响应给
38、用户, 到此一个流程完毕;图 4-2 系统数据流向在本系统中,用 Spring MVC 开发框架来构建后台效劳端,利用了其供应了基于 Java的高效开发的特点,可以快速构建稳固、功能强大的后台应用效劳;如下图,本系统从 Android 端直接向由Spring MVC 搭建的效劳端猎取恳求,效劳端承担恳求过后或调用远程WEB 接口猎取数据,或调用本地数据库猎取数据,然后返回JSON 数据构造的返回数据给Android 端;如此一来,就形成了一. word.zl.- -个运转良好的信息回路;不但把原有系统进展了整合,而且仍参与了一些新功能;4.1.2 系统整体架构基于 Android 手机的课堂考
39、勤系统的层次和布局如图 4-3 所示:图 4-3 系统构造图由上图可见系统是由三个局部组成,客户端、效劳端和数据端,三个层次在系统中承当的角色各不一样;客户端就是指移动终端,用户通过 3G 或者 WIFI 利用移动设备进入系统,与系统建立通信; 对于本系统来说,该层是基于安卓的应用程序搭建,其中包括应用程序的界面局部 Android View 和应用程序的规律掌握 Android Controller 搭建;该层通过调用效劳端接口猎取信息;效劳端是一个基于 Java平台的 WEB 应用,与传统的网络应用程序不同的是,该层不包含界面的展现,只是为前台供应 JSON 数据接口;该层包括掌握层和业务
40、规律层,掌握层负责供应外部接口以及对接口进展数据定义,业务规律类定义了拜访猎取数据库信息的规律和拜访数据库的方式;数据层包含两个数据源,一局部是本地数据库的拜访,另一局部是对现有的基于 Android 平台的课堂考勤系统数据库的拜访;无论是数据的交互仍是界面以及流程的设计,本系统都遵循了 MVC设计原那么,尽把系统的功能流程拆分成为具有单独功能的层次,这样一来,当将来需要对系统进展修改或者扩展的时候就会变得特别便利,简而言之,提升了系统的扩展性;同时, 系统平安设计需要贯穿整个数据流程,为信息系统的储备、传递、 利用供应平安性保证;4.2 从功能模块看核心流程4.2.1 效劳端连接设计实现在本
41、系统我们是使用 网络协议技术,它具有 GET 和 POST 两种恳求方式,对于效劳器交互的数据,我们使用 JSON 字符串, Gson 框架对它进展解析和转换,这些方法都分别封装在sUtil.java 和 JsonUtils.java两个工具类中;4.2.2 登录注册设计实现点击课堂考勤APP 的桌面程序图标进入登录界面即login_main.xml 界面,先从 SharedPreferences中取出上次登录的用户名、密码,如不为空那么赋值给相应的输入框,如为空那么要求用户输入自己用户名密码, 点击登录按钮执行validate 验证用户、 密码是否规, 符合要求后调用UserClient.g
42、et方法,开启一个异步任务将数据通过传效劳器与数据库的用户信息进展匹配,假设用户名、密码正确无误那么用户登录胜利,同时也将本次用户、密码也储存到 SharedPreference中;用户登录的流程图如 4-4 所示;. word.zl.- -图 4-4 用户登录流程图如 果 是 新 用 户 , 那 么 点 击 登 录 界 面 上 的 注 册 按 钮 , 进 入 到 activity_register.xml 页 面 在RegisterActivity.java 中进展注册,此时用户需要输入根本信息,分别为用户名、密码、确认密码等信息;点击注册按钮验证信息的规性后将注册信息封装提交效劳器并储存到
43、数据库中;注册胜利后返回登录界面;如以下图 4-5 所示;图 4-5 用户注册流程图假如遗忘密码,那么可以点击找回密码来通过密保找回密码;在点击提交时会验证是否为空,当两个 EditText 都不为空的时候才能提交;效劳器去数据库查询,假如查到对应用户,那么返回当前用户的;如以下图4-6 所示;word.zl. - -图 4-6 用户注册流程图4.2.3 请假功能模块的实现 请假功能模块主要实现了用户查看请假记录,同学可以发起请假信息,辅导员和领导对同学的 请假信息进展审核;同学申请请假的界面是功能实现在 qingjia_add.java中,界面为一个 ImageView、日期为两个 Test
44、View、备注那么为一个 EditText 控件;当提交的时候会通过 UserClient.java 中的 get 方法发出一个异步恳求提交请假信息,后台承担后将数据写入数据库中;请假功能模块实现流程如 图 4-7 所示;图 4-7 同学请假流程图当同学提交申请后,辅导员和领导可以在查询请假中看到未审核的请假信息,辅导员和领导可以挑选是否通过审核,审核流程如图4-8 所示;word.zl. - -图 4-8 审核流程图老师可以在查询请假里面查看到自己所教授课程的请假信息,这里只显示请假通过审核的信息;同学可以查看自己请假状态是否被审核通过;辅导员和领导可以查看全部未审核请假信息;至此请假功能模
45、块完毕;4.2.4 考勤模块实现考勤模块主要实现了用户查看考勤记录的功能,同学进展签到, 老师对同学签到信息进展审核;在同学签到过课程、时间以及地点来进展确定同学是否能签到胜利,这里面课程通过同学挑选,时 间 自 动 在 提 交 的 时 候 获 取 , 而 地 点 那 么 由 百 度 定 位 来 实 现 ; 签 到 时 可 以 根 据 控件.baidu.mapapi.map.MapView 这个百度控件来查看当前自己在地图上的大致位置,在定位中定位会在 BDLocationListener 中获得返回的经纬度和地址描述,通过重写onReceiveLocation 方法来猎取定位的信息,然后调用
46、效劳器方法来和老师位置作比照,假如在该课程签到时间且地理位置相差距离在 30 米;那么算签到胜利,否那么记为迟到;如图4-9 所示;word.zl. - -图 4-9 同学签到流程图而在老师查询考勤信息时,默认显示的是当前课的全部考勤信息;可以点击统计进入按同学查询考勤信息; 相当于在默认情形下加了查询条件,使得老师可以更快速的找到想要的信息;如图 4-10所示;图 4-10 老师查看及添加考勤流程图当辅导员和领导查询考勤信息时,默认显示全部考勤信息;同样可以点击进入一个新的 Activity依据课程、时间、类别的方式来指定条件查询;如图 4-11 所示;. word.zl.- -图 4-11
47、 辅导员、领导考勤流程图4.2.5 个人中心模块功能实现个人中心模块主要实现了用户查看个人根本信息、修改个人信息的功能;在这里可以查看到当前账号的账号名和昵称,可以直接对昵称和密码进展修改,当需要修改的时候会验证两个 EditText控件中的容是否为空,不为空的时候才会进展提交修改;Android 会把这个恳求提交给效劳器,让效劳器自己挑选UserController 中对应的方法解决;个人中心模块流程图如图4-12 所示;图 4-12 个人中心流程图这里依据当前登录账号,对此账号的昵称和密码进展修改;这里也使用Async Client 进展异. word.zl.- -步恳求修改账号昵称和密码
48、并依据返回的 5 试验与验证json 确定是否修改胜利;这里本人将从四个角色分别测试本程序是否能够完成其全部功能,每个角色在这个系统中的功 能不同需要分开来演示;1同学身份实现的功能第一启动应用,就会启动LoginActivity 这个 Activity ,这个界面主要局部是图片TextView 、两个EditText 、一个 Button 按钮,两个EditText 中猎取账号和密码,按钮被点击时候触发监听时间去验证数据是否合法,然后提交给效劳器,由效劳器的 select方法在数据库中匹配是否存在这个账号,并且密码是否正确;假如正确会返回当前登录用户的角色,然后进入对应功能模块;如以下图 5
49、-1所示;图 5-1 登录界面接下来点击同学注册,会调用RegistActivity 这个 Activity ;这个 Activity 中当提交的时候会对各个 EditText 进展是否为空的验证;两次输入密码会验证两次是否一样;当两个条件都满意的时候提 交才能将数据提交给效劳器,让效劳器对数据库进展添加操作;如以下图 5-2 所示;. word.zl.- 图 5-2 同学注册界面-输入信息后点击提交,由效劳器先用select方法验证学号是否重复,假如重复那么不能注册;假如不重复那么执行 User.add方法添加同学信息,然后返回注册胜利消息,胜利后自动返回登录界面,这里胜利后会将注册这个界面
50、的 Activity 用 finish方法完毕掉;如以下图 5-3 所示;图 5-3 注册胜利后返回登录界面登录进入系统,这里会发送异步恳求给效劳器,效劳器在数据库中查询,匹配那么登录胜利,并依据不同角色登入不同Activity ;同学登录的是.example.qingjia包下的 MainActivity 这个 Activity ;如以下图 5-4 所示;. word.zl.- 图 5-4 同学登录界面-在请假中可以看请假结果,点击请假后会通过Intent 跳转到 qingjia_list.java 这个 Activity 中,并发出异步恳求猎取全部的请假信息,然后通过返回的json数据将数
51、据再用adapter添加成一个个view,然后显示上去;如以下图5-5 所示;图 5-5 查看自己请假状态点击右上角加号可以申请请假;点击右上角加号跳转到qingjia_add.java中,当填写了请假信息后,点击提交时会验证时间和请假缘由是否为空,不为空那么发送恳求给效劳器,执行添加操作;如以下图 5-6 所示;a未填写请假b 填写后图 5-6 申请请假界面. word.zl.- -挑选请假课程、图片、时间、请假缘由后点击提交,即可申请请假;这里选图片的时候,假如图片过大,可以通过 cropImage方法对图片进展剪切;胜利添加后如以下图 5-7 所示;在提交后会从效劳器猎取一个返回值,当返
52、回值为 1 的时候就会代表请假胜利,用 MyToastUtil.java 中这个ShowToast方法来显示一个胜利提示的吐司提示;图 5-7 申请胜利点击请假信息可以挑选是否取消请假;中挑选删除的时候,就将删除的信息提交到效劳器执行kaoqingController.deleteById方法执行删除操作;删除完了后会自动刷新页面,重新使用异步恳求获取请假数据,然后显示在界面上;如以下图 5-8 所示;a 挑选操作 b 挑选删除后图 5-8 删除请假申请在登录界面点击考勤,并挑选课程后即可签到,假如此时离这节课的老师太远那么会记为迟到;这个过程中调用了百度定位的接口,通过重写onReceive
53、Location 方法猎取BDLocationListener中返回的地址信息;这个地址信息中有三个需要的数据分别为:address、lat、lng,address是当前位置的大致信息,lat 和 lng 分别是经度和纬度,定位主要靠经度和纬度进展运算距离来判定是否符合签到;然后 finish掉这个 Activity ;如以下图 5-9 所示;. word.zl.- b 胜利提交-a 挑选课程并提交图 5-9 考勤签到点击个人信息,里面可以修改当前账号密码;翻开mycenter.java这个 Activity ,假如修改用户信息不为空,那么提交要求改的昵称和密码;效劳器通过 json 中的数据
54、自动匹配 kaoqingController 中的 update方法更新信息; 然后依据返回 json 判定是否修改胜利,用吐司提示; 如以下图 5-10 所示;a 个人信息界面 b 修改信息图 5-10 更新昵称和密码提交后依据效劳器返回的json 数据来判定是否修改胜利,当返回1 的时候就提示胜利;如以下图 5-11 所示;图 5-11 更新胜利. word.zl.- -2老师身份实现的功能 老师登录后点击请假记录可以查看已通过审核的请假信息;这里跳转的是 .example.qingjia.jiaoshi包下的 qingjia_list.java 这个 Activity ;如以下图 5-1
55、2;图 5-12 查看通过审核的请假点击查询考勤记录可以看教授课程的考勤情形,通过 UserClient 中的 get 方法发出异步恳求猎取考勤信息; 假如点击统计那么跳转到 tongji_list.java 中,点击可以依据同学信息将考勤信息进展挑选,然后显示;如以下图 5-13;a 显示考勤 b 按查询图 5-13 查看全部本课考勤信息老师可以自己添加缺勤记录;这里通过学号添加缺勤信息,将学号通过异步恳求发送给效劳器,然后调用 kaoqingController 中的 buchong方法添加缺勤信息;如以下图 5-14 所示;a 填写缺勤同学学号. word.zl.- -b 胜利添加并刷新
56、图 5-14 添加缺勤信息注:老师个人信息局部和同学一样,在此就不多做赘述;3辅导员、领导身份实现的功能 请假信息中可以查看全部请假信息,点击可以挑选是否审核通过;这里先跳转到 .example.qt 包下的 qingjia_list.java 这个 Activity ,这里默认条件只显示需要审核的请假信息;点击确认删除后将恳求提交给效劳器,效劳器执行qingjiaController 中的 update方法修改请假信息的状态;处理完成后,假如胜利会返回 1 的结果表示操作胜利,由此完成对请假的审核;如以下图 5-15 所示;a 审核请假 b 批准请假图 5-15 审核请假审核通过后同学这里显
57、示的请假信息;审核后会自动调用 UserClient 中的 get方法重新猎取请假信息,然后刷新界面;如以下图 5-16 所示;. word.zl.- -图 5-16 审核通过后显示结果假如点击查询考勤信息,可以查看全部课程的迟到和缺勤的信息;当点击统计时候跳转到 tongji_list.java 中,然后可以依据课程、时间和类别对考勤信息进展挑选;这里同样使用 UserClient 中的 get方法进展异步恳求猎取数据;如以下图 5-17 所示;个人信息局部和同学一样,就不再重复描述了;a 显示全部考勤 b 按条件查询考勤 图 5-17 查看全部考勤记录6 系统测试6.1 系统测试方法黑盒测
58、试更加注意于测试软件中的功能需求,依据软件规格说明书中描述的要求,运行并且验 证程序是否能够满意用户的需求,是一种从用户立场来动身的测试;它把被测试的程序当成一个黑 盒子,不考虑它部的规律构造,通过输入的测试数据,依据需求来判定输出数据是否正确,确认软 件功能的正确性和可操作性;依据软禁的特定功能构造测试,以正式各个局部功能可以执行完全,同时在功能中查找缺陷;本系统的测试方法就是黑盒测试,测试手机为 nubia Z11;6.2 系统测试过程1用户注册的测试,如下表6-1 所示;word.zl. - -表 6-1 用户注册胜利的测试用例前置条件:进入注册界面测试方法:黑盒测试;输入数据: lyz
59、,学号: lyz,专业班级:计科 保: 123;执行步骤:填写注册信息提交;预期输出:注册胜利,返回登录界面;实际结果:注册胜利,返回登录界面;结论:通过;2用户找回密码的测试,如下表 6-2 所示;1301,密码: 123,确认密码: 123,密表 6-2 用户找回密码胜利的测试用例 前置条件:进入找回密码界面测试方法:黑盒测试;输入数据:账号名:lyz,密保: 123;执行步骤:填写密保信息提交;预期输出:找回胜利,吐司显示此账号密码;实际结果:找回胜利,吐司显示此账号密码;结论:通过;6-3 所示;3同学申请请假的测试,如下表 表 6-3 同学申请请假的用例 前置条件:以同学身份登入,进
60、入申请请假界面测试方法:黑盒测试;输入数据:请假课程:英语,图片:假条的图片,时间:因:生病;执行步骤:填写请假信息提交;2022-5-10 至 2022-5-11,原预期输出:添加胜利,并能在请假中查看的新申请的请假信息;实际结果:添加胜利,并能在请假中查看的新申请的请假信息;结论:通过;4同学签到的测试,如下表 6-4 所示;表 6-4 同学签到的测试用例前置条件:以同学身份登入测试方法:黑盒测试;输入数据:课程:英语,时间:第一节课;执行步骤:填写签到信息提交数据;预期输出:签到胜利,返回登入界面;实际结果:签到胜利,返回登入界面;结论:通过;5老师按同学查询考勤的测试,如下表6-5 所
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辽宁省沈阳市二十中学019-2026届化学高二上期末考试模拟试题含答案
- 2026届山东省淄博市第十中学化学高二上期中检测试题含解析
- 2026届山东省济南市长清第一中学化学高二第一学期期末预测试题含答案
- 2026届福建省龙岩市非一级达标校化学高一第一学期期末统考试题含解析
- 安徽省滁州市九校联考2026届化学高二第一学期期中统考模拟试题含解析
- 2025中国教育出版行业市场调研及发展战略研究报告
- 2025中国护肤品行业发展动态与投资机会研究报告
- 2025中国护肤品个性化定制商业模式可行性报告
- 2025中国建筑装饰行业市场发展分析及前景趋势与投资机会风险研究报告
- 2025中国工业机器人产业链市场分析及投资潜力研究报告
- 充电桩知识培训课件
- 设计主管竞聘述职报告
- 《稀土冶金技术史》课件-任务8 稀土应用技术体系
- 医疗案件案例分析课件
- 化妆新手技巧 从零起步轻松上手
- 古树茶采摘与保护承包合同
- 2025年高考真题-数学(北京卷) 无答案
- 2025 团校入团积极分子考试题库(全优)附答案详解
- 小升初之学习策略
- 显微根管治疗的护理配合
- 国际贸易法规与实务课件深度解析版
评论
0/150
提交评论