Чему вы научитесь
- Выявлять заинтересованные стороны, уточнять бизнес-запросы и находить противоречия в требованиях
- Формулировать функциональные требования, ограничения и проверяемые критерии приёмки
- Описывать основные, альтернативные и ошибочные сценарии с помощью UML Use Case
- Строить BPMN-модели As-is и To-be с событиями, шлюзами, таймерами и обработкой исключений
- Выделять сущности, бизнес-ключи и связи, проектировать ER-модели и ограничения целостности данных
- Моделировать поведение системы через UML Activity и State Machine, проверять допустимые переходы состояний
- Проектировать HTTP API с учётом ресурсов, методов, статусов и структуры запросов и ответов
- Создавать спецификации OpenAPI и проверять их соответствие реальному поведению сервиса
- Описывать ошибки API, правила авторизации и ограничения доступа к пользовательским данным
- Находить несовместимые изменения HTTP API и выбирать безопасный способ развития контракта
- Проектировать protobuf-сообщения и gRPC-методы, проверять вызовы и совместимость схем
- Разрабатывать контракты событий Kafka, выбирать топики, ключи и партиции с учётом порядка сообщений
- Исследовать работу Kafka producer и consumer, групп потребителей, offsets и повторной доставки событий
- Документировать событийные интеграции в AsyncAPI и проверять контракты потребителей
- Строить UML Sequence для синхронных и асинхронных взаимодействий между сервисами
- Анализировать таймауты и неизвестные результаты операций, проектировать безопасные повторы и идемпотентность
- Разбирать конкурентные запросы, нарушения бизнес-инвариантов и восстановление после частичных сбоев
- Формулировать измеримые требования к производительности, доступности, безопасности и наблюдаемости интеграций
- Оценивать влияние изменений на процессы, данные и API, составлять матрицу трассируемости и оформлять ADR
- Проводить приёмку изменений на работающей системе, сопоставляя требования, контракты, результаты запросов и состояние данных
О курсе
Для кого этот курс
Начальные требования
📚 Что нужно знать
- HTTP и JSON: понимать методы, статусы, структуру запросов и ответов API.
- SQL: выполнять простые SELECT, WHERE и JOIN, ориентироваться в ключах и связях таблиц.
- Git и терминал: работать с репозиторием, коммитами и локальными сервисами.
- Архитектура приложений: представлять, как клиент и несколько сервисов обмениваются данными.
Опыт работы с Kafka, группами потребителей и AsyncAPI не требуется: эти механизмы разбираются на практике. Промышленная разработка на Python, Go или Java тоже не обязательна.
🧰 Что понадобится
- GitHub-аккаунт для доступа к закрытой лаборатории BookingFlow и работы в приватном форке.
- Docker Engine/Desktop с Compose, терминал и браузер для запуска учебной системы.
Лаборатория проверена на macOS ARM64. Совместимость с другими ОС и минимальный объём памяти пока не подтверждены. Платные внешние сервисы и реальные платежи не требуются.
Преподаватели курса
Как проходит обучение
🧩 Каждое решение сверяете с работающей интеграцией. Объяснения и вопросы сопровождаются практикой в локальной лаборатории BookingFlow.
- 🧭 Уточняете требования: описываете сценарии и связываете их с моделями данных и процессов.
- 🔗 Проектируете контракты: готовите HTTP, gRPC и событийные взаимодействия.
- ✅ Проверяете согласованность: наблюдаете ответы сервисов и обработку событий, затем уточняете свои модели.
Что вы получите
- Собственный рабочий форк учебной системы BookingFlow с HTTP API, gRPC, PostgreSQL и Kafka
- Набор уточнённых бизнес-требований, сценариев использования, ограничений и критериев приёмки
- Редактируемые BPMN-модели As-is и To-be, UML-диаграммы вариантов использования, действий, состояний и последовательностей
- ER-модель предметной области с ключами, связями и ограничениями целостности данных
- Спецификации OpenAPI, protobuf и AsyncAPI с примерами взаимодействий и результатами контрактных проверок
- Матрица трассируемости требований, нефункциональные критерии, анализ совместимости изменений и ADR
- Итоговая реализация однократного продления удержания места в собственном форке BookingFlow с проверками основных и ошибочных сценариев
- Технический отчёт по итоговому изменению с результатами приёмки, подтверждёнными ограничениями и оставшимися рисками