Уровень Context в нотации C4 нужен, чтобы дать высокоуровневое представление о системе и ее окружении.
Он помогает понять что делает система, какие пользователи с ней взаимодействует, какие другие системы с ней связаны - интеграции.
Схема легко читается как бизнес-владельцами продукта, так и разработчиками.
👉 Что нужно показывать?
🔹 Основную систему – объект проектирования (например, интернет-магазин, банковское приложение).
🔹 Пользователей – кто взаимодействует с системой (клиенты, администраторы, партнеры).
🔹 Внешние системы – с чем интегрируется (платежные сервисы, справочники, ЭДО и другие).
🔹 Типы взаимодействий – основные потоки данных (например, клиент отправляет заказ в систему, система взаимодействует с банком).
👉 Что важно знать?
На этом уровне НЕ важно, какая архитектура будет использована – монолит, микросервисы, сервисы.
Мы не детализируем внутреннюю реализацию, а показываем глобальные границы и связи.
Это первый шаг проектирования архитектуры – помогает всем участникам проекта построить общее понимание системы.
👉 Пример для системы зарядки электромобилей - проект #GreenChargeGA
✔️ Основная система:
GreenChargeGA
✔️ Пользователи:
пользователи, которым нужно заряжать авто
сотрудники тех поддержки,
администраторы
✔️ Внешние системы:
ТБанк Интернет-эквайринг,
ТБанк Торговый эквайринг,
POS-Терминал для приема карт,
сканер QR-кодов,
датчики зарядной станции (энергия, температура и тп)
firebase (push)
unisender (sms/email)
Ни API, ни микросервисов, ни брокеров. Всё на верхнем уровне, чтобы осознать интеграции системы и пользователей. Ни более.
Сравните это со схемой проекта без нотации и увидите огромную разницу в количестве элементов!
Схема архитектуры в C4/Context прикреплена к посту 🙌
#АрхитектураGA
