源码下载 http://www.byamd.xyz/hui-zong-1/
1 概述
1.1 研究背景和意义
社会的发展,智能手机的普及让各种各样的手机应用APP成为我们生活中必不可少的一部分,教育行业也搭上了这趟车,走上了“互联网+”教育,为了方便学生、家长、学校三体互动,让家长和学生能及时收到学校发送的消息,满足用户之前的实时交流,“爱吖校推”应运而生。
“爱吖校推”是一款基于Android的家校互动平台。随着社会的发展,各种APP在手机行业发展的助推下应用越来越广泛。某权威调研机构表示,2016年,Android系统已经占领市场份额高达81.3%,而大名鼎鼎的iPhone屈居第二,仅占17.8%,更令人惊奇的是,Android的市场份额还在持续增多。
社交是人类社会性群体的基本属性。而“爱吖校推”就是一款基于教育行业的社交类APP。它支持所有的即时通讯应该包含的功能,文件发送、位置发送、音视频通话、图片、视频等,同样也支持校方和教师发送公告作业并推送到相应群体的Android智能终端。在当前微信用户如日中天的基础上,“爱吖校推”采用微信朋友圈的方式,支持消息发送、点赞、评论、拍照、秒拍、微视频等群体社交,真正进入微社交时代。这是一件非常有意义的事情。
1.2 国内现状
家校互动的需求长期已有,它的研究和设计从本世纪初就开始了,而且也取得了不小的成效。但在早期由于技术的限制,所以存在信息的单项沟通,比如早期的“校讯通”。它就是单纯的通过收发短信来达到家校信息交流,教师得不到任何的反馈。之后随着移动互联网的发展,微信平台如鱼得水,其双向沟通性让一线教师感觉是雪中送炭,但其信息筛选性一直为人诟病。虽然微信等即时通讯软件一定意义上解决了家校互动的问题,但这样的处理,无疑是增加了教师的工作量。
近年来,有
“爱上学”、“和校园”、“爱学习”、“校讯通”等已经运行的家校互动支持平台20多个,这些平台主要实现信息发布查看等功能,对于信息的及时推送功能匮乏,加之在校大学生多用QQ群或者微信群作为沟通平台,常常使得通知公告信息错过,导致了学生之间的信息不对等,而国内超高量的外出打工家长,想看到没有手机的孩子实在困难。所以“爱吖校推”在操作简单的基础上,优化了拍照和微视频,让老师可以把学生的学校情况实时地分享给大家。消息的离线推送也使得信息的准确到达率迅速提升,而附带音视频通话的及时通讯板块,也是拉近了学生、家长、教师之间的距离。
1.3 论文的思路和结构
该论文分十个部分进行逐一讲解:
首先把概述作为了第一部分,该系统平台的研究背景和意义以及国内现状作为主要讲述内容。
第二部分是研究方案和架构概述,主要阐述了本课题预计花费时间的设计方案、软件开发设计方案以及设计目标,最后做了架构概述。
第三部分是需求分析,主要从用户需求、性能需求和功能需求三方面阐述了需求板块需要具备的东西。本部分还用了用例图、用例说明增加相关人员的理解。
第四部分是概要设计,主要从Android端和服务器端分别阐述了功能总体设计,然后画了数据库E-R图,最后是系统类图和界面设计。
第五部分是详细设计,主要从数据库设计、CS协议通信、时序图三个方面阐述。
第六部分是系统实现,主要介绍了本次系统实现所用到的开发工具,并展示了开发界面总览和核心功能代码的讲解。
第七部分是软件测试,分版块进行功能、性能、安全、交叉事件以及兼容性板块进行测试并修改系统bug。
第八、九部分是本次毕业设计中的收获和结论以及自己的感想。
最后是本文所参考的各种有价值的资料列表。
2 研究方案和架构概述
2.1 预计花费时间设计方案
1)花费7天查阅了关于即时通讯的资料以及小米推送的官方文档,并对其进行分析整理。
2)花费10天查阅了一些技术博客和相关论坛以及GitHub上比较火的框架和项目。
3)花费15天进行数据库设计,并对系统框架做一个全局性思考;
4)花费10天编写后台API数据接口,并做简单测试;
5)花费1个月编写Android端代码,并对后台数据可行性进行验证修改;
6)最后进行常规测试,并在各大机器上运行,以保证不会出现致命Bug。
2.2 软件开发设计方案
采用MVC开发模式,按照功能可划分为:发通知,发作业,互评点赞,图片并茂,即时通讯,小米推送等模块。
功能模块细化:
1)班级圈:班级圈包含教师可发放通知、作业,基本支持图文并茂社区化和微视频上传。家长可查看自己班级的每一条信息,以及进行互评回复点赞。
2)即时通讯:即时通讯板块主要依赖于环信,在环信SDK的大前提下,引入基本的即时通讯和音视频通话。
3)社区板块:社区板块是用户只要在一个班级即可进行类似朋友圈的交流,依然可以进行互评点赞回复。
4)发现板块:发现板块主要是为加载一些广告和活动。
5)我的板块:我的板块主要是提供用户信息的更改设置等。
推送板块:当前推送继承了Google推送、华为推送和小米推送,以最大的可能提高推送接收率。
2.3 本课题的设计目标
模块功能实现的目标:
1)班级圈:保证班级圈数据的正常显示,非本班人员应该不具备查看该班信息权限的能力。采用广播、接口回调及其其它方式完成数据的传递和更新。
2)即时通讯:保证音视频通话的离线呼起,保证长连接的引用,保证用户能正常收发消息。
3)社区:同班级圈。
4)发现:保证广告的通畅性和可行性。
5)我的板块:保证用户信息的修改处理正常,做到信息不泄漏。
6)推送:保证推送成功率与正确率。
7)交互性良好:采用material design
风格设计,以及动画效果的引用,使用户和软件具有更加青睐的交互体验,并通过信息圈子推送,增加了用户粘性。
8)代码风格佳:在编码过程中,严格要求分包逻辑,采用模块化分包,并对代码进行合理的封装处理,使代码更加模块化,让其他人能更易上手。
9)实用性:通过不断的更新产品功能和接收用户反馈,让该产品更加地符合消费者思维。
2.4 架构概述
本系统采用C/S架构,分为客户端和服务器端。
客户端被分为了表现层、业务逻辑层和数据访问层三个层面。
1.表现层:主要通过Android应用页面来展示数据,以及一系列事件响应的UI控件。
2.业务逻辑层:主要用于业务逻辑的处理。通常由业务服务Service类和业务实体类Entity组成。
3.数据访问层:本系统采用的数据库是MySQL,采用XAMPP进行服务器搭建,采用PHP作为后台数据接口编写,用花生壳做域名解析,以达到Android客户端与服务器之间的访问。
3 需求分析
需求分析是“爱吖校推”应用分析的必要阶段,下面分软硬件需求、功能需求和用户需求三方面做介绍,
3.1 软硬件需求
本系统的软硬件需求如下:
(1) 在Android平台上运行,系统在4.0以上;
(2) 后台数据库:MySQL
(3) 开发环境:Java JDK1.7 ,Windows 10
(4)开发工具:Android Studio、Eclipse For PHP、XAMPP、
(5) 个人计算机:华硕飞行堡垒笔记本
3.2 功能需求
“爱吖校推”作为一款功能性软件,其功能需求相当重要。以下为“爱吖校推”的功能需求:
1)发通知、发作业
发通知和发作业,是学校教师特有的功能,教师可以通过“爱吖校推”平台进行通知和作业的发放,每当发一条信息,该班的所有人员便可以收到来自服务器的信息推送,提醒家长打开APP查看。每一条通知和作业家长都可以点赞和互评和回复。这样让家长和学校的关系更贴切,也增加了信息筛选机制,从而避免了QQ群、微信群等多余信息的影响。
2)传视频、传照片
传视频是在社区和通知作业板块均具备的功能,紧跟微视频的时代步伐,教师可以把孩子在学校的精彩表演,录制下来发到班群里,家长便可以看到。家长也可以把孩子在家里做的有意义的事情放到社区,让同一个班级的家长朋友们借鉴。良好的图文并茂社区化,不仅增进了家长和学校的交流,还增进了家长之间的联系和友谊。
3)即时通讯
即时通讯板块是一个整体的板块,基本包含QQ微信的所有功能,依然可以发图片、发消息、发语音、发定位、音视频通话等。意在增加朋友之间的联系和家长和学校教师的一对一交流和多对多交流。
4)发现板块
发现板块主要是轮播的一些优秀且有利于教师家长的APP功能板块,并且会组织一些活动,邀请大家参加。
5)离线推送
离线推送在家校互动平台软件中是一个必备功能,也算是一个核心功能,有它才能保证用户真正收到来自教师发放的信息,以及即时通讯过来的消息。同时音视频通话等即时性要求较高的功能,也得依赖它。并且,推送信息到通知栏的方式向用户传递信息,也是可以增加用户粘性。
3.3 用户需求
在“爱吖校推”应用的开发过程中,为了尽量满足学校老师和家长用户的要求。目前得到的需求有:
-
图片显示清晰,但不能太大,以免浪费流量;
-
微视频的压缩要处理好,不能太浪费流量;
-
即时通讯要通畅;
-
要具备离线推送,确保家长用户能收到教师发送的作业和通知;
-
要有权限管理,不能让外班人员看到本班的消息;
-
公告和作业不能插广告;
-
应用不能经常闪退;
-
应用不能太大,也不能太占内存;
-
运行要流畅,不能出现卡顿现象;
3.4 用例图
3.4.1 登录板块
图1 登录模块用例图
3.4.2 班圈板块
图2 班圈模块用例图
3.4.3 消息板块
图3 消息模块用例图
3.4.4 发现板块
图4 发现模块用例图
3.4.5 我的板块
图5 我的模块用例图
3.5 用例说明
3.5.1 UC1用户登录
表1 UC1用户登录用例
UC1用户登录 | |
---|---|
参与者 | 所有用户、管理员可以登录 |
触发条件 | 用户点击登录按钮 |
前置条件 | 用户打开了APP |
后置条件 | 登录到主页,进入APP各大功能使用 |
正常流程 | 打开APP; 输入账号密码开始登录; 登录成功则进入主页面 |
扩展流程 | 2a.输入信息有误 系统提示用户账号不存在,提醒用户账号不存在; 系统提示密码输入错误,提醒用户密码输入错误; |
3.5.2 UC2用户注册
表2 UC2用户注册用例