Форум программистов, компьютерный форум, киберфорум
netBool
Войти
Регистрация
Восстановить пароль

Построение UML-диаграмм для python (plantUML)

Запись от netBool размещена 18.04.2018 в 11:25
Показов 21740 Комментарии 1
Метки plantuml, pycharm, uml

В один прекрасный день в моем проекте Django стало очень много моделей, связанных очень сложно. И я начал нуждаться в инструменте для построения блок-схем.
Разработкой я занимаюсь в pycharm community без встроенного uml-редактора и только ради него покупать за 12к официал не готов, как и пользоваться им крякнутым в силу моих программистских принципов

Итак, я приступил к поиску бесплатных UML-редакторов. Мне попался этот список и я стал штудировать их сначала выборочно, потом - все подряд. Впечатления следующие:
  • Dia оказалась понятной, но для меня слишком неудобной
  • StarUML намного удобнее, но много жрущей и тормозящей (наверное, на java написана)
  • ArgoUML - по удобству недалеко ушла от Dia, но еще и интерфейс из 90х
  • Некоторые инструменты, такие, как Gaphor, у меня вообще ставиться отказались, т.к. не смогли скачать python 2.5. (несмотря на то, что у меня стоял 2.7, добавленный во все глобальные переменные, установщик все-таки усиленно пытался скачать именно 2.5 и при каждой неудаче отчаивался и выдавал неисправимую ошибку установки)
  • Наткнулся на инфу, что в phpmyadmin есть подобный инструмент. Даже не пробуйте - фигня полная

Попалась мне интересная программка NClass. Мне там понравилось все, за исключением того, что она под C#. Я, конечно, люблю шарп (и взял ее на заметку), но каждый раз нужно писать вручную тип поля, что не оч удобно, а моем случае и не очень нужно. Зато генерирует исходный код, что довольно приятно. (кстати, не нашел там вид связи - наследование)

Пробовал так же и встроенный в VS визуалайзер EDM-диаграмм. Прикольная штука, подобна NClass, но тоже много лишнего + там все завязано на генерацию кода. Это настоящий самолет со всеми вытекающими возможностями и ...заморочками. А заморочки как раз-таки мне не нужны...

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

Вотс. Но тк я использую pycharm, решил остановиться на решениях для pycharm. Я как-то и не вспоминал до этого момента, что эта ide поддерживает плагины. Выбор, конечно, не велик... но это как раз то, на чем я остановился
Плагин называется plantUML integration. Далее я расскажу подробно этапы установки и настройки, т.к. на мой взгляд, не все из них являются интуитивно понятными:
Сначала все просто: идем в File->Settings->Plagins. Вбиваем в строку поиска plantUML, устанавливаем, перезагружаем ide. И видим, что справа появилась вкладка plantUML

Нажмите на изображение для увеличения
Название: Безымянный.png
Просмотров: 2222
Размер:	237.2 Кб
ID:	4757

Ок. Но этого мало. Нужно установить скачать и установить Graphviz под вашу операционную систему, иначе будет ругаться
У меня была Windows... Но и этого мало. В настройках вкладки plantUML (там всего три пункта: Delay, Cache Size и Graphviz dot executable) в последнем пункте нужно указать путь к dot.exe из каталога Graphviz/bin/
У меня это
E:/ProgramFiles/Graphviz2.38/bin/dot.exe
Собственно, можно приступать к построению диаграмм. Для построения диаграмм в plantUML используется специальный язык разметки DOT.
CSS
1
2
3
4
5
@startuml
 
Profile -- Class10
 
@enduml
Это не сложно и для меня легче описать что-то на языке дот, чем тыкаться в визуальном редакторе ArgoUML. В сети я нашел подробную инструкцию на русском (чего сам не ожидал!) языке.
Пожалуй все,
А, ну да. plantuml не умеет строить диаграммы по исходному коду, в ч-сти по и/к Джанго. Но собственно для меня это и не было обязательно

Так же предлагаю полезные ссылки по теме:
PS: Для переноса полей с джанго накидал простенькую регулярку

\= [^\n]+
По ней в np++ удаляю matches, остаются только названия полей. Остается только paste в dot-код
Метки plantuml, pycharm, uml
Размещено в Django
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 1
Комментарии
  1. Старый комментарий
    "покупать за 12к" https://yadi.sk/i/_XAxNUzd3Z4zyB Это проф. версия с подпиской на год и фолбэк версией 2018.1
    Даже передать тебе не смогу это чувство. Как будто с трехколесного велосипеда сел на Мазду ЦэИкс7 все красиво, удобно, окупилось за неделю...
    Скринить суперские диаграммы не буду, понимаю что и так травмирую психику...
    Запись от sabrus размещена 11.07.2018 в 19:51 sabrus вне форума
 
Новые блоги и статьи
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru