×

Вы используете устаревший браузер Internet Explorer. Некоторые функции сайта им не поддерживаются.

Рекомендуем установить один из следующих браузеров: Firefox, Opera или Chrome.

Контактная информация

+7-863-218-40-00 доб.200-80
ivdon3@bk.ru

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

Аннотация

Ефремов Р.Д., Буткина А.А., Фирсова С.А., Шибайкин С.Д., Жарков Р.А.

Дата поступления статьи: 06.06.2025

В статье рассматривается разработанный авторами программный модуль, предназначенный для автоматической генерации программного кода на основе UML-диаграмм. Актуальность разработки данного модуля обусловлена ограничениями существующих зарубежных инструментов кодогенерации, связанными с функциональностью, удобством использования, поддержкой современных технологий, а также с их недоступностью на территории России. Модуль анализирует JSON-файлы, полученные экспортированием из онлайн-сервиса draw.io UML-диаграмм и преобразует их в код на выбранном языке программирования (Python, C++, Java) или в DDL-скрипты для СУБД (PostgreSQL, Oracle, MySQL). В качестве основных инструментов разработки были использованы язык Python и шаблонизатор Jinja2. Работа программного модуля продемонстрирована на примере небольшого проекта «Система управления библиотекой». В ходе исследования была проведена серия тестов по автоматической генерации кодов на основе типовых архитектур программно-информационных систем. Результаты тестов показали, что сгенерированный с помощью разработанного модуля код полностью соответствует исходным UML-диаграммам, включая структуру классов, связи между ними, а также конфигурацию базы данных и инфраструктуры (Docker Compose). Практическая значимость исследования заключается в том, что предложенная концепция генерации программного кода на основе визуальных моделей UML-диаграмм, построенных в популярном онлайн-редакторе draw.io, значительно облегчает разработку программно-информационных систем, и может быть использована в учебных целях.

Ключевые слова: генерация кода, автоматизация, python, jinja2, uml-диаграмма, json, шаблонизатор, парсинг, диаграмма классов, база данных, диаграмма развертывания

1.2.2 - Математическое моделирование, численные методы и комплексы программ

2.3.1 - Системный анализ, управление и обработка информации

.