Как я могу создать диаграмму UML из существующего кода Ruby?[закрыто]

StackOverflow https://stackoverflow.com/questions/52016

  •  09-06-2019
  •  | 
  •  

Вопрос

Может ли кто-нибудь порекомендовать хорошие инструменты UML/моделирования для Ruby и Ruby on Rails?Было бы неплохо генерировать код из диаграмм UML, а также создавать диаграммы из существующего кода.

Это было полезно?

Решение

Проверять "Инструменты UML для Ruby" (т.е.инструменты, которые генерируют некоторый код Ruby из диаграмм UML или, наоборот, которые генерируют некоторые диаграммы UML из кода Ruby.)

Другие советы

Что вы подразумеваете под «для Руби»?UML не зависит от языка.

Судя по вашему комментарию, UML — это общая, независимая от языка модель.Он предназначен (насколько я понимаю) для использования до выбора языка реализации, поэтому не все элементы UML имеют соответствующие элементы на всех языках (например, интерфейсы в Ruby).Однако это не означает, что вы не можете создавать модели UML и реализовывать описываемую ими систему на Ruby.

Я рекомендую СтарУМЛ для всех потребностей UML.

Визуальная парадигма это приложение для Mac, и оно сделает это за вас.

Немного ОТ, но лучший инструмент UML, который я нашел, называется Корпоративный архитектор - это приложение для Windows, и его базовая лицензия стоит около 130 долларов.Он не поддерживает Ruby, но поддерживает Java, C++ и множество других языков, включая преобразование всей базы данных в SQL, как генерацию, так и реверс-инжиниринг.Это стоит посмотреть.

Оригинальный гем Railroad работает только для Rails v2 и более ранних версий.Если вы используете Rails 3, используйте драгоценный камень RailRoady вместо.(Также см. README на github.)

Вы хотели попросить инструмент, который преобразует UML в код Ruby?

Я не думаю, что на данный момент они есть.Но это очень хорошая идея применения :)

Я нашел руби-умл

Генерирует диаграммы UML, отслеживая запуск приложения для анализа существующего приложения и обеспечения поддержки рефакторирования.

Я знаю, что немного опоздал с этим сообщением, однако думаю, мне есть что добавить.

Uml (диаграммы классов) не очень хорошо работает с динамически типизированными языками.Я говорю не о конкретных случаях, таких как конструкции, специфичные для языка, а о чем-то более фундаментальном.

В Ruby переменные не имеют типа.В UML мы создаем ассоциации между типы.

Ruby использует утиный набор текста.Утиную типизацию можно легко сопоставить с классами, реализующими определенный интерфейс.Однако, поскольку все классы автономны и полностью отделены друг от друга, мне нравится рассматривать каждый класс Ruby как компонент.

Я создал инструмент Rubygem, который вы можете попробовать.Это было немного сложно сделать, и пока это работает не очень хорошо, однако позволяет извлекать код Ruby (не Rails, модели Rails являются типизированы, поскольку они сопоставлены с базами данных.У них даже есть мощности для ассоциаций) и генерировать на их основе uml-диаграммы. https://github.com/mikaa123/umlify

Railroad генерирует диаграммы классов UML для приложений Rails, включая модели и контроллеры, возможно, вы захотите взглянуть на них. http://railroad.rubyforge.org/

Если вы используете Linux, вам наверняка понравится Umbrello, средство моделирования UML, генерирующее код на многих языках, включая Ruby.

https://umbrello.kde.org/

Я думаю, вы могли бы получить некоторую пользу от http://yuml.me все, что вам нужно сделать, это вывести текст.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top