Ответ 1
Отметьте инструменты UML для Ruby" (т.е. инструменты, которые генерируют некоторый код Ruby из диаграмм UML или, наоборот, генерируют некоторые UML-диаграммы из кода Ruby.)
Может ли кто-нибудь рекомендовать некоторые хорошие инструменты UML/моделирования для Ruby и Ruby on Rails? Edit: было бы неплохо сгенерировать код из диаграмм UML, а также генерировать диаграммы из существующего кода.
Отметьте инструменты UML для Ruby" (т.е. инструменты, которые генерируют некоторый код Ruby из диаграмм UML или, наоборот, генерируют некоторые UML-диаграммы из кода Ruby.)
Что вы подразумеваете под "для Ruby"? UML является языковым агностиком.
На основе вашего комментария - UML - это общая, не зависящая от языка модель. Он разработан (из моего понимания), который будет использоваться до выбора языка реализации, поэтому не все элементы UML имеют соответствующие элементы на всех языках (например, - интерфейсы в Ruby). Однако это не означает, что вы не можете создавать UML-модели и реализовывать систему, которую они описывают в Ruby.
Я рекомендую StarUML для всех потребностей UML.
Вы хотели попросить инструмент, который преобразует UML в код ruby?
Я не думаю, что в данный момент есть. Но это очень хорошая идея приложения.
Я нашел ruby-uml
Генерирует диаграммы uml, отслеживая запуск приложения для анализа существующего приложения и обеспечивают поддержку рефакторизации.
Visual Paradigm - это приложение для Mac и сделает это за вас.
Немного OT, но лучший инструмент UML, который я нашел, называется Enterprise Architect - это приложение Windows, и оно стоит вокруг $130 за базовую лицензию. Он не использует Ruby, но он использует Java, С++ и множество других языков, включая полную базу данных для SQL, как генерацию, так и обратную инженерию. Это стоит посмотреть.
Оригинальный жемчуг Railroad работает только для Rails v2 и ранее. Если вы используете Rails 3, вместо этого используйте жемчужину RailRoady. (Также см. README на github.)
Railroad создает диаграммы классов UML для приложений Rails, включая модели и контроллеры, вы можете взглянуть на http://railroad.rubyforge.org/ p >
Я знаю, что немного задержался на этом сообщении, но думаю, что у меня есть несколько вещей, которые можно добавить здесь.
Uml (диаграммы классов) не работает с динамически типизированными языками. Я не говорю о конкретных случаях, таких как языковые конструкции, но о чем-то более фундаментальном.
В рубине переменные не имеют никакого типа. В UML мы создаем ассоциации между типами.
Ruby использует утиную печать. Утиная печать может быть легко сопоставлена с классами, реализующими определенный интерфейс. Однако, поскольку все классы автономны и полностью отделены друг от друга, мне нравится видеть каждый класс ruby как компонент.
Я создал инструмент rubygem, который вы можете проверить. Это было немного сложно сделать, но пока это не очень хорошо работает, однако оно позволяет извлекать код Ruby (не Rails, Rails, ), поскольку они сопоставляются с базами данных. имеют мощности для ассоциаций) и генерировать из него диаграммы uml. https://github.com/mikaa123/umlify
Я думаю, вы можете получить некоторый пробег от http://yuml.me все, что вам нужно сделать, это вывести какой-то текст.
Если вы используете Linux, вам наверняка понравится Umbrello, UML-модератор, который генерирует код на многих языках, включая Ruby.