2008-09-09 17 views
12

Có thể giới thiệu một số công cụ UML/mô hình hóa tốt cho Ruby và Ruby trên Rails không? Chỉnh sửa: sẽ là tốt đẹp để tạo mã từ sơ đồ UML cũng như tạo sơ đồ từ mã hiện có.UML cho Ruby

+3

UML? Các lập trình viên thực sự sử dụng các công tắc chuyển mạch. :-) Tôi đang nghĩ, "wow, lập trình thực sự đã đi một chặng đường dài." –

Trả lời

8

Kiểm tra "UML tools for Ruby" (tức là công cụ tạo ra một số mã Ruby từ sơ đồ UML hoặc, theo chiều ngược lại, tạo ra một số sơ đồ UML từ mã Ruby.)

5

Ý của bạn là gì đối với "đối với Ruby"? UML là ngôn ngữ bất khả tri.

Dựa trên nhận xét của bạn - UML là mô hình chung, độc lập về ngôn ngữ. Nó được thiết kế (từ sự hiểu biết của tôi) được sử dụng trước khi một ngôn ngữ thực hiện được chọn, vì vậy không phải tất cả các phần tử UML đều có các phần tử tương ứng trong tất cả các ngôn ngữ (ví dụ - các giao diện trong Ruby). Tuy nhiên, điều đó không có nghĩa là bạn không thể tạo các mô hình UML và triển khai thực hiện hệ thống mà chúng mô tả trong Ruby.

Tôi khuyên bạn nên StarUML cho tất cả các nhu cầu UML.

+0

Ruby không có giao diện nhưng có mixin .. im không chắc chắn bất kỳ công cụ UML nào hỗ trợ điều đó. Ngoài ra nó sẽ được tốt đẹp để tạo ra các sơ đồ từ mã, do đó, nó cần phải làm việc với mã ruby ​​và nhiều công cụ không phải là ngôn ngữ bất khả tri. – Jimmy

+1

@Jimmy - UML xử lý các mixin như nhiều thừa kế (như được thực hiện trong C++). UML không phải là lớp/giao diện cụ thể. –

3

Bạn có muốn yêu cầu một công cụ chuyển đổi UML thành mã ruby ​​không?

Tôi không nghĩ rằng có bất kỳ lúc nào. Tuy nhiên, một ứng dụng ý tưởng rất tốt của nó :)

tôi đã tìm thấy các ruby-uml

Tạo sơ đồ UML bằng cách lần theo các chạy của một ứng dụng cho analysation của một ứng dụng hiện có và để cung cấp hỗ trợ cho refactorisations.

3

Visual Paradigm là ứng dụng Mac và sẽ thực hiện việc này cho bạn.

Hơi cũ, nhưng công cụ UML tốt nhất mà tôi đã tìm thấy được gọi là Enterprise Architect - đó là ứng dụng Windows và chi phí khoảng 130 đô la cho giấy phép cơ bản. Nó không làm Ruby, nhưng nó làm Java, C++ và một loạt các ngôn ngữ khác, bao gồm cả cơ sở dữ liệu đầy đủ cho SQL, cả kỹ thuật tạo và đảo ngược. Nó đáng xem.

2

Railroad tạo ra sơ đồ lớp UML cho các ứng dụng Rails, trong đó có mô hình và kiểm soát, bạn có thể muốn có một cái nhìn tại http://railroad.rubyforge.org/

1

Tôi nghĩ rằng bạn có thể nhận được một số mileage từ http://yuml.me tất cả các bạn sẽ cần phải làm là ra một số văn bản .

3

Đá quý đường sắt ban đầu chỉ hoạt động đối với Rails v2 và trước đó. Nếu bạn đang sử dụng Rails 3, use the RailRoady gem thay thế. (Cũng xem README trên github.)

2

Tôi biết tôi đang bắt gặp thông báo này muộn một chút, tuy nhiên tôi nghĩ rằng tôi có một vài điều cần thêm ở đây.

UML (sơ đồ lớp) không hoạt động tốt với ngôn ngữ được nhập động. Tôi không nói về các trường hợp cụ thể như cấu trúc ngôn ngữ cụ thể, nhưng về một cái gì đó cơ bản hơn.

Trong ruby, các biến không có bất kỳ loại nào. Trong UML, chúng tôi tạo các liên kết giữa các loại.

Ruby sử dụng kiểu gõ vịt. Duck-đánh máy có thể dễ dàng được ánh xạ tới các lớp thực hiện một giao diện nhất định. Tuy nhiên, vì tất cả các lớp đều tự chứa và hoàn toàn tách rời nhau, tôi muốn thấy mỗi lớp ruby ​​như một thành phần.

Tôi đã tạo một công cụ rubygem mà bạn có thể kiểm tra.Đó là một chút khó khăn để làm, và nó không hoạt động rất tốt được nêu ra, tuy nhiên nó cho phép trích xuất mã Ruby (không Rails, Rails mô hình được đánh máy, vì chúng được ánh xạ tới cơ sở dữ liệu. và tạo ra một sơ đồ uml từ nó. https://github.com/mikaa123/umlify

1

Nếu bạn sử dụng Linux, bạn có thể chắc chắn được hưởng Umbrello, một UML modeller tạo mã bằng nhiều ngôn ngữ, bao gồm Ruby.

https://umbrello.kde.org/