Tạo sơ đồ lớp UML từ dự án Java [đã đóng]


200

Có một công cụ tốt nào có thể giúp đảo ngược các lớp Java thành UML để hiển thị tổng quan về cách các lớp của tôi có liên quan với nhau không? Nó không cần dịch ngược từ tệp JAR vì tôi có các nguồn. Tôi biết có khá nhiều người ngoài kia nhưng hầu hết những người đó chỉ có thể tạo lớp riêng lẻ. Tôi hy vọng có một công cụ có thể tạo sơ đồ lớp hiển thị tổng quan về cách tất cả các lớp và gói hiện tại của tôi hoạt động cùng nhau, để tôi có thể phân tích thiết kế kiến ​​trúc hiện tại của mình. Tất nhiên, phân tích là một chuyện. Khác là cho mục đích tài liệu.

Tôi biết một vài cho đến nay. Nhưng họ không thể làm một sơ đồ lớp tổng quan. Đây là danh sách các công cụ Java UML mà tôi đã thử và có khả năng thực hiện kỹ sư đảo ngược nhưng không thể thực hiện sơ đồ lớp tổng quan về toàn bộ dự án của tôi:

  • StarUML (Really good Nguồn mở công cụ UML nhưng không thể tạo ra không sơ đồ lớp tổng quan)
  • ArgoUML (Nó chậm và chậm chạp và nó tiếp tục bị hỏng)
  • UModel (Đây là một phần mềm thương mại. Tôi đã sử dụng trước đây một thời gian nhưng thấy nó khó sử dụng)
  • MS Visio (Nó không hỗ trợ kỹ sư đảo ngược Java UML. Chỉ dành cho VB)

Có bất kỳ khuyến nghị khác để thêm vào danh sách này? Và hy vọng, có thể tạo ra một sơ đồ lớp Java tổng quan. Tôi đang sử dụng Eclipse.


1
Chỉ cần thêm một vài khả năng nữa, trong Eclipse, có Paccorus. Nhưng đáng buồn là plugin tạo mã, không làm việc cho tôi. Nó có quá nhiều phụ thuộc để cài đặt. Tôi đã sử dụng eUML2 cuối cùng.
Carven

Bạn có thể kiểm tra UML Lab - đó là thương mại - nhưng nó có kỹ thuật đảo ngược rất tinh vi và có thể tùy chỉnh (và khứ hồi).
Christian

Có một công cụ miễn phí có tên là JGrasp có thể giúp ích.
HRJ

Tôi đã sử dụng phương pháp này: youtube.com/watch?v=HwBep8DmBVw nhược điểm duy nhất là: nó không miễn phí nhưng bạn có thể dùng thử 30 ngày, điều đó là đủ trong trường hợp của tôi. LƯU Ý: Đây không phải là video của tôi, tôi chỉ tìm thấy nó trong khi googling.
dazito

@Carven, vui lòng cho tôi biết bạn đã sử dụng plugin nào? Hiện tại tôi đang tìm kiếm tự động tạo sơ đồ trình tự khi thực hiện Junit / test.
Người dùng27854

Câu trả lời:


46

Tôi sử dụng plugin eUML2 từ Soyatec, trong Eclipse và nó hoạt động tốt cho việc tạo UML cung cấp mã nguồn. Công cụ này hữu ích lên tới Eclipse 4.4.x


Phiên bản miễn phí có tính năng này?
Carven

Đúng. Tôi sử dụng phiên bản miễn phí.
Heisenorms

1
Cảm ơn! ;) Tôi đã không thử vì tôi luôn nghĩ phiên bản miễn phí không có mã để tạo UML.
Carven

38
Nó thật tệ Cứng. Các hướng dẫn muốn người dùng tiền tố tất cả các thuộc tính với ký tự 'f' để đánh hơi chúng. Nó cũng mang tính hủy diệt và thêm một loạt các bình luận riêng vào TẤT CẢ các tệp lớp. Ngoài ra, hướng dẫn là không trực quan. Nếu ai đó có thể bác bỏ kinh nghiệm của tôi (dựa trên phiên bản hiện tại trong Kepler), vui lòng làm như vậy. Và, chỉ ba tuần thử nghiệm. Gỡ cài đặt ngay bây giờ.
ingyhere

1
Tôi không thích nó. Phiên bản mới nhất của nhật thực / oxy.
Tayfun Yaşar

109

Tôi đã viết Class Visualizer , nó thực hiện nó. Đây là công cụ miễn phí có tất cả các chức năng được đề cập - Cá nhân tôi sử dụng nó cho cùng mục đích, như được mô tả trong bài viết này. Đối với mỗi lớp được duyệt, nó hiển thị 2 sơ đồ lớp được tạo ngay lập tức: quan hệ lớp và chế độ xem UML của lớp. Biểu đồ quan hệ lớp cho phép đi qua toàn bộ cấu trúc. Nó có hỗ trợ đầy đủ cho các chú thích và khái quát cộng với hỗ trợ đặc biệt cho các thực thể JPA. Hoạt động rất tốt với các dự án lớn (hàng ngàn lớp).


8
Chương trình này thực sự tốt. Cảm ơn vì đã tạo ra nó và cho các liên kết.
Igor Rodriguez

17
Jonatan, như một hành động của một xã giao có thể / nên thêm một từ chối trách nhiệm để trả lời khi thấy các sản phẩm, dịch vụ vv ai tham gia.
dbm

2
Điều này là nghiêm túc mát mẻ. Với nhiều thập kỷ, dự án rất phức tạp của chúng tôi - phần lớn mã là JDK 1.1 vintage - điều này cung cấp một cái nhìn tổng quan tuyệt vời về cách mọi thứ được kết nối. Là một bổ sung cho mã nguồn và Javadoc, nó cung cấp giá trị to lớn với một mức giá tuyệt vời.
gerardw

2
Class Visualizer có phải là một công cụ hữu ích không thể hiểu nổi? VÂNG, ĐÚNG VẬY. Làm thế nào để chúng ta trả tiền cho nó? Nó là miễn phí để tải về! Làm thế nào để chúng ta học cách sử dụng nó? Đã dành 10 phút để xem video!
Martin Meeser

2
Tôi có một lớp gọi một phương thức của một lớp khác trong cùng một dự án / thư mục, nhưng lớp đó không hiển thị. Tôi đã thêm tất cả các phụ thuộc có thể, bao gồm tất cả các lọ jdk8. tôi có bỏ lỡ điều gì không?
Sức mạnh Bảo Bình

2

Làm thế nào về Plugin Omondo cho Eclipse. Tôi đã sử dụng nó và tôi thấy nó khá hữu ích. Mặc dù nếu bạn đang tạo sơ đồ cho các nguồn lớn, bạn có thể phải khởi động Eclipse với nhiều bộ nhớ hơn.


Liên kết không hoạt động
Blip

2

Tôi nói rằng MoDisco là người mạnh nhất (mặc dù có lẽ không phải là người dễ làm việc nhất).

MoDisco là một khung kỹ thuật đảo ngược chung (để bạn có thể tùy chỉnh dự án kỹ thuật đảo ngược của mình, với MoDisco, bạn thậm chí có thể đảo ngược hành vi của các phương thức java, không chỉ cấu trúc và chữ ký) mà còn bao gồm một số tính năng được xác định trước như thế hệ của lớp sơ đồ ra khỏi mã Java mà bạn cần.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.