Чат-бот Visual Paradigm AI позволяет создать диаграмму контекста системы C4 на основе простого описания приложения, его пользователей и внешних систем, с которыми оно взаимодействует. Однако диаграмма, созданная с помощью ИИ, наиболее полезна, если она остаётся редактируемой и поддерживаемой после генерации.
В этом руководстве показан полный рабочий процесс создания диаграммы контекста платформы доставки еды с использованием C4-PlantUML. Вы узнаете, как перейти от диаграммы, созданной ИИ, к редактируемому коду PlantUML, доработать модель в VPasCode и продолжить её визуальное редактирование в Visual Paradigm Online. Этот подход сочетает скорость моделирования с поддержкой ИИ, гибкость подхода «диаграмма как код» и удобство графического редактора диаграмм.

Visual Paradigm предлагает практический рабочий процесс для преобразования описания архитектуры на естественном языке в редактируемую диаграмму контекста C4:
-
Опишите систему в чат-боте Visual Paradigm AI.

-
Создайте и проверьте диаграмму контекста системы C4.
-
Откройте результат в VPasCode в формате C4-PlantUML.

-
Измените диаграмму, отредактировав код PlantUML.

-
При необходимости отправьте результат в Visual Paradigm Online.

-
Визуально измените диаграмму с помощью редактора диаграмм с перетаскиванием.
Это предоставляет вам два пути редактирования:
-
Редактирование на основе кода:VPasCode и C4-PlantUML
-
Редактирование на основе графического интерфейса:Редактор диаграмм Visual Paradigm Online
Чат-бот Visual Paradigm AI поддерживает диаграммы контекста системы C4, контейнеров, компонентов и развертывания. Он также может дорабатывать созданную диаграмму с помощью команд на естественном языке, таких как добавление, удаление, переименование или переподключение элементов.
1. Понимание диаграммы контекста C4
Диаграмма контекста C4 представляет собой обзор программного уровня системы. Она показывает:
-
Систему интересаСистему интереса
-
Человеческих пользователей и организационных акторов
-
Внешние программные системы
-
Важные отношения между этими элементами
-
Краткое описание того, как работает каждое отношение
Обычно она не показывает внутренние сервисы, базы данных, классы, API или детали инфраструктуры. Они относятся к диаграммам C4 более низкого уровня.
Например, диаграмма контекста для платформы онлайн-доставки еды может содержать:
-
Клиент
-
Менеджер ресторана
-
Водитель доставки
-
Платёжный провайдер
-
Сервис карт и геолокации
-
Сервис уведомлений
-
Платформа доставки еды
Центральная система должна оставаться визуальным фокусом. Внешние люди и системы должны располагаться вокруг неё.
2. Подготовьте качественный запрос для ИИ
Качество сгенерированной диаграммы в значительной степени зависит от описания архитектуры, предоставленного чат-боту.
Полезный запрос должен указывать:
-
Название системы
-
Цель системы
-
Люди, которые её используют
-
Внешние системы, с которыми она взаимодействует
-
Взаимосвязи между ними
-
Желаемый уровень диаграммы C4
-
Желаемый формат вывода
-
Что не должно включаться
Пример запроса
Создайте диаграмму контекста системы C4 для онлайн-платформы доставки еды.
Интересующая система:
Платформа доставки еды — позволяет клиентам просматривать рестораны, оформлять заказы, производить оплату и отслеживать доставку.
Люди:
1. Клиент — просматривает рестораны, оформляет заказы, оплачивает и отслеживает доставку.
2. Менеджер ресторана — управляет меню, принимает заказы и обновляет статус заказа.
3. Курьер — принимает заказы на доставку и обновляет прогресс доставки.
4. Администратор операций — отслеживает активность платформы и решает вопросы поддержки.
Внешние системы:
1. Платёжный провайдер — авторизует и списывает платежи клиентов.
2. Сервис карт и геолокации — предоставляет адреса, маршруты и места доставки.
3. Сервис уведомлений — отправляет электронные письма, SMS и push-уведомления.
Взаимосвязи:
- Клиент использует Платформу доставки еды для просмотра ресторанов, оформления заказов, оплаты и отслеживания доставки.
- Менеджер ресторана использует Платформу доставки еды для управления меню и обработки заказов.
- Курьер использует Платформу доставки еды для получения заданий на доставку и обновления статуса доставки.
- Администратор операций использует Платформу доставки еды для мониторинга операций и решения проблем.
- Платформа доставки еды использует Платёжного провайдера для авторизации и списания платежей.
- Платформа доставки еды использует Сервис карт и геолокации для расчёта маршрутов и отслеживания местоположения.
- Платформа доставки еды использует Сервис уведомлений для отправки уведомлений.
Сгенерируйте чистую диаграмму контекста системы C4. Не показывайте внутренние контейнеры, компоненты, базы данных, классы или инфраструктуру развёртывания. Используйте краткие подписи к взаимосвязям.
Явное указание исключить внутренние детали важно. Без него генератор на базе ИИ может создать диаграмму, смешивающую информацию уровня контекста и уровня контейнеров.
3. Сгенерируйте диаграмму в чат-боте Visual Paradigm AI
Откройте чат-бот Visual Paradigm AI и начните новый разговор или сессию генерации диаграммы.
В зависимости от интерфейса и версии подписки чат-бот может предоставить выбор типа диаграммы. Выберите:
-
Модель C4
-
Диаграмма контекста системы
Затем введите запрос.
Общий рабочий процесс чат-бота Visual Paradigm выглядит следующим образом:
-
Опишите диаграмму.
-
Позвольте ИИ сгенерировать начальную модель.
-
Проверьте результат.
-
Уточните его с помощью команд на естественном языке.
-
Экспортируйте или продолжите редактирование в другом инструменте Visual Paradigm.
Проверьте первый результат
Проверьте, содержит ли диаграмма:
-
Ровно одна центральная система
-
Все необходимые люди
-
Все соответствующие внешние системы
-
Правильные направления связей
-
Краткие описания связей
-
Отсутствие лишних внутренних сервисов или баз данных
-
Единая система именования
-
Читаемая компоновка
Сгенерированная диаграмма — это отправная точка, а не замена обзору архитектуры.
4. Уточнение диаграммы в ходе диалога
Чат-бот может изменять диаграмму, используя обычный язык.
Добавить элемент
Добавить агента службы поддержки клиентов, который использует Платформу доставки еды для расследования проблем клиентов и обработки возвратов средств.
Добавить внешнюю систему
Добавить внешнюю службу обнаружения мошенничества, используемую Платформой доставки еды для оценки подозрительных платежей.
Переименовать элемент
Переименовать «Службу уведомлений» в «Службу сообщений и уведомлений».
Изменить связь
Изменить связь между Водителем доставки и Платформой доставки еды на:
«Получает задания на доставку и отправляет обновления статуса доставки».
Удалить элемент
Удалить Администратора операций из диаграммы.
Улучшить компоновку
Перестройте диаграмму так, чтобы люди располагались сверху, внешние системы — снизу, а Платформа доставки еды оставалась по центру.
Упростить диаграмму
Упростите это до строгой диаграммы контекста системы C4. Удалите детали реализации, базы данных, API, микросервисы и внутренние компоненты.
Запросить проверку на согласованность
Проверьте диаграмму на наличие отсутствующих связей, неоднозначных подписей, дублирующихся систем и элементов, которые не должны присутствовать в диаграмме контекста C4.
Документация ИИ-чат-бота описывает этот итеративный подход, включая команды для добавления платежных шлюзов, переименования элементов, изменения связей и рефакторинга диаграмм.
Часть 1: Откройте диаграмму в VPasCode для редактирования кода
5. Используйте «Открыть в VPasCode» или «Редактировать в VPasCode»
После генерации и уточнения диаграммы используйте действие, помеченное аналогично:
-
Открыть в VPasCode
-
Редактировать в VPasCode
-
Открыть код
-
Сгенерировать код для редактирования
Точная надпись на кнопке может варьироваться в зависимости от текущего интерфейса.
Это переносит код диаграммы в VPasCode, где вы можете редактировать диаграмму как текст, одновременно просматривая живую предпросмотр. Visual Paradigm описывает VPasCode как браузерный редактор диаграмм на основе кода, поддерживающий PlantUML, модели C4, Mermaid, Graphviz и другие синтаксические форматы.
Сгенерированный код должен использовать C4-PlantUML, обычно с:
@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
...
@enduml
Сгенерированный скрипт может использовать другой URL подключения или внутреннюю поддерживаемую версию библиотеки. Сохраняйте подключение, которое генерирует VPasCode, если у вас нет конкретной причины его изменить.
6. Поймите структуру C4-PlantUML
Типичная контекстная диаграмма C4-PlantUML содержит следующие части:

@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
LAYOUT_LEFT_RIGHT()
Person(customer, "Customer", "Places food orders and tracks deliveries.")
System(platform, "Food Delivery Platform", "Allows customers to order food and track delivery.")
System_Ext(payment, "Payment Provider", "Authorizes and captures payments.")
Rel(customer, platform, "Places orders and tracks deliveries")
Rel(platform, payment, "Authorizes and captures payments")
@enduml
Основные типы элементов
| Элемент | Назначение | Пример |
|---|---|---|
Человек |
Человеческий пользователь или роль | Person(customer, "Клиент", "...") |
Person_Ext |
Внешний человек или субъект | Person_Ext(driver, "Курьер", "...") |
Система |
Основная интересующая система | System(platform, "Платформа доставки еды", "...") |
System_Ext |
Внешняя программная система | System_Ext(payment, "Платёжный провайдер", "...") |
Enterprise_Boundary |
Опциональная граница организации | Группирует системы, принадлежащие организации |
Rel |
Связь между элементами | Rel(customer, platform, "Использует") |
Первый аргумент — внутренний идентификатор. Второй — отображаемое имя. Третий — описание.
7. Отредактируйте диаграмму в VPasCode
VPasCode обычно отображает:
-
Исходный код в панели редактора
-
Отрендеренную диаграмму в панели предпросмотра
-
Действия для экспорта, обмена, копирования или открытия результата в другом продукте Visual Paradigm
VPasCode обеспечивает живую рендеринг и поддерживает прямое редактирование кода. Он также может определять поддерживаемые форматы диаграмм при вставке кода в редактор.
Пример: улучшенный код C4-PlantUML

