- •Тема: Функциональные спецификации приложений WhatsApp, Telegram и сервера обслуживания ip-телефонии
- •Основные термины
- •- Android os 2.3.3 , либо iOs 4.3, либо ос Windows Phone 7.5, либо BlackBerry os 4.6.
- •Текущие и исключённые возможности приложения
- •Uml диаграмма прецедентов (Use Case) приложения WhatsApp
- •- Android os 2.2 , либо iOs 6.0, либо ос Windows Phone 8.1, либо MacOs 10.8, либо наличие обновлённого интерент-браузера на пк.
- •Текущие и исключённые возможности приложения
- •Uml диаграмма прецедентов (Use Case) приложения Telegram
- •Uml диаграмма классов (Class Model) приложений WhatsApp, Telegram
- •Описание кода приложений WhatsApp, Telegram
- •Диаграмма коммуникации протоколов приложения WhatsApp
- •Описание кода взаимодействия протоколов приложения WhatsApp
- •Xmpp ServerRequestRef); /ссылка ServerRequest
- •Описание протоколов приложения Telegram
- •Диаграмма коммуникации протоколов приложения Telegram
- •Описание кода взаимодействия протоколов приложения Telegram
- •IncludePayload (ref /через скрипт mtproto
- •Invite (приглашение) — приглашает пользователя принять участие в сеансе связи (служит для установления нового соединения; может содержать параметры для согласования);
- •Диаграмма коммуникации сервера обслуживания ip-телефонии
- •Описание кода сервера обслуживания ip-телефонии
- •Список использованных источников
- •Приложение
Диаграмма коммуникации протоколов приложения WhatsApp
Для осуществления программного описания протоколов приложения WhatsApp используем UML-диаграмму коммуникации. (Рисунок 4)
Обозначение на диаграмме 1 |
Расшифровка |
Комментарий |
|
Пользователь |
Изображение объекта(-ов) пользователя
|
|
Объект
|
Изображение объекта, а так же описание его функций/возможностей. |
|
Взаимодействие |
Указывает направление и порядок взаимодействия между объектами (3.4:Server Request – где «3» – вариант, «4» – порядок, «Server Request» – наименование взаимодействия |
|
Ассоциация |
Взаимосвязь между объектами диаграммы. |
Описание взаимодействий между объектами и пользователем на диаграмме коммуникации протоколов приложения WhatsApp.
Наименование: 1.1: Send/Get Message 1.2: Server Request 1.3/2.3: Session key 1.4/2.4: Return decrypting data 1.5: Server Response 1.6: return Message 2.1: Send/Get Media 2.2: Server Request 2.5: Server Response 2.6: return Media
3.1: Send/Get Message 3.2: App Request 3.3: App Response
3.4: Server Request 3.5: Server Response
3.6: return Message
|
Описание: Отправить/Вывести(получить) сообщение Запрос у xmpp-сервера Отправка сеансового ключа для расшифровки данных Получение расшифрованных данных
Ответ xmpp-сервера Получение(вывод) сообщения, информации о сообщении Отправить/вывести(получить) медиа-файл, документ Запрос через протокол http к медиа-серверу Ответ медиа-сервера Получение(вывод) медиа-файла, документа, информации о файлах Отправить/Вывести(получить) сообщение через веб-браузер Запрос к мобильному приложению через протокол WebSocket Ответ от мобильного приложения (синхронизация с приложением) Запрос к веб-серверу Ответ веб-сервера (синхронизация веб-сервера с xmpp и медиа сервером) Получение(вывод) сообщения, информации о сообщении
|
Описание кода взаимодействия протоколов приложения WhatsApp
#include xmpp.h /добавление скрипта протокола XMPP
#include http.h /добавление скрипта протокола HTTP
#include ssl_tls.h /добавление скрипта протоколов SSL/TSL
#include websocket.h /добавление скрипта протокола WebSocket
public class ClientApp{ /создаём класс пользователя приложения
clientapp.sendMessage; /отправка сообщения
clientapp.getMessage; /запрос на отображение сообщения
clientapp.sendMedia; /отправка медиа-файла (документа)
clientapp.getMedia /запрос на отображение медиа-файла
public GetAppRequest(){ /получить запрос к приложению от браузера
return apprequest;}
clientapp.Response; /отправить ответ от приложения к браузера
public void XMPPRequest (ref /отправить xmpp-запрос к xmpp-серверу через скрипт XMPP
