Привет Хабр! Меня зовут Татьяна Ошуркова, я разработчик, аналитик и автор телеграм-канала IT Talks. Назначением инструмента PlantUML принято считать построение UML-диаграмм. Но на самом деле у него намного больше возможностей и типов диаграмм, которые можно создать.
В этой статья я расскажу о нескольких диаграммах, которые не относятся к UML, но могут быть построены с помощью PlantUML.
Диаграмма сущностей-связей (ER Diagram)
ER-диаграммы используются для проектирования и визуализации структур баз данных. В PlantUML это можно сделать с помощью встроенных возможностей.
Мне кажется очень быстрым и удобным построением ER-диаграмм таким образом, так как отрисовка графики вручную занимает немало времени. На PlantUML достаточно скопировать наименование полей и их типов из базы данных, дополнив их простым оформлением.
@startuml entity "User" { * user_id : NUMBER -- username : VARCHAR email : VARCHAR password : VARCHAR } entity "Order" { * order_id : NUMBER -- user_id : NUMBER order_date : DATE total : DECIMAL } entity "Product" { * product_id : NUMBER -- name : VARCHAR price : DECIMAL } User ||--o{ Order Order ||--o{ Product @enduml
Диаграмма регулярных выражений (RegExp)
Диаграммы регулярных выражений помогают визуализировать и отлаживать шаблоны для работы со строками, что особенно полезно для составления сложных регулярных выражений.
@startregexp ^([A-Za-z0-9]+)\.([A-Za-z]{2,4})$ @endregexp
Этот пример иллюстрирует регулярное выражение для валидации доменных имен, например, «example.com» или «site.org». Разберем его по частям:
-
^
— начало строки. -
([A-Za-z0-9]+)
— одна или более букв (верхний и нижний регистр) или цифр, которые составляют первую часть домена. -
\.
— точка (специальный символ, поэтому требуется экранирование). -
([A-Za-z]{2,4})
— от 2 до 4 букв (например, «com», «org», «net»). -
$
— конец строки.
Очень удобная функция PlantUML, так как позволяет быстро построить схематичное отображение значений регулярного выражения.
PlantUML использует упрощенную версию регулярных выражений, и не все возможности стандартных регулярных выражений поддерживаются. Например, такие конструкции как обратные ссылки (например, \1
для обращения к первым группам) или жадные и не жадные квантификаторы (например, .*?
) могут не поддерживаться.
Ментальные карты (Mindmap)
Mindmap — это диаграмма для визуализации идей и процессов, которая позволяет структурировать информацию, упрощая планирование, принятие решений и мозговые штурмы.
@startmindmap * План разработки ** Анализ *** Сбор требований *** Обсуждение с заказчиком ** Разработка *** Дизайн интерфейса *** Написание кода ** Тестирование *** Модульное тестирование *** Интеграционное тестирование ** Выпуск *** Подготовка релиза *** Документация @endmindmap
Как и для многих диаграмм на PlantUML здесь хочется отметить простую реализацию и отсутствие затратов времени на создание графика вручную. Несмотря на то, что сейчас существует множество инструментов для работы с mindmap, PlantUML здесь не уступает в удобстве работы.
JSON-диаграмма
JSON (JavaScript Object Notation) — это формат данных, который часто используется для обмена информацией между сервером и клиентом, а также для хранения данных в приложениях.
Преимущества работы PlantUML с json заключается в том, что можно поместить любой, даже очень сложный по структуре json, между ключевыми словами startjson
и endjson
и получить наглядную структурную схему.
@startjson { "user": { "id": 1234, "name": "John Doe", "email": "john.doe@example.com", "roles": ["admin", "user"], "preferences": { "theme": "dark", "notifications": true, "language": "en" } }, "settings": { "privacy": "high", "security": "enabled" }, "subscriptions": [ { "service": "Premium Plan", "start_date": "2024-01-01", "status": "active" }, { "service": "Basic Plan", "start_date": "2023-06-15", "status": "inactive" } ] } @endjson
YAML-диаграмма
YAML (YAML Ain’t Markup Language) — это формат данных, используемый для хранения и передачи данных. Он часто применяется в конфигурационных файлах.
Аналогично JSON-диаграмме необходимо поместить содержимое yaml между ключевыми словами startyaml
и endyaml
для создания структурной схемы файла.
@startyaml project: name: "My project" version: "1.0" description: "A description of the project" dependencies: - name: "Service A" version: "2.3" config: timeout: 300 retries: 5 - name: "Service B" version: "1.0" config: timeout: 100 retries: 3 settings: logging: true debug: false apiEndpoint: "https://api.myproject.com/v1" @endyaml
Подведем итоги
В этой статье мы рассмотрели разнообразные способы визуализации данных с использованием PlantUML, включая диаграммы типов Mindmap, JSON, YAML, ER (Entity-Relationship) и регулярных выражений (RegExp). Каждый из этих форматов имеет свои особенности и применения. С помощью диаграмм в PlantUML можно легко представить сложные структуры данных и взаимосвязи.
-
ER-диаграммы дают четкое представление о сущностях и их отношениях, что критически важно для проектирования баз данных и систем.
-
RegExp-диаграммы визуализируют сложные регулярные выражения, делая их более понятными и удобными для анализа и обучения.
-
Mindmap позволяет наглядно представлять идеи и их взаимосвязи, что полезно для планирования, мозговых штурмов и объяснения концепций.
-
JSON и YAML используются для структурированных данных, и их визуализация помогает лучше понять иерархии и зависимости между элементами конфигураций или данных.
В завершение делюсь расширением для Visual Studio Code, которое использую для генерации диаграмм.
2 декабря я проведу бесплатный вебинар: «Построение диаграмм. Цели и задачи визуализации данных», где подробно разберу, как эффективно использовать различные виды диаграмм для описания требований. Запись на вебинар доступна по ссылке.
Удачи в работе с PlantUML!
ссылка на оригинал статьи https://habr.com/ru/articles/861900/
Добавить комментарий