2009-04-10 30 views
24

Tôi thích ghi lại sơ đồ UML trên giấy và sau đó triển khai chúng bằng Java. Sẽ rất tuyệt khi có một tiện ích có thể tạo các sơ đồ UML cho tôi mà tôi có thể chia sẻ trực tuyến và bao gồm trong tài liệu kỹ thuật số. Nói cách khác: Tôi muốn tạo các sơ đồ UML từ mã nguồn Java.Tiện ích miễn phí chạy trong Linux để tạo sơ đồ lớp UML từ các tệp nguồn Java

Tiện ích phải có khả năng:

  • Run trong Linux.
  • Xử lý Generics, tức là hiển thị Danh sách < Foo> đúng trong thông số và loại trả về.
  • Hiển thị lớp thừa kế và triển khai giao diện.

Thật tuyệt nếu tiện ích có thể:

  • Run trong Windows và Mac OS X.
  • Display enums trong một số cách tốt đẹp.
  • Tạo đầu ra theo định dạng biểu đồ mà tôi có thể sửa đổi bằng cách sử dụng một số tiện ích khác.
  • Chạy từ dòng lệnh.
  • Hạn chế tạo UML thành tập hợp các gói mà tôi có thể chỉ định.
  • Xử lý các lớp/giao diện không phải là một phần của mã nguồn của tôi. Nó có thể bao gồm lớp/giao diện đầu tiên nằm ngoài sơ đồ UML. Có lẽ trong một màu khác để chỉ nó là một thư viện/khung được tạo ra bởi người khác.
  • Tập trung vào tác vụ này và không cố gắng giải quyết toàn bộ vấn đề tài liệu.

Trả lời

2

doxygen hầu như tất cả mọi thứ bạn cần.

+0

Tôi không sợ quá nhiều. Tôi chỉ đơn giản là muốn các sơ đồ lớp UML. Tôi sẽ sử dụng JavaDoc cho tài liệu. –

+0

afaik doxygen không thực hiện UML. (Nó giống như graphviz tùy chỉnh bất cứ điều gì) –

+0

@Ronny: Không, nó được xây dựng trong: http://www.doxygen.nl/diagrams.html (mặc dù trang nói doxygen có thể tạo ra sơ đồ cho c + +, tôi cũng đã thấy sơ đồ cho java tạo ra với nó) – soulmerge

0

Không rõ liệu bạn có muốn tạo mã từ UML hoặc mã Kỹ sư ngược vào UML hay không. Nếu bạn muốn tạo mã từ UML, kiểu dự án UML Netbeans có lẽ là bộ công cụ đơn giản nhất cho Java.

Nếu bạn muốn đứng một mình

StarUML là một UML công cụ mô hình cũ. Nó thực hiện theo hầu hết các hướng dẫn UML trước 2. Nó có thể xử lý Generics, nhưng chỉ khi bạn tự nhập chúng vào. Tuy nhiên, tôi không nghĩ nó tạo ra Generics một cách chính xác nếu tôi nhớ chính xác. Bạn phải điều chỉnh mã sau khi tạo.

Mặc dù không miễn phí, tôi nghĩ rằng Umodel đáng giá tiền nếu bạn thực hiện UML thường xuyên.

+0

Tôi nghĩ nó khá rõ ràng. Làm thế nào để bạn giải thích "tạo một sơ đồ lớp UML từ các tệp nguồn Java"? (Đó là tiêu đề.) Dù sao đi nữa. StarUML chỉ dành cho Windows và tôi muốn đảo ngược kỹ sư. –

+0

tôi nghĩ rằng nó đã được khá rõ ràng, cho những gì đó là giá trị. –

+0

Có WhiteStarUML, là sự tiếp nối của StarUML. http://sourceforge.net/projects/whitestaruml/ –

6

Một phương pháp mà chúng tôi đã thử nghiệm là một sự kết hợp của UMLGraphGraphViz. Những gì chúng tôi đã làm vào thời điểm đó là tạo ra UML là một phần tự động trong quá trình xây dựng CruiseControl của chúng tôi: javadoc sẽ được xây dựng với các sơ đồ UML được tích hợp. Nó khá đẹp.

Tôi nghĩ bạn sẽ thấy rằng UMLGraph documentation trả lời khá nhiều câu hỏi của bạn. Cụ thể, bạn sẽ có thể tạo sơ đồ lớp mà bạn muốn từ dòng lệnh.

+0

Ứng dụng có hỗ trợ giao diện không? –

+1

@EgonWillighagen, vâng, xem tại đây: http://www.umlgraph.org/doc/ceg-adv.html –

-1

ArgoUML bởi tigris.org: xem here: đó là đa nền tảng. Nếu bạn thích ứng dụng GNU/Linux và sử dụng KDE, bạn có thể sử dụng Umbrello.

+1

Umbrello chỉ có thể tạo UML từ các tệp C++. Tôi có thể thử ArgoUML, trang của nó không đưa ra chi tiết cụ thể về việc liệu nó có hỗ trợ Generics hay không. –

+0

Xin chào, tôi đã đọc rằng Umbrello có thể xuất nguồn Java từ phiên bản 1.3.1 (KDE 3.3.1, tháng 10 năm 2004). Các tính năng có trong http://uml.sourceforge.net/feature.php – alepuzio

+0

Tôi cũng không muốn xuất nguồn từ UML. Tôi muốn tạo UML từ nguồn mà Umbrello chỉ hỗ trợ khi nói đến C++. –

-3

http://www.magicdraw.com/ là java, chạy trên linux, có thể làm cho uml hết mã.

(Tốt hơn bất kỳ điều gì khác mà tôi đã thử cho đến nay bao gồm umbrello, argoUML)

+0

là nó miễn phí GNU? –

+0

Câu hỏi Rõ ràng: Tiện ích miễn phí Magicadraw không miễn phí, chỉ có phiên bản dùng thử. –

Các vấn đề liên quan