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

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

Запись от netBool размещена 18.04.2018 в 11:25
Метки 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
Просмотров: 267
Размер:	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-код
Размещено в Django
Просмотров 490 Комментарии 1
Всего комментариев 1
Комментарии
  1. Старый комментарий
    "покупать за 12к" https://yadi.sk/i/_XAxNUzd3Z4zyB Это проф. версия с подпиской на год и фолбэк версией 2018.1
    Даже передать тебе не смогу это чувство. Как будто с трехколесного велосипеда сел на Мазду ЦэИкс7 все красиво, удобно, окупилось за неделю...
    Скринить суперские диаграммы не буду, понимаю что и так травмирую психику...
    Запись от sabrus размещена 11.07.2018 в 19:51 sabrus вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru