Как быстро построить UML-диаграмму через ChatGPT

24 сентября 2024

Автор: Екатерина Ананьева

Интеграции

Нотации и диаграммы

Введение

С появлением искусственного интеллекта (ИИ) системным и бизнес-аналитикам просто необходимо знать как минимум базовые команды к нему, чтобы ускорять свою работу.

И если вы уже используете в своей работе инструмент для создания любой диаграммы через код, то для ускорения этого процесса на помощь приходит ИИ.

В этой статье вы узнаете, как пошагово построить UML-Sequence диаграмму с использованием связки инструментов: ChatGPT + PlantUML.

Для использования этой инструкции не обязательны знания как писать код в PlantUML.

Подготовка

1. Откройте ChatGPT и войдите в аккаунт

  • Включите VPN, если страница не открывается.
  • Для регистрации аккаунта используйте учетную запись Google.

Сейчас можно работать с ChatGPT без авторизации, но при работе как авторизованный пользователь вы получаете более умную версию нейросети, а также возможность хранить историю диалогов.

Вид страницы ChatGPT без авторизации

Вход в аккаунт с использованием учетной записи Google

2. Прежде чем строить UML-диаграмму, вы должны подготовить детально описанный Use Case, который "как есть" будете целиком копировать в запрос к ChatGPT.

Обычно UML-Sequence диаграммы строятся для систем, в которых нужно сделать интеграции с внешними системами. То есть обеспечить обмен данными между нашей и чужой системой.

UML-диаграмма является отличным визуальным инструментом, который помогает быстрее понять как работает этот процесс без чтения всего текста, который описывает сценарий. 

В этой статье мы будем использовать пример Use Case для интеграционного сценария системы курьерской службы #ShipEasyGA: пользователь вводит буквы адреса в строку и начиная с 10-го символа надо запрашивать подтсказки по структурированному адресу от внешней системы DaData.

Описание этого сценария доступно в Telegram-канале и приведено ниже.

Этот текст можно использовать, если вы хотите попробовать возможности ChatGPT для построения UML-диаграммы, но у вас под рукой нет готового сценария.

Команда к ChatCPT для создания UML-диаграммы

Выполните команду к ChatGPT для генерации кода UML-Sequence диаграммы:

Работай как опытный системный аналитик.
Сделай код для plantUML, чтобы создать UML Sequence диаграмму.
Не показывай альтернативные сценарии.

Сценарий:
<название сценария>

Пользователи и системы:
<участники сценария>

Описание сценария:
<описание Use Case>

Пояснения к команде:

  • <сюда подставлять ваш текст>
  • UML Sequence диаграмму — эту часть в команде можно заменить на любое название диаграммы, которую можно создать в PlantUML. Из важных - UML Activity, C4, диаграмма состояний (статусов) и другие. Описание деталей по диаграмме тоже нужно будет уточнить.
  • Не показывай альтернативные сценарии — это уточнение сделано, так как я не люблю перегружать диаграмму альтернативными сценариями и предпочитаю делать их только текстом или на отдельных UML-диаграммах, когда они сложные, и есть что показать.

Результат работы ChatGPT - код для копирования в PlantUML:

@startuml
actor User
participant "Web/iOS/Android" as App
participant "Backend - API ShipEasyGA" as Backend
participant "Database" as DB
participant "API DaData" as DaData

== Предусловие: Переход на экран оформления заказа ==
User -> App : Открывает экран оформления заказа
App -> Backend : GET /countries
Backend -> DB : Запрос справочника стран
DB --> Backend : Возвращает список стран
Backend --> App : Возвращает список стран

== Основной сценарий ==
User -> App : Выбирает страну
App -> Backend : Отправка выбранной страны

