×

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

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

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

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

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

    • Аннотация
    • pdf

    В статье рассматривается разработанный авторами программный модуль, предназначенный для автоматической генерации программного кода на основе 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 - Системный анализ, управление и обработка информации