2008-09-09 32 views
12

RubyやRuby on Rails用の優れたUML /モデリングツールをお勧めしますか? 編集:UMLダイアグラムからコードを生成するだけでなく、既存のコードからダイアグラムを生成することもできます。Ruby用UML

+3

UML?実際のプログラマはトグルスイッチを使用します。私は考えています。「うわー、プログラミングは本当に長い道のりでした」 –

答えて

8

Linuxを使用する場合はチェック「UML tools for Ruby」(つまりは、RubyコードからいくつかのUML図を生成UMLダイアグラムや、他の方法でラウンド、からいくつかのRubyのコードを生成するツール。)

5

"for Ruby"はどういう意味ですか? UMLは言語に依存しません。

コメントに基づいて - UMLは、一般的な言語に依存しないモデルです。実装言語が選択される前に使用するように設計されているので、すべてのUML要素がすべての言語で対応する要素を持つわけではありません(例えば、Rubyのインタフェース)。しかし、それはあなたがUMLモデルを作ってRubyで記述したシステムを実装することができないということではありません。

すべてのUMLのニーズに合わせてStarUMLをお勧めします。

+0

Rubyにはインターフェースはありませんが、mixinがあります。どのUMLツールでもサポートされていますか?また、コードからダイアグラムを生成するのもいいでしょう。そのため、ルビコードで作業する必要があり、多くのツールは言語に依存しません。 – Jimmy

+1

@Jimmy - UMLはmixinを複数の継承として扱います(C++で行われたように)。 UMLは、クラス/インタフェース固有ではありません。 –

3

UMLをルビコードに変換するツールをお探しですか?

私は今は何もないと思う。しかし、その非常に良いアプリケーションのアイデアは:)

私はruby-uml

は、既存のアプリケーションのanalysation のためのアプリケーションの 実行をトレースすることにより、UML図を生成し、 にrefactorisationsためのサポートを提供して発見しました。

3

Visual ParadigmはMacアプリケーションであり、これを行います。

幾分OTですが、私が見つけた最良のUMLツールはEnterprise Architectと呼ばれています。これはWindowsアプリケーションで、基本ライセンスでは約130ドルの費用がかかります。 Rubyはしませんが、Java、C++、および生成とリバースエンジニアリングの両方を含むSQLからデータベースへの完全な言語を含む多くの言語があります。それは一見価値がある。

2

鉄道がモデルとコントローラを含むRailsアプリケーションのためのUMLのクラス図を生成し、私はあなたがhttp://yuml.meからいくつかの走行距離を得るかもしれないと思うhttp://railroad.rubyforge.org/

1

を見てみたいことがありますあなたがする必要があるだろうすべては、いくつかのテキストを出力します。

3

元のRailroad gemは、Rails v2以前でのみ動作します。 Rails 3を使用している場合は、代わりにuse the RailRoady gemを使用してください。 (また、githubのREADMEも参照してください)

2

私はこのメッセージをちょっと遅らせることができますが、私はここに追加することがいくつかあると思います。

UML(クラス図)は、動的に型指定された言語ではうまく機能しません。私は言語特有の構築物のような特定の事例について話すのではなく、より根本的なものについて話しています。

ルビでは、変数には型がありません。 UMLでは、のタイプの間にアソシエーションを作成します。

Rubyはダックタイピングを使用しています。ダックタイピングは、特定のインターフェースを実装するクラスに簡単にマッピングできます。しかし、すべてのクラスは自己完結型であり、互いに完全に分離されているので、私は各ルビクラスをコンポーネントとして見ることが好きです。

あなたがチェックアウトする可能性があるrubygemツールを作成しました。ちょっと難しいことですが、Rubyコードを抽出することができます(Rails、Railsモデルで、データベースにマッピングされているため型付けされていません。そこからumlダイアグラムを生成することができます。 https://github.com/mikaa123/umlify

1

、あなたは確かに楽しむことができますUmbrelloはRubyを含む多くの言語でコードを生成するUMLモデラーです。

https://umbrello.kde.org/