@startuml
!include https://raw.githubusercontent.com/plantuml-stdlib/C4-PlantUML/master/C4_Context.puml
title Платформа доставки еды — контекст системы
LAYOUT_LEFT_RIGHT()
SHOW_LEGEND()
Person(customer, "Клиент",
"Просматривает рестораны, оформляет заказы, оплачивает и отслеживает доставки.")
Person(restaurantManager, "Менеджер ресторана",
"Управляет меню, принимает заказы и обновляет статус заказов.")
Person(deliveryDriver, "Водитель доставки",
"Получает задания на доставку и обновляет статус доставки.")
Person(operationsAdmin, "Администратор операций",
"Мониторит работу платформы и решает вопросы поддержки.")
System(platform, "Платформа доставки еды",
"Обеспечивает заказ еды, оплату, управление ресторанами и отслеживание доставки.")
System_Ext(paymentProvider, "Платёжный провайдер",
"Авторизует и списывает платежи клиентов.")
System_Ext(mapService, "Сервис карт и геолокации",
"Предоставляет адреса, маршруты и данные о местоположении.")
System_Ext(notificationService, "Сервис уведомлений",
"Отправляет электронные письма, SMS и push-уведомления.")
Rel(customer, platform,
"Просматривает рестораны, оформляет заказы, оплачивает и отслеживает доставки")
Rel(restaurantManager, platform,
"Управляет меню и обрабатывает заказы ресторанов")
Rel(deliveryDriver, platform,
"Получает задания на доставку и передаёт статус доставки")
Rel(operationsAdmin, platform,
"Мониторит операции и решает вопросы поддержки")
Rel(platform, paymentProvider,
"Авторизует и списывает платежи")
Rel(platform, mapService,
"Рассчитывает маршруты и отслеживает местоположение доставки")
Rel(platform, notificationService,
"Отправляет уведомления о заказах, платежах и доставке")
@enduml
8. Внесите общие изменения на уровне кода
Изменить название системы
System(platform, "Платформа доставки еды",
"Координирует заказ и доставку еды.")
Добавить нового человека
Person(customerSupport, "Агент службы поддержки клиентов",
"Расследует проблемы клиентов и обрабатывает возвраты средств.")
Rel(customerSupport, platform,
"Расследует проблемы и обрабатывает возвраты средств")
Добавить новую внешнюю систему
System_Ext(fraudService, "Сервис обнаружения мошенничества",
"Оценивает подозрительную платёжную активность.")
Rel(platform, fraudService,
"Проверяет платёжные транзакции на риск мошенничества")
Изменить направление связи
Rel(paymentProvider, platform,
"Возвращает результаты авторизации и расчёта платежа")
Используйте направление связи для представления основной зависимости или взаимодействия. Если направление не имеет архитектурного значения, выберите последовательное соглашение и применяйте его во всей диаграмме.
Изменить макет
C4-PlantUML поддерживает подсказки макета, такие как:
или:
Вы также можете влиять на размещение с помощью подсказок направления:
Lay_R(клиент, платформа)
Lay_D(платформа, поставщик_платежей)
Используйте подсказки компоновки экономно. Слишком много ручных ограничений может усложнить поддержку диаграммы.
9. Используйте ИИ-помощник VPasCode
Некоторые версии VPasCode предоставляют возможность модификации диаграмм и исправления ошибок кода с помощью ИИ. Инструмент может принимать такие инструкции, как:
Добавьте внешнюю службу обнаружения мошенничества между платформой и поставщиком платежей.
или:
Исправьте синтаксическую ошибку PlantUML и сохраните текущую структуру диаграммы.
VPasCode также документирован как поддерживающий функции модификации диаграмм, диагностики ошибок и перевода с использованием ИИ, хотя доступность может зависеть от версии или подписки.
10. Проверьте диаграмму PlantUML
Перед отправкой диаграммы в Visual Paradigm Online проверьте как синтаксис, так и архитектуру.
Чек-лист синтаксиса
-
Скрипт начинается с
@startuml. -
Скрипт заканчивается
@enduml. -
Библиотека C4-PlantUML подключена.
-
Каждое отношение ссылается на существующие идентификаторы.
-
Идентификаторы не содержат пробелов или знаков препинания, которые могут нарушить синтаксис.
-
Кавычки сбалансированы.
-
Описания не являются чрезмерно длинными.
-
Предварительный просмотр отображается без ошибок.
Чек-лист моделирования C4
-
Существует одна четко определенная система интереса.
-
Пользователи моделируются как люди, а не как программные системы.
-
Внешние приложения моделируются как внешние системы.
-
Внутренние контейнеры не включаются в контекстную диаграмму.
-
Связи описывают значимые взаимодействия.
-
Диаграмма понятна без чтения исходного кода.
-
Терминология соответствует документации по архитектуре проекта.
Пример нежелательного элемента диаграммы контекста
Container(api, "Order API", "Java", "Processes orders")
ContainerDb(database, "Order Database", "PostgreSQL", "Stores orders")
Это элементы уровня контейнера. Они должны находиться на диаграмме контейнеров C4, а не обычно на диаграмме контекста системы.
Часть 2: Отправить диаграмму в Visual Paradigm Online
11. Используйте «Редактировать в VP Online» или «Редактировать в VP Online (Диаграмма)»
После того как версия кода будет корректной, выберите действие с пометкой, аналогичной:
-
Редактировать в VP Online
-
Редактировать в VP Online (Диаграмма)
-
Открыть в онлайн-режиме
-
Экспортировать в VP Online
Точная формулировка может отличаться в зависимости от версии интерфейса.
Экосистема Visual Paradigm предназначена для перемещения сгенерированных диаграмм из чат-бота ИИ в VPasCode для доработки на уровне кода, а затем в Visual Paradigm Online для традиционного редактирования диаграмм.
Онлайн-редактор диаграмм полезен, когда вам необходимо:
-
Перемещать фигуры вручную
-
Изменять размер элементов
-
Корректировать соединители
-
Изменять цвета и шрифты
-
Добавлять заметки или аннотации
-
Добавлять заголовок или легенду
-
Применять форматирование для презентаций
-
Точно выравнивать элементы диаграммы
-
Подготовьте диаграмму для совместного использования или экспорта
12. Измените диаграмму с помощью графического интерфейса Visual Paradigm Online
После открытия диаграммы в Visual Paradigm Online:
Переместить элементы
Перетащите людей и внешние системы в чёткую компоновку вокруг центральной системы.
Распространённая компоновка выглядит так:
-
Люди слева или сверху
-
Основная система в центре
-
Внешние системы справа или снизу
Редактировать текст
Дважды щёлкните по элементу или выберите его панель спецификаций для изменения:
-
Имя
-
Описание
-
Стереотип
-
Подпись связи
Держите имена краткими, а описания информативными.
Редактировать связи
Выберите соединитель, чтобы:
-
Изменить его направление
-
Изменить подпись связи
-
Переподключить его к другому элементу
-
Отрегулировать его трассировку
-
Изменить стиль или внешний вид линии
Добавить элементы
Используйте палитру диаграмм для добавления:
-
Человек
-
Внешний человек
-
Система
-
Внешняя система
-
Связь
-
Примечание
-
Граница
Добавляйте только элементы, относящиеся к контекстному уровню.
Применить форматирование
Вы можете улучшить читаемость, изменив:
-
Размер шрифта
-
Цвет заливки
-
Цвет границы
-
Толщина линии
-
Размер фигуры
-
Выравнивание
-
Интервалы
-
Маршрутизация соединителей
Не используйте цвет как единственный способ передачи смысла. Также используйте понятные подписи.
13. Рекомендуемая компоновка презентации
Чистая контекстная диаграмма может использовать следующую компоновку:

