8-804-333-71-05
(бесплатно по РФ)
Ваш город: Ашберн
Зачётик.Ру - каталог студенческих работ.

У нас можно недорого заказать курсовую, контрольную, реферат или диплом

Главная / готовые работы / Курсовые работы / Информатика

Разработка системы удаленного управления устройствами с помощью iOS-приложения и сервера на Raspberry Pi - Курсовая работа

Содержание

СОДЕРЖАНИЕ 2

1 Обзор архитектуры, обоснование выбранных платформ и протоколов взаимодействия. 3

1.1 Выбор протоколов взаимодействия 3

1.2 Выбор платформы для клиента 7

1.3 Выбор платформы для сервера 8

1.4 Выбор паттерна проектирования 9

1.5 Выбор архитектуры сервера 11

1.6 Техническое задание 12

Глоссарий 12

Таблица 1.1 12

1.7 Цель и задачи 21

1.8 Сравнение с аналогами 22

2 Проектирование клиент-серверного взаимодействия 23

2.1 Архитектура системы (WLAN, TCP/IP, POSIX sockets, Bluetooth, radio channels) 23

2.2 Архитектура системы (Global network, DDNS, RESTful, HTTP/HTTPS) 24

2.3 Функциональное проектирование клиент-серверного взаимодействия 25

Список использованной литературы 27



Введение (выдержка)

1 Обзор архитектуры, обоснование выбранных платформ и протоколов взаимодействия.

1.1 Выбор протоколов взаимодействия

Клиент-сервер (англ. Client-server) — вычислительная или сетевая ар-хитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг, называемыми серверами, и заказчиками услуг, называемыми клиентами. Физически клиент и сервер — это программное обеспечение. Обычно они взаимодействуют через компьютерную сеть посредством сетевых протоколов и находятся на разных вычислительных машинах, но могут выполняться также и на одной машине. Программы — сервера, ожидают от клиентских программ запросы и предоставляют им свои ресурсы в виде данных (например, загрузка файлов посредством HTTP, FTP, BitTorrent, потоковое мультимедиа или работа с базами данных) или сервисных функций (например, работа с электронной почтой, общение посредством систем мгновенного обмена сообщениями, просмотр web-страниц во всемирной паутине).

Протокол UDP.

UDP (англ. User Datagram Protocol — протокол пользовательских датаграмм) — один из ключевых элементов TCP/IP, набора сетевых протоколов для Интернета. С UDP компьютерные приложения могут посылать сообщения (в данном случае называемые датаграммами) другим хостам по IP-сети без необходимости предварительного сообщения для установки специальных каналов передачи или путей данных. UDP использует простую модель передачи, без неявных «рукопожатий» для обеспечения надёжности, упорядочивания или целостности данных.

Таким образом, UDP предоставляет ненадёжный сервис, и датаграммы могут прийти не по порядку, дублироваться или вовсе исчезнуть без следа. UDP подразумевает, что проверка ошибок и исправление либо не нужны, либо должны исполняться в приложении. Чувствительные ко времени приложения часто используют UDP, так как предпочтительнее сбросить пакеты, чем ждать задержавшиеся пакеты, что может оказаться невозможным в системах реального времени.



Основная часть (выдержка)

Протокол TCP.

TCP ( Transmission Control Protocol, протокол управления передачей) — один из основных протоколов для передачи данных Интернета, предназначенный для управления передачей данных в сетях и подсетях TCP/IP.

Выполняет функции протокола транспортного уровня в стеке протокола IP.

Механизм TCP предоставляет поток данных с предварительной установкой соединения, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета, гарантируя тем самым, в отличие от UDP, целостность передаваемых данных и уведомление отправителя о результатах передачи.

Реализация TCP, как правило, встроена в ядро ОС, хотя есть и реализации TCP в контексте приложения.

Когда осуществляется передача от компьютера к компьютеру через Интернет, TCP работает на верхнем уровне между двумя конечными систе-мами, например, браузером и веб-сервером. TCP осуществляет надежную передачу потока байтов от одной программы на некотором компьютере к другой программе на другом компьютере (например, программы для электронной почты, для обмена файлами). TCP контролирует длину сообщения, скорость обмена сообщениями, сетевой трафик.

В разрабатываемой системе критична надежность и целостность потока данных, так как происходит удаленное управление устройствами. Поэтому важно, чтобы все команды по событиям на интерфейсе клиента доходили до сервера в правильном порядке. Поэтому мы выбираем в качестве транспортного протокола — протокол TCP.

Модель TCP/IP была разработана для того, чтобы обеспечивала воз-можности соединения и взаимодействия оборудования различных производителей. Определённый с восьмидесятых годов как сетевой протокол, TCP/IP проявил себя как мощный и гибкий протокол, поддерживающий разнообразные сервисы.

