Высокоуровневый софт — бизнес-логика, протоколы, приложения. Использует API и структурную схему, которые передаёт Firmware; контракт по API Firmware и Software согласуют рано, поэтому участник разрабатывает модуль параллельно с Firmware без блокирующей зависимости по срокам. Сюда же входит тестируемость (покрытие критических функций тестами) и поддерживаемость (документация интерфейсов, отсутствие хардкода).
Участник, закреплённый за модулем, отвечает за корректность и обоснованность этих решений (см. modules.md — «Ответственность за решения внутри модуля»).
Разработка бизнес-логики и протоколов высокоуровневого софта: выбор архитектуры, проектирование системы, разработка слоя данных и бизнес-логики, модуля связи с устройством, пользовательского интерфейса и серверной/облачной части — в единое работающее приложение.
Настройка среды и инфраструктуры, выбор технологий — с учётом требований к производительности, масштабируемости и сопровождению. Участник выполняет оптимизацию по мере необходимости, без потери читаемости и поддерживаемости кода.
Участник покрывает критические функции тестами. Проверяет реализацию на соответствие API, полученному от Firmware, и на соответствие техническим требованиям проекта, а не только на внутреннюю корректность.
Взаимодействие с Firmware по контракту API ведётся по ходу разработки, а не постфактум — при изменениях в API обе стороны согласуют их сразу, не дожидаясь интеграции в Prototyping.
Инструмент: VS Code. Выход: Исходный код в соответствии с внутренним стандартом, приложение.
- Выбор архитектуры
- Проектирование системы
- Настройка среды и инфраструктуры
- Разработка слоя данных и бизнес-логики
- Разработка модуля связи с устройством
- Разработка пользовательского интерфейса
- Разработка серверной/облачной части
- Оптимизация
- Тестирование + проверка на соответствие требованиям
- Интеграция и отладка на аппаратуре
- Исходники закоммичены, PR прошёл code review
- Исходный код оформлен в соответствии с внутренним стандартом
- Критические функции покрыты тестами
- Нет хардкода, документация на интерфейсы написана
- Проект собирается без ошибок
- Реализация соответствует API, полученному от Firmware
- Реализация соответствует техническим требованиям
Где этот модуль стоит в общем потоке и что передаётся дальше — см. modules.md.