Описание ИТ-ландшафта
Типы диаграмм
В ArchiVision данные хранятся в базе в структурированном виде. Сами диаграммы не содержат данные, а служат способом их визуализации и ввода. Это один из основных инструментов архитекторов: через диаграммы создаются и редактируются объекты модели, а также формируется наглядное представление архитектуры.
В системе используются несколько типов диаграмм, каждая из которых решает свои задачи.
Структурные диаграммы
Структурные диаграммы (C1–C4)
Структурные диаграммы показывают статическое устройство системы и связи между её элементами. Они различаются по уровням детализации (C1–C4):
-
C1-диаграммы — обзорные, на них отображаются системы, актёры и связи. Позволяют видеть систему в окружении. Это верхнеуровневые диаграммы (Top level diagrams) и обычно используется лишь одна такая диаграмма на каждую систему, чтобы отразить её место в архитектуре компании и связи с другими системами и группами пользователей (актерами).
-
C2-диаграммы — детализация конкретной системы: её контейнеры, актёры, внешние системы и их связи их связи с описываемыми вами контейнерами.
-
C3-диаграммы — детализация контейнера: показываются компоненты внутри описываемого контейнера, другие контейнеры описываемой системы, внешние системы и актеры, а так же их связи с описываемыми вами компонентами.
-
Низкоуровневые представления — ERD и Domain Class. ArchiVision поддерживает структурированное редактирование таблиц, полей, классов, свойств и связей. Для уровней реализации, которые ведутся непосредственно в коде, используйте генераторы и средства анализа репозитория, а в ArchiVision фиксируйте согласованную архитектурную модель.
Ключевая особенность структурных диаграмм — фокусировка на одном объекте. Если мы раскрываем структуру конкретной системы (C2), то её внутреннее устройство показывается подробно, а все внешние системы остаются на уровне «коробки», взаимодействия с которыми осуществляется через API выставляемой ею. Если мы детализируем контейнер (C3), то на диаграмме показывается только его внутренняя структура, а другие контейнеры этой же системы остаются «снаружи». Такой принцип позволяет проваливаться всё глубже, но при этом сохранять чистоту и читаемость каждой диаграммы.
Поэтому, для минимизации рисков потери актуальности документации, крайне желательно следовать следующему простому правилу:
На диаграммах C2 раскрывайте детали только детализируемых ими систем. Не следует отображать на них контейнеры разных систем и тем более связей между ними. Это правило применяется так же и для диаграмм типа C3 - не отображайте на них компоненты разных контейнеров. Соблюдение этих правил позволит сократить риски появления разночтений в документации, потому что за описание разных систем/контейнеров могут отвечать разные команды и если ваша документация будет включать описание элементов из чужой зоны ответственности, то вы можете не быть своевременно проинформированы о каких-либо изменениях и оперативно внести требующиеся изменения в свою часть документации.
Динамические диаграммы
Динамические диаграммы внешне похожи на структурные, но их задача другая — они описывают поведение системы во времени через use-case-ы. Поскольку в реальных ландшафтах может быть заведено тысячи элементов, динамические диаграммы позволяют ограничить набор элементов для работы, вы делив подмножество, которое участвует в конкретном процессе или группе процессов. На основе этого подмножества создаются сценарии (use-case), которые позволяют описать и визуализировать в каком порядке, при каких условиях и как именно взаимодействуют элементы систем в разных ситуациях, как обрабатываются исключительные ситуации и многое другое.
Таким образом, динамические диаграммы служат «фильтром», через который из огромной архитектуры выделяются конкретные элементы и их связи для последующего использования в use-case-ах.
Через динамические диаграммы можно выйти на конкретные use-case-ы и разобраться как именно работает система. Use-case-ы также называются сценариями использования или просто сценариями.
Диаграммы развертывания
Диаграммы развертывания показывают, как логическая архитектура реализуется в физической среде. Здесь отображаются центры обработки данных (ЦОД), серверы, узлы, кластер ы, облачные сервисы и то, какие программные компоненты где размещаются.
Они связывают архитектуру с реальной инфраструктурой и особенно важны для DevOps и эксплуатационных команд: помогают планировать развертывание, контролировать использование ресурсов и сопоставлять проектные модели с фактической средой.
Также доступны специализированные Use Case, State, BPMN и другие типы. Полный список и пошаговая работа с ними приведены в разделе «Типы диаграмм».
Резюме
Структурные диаграммы описывают устройство системы и её связь с окружением, сохраняя принцип фокусировки на одной системе или контейнере;
Динамические диаграммы позволяют ограничивать контекст и строить детальные описания поведения системы во времени;
Диаграммы развертывания связывают модель с реальной инфраструктурой.