基于Andriod的家校互动平台的设计与实现毕业论文
2020-02-19 18:00:46
摘 要
随着智能手机的不断发展,移动互联网也迅速崛起,越来越多的移动终端应用涌现在市场上,改变了我们的生活方式,同时也帮助我们更加方便地工作、学习以及与人交往。
众所周知,孩子是一个家庭的核心,孩子的学习状况也是家长们非常关心与重视的。所以学校与家长之间的交流方式就显得尤为重要。为了顺应互联网发展的潮流,提高校方与家长之间的沟通效率,本文设计并实现了一款基于Android平台的教师、家长和学生信息公示通信软件。此软件能够有效提高三者之间的沟通交流效率,让信息更加透明,帮助提高家庭与学校之间的理解。
本文首先阐述课题的国内外研究背景,并分析了当前市场的发展状况,明确了基于Android的家校互动软件开发的可行性。本系统使用Android作为移动端开发平台,Java作为开发语言,使用第三方云服务平台Bmob作为服务器与数据库,搭建出一套完整的通信平台。
本系统为不同的用户提供不同界面与功能。所有用户均可以与其他用户在线交流、互发文件、拨打语音电话。应用内还包含作业系统、通知系统、成绩系统等特色功能。本系统设计完成后进行了多方面的测试,测试结果符合预期目标。
关键词:Android;移动应用;家庭;学习;教育
导师签名: 年 月 日
Abstract
With the continuous development of smart phones, the mobile Internet has also risen rapidly. More and more applications have emerged on the market, changing our way of life, and helping us to work, learn and interact with people more conveniently.
As we all know, children are the core of a family, and the learning situation of children is also very concerned and valued by parents. Therefore, the way of communication between the school and the parents is particularly important. In order to comply with the trend of Internet development and improve the communication efficiency between the school and parents, this paper designs and implements a communication software for teachers, parents and students based on the Android platform. This system can effectively improve the communication efficiency among the three, make the information more transparent, and help improve the understanding between the family and the school.
This paper firstly describes the domestic and international research background of the subject, and analyzes the current development of the market, and clarifies the feasibility of the software development based on Android. This system uses Android as a mobile development platform, Java as a development language, using a third-party cloud service platform Bmob as a server and database, to build a complete communication platform.
This system provides different interfaces and functions for different users. All users can communicate with other users online, send files to each other, and make voice calls. The application also includes features such as homework system, notification system, and score system. After the design of the system is completed, various tests are carried out, and the test results meet the expected goals.
Key Words:Android;application;school;family; education
目 录
第1章 绪论 1
1.1 研究背景与意义 1
1.2 国内外相关研究现状 1
1.3 论文思路与结构 2
第2章 研究方案和架构概述 3
2.1 需求分析 3
2.1.1 用户需求分析 3
2.1.2 非功能性需求分析 3
2.2 系统设计目标 4
第3章 系统相关技术 5
3.1 Android系统 5
3.1.1 系统架构 5
3.1.2 基础组件 6
3.2 MVC设计模式 6
3.3 云服务器 7
3.3.1云服务器简介 7
3.3.2 Bmob服务器 7
3.4 即时通讯协议 7
3.5 数据库 8
3.5.1 移动端数据库 8
3.5.2 服务器端数据库 8
3.6 本系统主要使用Android的开源库 9
3.6.1 Glide 9
3.6.2 EventBus 9
第4章 系统设计概要 11
4.1 系统功能总体设计 11
4.2 数据库E-R图 12
4.3 系统类图 12
第5章 系统详细设计 14
5.1 服务器数据库设计 14
5.2 登陆模块用户界面与逻辑设计 20
5.3 首页模块用户界面与逻辑设计 24
5.4 即时通讯系统 26
5.4.1 用户界面设计 26
5.4.2 流程图与逻辑说明 28
5.5 作业系统用户界面设计与逻辑说明 30
5.6 新闻公告系统用户界面设计与逻辑说明 31
第6章 系统实现状况及功能测试 32
6.1 系统测试前准备工作 32
6.2 登录模块实现与测试 33
6.3 首页模块实现与测试 35
6.4 即时通信模块实现与测试 36
6.5 作业模块实现与测试 38
6.6 新闻模块实现与测试 39
第7章 结论 41
参考文献 42
致谢 44
绪论
1.1 研究背景与意义
随着科学技术的发展,互联网已经成为人们日常社交、学习、娱乐、工作等活动不可或缺的一部分。各行各业也将互联网作为下一次产业升级的重要一环。教育是社会发展的动力之一,而教育不仅仅是学校等教育机构能够完成的。俗话说家庭才是一个人的第一所学校,父母是孩子们的第一任教师。家庭教育与学校教育既有共同的教育目标, 又有无法互代的个性优势功能, 学校教育是主导, 家庭教育是基础, 它们是一个紧密联系、各自独立的有机系统, 二者应有机结合起来, 才能更好地发挥整体教育的作用[1]。互联网的快速发展,为现代教育带来了技术支撑和发展动力,并不断地涌现出新的工具和方法[1]。通过短信、电子邮件以及移动端应用能够有效地提高学校、教师与家长、学生之间的联系。
众所周知,互联网的发展得益于移动设备的普及与发展,据数据分析,。而在移动设备的操作系统上,Android操作系统更是独占鳌头。据调查[2],到2018年初,使用Android系统的移动设备市场占比高达85.9 %,而且呈现逐年增加的趋势。因此Android可以说是占据了移动端绝大多数的用户,开发Android软件可以获得更广阔的市场和更多的用户。
本系统旨在增进校方与家长的沟通交流,共同促进学生的学习环境以及改善教育方法。在支持普通即时社交软件应有的功能基础上,还应新增许多专门为教育场景定制的功能,能够满足一般家长对孩子学习情况的了解,同时减轻教师在与家长沟通上的负担,提高效率。
1.2 国内外相关研究现状
随着教育行业运用移动手机来提高与家长沟通的应用案例从本世纪初的1G手机时代就开始了。到2G时代,多运用短信、彩信以及电子邮件的方式进行沟通。例如,“校讯通”是一款学生考勤定位系统,学生到校时刷学生IC卡会触发短信系统通知家长学生已经到校,紧急情况时可以用系统直接拨打家长电话。但是运用此系统教师得不到任何回应,仅是单方面的交流。3G时代的到来推进了即时软件的发展与推广,人们用QQ、微信等通用社交软件来增进沟通,许多学校也要求教师组建自己的班级群聊以便与家长沟通[3]。虽然大大增进了家长与教师之间的沟通交流,但仅仅局限于文字交流,缺乏文件传输等功能,比较单一。而4G时代的到来则大大地改善了这一窘境。越来越多地人愿意下载专门的APP来管理各项事务。不仅如此,即将到来的5G时代,将为这方面提供更强有力的支持[4]。同时加上教育部门的推广,越来越多的学校纷纷选择适合自己的APP来推进家庭与校方的沟通。但是市场上现有的APP鱼龙混杂,质量参差不齐,很多软件不符合Android应用开发规范。在各大Android应用商店中明显可以看出这类软件下载量或是日活量较低。通过对软件的分析,可以总结出是由于应用的功能不全、使用不流畅,用户体验较差。
1.3 论文思路与结构
本论文主要分为七个部分逐一讲解系统的设计与实现方案。
第一部分为概述,主要描述本系统的研究背景以及国内外研究现状。
第二部分是研究方案和架构概述,主要研究本系统的用户功能需求、系统开发设计方案和预期设计目标。
第三部分为本系统相关技术介绍。主要介绍了Android平台、云服务器等几个主要技术,并对系统运用到的开源框架进行了简单介绍。
第四部分是系统的概要设计,主要从Android客户端和云服务器两个主要部分描述系统功能,并使用E-R图描述数据库结构,最后是系统类图的展示。
第五部分为系统的详细设计,详细介绍了系统各个主要模块的用户界面以及功能,结合流程图解释系统的逻辑结构。
第六部分为介绍系统的完成状况,以及介绍系统测试的方式和测试结果。
第七部分为本系统开发的结论。
第八部分为参考文献目录。
第九部分为致谢部分。
研究方案和架构概述
2.1 需求分析
2.1.1 用户需求分析
1.作业发布:
作为一款以家庭与学校为目标人群的应用,作业系统是不可缺少的一环,也是本应用区别于其他应用的重要特点。此功能能够让教师在线发布作业,发布之后目标班级的学生和家长能够通过系统通知收到该作业发布信息,以便家长监督学生完成作业。
2.即时通信:
即时通信模块是为了搭建一个家长、教师和学生之间能够方便沟通交流的平台,可以发送的消息至少包含以下几种:文字、图片、短语音、文件以及音频通话等。能够实现一对一以及多人群聊功能。
3.通知新闻:
为了帮助提高家长对学校的理解,设置通知新闻模块,用于让学校发布通知公告,同时可以作为校内媒体的新闻发布渠道,以及展示班级风采和喜闻乐见的校园活动。该功能允许教师发布通知,家长学生用户能够通过系统推送获取。对于发布在此模块的新闻,家长用户和学生用户允许评论和点赞。
4.成绩系统:
为了让家长更加了解子女的阶段学习情况,本应用提供了成绩查询功能。在此功能内部,教师可以发布每个学生的成绩,家长和学生可以查询学生的所有成绩以及排名等信息。
5.课程系统:
家长和学生用户可以在课程系统内查询学生的课程表,教师可以在课程系统内查询本人的教学安排。
2.1.2 非功能性需求分析
为了让用户在使用应用的过程中获得较好的体验,本应用应该做好以下几点:
1. 用户界面要友好,UI设计应该符合当前市场的审美观,优化用户操作流程以及反馈。
2. 即时通信应该做到消息发送以及接收及时。
3. 图片及音视频要压缩处理得当,避免浪费用户流量资源。
4. 离线推送要及时,防止用户错失重要信息的情况发生。
5. 本应用运行要流畅,不能出现经常性的卡顿现象。应避免经常闪退,应该避免长时间占用太多系统资源。
6. 本应用大小应该适当,不能占用过多内存资源。
2.2 系统设计目标
1. 即时通信:
实现即发即收,实现多种消息类型的发送与接收。实现音频通话,保证通话质量。在条件允许的情况下实现视频通话。
2. 作业系统:
实现作业发布,实现教师作业发布后发送推送至家长和学生客户端。实现在客户端查看作业,刷新作业列表。
3. 成绩和课程系统:
实现教师成绩录入,家长与学生端成功查询。实现在客户端自动加载课程信息,并展示在课程表上。实现用户手动添加课程信息。
4. 通知新闻系统:
实现新闻列表页面,实现评论、点赞功能。实现教师客户端发送通知并且家长和学生客户端接收到通知。
5. 用户界面:
采用Google官方推荐的Material Design风格设计,在一些场景上添加动画效果,提高用户体验。
6. 应用:
使用过程中不出现闪退现象,不占用过多系统运行内存。安装包大小尽量保持着5MB以内。
系统相关技术
3.1 Android系统
Android系统自2008年发布第一个版本后,立刻进入了快速发展阶段。由于其开源特性,各大手机厂商纷纷使用Android作为其智能手机的操作系统,于是一个完整的Android生态圈建立了起来。Google、手机厂商、开发者和用户之间相互依存,共同促进了Android的发展。
3.1.1 系统架构
如图3.1所示,Android系统的架构从低向上可以分为四个层次:Linux内核层、系统运行库层、应用框架层和应用层[5]。
图3.1 Android系统架构
1.Linux内核层:
Android系统是基于Linux内核研制出来的,在内核层中,Android为设备提供底层驱动,例如蓝牙驱动、音频驱动、显示驱动等等。
2.系统运行库层:
该层主要通过一些用C/C 编写的库文件为Android系统提供支持。例如数据库、绘图、浏览器内核等。该层还包含Android运行时库,包含一些核心库和Dalivik虚拟机,使得开发者能够运用Java语言开发Android应用。同时为每个应用分配一个Dalivik虚拟机实例使得应用能够在独立的线程中运行[6]。
3.应用框架层:
这一层为开发者提供了开发Android应用程序所需的各种API。
4.应用层:
所有安装在手机上的应用都属于这一层,包含系统自带的应用和开发者开发的应用,也包括本系统将要开发的应用程序,也将安装在这一层中。
3.1.2 基础组件
Android一共有四个常用组件:
活动(Activity),是一种包含用户界面的组件,主要用于和用户进行交互。
服务(Service),是一种不依赖于用户界面的后台程序运行方式,Service的主要作用是在用户看不见的后台执行一些长耗时的逻辑操作[7]。
内容提供器(Content Provider),主要用于不同的应用程序之间,以实现跨程序间的数据共享。内容提供器允许一个应用访问或者打开另一个应用。
广播接收器(Broadcast Receiver),主要用于监听操作系统的各种状态变化和行为,如网络状态变化、系统开机等。
3.2 MVC设计模式
MVC(Model-View-Controller)模式,即模型-视图-控制器设计模式,MVC开发模式中主要含有三个核心部件:控制器、模型、视图。三者的相互协和调配合,使得整个程序得以平稳运行下去[8]。
1.模型(Model):组成模型的是各种数据的类和实体以及对数据操作的各种方法。在某个模块中,Model保存了模块内数据的状态和改变这些状态的方法,往往是一系列的公开方法。通过这些公开方法,便可以取得Model的所有功能。在本系统中,主要表现为各种业务逻辑实体类,例如用户类实体(User.class),作业类实体(Homework.class)等。
2.视图(View):是对Model的视觉展示。Model可以由一个或多个视图组成,并且可以动态地加载合适的视图。而一个视图也可以用于不同的模型。在Android应用开发中则主要表现为各种XML文件,包括布局文件等。
3.控制器(Controller):Controller是为了Model和View之间的通信而存在的,用户对View的各种操作,Controller会转发给Model来改变数据或是状态。在本系统中主要表现为各种Activity和Fragment。
3.3 云服务器
3.3.1云服务器简介
云服务器(Elastic Compute Service,ECS)是一种简单方便、安全高效、灵活性高的计算服务。与传统物理服务器相比较,用户无需购买硬件设备即可使用,降低了一般用户的成本。云计算服务器具有以下特点:高密度、低能耗、易管理和系统优化。
3.3.2 Bmob服务器
对于个人开发者而言,同时开发后台服务器、数据库和前端是一件复杂困难的事,同时还要在应用开发完成后对系统进行长时间的维护。因此我们就需要一个能够将应用开发流程简化的服务提供者。
Bmob后端云是一家专注于移动应用云服务的、以BAAS模式为基础的平台[9]。本系统选用此服务商是由于其能够提高稳定安全、方便高效且经济实惠的后端云服务。首先是能够通过可视化的方式搭建应用的数据库,平台支持十种不同的数据类型,并为免费开发者提供充足的存储空间。其次,Bmob云服务支持各种文件上传和存储,十分适合本系统开发的文件系统,方便管理。此外,该平台还允许开发者在线创建云函数,扩展服务器功能。最后,该平台提供及时通信API、推送功能以及短信验证码功能,大大扩展了本系统的内容,同时也减少了系统开发的工作量。
3.4 即时通讯协议
即时通信协议(IM,Instant Messaging)允许用户在线实时交谈,发送信息,支持文字、图片、网页链接、文件等消息内容。常见的即时通信协议有XMPP[10],Jabber等协议
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: