Skip to content

Latest commit

 

History

History
78 lines (45 loc) · 7.72 KB

План разработки.md

File metadata and controls

78 lines (45 loc) · 7.72 KB

План разработки клиент-серверного приложения

Весь план состоит из двух этапов разработки:

  1. Разработка сервера
  2. Разработка клиента

Обозначение текущего хода идёт по следующему шаблону: этап-фаза-шаг.подшаг. Например, если разработчик находится на этапе A, фазе I, шаге 2 и подшаге 1, то текущий ход можно записать как A-I-2.1.

Разработка сервера (этап A)

Разработка сервера включает в себя две фазы: разработка серверного приложения и разработка программы микроконтроллера Arduino.

Разработка серверного приложения (фаза I)

  1. Разработка веб-сервера для хостинга клиентского приложения

    1. Проектирование архитектуры "конечных точек" для чёткого понятия откуда клиенту брать данные (веб-страницы и прочие для них ресурсы).

    2. Реализация этой архитектуры и поддержки подключений с клиентом.

    • Для тестирования клиентского приложения создаются простые веб-страницы без какого-то особого интерфейса.
  2. Разработка веб-сокет сервера для взаимодействия клиента с сервером

    1. Проектирование единой системы сообщений: создание шаблона сообщений, которые будут использоваться для верификации валидности сообщения и удобной его последующей расшифровки.

    2. Реализация этой системы сообщений: обработка присылаемых клиентом сообщений и при необходимости ответ на них в такой же форме, а также поддержка подключения с помощью ping-pong сообщений.

  3. Разработка взаимодействия с микроконтроллером Arduino

    1. Проектирование упрощённой системы сообщений: эта система включает в себя небольшое количество символов в сообщениях и специальный кодер/декодер для сообщений. Небольшое количество символов позволяет быстрее отправлять и получать данные с микроконтроллера.

    2. Реализация этой системы сообщений: аналогично (2.2).

    3. Реализация подключения к микроконтроллеру: проверка на присутствие микроконтроллера в ОС и подключение к COM-порту, а также поддержка подключения путём посылания ping-pong сообщений.

Разработка программы микроконтроллера Arduino (фаза II)

  1. Реализация взаимодействия с сервером (компьютером)

    1. Реализация упрощённой системы сообщений: реализация необходимых частей (кодера/декодера сообщений) и подключение этой системы к общей работе микроконтроллера.

    2. Реализация поддержки подключения посылкой ping-pong сообщений.

  2. Разработка физической (электрической) части программы

    1. Проектирование необходимых электрических схем для построения пользователем.

    2. Сборка этих электрических схем.

    3. Реализация взаимодействия I/O портов микроконтроллера с программной частью: добавление необходимых модулей программы для поддержки состояния физических частей.

    4. Подключение физической части к системе сообщений: выполнение соответствующих команд для изменения физического состояния в соответствии с полученным сообщением.

Разработка клиента (этап B)

Разработка клиента включает в себя две фазы: разработка интерфейса и разработка взаимодействия с сервером.

Разработка интерфейса (фаза I)

  1. Проектирование интерфейса: выявление места, вида и функции элементов интерфейса.

  2. Реализация интерфейса

    1. Создание веб-страниц для авторизации и управления.

    2. Реализация разметки для каждой страницы: добавление соответствующих элементов на страницу и применение к ним соответствующих стилей.

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

Разработка взаимодействия с сервером (фаза II)

  1. Разработка программных модулей для взаимодействия с веб-сервером

    1. Проектирование ожидаемых ответов пользователю в соответствии с командами модулей: например, при возникновении ошибки подключения или ошибки сервера, выдать пользователю соответствующее сообщение в читабельном формате.

    2. Реализация модулей с учётом ожидаемых ответов.

  2. Разработка программных модулей для взаимодействия с веб-сокет сервером

    1. Реализация единой системы сообщений.

    2. Связывание элементов интерфейса с системой сообщений

      • При заходе на страницу управления посылается сообщение о получении состояния шлагбаума и соответствующие элементы интерфейса изменяются в соответствии с ответом сервера на посланное сообщение.

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