2009-07-22 10 views
7

Tìm kiếm một công cụ có:ứng dụng để tạo ra Java sơ đồ phân cấp lớp

  • Tạo một trực quan dễ chịu (không sặc sỡ), có cấu trúc trực giao hệ thống cấp bậc đồ thị
  • đầu ra chất lượng cao hình ảnh PNG (300dpi +)
  • Phân biệt trực quan các lớp, lớp trừu tượng, giao diện và các loại được liệt kê (tốt nhất là theo màu)
  • Giao diện người dùng tương tác
  • Cho phép cắt gói và/hoặc các lớp riêng lẻ từ sơ đồ
  • Seeds (ví dụ, file » mở) sử dụng một bộ:
    • Thư mục
    • file JAR
    • file nguồn Individual
    • cá nhân biên soạn lớp
  • Thực hiện phân tích hoàn toàn tự động các phụ thuộc lớp học
  • kiếm CLASSPATH để giải quyết càng nhiều phụ thuộc chưa được đáp ứng càng tốt
  • Sử dụng một đơn thực thi
  • là trọng lượng nhẹ (~ 5MB) và nhanh chóng (tải ở dưới một giây trên một máy 1.5GHz trung bình)
  • là đơn giản (dưới 10 tuổi nhấp chuột để tạo ra một biểu đồ)
  • là nhanh (đồ thị dưới 100 đối tượng trong một vài giây)
  • là dễ sử dụng (giao diện tối thiểu, tập trung vào thế hệ đồ thị)
  • là OSS hay GPL
  • (Tùy chọn) tạo phân cấp biểu đồ cuộc gọi

Công cụ đó sẽ không hoàn thành nhiệm vụ này bao gồm:

  • Doxygen + GraphViz (hoặc dấu chấm)
  • Eclipse
  • làm mô hình UML
  • Phân tích kết cấu cho Java (không thể phân tích file nguồn)
  • Cộng đồng JUDE (giao diện awkard, tự động phát hiện không phù hợp)
  • Trong môi trường phát triển được phân loại (quá phức tạp và sử dụng quá nhiều bộ nhớ)

Bất kỳ ý tưởng nào?

+0

Tôi sẽ quan tâm nếu bạn tìm thấy giải pháp.Các chương trình mà tôi biết có khả năng làm tất cả những thứ đó không phải là nguồn mở, cũng không phải là trọng lượng nhẹ (cũng không phải là miễn phí). – Nick

+0

Yêu cầu nào là linh hoạt nhất? Tôi không chắc rằng bạn sẽ tìm thấy một trong đó đáp ứng tất cả chúng. Liệu một học sinh trung học chỉ có 2 ngày java thực sự cần phân tích đồ thị với 10.000 đối tượng? –

+0

liên kết "hấp dẫn trực quan" của bạn là Trang Không tìm thấy Rất tiếc, trang bạn yêu cầu không được tìm thấy. –

Trả lời

2

Plugin UML Netbeans sẽ bao gồm một số yêu cầu của bạn.

  • Tạo một hệ thống đồ thị trực quan hấp dẫn: một vấn đề của hương vị
  • Ghi chất lượng cao hình ảnh PNG (300dpi +): Tôi không biết
  • Nhìn bề ngoài phân biệt các lớp học, lớp trừu tượng, giao diện , và liệt kê các loại: có nó vì nó sử dụng UML
  • giao diện người dùng tương tác:
  • phép tỉa các gói và/hoặc các lớp học riêng lẻ từ sơ đồ: yes
  • Seeds (ví dụ, File »Mở) sử dụng một bộ: nó làm việc với NetBeans dự án
    • Thư mục
    • JAR file
    • file nguồn Individual
    • class được biên dịch riêng lẻ
  • Thực hiện hậu môn hoàn toàn tự động ysis: lẽ
  • Sử dụng một thực thi duy nhất: không được áp dụng, đó là một plugin của Netbeans
  • là trọng lượng nhẹ và nhanh chóng: như NetBeans
  • là đơn giản, nhanh chóng và dễ sử dụng: phụ thuộc của người sử dụng
  • là OSS hay GPL: tôi nghĩ rằng đó là OSS, chắc chắn nó là miễn phí như trong thức uống miễn phí
  • (Tùy chọn) Tạo một hierarc gọi đồ thị hy (ngoài một hệ thống phân cấp lớp): Tôi không nghĩ rằng nó
+3

Bạn đã đọc cụm từ "sẽ bao gồm * một số * yêu cầu của bạn" chưa? –

3

Câu trả lời có lẽ là "không OSS/ứng dụng miễn phí như vậy tồn tại". Tại sao? Bởi vì:

  1. Hầu hết những người muốn có một sơ đồ thừa kế cho một số lượng lớn các lớp học đã làm việc trong bối cảnh của một IDE hoặc tương đương. Ergo có rất ít động lực để các nhà phát triển PMNM tạo ra một công cụ như vậy.
  2. Tự động tạo trực quan biểu đồ hấp dẫn với số lượng lớn các lớp học bên cạnh không thể.

Tôi khuyên bạn nên thư giãn các yêu cầu của mình. Tôi có nghĩa là, những gì là sai với việc sử dụng một quy mô lớn IDE hoặc UML modeller? Bộ nhớ là rẻ. Điều gì là sai với chờ đợi một vài giây để tải/chạy sơ đồ? Kiên nhẫn châu chấu! Học sinh trung học nào có 2 ngày đào tạo sẽ xem xét cơ sở mã nguồn với hơn 10,000 lớp học ???

+2

Điểm cơ bản của tôi vẫn đứng vững. Yêu cầu của bạn không được đáp ứng bởi bất kỳ sản phẩm OSS nào hiện có. –

+0

maven với một số plugin có lẽ là giải pháp tốt hơn. JXR là cách hữu ích hơn so với sơ đồ. –

3

Dường như Class Visualizer đáp ứng tất cả các yêu cầu của bạn (ngoại trừ biểu đồ lưu dưới dạng PNG).

+0

Trong khi tôi không tìm thấy các đồ thị trực quan hấp dẫn, cũng không xuất hiện để được một tùy chọn dòng lệnh để tự động xuất các biểu đồ vào một hình ảnh, công cụ này là khá rộng rãi. Cảm ơn bạn. –

+0

Theo tác giả http://class-visualizer.net/ là phiên bản mới nhất của trình hiển thị lớp. Bản phát hành mới nhất 0.7.0 chỉ hoạt động với Java 7+ –