Для более крупных диаграмм:
-
Размещайте основную систему по центру.
-
Сгруппируйте людей с одной стороны.
-
Сгруппируйте внешние программные системы с другой стороны.
-
Избегайте пересечения линий связей.
-
Где возможно, сохраняйте подписи связей горизонтальными.
-
Используйте короткие подписи вместо абзацев.
-
Оставьте достаточное свободное пространство вокруг центральной системы.
Часть 3: Выбор между редактированием кода и графического интерфейса
| Метод редактирования | Лучше всего подходит для | Преимущества | Ограничения |
|---|---|---|---|
| ИИ-чатбот | Первичная генерация и концептуальные изменения | Быстро, в диалоговом режиме, хорошо подходит для исследования альтернатив | Требует проверки архитектуры |
| VPasCode | Точное редактирование на уровне кода | Версионируемый текст, повторяемые изменения, быстрое массовое редактирование | Требует familiarity с синтаксисом PlantUML или C4 |
| Visual Paradigm Online | Визуальное расположение и представление | Редактирование перетаскиванием, форматирование, ручной контроль макета | Ручные правки может быть сложнее воспроизвести в виде кода |
| Visual Paradigm Desktop | Формальное моделирование и интеграция проекта | Расширенное моделирование и корпоративные рабочие процессы | Может потребоваться настольная версия или специальная лицензия |
VPasCode поддерживает модели C4 через PlantUML и предоставляет предпросмотр в реальном времени, тогда как Visual Paradigm Online предлагает традиционный рабочий процесс редактирования визуальных диаграмм.
Часть 4: Рекомендуемый сквозной рабочий процесс
Быстрый рабочий процесс
-
Откройте чат-бот Visual Paradigm AI.
-
Выберите диаграмму контекста системы C4.
-
Опишите систему, пользователей и внешние системы.
-
Сгенерируйте диаграмму.
-
Попросите чат-бота удалить внутренние детали реализации.
-
Проверьте имена, связи и область.
-
Выберите Открыть в VPasCode.
-
Отредактируйте исходный код C4-PlantUML.
-
Отрендерите и проверьте результат.
-
Выберите Редактировать в VP Online.
-
Уточнить макет и внешний вид с помощью графического интерфейса.
-
Экспортировать или поделиться финальной диаграммой.
Рекомендуемое распределение обязанностей
Используйте ИИ-чатбота для:
-
Создание первого черновика
-
Изучение альтернатив архитектуры
-
Добавление или удаление участников
-
Переформулирование описаний связей
-
Проверка диаграммы на наличие пропусков
Используйте VPasCode для:
-
Переименование множества элементов
-
Повторное использование кода диаграммы
-
Применение единого синтаксиса
-
Управление кодом в системе контроля версий
-
Внесение повторяемых структурных изменений
-
Исправление директив макета
-
Создание текстового источника истины
Используйте Visual Paradigm Online для:
-
Финальная визуальная расстановка
-
Оформление презентации
-
Ручная настройка соединителей
-
Добавление заметок и аннотаций
-
Подготовка диаграммы для заинтересованных сторон
Часть 5: Пример диалога по уточнению
Первоначальный запрос
Создать диаграмму контекста системы C4 для платформы доставки еды.
Уточнение 1
Добавить Клиента, Менеджера ресторана, Водителя доставки и Администратора операций в качестве людей.
Уточнение 2
Добавить Платёжного провайдера, Сервис карт и геолокации, а также Сервис уведомлений в качестве внешних систем.
Уточнение 3
Удалить все базы данных, API, микросервисы, контейнеры и детали реализации. Это должна остаться диаграмма контекста системы C4 уровня 1.
Уточнение 4
Переписать все подписи связей в виде кратких глагольных фраз и, по возможности, держать их в пределах 10 слов.
Уточнение 5
Проверить диаграмму на наличие пропущенных связей и несогласованной терминологии. Оставить «Платформу доставки еды» как единственную систему интереса.
Уточнение 6
Сгенерировать диаграмму в формате C4-PlantUML и сделать её доступной для редактирования в VPasCode.
Часть 6: Устранение неполадок
Диаграмма содержит слишком много деталей
Запрос:
Упростить это до строгой диаграммы контекста системы C4. Удалить контейнеры, компоненты, базы данных, API и названия технологий.
На диаграмме слишком много пересекающихся линий
В VPasCode:
-
Попробуйте
LAYOUT_LEFT_RIGHT()илиLAYOUT_TOP_DOWN(). -
Добавьте ограниченные
Lay_директивы. -
Сократите метки связей.
-
Уменьшите количество отображаемых связей.
-
Переместите финальную версию в VP Online для ручной расстановки.
В предпросмотре PlantUML отображается ошибка
Проверьте:
-
Подключение библиотеки C4
-
Отсутствуют запятые
-
Незакрытые скобки
-
Ошибки в написании идентификаторов
-
Ссылки на неопределённые элементы
-
Несбалансированные кавычки
-
Некорректные имена элементов
Связь должна ссылаться на идентификаторы, которые уже были объявлены, например:
Person(customer, "Клиент", "Размещает заказы")
System(platform, "Платформа доставки еды", "Обрабатывает заказы")
Rel(customer, platform, "Размещает заказы")
Версия графического интерфейса отличается от версии кода
После конвертации рассматривайте две версии как отдельные представления для редактирования. Примите осознанное решение о том, какая из них является источником истины:
-
Используйте VPasCode в качестве источника истины, если диаграмма будет поддерживаться как код.
-
Используйте Visual Paradigm Online в качестве источника истины, если заинтересованные стороны будут часто вносить визуальные изменения.
Избегайте внесения несвязанных изменений в обоих местах без их синхронизации.
Сгенерированная диаграмма использует неверный уровень C4
Запросить чат-бота:
Перегенерировать это только как диаграмму контекста системы C4. Показать людей, интересующую систему и внешние программные системы. Не показывать контейнеры или компоненты.
Финальный чек-лист качества
Перед публикацией диаграммы подтвердите, что:
-
Диаграмма имеет чёткий заголовок.
-
Интересующая система очевидна.
-
Люди и внешние системы правильно классифицированы.
-
Связи имеют содержательные подписи.
-
Внутренние детали реализации не просочились в контекстный вид.
-
Имена используют согласованную терминологию.
-
Диаграмма читаема при обычном масштабе.
-
Линии связей не закрывают фигуры или подписи.
-
Исходный код PlantUML успешно рендерится.
-
Версия VP Online соответствует утверждённой архитектуре.
-
Финальная диаграмма проверена кем-то, кто знаком с системой.
Наиболее эффективный рабочий процесс заключается в использовании ИИ-чат-бота для быстрого моделирования, VPasCode для точного и повторяемого редактирования C4-PlantUML и Visual Paradigm Online для финальной визуальной доработки. Это объединяет генерацию в диалоговом режиме, поддерживаемость диаграмм как кода и редактирование презентаций на основе графического интерфейса в одном процессе.
Эта статья также доступна на Deutsch, English, Español, Français, English, Bahasa Indonesia, 日本語, Polski and Portuguese









