Hasilkan Diagram Kelas UML dari Java Project [ditutup]

200

Apakah ada alat yang baik yang dapat membantu untuk merekayasa ulang kelas Java ke UML yang akan menunjukkan gambaran umum tentang bagaimana kelas saya terkait satu sama lain? Tidak perlu mendekompilasi dari file JAR karena saya punya sumbernya. Saya tahu ada beberapa di luar sana tetapi kebanyakan dari mereka hanya dapat menghasilkan kelas individu. Saya harap ada alat yang dapat menghasilkan diagram kelas yang menunjukkan gambaran umum tentang bagaimana semua kelas dan paket saya saat ini bekerja bersama, sehingga saya dapat menganalisis desain arsitektur saya saat ini. Tentu saja, menganalisis adalah satu hal. Yang lainnya adalah untuk keperluan dokumentasi.

Saya tahu beberapa sejauh ini. Tetapi mereka tidak dapat melakukan diagram kelas ikhtisar. Berikut adalah daftar alat Java UML yang telah saya coba dan mampu melakukan reverse engineer tetapi tidak dapat melakukan diagram kelas tinjauan umum dari seluruh proyek saya:

  • StarUML ( Alat UML opensource yang sangat bagus tetapi tidak dapat menghasilkan diagram kelas ikhtisar)
  • ArgoUML (Ini lambat dan lamban dan terus menerjang)
  • UModel (Ini adalah perangkat lunak komersial. Saya menggunakan sebelumnya beberapa waktu lalu tetapi merasa sulit untuk menggunakan)
  • MS Visio (Tidak mendukung Java UML reverse engineer. Hanya untuk VB)

Apakah ada rekomendasi lain untuk ditambahkan ke daftar ini? Dan semoga, bisa menghasilkan gambaran umum diagram kelas Java. Saya menggunakan Eclipse.

Carven
sumber
1
Hanya untuk menambahkan beberapa kemungkinan lagi, di Eclipse, ada Papyrus. Tetapi plugin pembuatan kode, sayangnya, tidak bekerja untuk saya. Ini memiliki terlalu banyak dependensi untuk diinstal. Saya menggunakan eUML2 pada akhirnya.
Carven
Anda dapat memeriksa UML Lab - ini komersial - tetapi memiliki reverse engineering yang sangat canggih dan dapat disesuaikan (dan pulang pergi).
Christian
Ada alat gratis yang disebut JGrasp yang dapat membantu.
HRJ
Saya telah menggunakan metode ini: youtube.com/watch?v=HwBep8DmBVw satu-satunya downside adalah: itu tidak gratis tetapi Anda dapat memiliki uji coba 30 hari, yang cukup dalam kasus saya. CATATAN: Ini bukan video saya, saya baru saja menemukannya saat googling.
dazito
@Carven, beri tahu saya plugin mana yang Anda gunakan? Saat ini saya sedang mencari membuat diagram urutan secara otomatis pada pelaksanaan junit / test.
User27854

Jawaban:

46

Saya menggunakan plugin eUML2 dari Soyatec, di bawah Eclipse dan berfungsi baik untuk generasi UML yang memberikan kode sumber. Alat ini berguna hingga Eclipse 4.4.x

Heisenbug
sumber
Apakah edisi gratis memiliki fitur ini?
Carven
Iya. Saya menggunakan edisi gratis.
Heisenbug
1
Terima kasih! ;) Saya tidak mencobanya karena saya selalu berpikir versi gratis tidak memiliki kode untuk generasi UML.
Carven
38
Menyebalkan sekali. Keras. Instruksi ingin pengguna membuat awalan semua properti dengan karakter 'f' untuk mengendusnya. Ini juga merusak, dan menambahkan banyak komentar sendiri ke SEMUA file kelas. Juga, instruksi tidak intuitif. Jika seseorang dapat menyangkal pengalaman saya (berdasarkan versi saat ini di Kepler), silakan lakukan. Dan, baru tiga minggu masa percobaan. Copot pemasangan sekarang.
sana
1
Aku tidak menyukainya. Versi gerhana / oksigen terbaru yang tidak kompatibel.
Tayfun Yaşar
109

Saya menulis Class Visualizer , yang melakukannya. Ini alat gratis yang memiliki semua fungsi yang disebutkan - saya pribadi menggunakannya untuk tujuan yang sama, seperti dijelaskan dalam posting ini. Untuk setiap kelas yang diramban itu menunjukkan 2 diagram kelas yang dihasilkan secara instan: hubungan kelas dan tampilan kelas UML. Diagram hubungan kelas memungkinkan untuk melintasi seluruh struktur. Ini memiliki dukungan penuh untuk penjelasan dan obat generik plus dukungan khusus untuk entitas JPA. Bekerja sangat baik dengan proyek besar (ribuan kelas).

Jonatan Kaźmierczak
sumber
8
Programnya sangat bagus. Terima kasih telah membuatnya dan tautannya.
Igor Rodriguez
17
Jonatan, sebagai tindakan sopan santun, seseorang dapat / harus menambahkan penafian atas jawaban ketika menyarankan produk, layanan, dll. Yang terlibat.
dbm
2
Ini sangat keren. Mengingat proyek kami yang sudah berumur puluhan tahun dan sangat rumit - sebagian besar kodenya adalah JDK 1.1 vintage - ini memberikan gambaran besar tentang bagaimana segala sesuatu terhubung. Sebagai pelengkap kode sumber dan Javadoc, ia memberikan nilai luar biasa dengan harga yang luar biasa.
gerardw
2
Apakah Class Visualizer merupakan alat bermanfaat yang luar biasa? YA ITU. Bagaimana kita membayarnya? Ini gratis untuk diunduh! Bagaimana kita belajar menggunakannya? Menghabiskan 10 menit menonton video!
Martin Meeser
2
Saya memiliki kelas yang memanggil metode kelas lain pada proyek / folder yang sama, tetapi kelas lain tidak muncul. Saya menambahkan semua dependensi mungkin, termasuk semua stoples jdk8. apakah saya melewatkan sesuatu?
Aquarius Power
2

Bagaimana dengan Plugin Omondo untuk Eclipse. Saya telah menggunakannya dan saya merasa ini sangat berguna. Meskipun jika Anda membuat diagram untuk sumber besar, Anda mungkin harus memulai Eclipse dengan lebih banyak memori.

Swaranga Sarma
sumber
Tautan tidak berfungsi
Blip
2

Saya mengatakan MoDisco sejauh ini adalah yang paling kuat (meskipun mungkin bukan yang termudah untuk dikerjakan).

MoDisco adalah kerangka kerja rekayasa terbalik generik (sehingga Anda dapat menyesuaikan proyek rekayasa terbalik Anda, dengan MoDisco Anda bahkan dapat merekayasa balik perilaku metode java, tidak hanya struktur dan tanda tangan) tetapi juga mencakup beberapa fitur yang telah ditentukan sebelumnya seperti pembuatan kelas. diagram dari kode Java yang Anda butuhkan.

Jordi Cabot
sumber