Протокол IP был впервые определён в 1974 году. На данный момент четвёртая версия протокола является основой Интернета, а также самым распространённым протоколом в объединённых частных сетях. Этот протокол обеспечивает сервис сетевого уровня без установления соединения для сквозной передачи между уровнями. IP является «ненадёжным протоколом», то есть он не делает ничего, чтобы гарантировать надёжность. Нету ни гарантий доставки, ни гарантий отсутствия ошибок или управления потоками данных, это связано с тем, что разработчики стека переложили ответственность за всё это на более высокие уровни стека. IP является дейтаграммным протоколом.

Протокол ICMP работает поверх IP, но является частью сетевого уровня, он предназначен для обмена информацией об ошибках между шлюзом и маршрутизатором, системой-источником и системой-приемником. С помощью специальных пакетов ICMP сообщается о невозможности доставки пакета.

К уровню межсетевого взаимодействия относятся также и все протоколы, связанные с составлением и модификацией таблиц маршрутизации, такие как протоколы сбора маршрутной информации RIP и OSPF.

Следующий уровень (второй) называется основным. На этом уровне функционируют протокол управления передачей TCP и протокол дейтаграмм пользователя UDP. Также этот уровень называют транспортным.

Первоочерёдной задачей этого уровня является надёжная передача целого сообщения от одной конечной системы к другой. Кроме того, именно на этом уровне принимается решение о том, каким образом передать сообщение.

Протокол TCP разработан специально для функционирования в разнообразных сетевых топологиях и обеспечения сервиса с установлением соединений с гарантированной и последовательной доставкой. Протокол TCP необходим для обеспечения надёжного взаимодействия процессов на верхних уровнях через возможно ненадёжные подсети. Соединения на основе протокола TCP позволяют осуществлять одновременную передачу данных в обоих направлениях, формируя полнодуплексный поток.

Протокол HTTP.

HTTP (англ. HyperText Transfer Protocol — «протокол передачи гипертекста») — протокол прикладного уровня передачи данных (изначально — в виде гипертекстовых документов в формате HTML, в настоящий момент используется для передачи произвольных данных). Основой HTTP является технология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом.

Задача, которая традиционно решается с помощью протокола HTTP — обмен данными между пользовательским приложением, осуществляющим доступ к веб-ресурсам (обычно это веб-браузер) и веб-сервером. На данный момент именно благодаря протоколу HTTP обеспечивается работа Всемирной паутины.

API многих программных продуктов также подразумевает использование HTTP для передачи данных — сами данные при этом могут иметь любой формат, например, XML или JSON.



Заключение (выдержка)

2.3 Функциональное проектирование клиент-серверного взаимодействия


Рисунок 2.3 – Функциональная диаграмма remote devices control в нотации idef0

Входными данными являются логин и пароль. Выходными данными – обновление состояния удаленных устройств. Управлением является HTTP-запрос. Механизмами являются пользователь, iOS-клиент, REST-сервер и удаленные устройства.


Рисунок 2.4 – Декомпозиция функции remote devices control в нотации idef0

Декомпозиция функции remote devices control представляет из себя три функции:

- connect (входными данными являются логин и пароль пользователя, управлением является HTTP-запрос, механизмами – пользователь, iOS-клиент, REST сервер)

- GET (управлением является HTTP-запрос, механизмами – пользователь, iOS-клиент, REST сервер и удаленные устройства)

- POST (управлением является HTTP-запрос, механизмами – пользователь, iOS-клиент, REST сервер и удаленные устройства)



Литература

1. Swift Development with Cocoa - Jonathon Manning, O’Reilly, 2014.

2. Tapworthy Designing Great iPhone Apps - Josh Clark, O’Reilly, 2010.

3. UNIX. Разработка сетевых приложений - У.Р. Стивенс, СПб: Издательство «Питер», 2007.

4. Mobile First - Luke Wroblewski, A book apart, 2011.

5. Apple developer library // Режим доступа: https://develop**ple.com/library/

6. Разработка документации для программных приложений по ГОСТ [Электронный ресурс] // ГОСТ 19.201-78 Техническое задание. Требования к содержанию и оформлению (Взамен ГОСТ 19.201-78). – Режим доступа: http://www.rug**t.com/, свободный

7. Learn Git In A Month Of Lunches - Rick Umali, Manning, 2015.



Информация о работе

Страниц: 27
Тип: Курсовая работа
600 p.
Не подошла эта работа?

Закажите написание авторской работы.
Средний балл наших работ: 4,87
Мы помогли 10467 студентам.
X
X