== Ввод адреса ==
User -> App : Вводит полный адрес (>= 10 символов)
App -> Backend : GET /address?text=адрес
Backend -> DaData : POST /suggest/address {"query": "введенный адрес"}
DaData --> Backend : Возвращает предложенные адреса
Backend -> DB : Сверка координат с пунктами курьерской службы
DB --> Backend : Возвращает пункты курьерской службы
Backend --> App : Возвращает 5 предложенных адресов и пункты курьерской службы

User -> App : Выбирает адрес из предложенного списка
App -> Backend : Отправка выбранного адреса
Backend -> DB : Сохранение адреса в БД

== Завершение оформления заказа ==
User -> App : Оформляет заказ
App -> Backend : POST /order
Backend -> DB : Сохранение заказа в БД
Backend --> App : Подтверждение успешного оформления

@enduml

Результат разработки кода UML-диаграммы через ChatGPT

Перенос результатов из ChatCPT в PlantUML

Откройте PlantUML и вставьте код, полученный на предыдущем шаге:

Результат вставки кода в PlantUML

Полученная UML-диаграмма

Проверка и уточнение результатов

Обязательно проверьте и скорректируйте результат, так как ChatGPT может делать ошибки и перегружать диаграмму лишними элементами:

  • Вручную поправьте код в PlantUML по аналогии. Это чаще всего получается быстрее, поэтому рекомендуется знать как работать в PlantUML.
  • Просите уточнения кода у ChatGPT командами на естественном языке, как будто вы разговариваете с человеком, начиная с фразы "Поправь диаграмму. Нужно....". Это чаще всего занимает больше времени.

ChatGPT помогает ускорить создание диаграммы UML-Sequence, но опыт и знания аналитика, который использует инструмент, тоже очень важны из-за потенциальных ошибок и усложнений, которые может допустить искусственный интеллект. 

Поэтому прежде чем использовать ChatGPT для своей работы, необходимо хорошо разобраться и понять нотацию UML и правила создания UML-Sequence диаграмм.

Использование результатов

Если в вашем Confluence или другом инструменте для работы с документацией есть плагин для работы с PlantUML, то создайте новую диаграмму сразу в Confluence и вставляйте код туда, чтобы создать диаграмму. Код и диаграмма в этом случае хранятся в одном месте.

Если плагина нет, то вставьте в ваш инструмент для работы с документацией картинку, которую создали на сайте PlantUMLа также обязательно добавьте код к картинке. Это поможет в будущем легко внести правки в существующую диаграмму, если алгоритм работы будет расширяться и дорабатываться, а не создавать опять весь код с нуля.

Заключение

Плюсы:

  • Диаграмма UML-Sequence за 3+15 минут с учетом проверки результатов, которые сделал ChatGPT.
  • Не надо писать код PlantUML самому.
  • Легко делать правки, так как диаграмма через код, и при любых правках всё двигается автоматически.

Минусы:

  • Интеграционный или обычный Use Case, для которого создается диаграмма, должен быть описан идеально. Без него качественную диаграмму не сделать, либо будет много правок в придуманном ChatGPT варианте (он додумает сценарий за вас).
  • ChatGPT делает ошибки и надо быть готовым вносить за ним правки.

Рекомендую использовать этот лайфхак только при знании и понимании нотации UML, со знанием всех минусов использования ChatGPT для ускорения работы системного аналитика.

Для тех, кто только изучает UML, рекомендую использовать ChatGPT для проверок ваших результатов и не доверять ему на 100%.

Как работать с задачами на интеграции, описывать интеграционные сценарии (Use Case) с учетом технических деталей работы системы и создавать UML-диаграммы самостоятельно, без использования ChatGPT, мы разбираем на практической программе "Интеграции систем" для системных и бизнес-аналитиков.

Дополнительные материалы

Контакты

+7 (499) 686-15-46

Лицензия №Л035-01255-50/01366872 от 28.08.2024

*Instagram — запрещенная на территории РФ организация

Практический опыт здесь, 2021-2024

Мы используем файлы cookie, для персонализации сервисов и повышения удобства пользования сайтом. Если вы не согласны на их использование, поменяйте настройки браузера.