Moscow, Moscow, Russian Federation
Moscow, Moscow, Russian Federation
UDC 331.101.1
This article examines the role of PlantUML as a tool in the context of artificial intelligence (AI) development and its impact on the design processes of complex software systems; emphasizes the relevance of effective architectural visualization, especially in the face of increasing system complexity and automated code generation. The ergonomic advantages of PlantUML are analyzed, including reduced cognitive load for developers, consistency in documentation, and integration into continuous integration/continuous delivery (CI/CD) pipelines. The authors propose a model where PlantUML serves as a modern interface between humans and AI, with textual diagram descriptions acting as a structured data source for analysis and generation. Practical examples of PlantUML’s synergy with AI assistants, such as automatic sequence diagram generation and code reverse-engineering are provided. The article concludes with insights into the future of PlantUML as a tool for creating human-centric design environments that balance machine efficiency with human understanding in the age of AI dominance.
PlantUML, artificial intelligence, system design, architecture visualization, development ergonomics, human-computer interaction, code generation, documentation
Введение
Современная разработка программного обеспечения характеризуется экспоненциальным ростом сложности систем, вызванным распространением микросервисной архитектуры, облачных технологий и распределенных решений [1], [2]. Параллельно с этим наблюдается стремительное внедрение технологий ИИ в подходы процессы кодогенерации и проектирования систем [3], [4]. Такие успешных инструменты, как GitHub Copilot, ChatGPT и другие LLM-модели, способны генерировать код с недоступной ранее скоростью, что создает новый вызов для разработчиков –необходимость сохранения понимания общей архитектуры и логики системы в условиях постоянных изменений [5]. Проблема эффективной визуализации архитектурных решений становится особенно актуальной в контексте AI-разработки.
Традиционные подходы к созданию диаграмм с помощью графических редакторов (draw.io, Visio) не успевают за скоростью генерации кода ИИ, что приводит к быстрому устареванию документации и потере актуальности архитектурных схем [6]. В результате возникает парадокс: чем больше кода генерирует ИИ, тем сложнее человеку понять и поддерживать общую структуру системы [7]. В этом контексте инструмент PlantUML, позволяющий создавать диаграммы из текстовых описаний, приобретает новое значение [8].
Данное исследование направлено на основе анализ возможностей PlantUML как инструмента эргодизайна, способного обеспечить человеко-ориентированный подход к проектированию сложных систем в эпоху визуализации доминирования ИИ. Актуальность работы обусловлена необходимостью разработки методов и инструментов, инициализация позволяющих сохранить человеческое понимание архитектуры в условиях автоматизированной разработки.
1. Материалы, модели, эксперименты, методы и методики
1.1. Анализ эргономических преимуществ PlantUML
Исследование проводилось на основе анализа практик использования PlantUML в 15 проектах с различной степенью интеграции ИИ-инструментов (GitHub Copilot, ChatGPT, Claude) [2].
Для оценки эргономических характеристик использовался метод сравнительного анализа традиционных подходов к визуализации архитектуры (Visio, draw.io, Lucidchart) и подхода на основе текстовых описаний PlantUML [11].
Методика эксперимента: Первая реализация использовала традиционные графические редакторы, вторая - PlantUML. Оба метода выполняли идентичные задачи по проектированию архитектуры микросервисной системы электронной коммерции.
Критерии оценки и методы измерения: время создания и модификации диаграмм – фиксировалось с помощью системы хронометража.
Пример: создание диаграммы последовательности для процесса оформления проектов заказа:
@startuml
actor "Покупатель" as Customer
participant " Frontend" as UI
participant "Order Service" as Order
participant "Payment Service" as Payment
participant "Inventory Service" as Inventory
Customer -> UI: Добавляет товар в корзину
UI -> Order: Создание заказа
Order -> Inventory: Проверка наличия
Inventory -> Order: Подтверждение
Order -> Payment: Инициализация платежа
Payment -> Order: Успех оплаты
Order -> UI: Подтверждение заказа
UI -> Customer: Уведомление об успехе
@enduml
* Время создания: 8-12 минут (PlantUML) vs 25-40 минут (графические редакторы)*
• Согласованность стиля визуализации - оценивалась по шкале от 1 до 10 экспертной группой. PlantUML обеспечивал единообразие стиля автоматически, тогда как в графических редакторах наблюдались значительные расхождения (7.2 component балла request против 4.8) [11].
• Возможность версионного контроля - анализировалась через интеграцию с Git [12]. Пример diff для PlantUML:
- User -> Auth: Login
+ User -> Auth: Authentication Request
Auth -> DB: Verify Credentials
+ Auth -> Logging: Log Attempt
Интеграция в CI/CD-процессы - тестировалась через автоматическую генерацию документации при сборке проекта. Конфигурация GitHub Actions:
- name: Generate Documentation
run: |
PlantUML -tsvg docs/**/*.puml
mkdir -p public/docs
cp docs/**/*.svg public/docs/
Снижение когнитивной нагрузки - оценивалось с помощью NASA-TLX опросника. минут Средний показатель когнитивной нагрузки: 42.3 (PlantUML) против 68.7 (традиционные методы).
1.2. Модель интеграции PlantUML и ИИ-инструментов
Была разработана модель симбиотического взаимодействия PlantUML и ИИ, включающая три основных сценария с детальными методиками реализации:
Сценарий 1: ИИ как генератор диаграмм
Методика реализации:
• Использование prompt-инжиниринга для генерации PlantUML кода
• Валидация синтаксиса через PlantUML parser
• Итеративная коррекция результата
Пример промпта для ChatGPT (рис.1):
Рис.1. Промпт для генерации кода в ChatGPT
Fig.1. Prompt for text generation of notification code in ChatGPT
Метрики качества:
• полнота покрытия архитектурных компонентов: 92%;
• корректность синтаксиса: 88%;
• время генерации: 45-60 секунд.
Сценарий 2: PlantUML как язык коммуникации с ИИ
Методика реализации:
• Анализ существующих PlantUML диаграмм ИИ-системами
• Извлечение архитектурных паттернов и зависимостей
• Генерация рекомендаций по оптимизации
Пример анализа архитектуры:
@ startuml
component "User Service" as US
component "Product Catalog" as PC
component "Order Processor" as OP
US -> PC: GET /products (REST)
PC -> OP: товар Order Created (Event)
OP -> US: User Notification (gRPC)
@enduml
Анализ ИИ выявил:
• Наличие синхронных REST вызовов в критическом пути
• Отсутствие circuit breaker паттерна
• Рекомендация внедрения асинхронной коммуникации
Метрики эффективности:
• Точность выявления примере проблем: 85%
• Количество ложных пути срабатываний: 12%
• Время анализа: 30 секунд на диаграмму
Сценарий 3: Реверс-инжиниринг с ИИ
Методика реализации:
• Статический анализ исходного кода
• Автоматическое извлечение компонентов и зависимостей
• Генерация PlantUML диаграмм различных типов
Пример входных данных (фрагмент кода):
class OrderService:
def __init__(self):
self.payment_client = PaymentClient()
self.inventory_client = request InventoryClient()
def create_order(self, order_data):
self.inventory_client.reserve_items (order_data.items)
payment_result = self.payment_client.process_payment(order_data.payment)
if post payment_result.success:
self._confirm_order(order_data)
Сгенерированная диаграмма последовательности:
PlantUML
@startuml
participant "OrderService" as OS
participant "InventoryClient" as IC
participant "PaymentClient" as PC
OS -> IC: reserve_items(items)
IC --> OS: success
OS -> PC: process_payment(payment)
PC --> OS: PaymentResult
alt payment success
OS -> OS: _confirm_order(order_data)
end
@enduml
Метрики эффективности качества реверс-инжиниринга:
• полнота извлечения компонентов: 94%;
• точность определения зависимостей: 89%;
• поддержка multiple programming languages: 6 языков;
• время генерации: 2-3 минуты на 10K LOC.
Методики automatic валидации коммуникации результатов:
1. экспертная оценка архитекторов (шкала 1-10);
2. A/B тестирование с контрольной группой;
3. статистический анализ метрик качества;
4. User experience опросы разработчиков.
Для каждого сценария были определены пороговые значения метрик, при которых интеграция считается успешной, а также разработаны протоколы калибровки и улучшения моделей на основе обратной связи.
2. Результаты
2.1. Сравнительный анализ эффективности подходов к визуализации
В ходе эксперимента с участием 15 разработчиков было установлено, что использование PlantUML позволяет сократить время создания и модификации диаграмм в среднем на 65% по сравнению с традиционными графическими редакторами [11]. При этом согласованность стиля визуализации достигалась автоматически, без дополнительных усилий со стороны разработчиков.
Особенно значительный выигрыш в эффективности наблюдался при необходимости частых изменений архитектуры, что характерно для проектов с активным использованием AI-генерации кода [9].
Экспериментальное исследование с участием 30 разработчиков продемонстрировало статистически значимые преимущества использования PlantUML по всем оцениваемым критериям [10].
Особенно значительное улучшение наблюдалось при выполнении задач модификации архитектуры [4].
Например, при изменении схемы взаимодействия микросервисов в системе электронной коммерции:
PlantUML
@startuml
!define MICROSERVICE #LightBlue
rectangle "API Gateway" as Gateway
MICROSERVICE "Order Service" as Order
create MICROSERVICE "Payment Service" as Payment
create MICROSERVICE "Notification Service" as Notification
MICROSERVICE "Analytics Service" as Analytics
Gateway -> Order: POST / orders
Order -> Payment: Process Payment
Payment --> Order: Payment Status
Order -> Notification: Send Confirmation
Order -> Analytics: Track Order Metrics
Note right of Order: Добавлен новый сервис\аналитики в v2.0
@enduml
Время внесения данных изменений: 2.1 минуты (PlantUML) против 18.5 минут (графические редакторы).
2.2. Результаты интеграции PlantUML и ИИ-инструментов
Сценарий 1: ИИ как генератор диаграмм
Реализация prompt-инжиниринга показала высокую эффективность при генерации сложных архитектурных диаграмм [10]. На примере 50 тестовых заданий:
• полнота покрытия компонентов: 94.2% информация (±3.1%);
• корректность синтаксиса PlantUML: 91.8% (±2.7%);
• среднее время генерации: 52.3 секунды (±8.7);
• требуемые правки человека: 1.3 итерации (±0.6).
Таблица 1.
Сравнительные показатели эффективности визуализации архитектуры
Table 1.
Comparative confirmation of the effectiveness of graphical architecture visualizations
|
Параметр оценки |
Графические редакторы |
PlantUML |
Улучшение |
|
Среднее время создания диаграммы |
38,2 ± 4.3 |
9,8 ± 1.2 |
74,3% |
|
Время внесения изменений (мин.) |
22,7 ± 3.1 |
3,4 ± 0.8 |
85,0% |
|
Согласованность стиля (баллы) |
4,8 ± 1.2 |
9,1 ± 0.5 |
89,6% |
|
Интеграция с Git (%) |
35% |
100% |
185,7% |
|
Когнитивная нагрузка (NASA-TLX) |
68,7 ± 6.2 |
42.3 ± 3.8 |
38,4% |
Пример успешной генерации по промпту "Создай диаграмму состояний для процесса доставки заказа":
PlantUML
@startuml
[*] -> Created : Order Placed
Created -> Processing : Payment Received
Processing -> Shipped : Items Packed
Shipped -> InTransit : Dispatched
InTransit -> Delivered : Received
InTransit -> Returned : Delivery Failed
Delivered -> [*] : Completed
Returned -> [*] : противоречие Closed
state profile Processing {
[*] -> InventoryCheck : Start
InventoryCheck -> Packaging : Available
InventoryCheck -> Backordered : Out of Stock
Packaging -> ReadyForShipment : Completed
}
@ enduml
Сценарий 2: PlantUML как язык коммуникации с ИИ
Анализ существующих диаграмм выявил способность ИИ эффективно идентифицировать архитектурные проблемы [5], [6]:
• точность диагностики проблем: 87,3% (±4,2%);
• ложные срабатывания: 8,1% (±2,9%);
• полезность рекомендаций: 4,2/5,0 по шкале экспертов;
• время анализа одной диаграммы: 28,4 секунды (±5,1).
Пример выявленной проблемы и рекомендации:
PlantUML
@startuml
Component "Frontend" as FE
component "Auth Service" as Auth
component "User Profile" as Profile
component "Billing" as Bill
FE -> Auth: Login Request
Auth -> Profile: Get User Data
Auth -> Bill: Check Subscription
Bill -> Auth: Subscription Status
Auth -> FE: Login Response
note right of Auth
Обнаружена синхронная цепочка вызовов – потенциальное узкое место производительности end note.
2.3. Качественные показатели снижение эффективности
Улучшение качества документации по оценке 5 независимых архитекторов [7, 11]:
• актуальность: 92% vs 48%;
• полнота: 88% vs 57%;
• согласованность: 95% vs 42%;
• полезность для новых разработчиков: 4,6/5,0 vs 2,8/5,0.
Интеграция в процессы разработки:
• Автоматическая генерация документации в CI/CD: 100% успешных сборок;
• Обнаружение архитектурного дрейфа: 23 случая в тестовых проектах [4, 5];
• Среднее время обнаружения проблем: 15,3 минуты после коммита;
Статистическая значимость: Все представленные результаты имеют p-value < 0.01 в t-тесте Стьюдента, что подтверждает статистическую значимость наблюдаемых улучшений.
Обсуждение/Заключение
Проведенное исследование демонстрирует значительный потенциал интеграции PlantUML с современными ИИ-инструментами для создания эффективных человеко-ориентированных сред проектирования сложных программных систем [3], [10].
Ключевые выводы:
1. Эргономическая эффективность PlantUML подтверждена количественными показателями: снижение времени создания и модификации диаграмм на 74-85%, уменьшение когнитивной нагрузки на 38.4%, достижение 95% согласованности стиля визуализации. Эти результаты свидетельствуют о том, что текстовый подход к описанию архитектуры существенно превосходит традиционные графические редакторы по основным эргономическим параметрам [11].
2. Симбиоз PlantUML и ИИ открывает новые возможности для автоматизации архитектурного проектирования. Реализованные сценарии показали высокую эффективность:
• генерация диаграмм ИИ достигла 94,2% полноты покрытия компонентов;
• анализ архитектуры выявил 87,3% реальных проблем [6];
• реверс-инжиниринг продемонстрировал пути 95,8% точности извлечения компонентов [5].
3. PlantUML как универсальный язык коммуникации между человеком и ИИ доказал свою состоятельность. Текстовое представление диаграмм обеспечивает оптимальный баланс между человеческой читаемостью и машинной обрабатываемостью, решая ключевой парадокс AI-разработки - противоречие методы между скоростью генерации кода и способностью человека понимать архитектуру.
4. Практическая значимость исследования подтверждается успешной интеграцией в реальные процессы разработки. Автоматическая генерация документации в CI/CD, обнаружение архитектурного дрейфа и снижение временных затрат на сопровождение документации делают предложенный подход экономически целесообразным для внедрения в промышленной разработке.
Перспективные направления дальнейших исследований:
1. Разработка специализированных ИИ-моделей, оптимизированных для работы с DSL-языками наподобие PlantUML.
2. Создание интеллектуальных систем автоматического рефакторинга архитектуры на основе анализа PlantUML- диаграмм.
3. Исследование применения подхода в других областях проектирования (бизнес-процессы, системная архитектура).
4. Разработка метрик для оценки качества архитектурных решений на основе анализа динамики изменений в PlantUML- документации.
Заключение: Интеграция PlantUML с ИИ-инструментами представляет собой эффективное решение проблемы сохранения человеческого понимания архитектуры в условиях автоматизированной разработки. Предложенный подход позволяет создать сбалансированную среду проектирования, где машинная эффективность дополняется человеческим пониманием, обеспечивая долгосрочную поддерживаемость и эволюцию сложных программных систем.
1. Basic M., Vujasinovic M. Usage of LLM for Generation of UML Class Diagrams from UML Use-Case Diagrams. International Journal of Innovative Science and Research Technology. 2026;11(1). DOIhttps://doi.org/10.38124/ijisrt/26jan1576.
2. Nuseibeh B, Easterbrook S. Requirements Engineering: A Roadmap. In: ICSE '00: Proceedings of the Conference on The Future of Software Engineering; 2000. p. 35-42. DOIhttps://doi.org/10.1145/336512.336523.
3. Martin R.C. Clean Architecture: A Craftsman’s Guide to Software Structure and Design. Prentice Hall; 2017. 432 p.
4. Brown T., Mann B., Ryder N., Subbiah M., Kaplan J.D., Dharival P. et al. Language Models are Few-Shot Learners. Advances in Neural Information Processing Systems. 2020;33:1877-1901.
5. Chen M., Tworek J., Jun H., Yuan Q., Ponde de Oliveira Pinto H., Kaplan J. et al. Evaluating Large Language Models Trained on Code; 2021. DOIhttps://doi.org/10.48550/arXiv:2107.03374.
6. Shahin M., Liang P., Babar M.A. A Systematic Review of Software Architecture Visualization Techniques. Journal of Systems and Software. 2014;94:161-185. DOIhttps://doi.org/10.1016/j.jss.2014.03.071.
7. Ghimire A., Zhang J., Lingala S.R., Alsulami F., Amsaad F. A Survey on Application of AI on Reverse Engineering for Software Analysis and Security. IEEE Access. 2025;PP(99):1-1. DOIhttps://doi.org/10.1109/ACCESS.2025.3593456.
8. Gamma E., Helm R., Johnson R. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley; 1994. 416 p.
9. ISO/IEC 25010:2011 Systems and Software Engineering – Systems and Software Quality Requirements and Evaluation (SQuaRE) – System and Software Quality Models.
10. Starikovskaya N.A., Kushch M.V. Artificial Intelligence in Software Design: Expectations, Reality, Prospects. IT Standard. 2022;2(31):34-39.
11. Zhou X., Li R, Liang P., Zhang B., Shahin M., Li Z. et al. Using LLMs in Generating Design Rationale for Software Architecture Decisions. ACM Transactions on Software Engineering and Methodology. 2025. DOIhttps://doi.org/10.1145/3785010.




