2008-09-09 10 views
12

¿Alguien podría recomendar algunas buenas herramientas de modelado UML para Ruby y Ruby on Rails? Editar: sería bueno generar código a partir de diagramas UML, así como generar diagramas a partir del código existente.UML para Ruby

+3

UML? Los programadores reales utilizan conmutadores de palanca. :-) Estoy pensando, "wow, la programación realmente ha recorrido un largo camino". –

Respuesta

8

Comprobar "UML tools for Ruby" (es decir, herramientas que generan un código de Ruby a partir de diagramas UML o, a la inversa, que generan unos diagramas UML de código Ruby.)

5

¿Qué quiere decir con "for Ruby"? UML es independiente del lenguaje.

Según su comentario, UML es un modelo genérico e independiente del idioma. Está diseñado (desde mi entender) para ser utilizado antes de que se elija un lenguaje de implementación, por lo que no todos los elementos UML tienen elementos correspondientes en todos los idiomas (por ejemplo, interfaces en Ruby). Sin embargo, eso no significa que no pueda crear modelos UML e implementar el sistema que describen en Ruby.

Recomiendo StarUML para todas las necesidades de UML.

+0

Ruby no tiene interfaces, pero tiene mixin ... no estoy seguro de que las herramientas UML lo admitan. También sería bueno generar diagramas a partir del código, por lo que debe funcionar con el código Ruby y muchas herramientas no son independientes del idioma. – Jimmy

+1

@Jimmy - UML maneja mixins como herencia múltiple (como se hace en C++). UML no es específico de clase/interfaz. –

3

¿Pretendes pedir una herramienta que transforme UML en código ruby?

No creo que haya ninguno en este momento. Pero es una idea muy buena aplicación :)

he encontrado el ruby-uml

Genera diagramas UML mediante el trazado de la ejecución de una solicitud de analysation de una aplicación existente y para proporcionar apoyo a refactorisations.

3

Visual Paradigm es una aplicación para Mac que lo hará por usted.

OT algo, pero la mejor herramienta UML que he encontrado se llama Enterprise Architect - es una aplicación de Windows, y cuesta alrededor de $ 130 por una licencia básica. No hace Ruby, pero sí lo hace Java, C++ y una gran cantidad de otros lenguajes, incluida la base de datos completa a SQL, tanto de generación como de ingeniería inversa. Vale la pena echarle un vistazo.

2

ferrocarril genera diagramas de clase UML para aplicaciones Rails, incluyendo modelos y controladores, es posible que desee echar un vistazo a http://railroad.rubyforge.org/

1

creo que podría obtener algún provecho de http://yuml.me todo lo que tendría que hacer es salida de un texto .

3

La gema Railroad original solo funciona para Rails v2 y anteriores. Si está utilizando Rails 3, use the RailRoady gem en su lugar. (También vea el archivo README en github.)

2

Sé que estoy captando este mensaje un poco tarde, sin embargo, creo que tengo algunas cosas que agregar aquí.

Uml (diagramas de clase) no funciona bien con los idiomas tipados dinámicamente. No estoy hablando de casos específicos como constructos específicos del lenguaje, sino de algo más fundamental.

En ruby, las variables no tienen ningún tipo. En UML, creamos asociaciones entre tipos.

Ruby utiliza la escritura de pato. El tipado de patos se puede asignar fácilmente a las clases que implementan una determinada interfaz. Sin embargo, dado que todas las clases son autónomas y están totalmente desacopladas entre sí, me gusta ver cada clase de ruby ​​como un componente.

Creé una herramienta de rubygem que puede ver.Fue un poco difícil de hacer, y no funciona muy bien aún, sin embargo, permite extraer el código Ruby (no los Rails, los modelos Rails son tipados, ya que están asignados a bases de datos. Incluso tienen cardinalidades para las asociaciones) y generar un diagrama uml a partir de él. https://github.com/mikaa123/umlify

1

Si utiliza Linux, es posible que sin duda disfrutar de Umbrello, un modelador UML que genera código en muchos idiomas, incluido Ruby.

https://umbrello.kde.org/