第一章 绪 论 …1
1.1 研究背景与意义 … 1
1.1.1 选题背景与依据 … 1
1.1.2 研究意义与价值 … 1
1.2 国内外研究现状 … 2
1.2.1 国外相关研究现状 … 2
1.2.2 国内相关研究现状 … 3
1.3 论文的主要研究工作 … 4
1.4 论文的结构安排 … 5
第二章 相关理论与技术 …6
2.1 推送技术的介绍与选择 … 6
2.1.1 推送简介 … 6
2.1.2 推送协议的选择 … 7
2.2 MQTT 协议介绍… 8
2.2.1 MQTT 协议的发展情况… 8
2.2.2 MQTT 协议的内容… 8
2.2.3 MQTT 协议的实现工程…11
2.3 本章小结 …11
第三章 系统需求分析 …12
3.1 系统需求背景 … 12
3.1.1 客户需求背景 … 12
3.1.2 系统需求目标 … 12
3.1.3 系统需求说明 … 12
3.2 系统功能需求分析 … 13
3.2.1 用户角色 … 13
3.2.2 主要功能需求 … 13
3.3 系统非功能需求分析 … 21
3.3.1 性能需求 … 21
3.3.2 约束性需求 … 21
3.4 本章小结 … 22
IV
目录
第四章 系统总体设计 …23
4.1 系统设计目标与思路 … 23
4.1.1 系统设计目标 … 23
4.1.2 系统设计思路 … 23
4.2 系统架构设计 … 24
4.3 系统网络设计 … 25
4.4 系统软件框架设计 … 26
4.4.1 服务端软件框架 … 26
4.4.2 代理端软件框架 … 27
4.4.3 客户端软件框架 … 28
4.5 系统软件结构设计 … 29
4.5.1 服务端子系统软件结构设计 … 29
4.5.2 代理端子系统软件结构设计 … 30
4.5.3 客户端子系统软件结构设计 … 30
4.6 系统接口设计 … 31
4.7 系统功能模块设计 … 33
4.7.1 服务端子系统功能模块设计 … 33
4.7.2 代理端功能模块设计 … 39
4.7.3 客户端功能模块设计 … 41
4.8 系统数据库设计 … 45
4.8.1 服务端数据库设计 … 45
4.8.2 客户端数据库设计 … 50
4.9 本章小结 … 53
第五章 系统实现 …54
5.1 系统实现的开发环境 … 54
5.2 系统主要功能的实现 … 54
5.2.1 服务端数据存储功能的实现 … 54
5.2.2 登录功能的实现 … 57
5.2.3 内容管理功能的实现 … 59
5.2.4 用户管理功能的实现 … 61
5.2.5 终端反馈功能的实现 … 63
5.2.6 消息推送功能的实现 … 68
5.2.7 文件上传下载功能的实现 … 76
1.5 本章小结 … 82
第六章 系统测试 …83
1.1.3 测试设计 … 83
1.2.3 测试用例设计 … 83
1.2.4 测试环境 … 84
1.1.4 功能测试 … 84
1.1.5 性能测试 … 87
1.1.6 测试结论 … 88
1.1.7 本章小结 … 90
第七章 总结与展望 …91
2.4 总结 … 91
2.5 不足与展望 … 92
致 谢 …93
参考文献 …94
第三章 系统需求分析
对客户的需求作详细的调研,得出满足客户要求并且可行的需求,对项目的
成功会起到十分关键的作用。本章将对本项目的需求背景以及总体需求分析作详
细的说明。
1.17 系统需求背景
1.1.15 客户需求背景
本项目的客户为某成人教育学院,在教学管理中教务人员通常会与学生有较
多的沟通,虽然可以通过 QQ 群、电话、短信、邮件等方式联络,但由于学员的
年龄层次、工作性质、所在班级等情况不同,无法用统一便捷的渠道来及时沟通,
重要事情常被忽略,从而导致消息传递不可靠、不及时、沟通成本较高等问题;
在学生的学习生活中会有如下的信息交流情景:老师布置作业和提供学习资料,
在课余时组织活动的影像资料分享,以及学院新闻和教务通知。这些场景中信息
的传递都缺少方便的途径,而采用越来越普及的智能手机等移动终端则是较合适
zkq 20151125
的方式。因此,客户希望借助移动终端便于信息推送的优势,来改善和解决这类
问题。
1.1.16 系统需求目标
根据对客户的需求情况分析,得出本项目的需求目标是建立一个信息推送平
台系统,在系统内,老师可以便捷地向学生推送消息,学生可以及时收到消息,
并且能向老师反馈信息,从而达到师生间流畅沟通的目的,进一步提高学院教学
管理水平。
1.1.17 系统需求说明
通过与客户密切沟通,了解到客户希望解决在教学管理过程中信息传递不畅、
信息类型单一、反馈沟通不足等问题,分析出这些需求情况,并结合需求的可行
性,总结出总体需求信息,根据需求的紧要程度和开发的规划,将总需求进行阶
段划分,本项目需求是基于总需求的主要基础需求,下面两节将分别从功能需求
和非功能需求两方面作详细说明。
本论文所研究的基于 MQTT 协议的信息推送平台系统旨在为教育行业客户提
供一个便于师生沟通、提高教学质量的解决方案,该系统的实现将能较好地满足
客户的需求,从而增加自身技术经验的积累,为深耕于行业应用的开发奠定坚实
基础。具体来说主要的研究内容有如下几点:
(1)深入全面地分析客户需求,详细研究国内外的相关技术,从而总结出可
行的需求,根据需求情况并结合硬件要求,选择适合的开发工具和实现技术。
(2)根据需求设计出系统的总体架构,要符合高内聚、低耦合的设计思想,
应具备一定的扩展性,并且满足在功能和性能上的要求。
(3)实现 MQTT 协议在本项目的信息推送机制上的运用。
(4)根据需求和系统架构定义出接口和功能模块,设计出用户界面和数据结
构,制定开发计划。
(5)编写代码,选择适合的开发工具和编程语言,实现系统中定义的各模块
4
第一章 绪 论
功能。
(6)测试系统,验证系统的功能实现,测试系统的稳定性和并发能力,得出
测试结论。
1.10 论文的结构安排
本论文按照推送平台系统的研究、设计和实现的过程将论文总共分为七章,
具体安排如下:
第一章为绪论,阐述本文的选题依据,介绍相关的国内外研究现状,并提出
论文的研究内容和预期的研究成果。
第二章为相关理论与技术,内容包括推送的理论与技术、MQTT 协议,为系
统的设计实现提供技术基础。
第三章为系统需求,说明需求的背景,归纳客户的需求,并结合可行性分析,
总结出本项目的主要需求情况。
第四章为系统设计,首先根据需求设计出系统的整体架构,阐述系统的网络
模型、软件框架,按照架构划分出子系统,定义它们之间的接口,然后定义出功
能模块的内容和用户界面,最后设计出系统的数据结构。
第五章为系统实现,首先提出系统实现的目标原则,然后按照功能模块为单
位,本文转载自http://www.biyezuopin.vip/onews.asp?id=12236详细阐述系统中主要功能的实现过程。
第六章为系统测试,设计出系统的测试方案,通过测试用例测试系统在功能
和性能方面的实现情况,分析测试结果,得出测试结论。
第七章是总结与展望,阐述本项目达到的研究成果,指出不足之处,并展望
进一步的改进之处和研究方向。
package com.missile.mqtt.publisher;
import org.eclipse.paho.client.mqttv3.IMqttDeliveryToken;
import org.eclipse.paho.client.mqttv3.MqttCallback;
import org.eclipse.paho.client.mqttv3.MqttMessage;
public class PushCallback implements MqttCallback {
@Override
public void connectionLost(Throwable e) {
// 连接丢失后,一般在这里面进行重连
System.out.println("连接断开,可以做重连");
}
@Override
public void deliveryComplete(IMqttDeliveryToken token) {
System.out.println("deliveryComplete---------" + token.isComplete());
}
@Override
public void messageArrived(String topic, MqttMessage message) throws Exception {
// subscribe后得到的消息会执行到这里面
System.out.println("接收消息主题 : " + topic);
System.out.println("接收消息Qos : " + message.getQos());
System.out.println("接收消息内容 : " + new String(message.getPayload()));
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32