Суть. Архитектура описывается четырьмя уровнями приближения, как карта: сначала система и её окружение, потом крупные части, потом внутреннее устройство части, потом код. На каждом уровне своя аудитория — и это главная польза: одна схема перестаёт пытаться объяснить всё сразу всем.
Четыре уровня
| Уровень | Что показывает | Кому адресован |
|---|---|---|
| Контекст | Система, пользователи, внешние системы | Руководству и заказчику |
| Контейнеры | Приложения, службы, хранилища и связи между ними | Техническому руководителю, архитектору |
| Компоненты | Внутреннее устройство одного контейнера | Команде разработки |
| Код | Классы и связи | Редко нужен; генерируется по коду |
Почему это важно в продаже
Схема уровня контекста — лучший материал для разговора с руководителем: видно, куда встраивается решение и с чем оно связано. Схема уровня контейнеров — для технического согласования. Попытка показать одну общую схему обеим сторонам обычно заканчивается тем, что не понял никто.
Когда применять
Когда в разговоре об архитектуре участвуют люди с разным уровнем погружения: руководитель, аналитик, разработчик, безопасник. Модель решает главную проблему архитектурных схем — они либо слишком общие, чтобы что-то решить, либо слишком подробные, чтобы их читать. Разделение на уровни позволяет каждому остановиться там, где ему достаточно.
Четыре уровня
| Уровень | Что показывает | Кому нужен |
|---|---|---|
| Контекст | Система, её пользователи и внешние системы вокруг | Руководству, заказчику, новым людям в проекте |
| Контейнеры | Из каких запускаемых частей состоит: приложения, базы, очереди | Архитекторам, эксплуатации, безопасности |
| Компоненты | Внутреннее устройство одной части | Разработчикам этой части |
| Код | Классы и связи | Почти никогда: генерируется средой разработки при необходимости |
На практике живут первые два уровня. Третий рисуют для сложных частей, четвёртый — почти никогда, и это нормально.
Правила, которые делают схему полезной
- Каждый элемент подписан не только названием, но и назначением в одну строку.
- Каждая стрелка подписана: что передаётся и по какому протоколу. Стрелка без подписи не несёт информации.
- Схема помещается на один экран. Если не помещается — это два разных уровня.
- Легенда обязательна: цвета и формы должны означать одно и то же во всех схемах компании.
- Схема лежит рядом с кодом и обновляется вместе с ним, а не в отдельной презентации.
Где помогает в коммерческой работе
Схема уровня контекста — лучший материал для разговора с заказчиком: она показывает границы ответственности, места стыков с чужими системами и точки, где потребуется его участие. Спор о сроках часто заканчивается именно на этой схеме, когда обе стороны видят, сколько внешних систем участвует.
Где ломается
Смешивают уровни. На одной схеме и внешние системы, и классы — читать невозможно.
Не подписывают связи. Стрелка без пояснения «что передаётся и как» бесполезна.
Схемы устаревают. Полезны только два верхних уровня, если их пересматривают; нижние проще генерировать при необходимости.
- Смешение уровней на одной схеме. Самая частая ошибка: рядом стоят «пользователь» и «класс», и схема перестаёт читаться.
- Схема устарела. Неактуальная архитектурная схема опаснее её отсутствия: по ней принимают решения.
- Рисуют ради документа. Схема, которую не используют в обсуждениях, не обновляется.
