Menghasilkan UML dari kode C ++? [Tutup]

113

Apakah ada alat yang dapat mengurai file C ++ dalam sebuah proyek dan menghasilkan UML darinya?

gak
sumber

Jawaban:

74

Berikut beberapa opsinya:

Panduan Langkah-demi-Langkah untuk Membalik Kode Teknik menjadi Diagram UML dengan Microsoft Visio 2000 - http://msdn.microsoft.com/en-us/library/aa140255(office.10).aspx

BoUML - http://bouml.fr/features.html

StarUML - http://staruml.sourceforge.net/en/

Rekayasa terbalik diagram kelas UML dari kode C ++ di hadapan wadah yang diketik lemah (2001) - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.9064

Pemodel UML Umbrello - http://uml.sourceforge.net/

Daftar alat lain untuk dilihat - http://plg.uwaterloo.ca/~migod/uml.html

jwpfox.dll
sumber
Diterima kembali ke jawaban yang lebih menyeluruh.
gak
1
BoUML ( bouml.fr ) tersedia untuk Linux, Windows dan Mac.
Rhubbarb
2
Lihat pertanyaan serupa di sini dan di sini dan di sini .
Keshava GN
8
BoUML tidak gratis!
deepdive
2
StarUML gagal sangat keras untuk menghasilkan apa pun yang berguna.
bitmask
53

Jika hanya diagram yang Anda inginkan, doxygen melakukan pekerjaan yang cukup baik.

pengguna48956
sumber
2
Saya baru saja mendapatkan hierarki kelas lengkap pada proyek + 300K LOC dengan Doxygen, ini benar-benar bekerja dengan cukup baik!
HFSDev
15

Saya yakin Arsitek Perusahaan dapat melakukan itu.

cschol.dll
sumber
2
Memang benar, dan berhasil dengan baik. Saya telah menggunakannya selama bertahun-tahun, dan bagi saya ini adalah alat harga / kinerja terbaik untuk itu (di antara yang saya gunakan). Saya sudah mencoba StarUML dan Together juga - yang pertama memiliki potensi, tetapi masih belum lengkap. Yang kedua sangat lambat.
Fabio Ceconello
Saya tidak mencoba Rational Rose, karena harganya jauh di atas kisaran harga saya.
Fabio Ceconello
15

Saya telah mengembangkan alat yang disebut Doxygraph yang dapat mengurai XML yang dihasilkan oleh Doxygen dan mengubahnya menjadi diagram kelas UML interaktif yang dapat Anda lihat di browser web atau impor ke perangkat lunak apa pun yang dapat membaca file "dot" Graphviz.

Oktalis
sumber
2
Aplikasi yang sangat bagus! Terlepas dari kenyataan bahwa itu tergantung pada cukup banyak lib yang tidak saya miliki (diunduh nanti dari cpan), semuanya bekerja dengan sempurna. Terima kasih!
Rubens
7

Saya menemukan bahwa Wikipedia dapat menjadi sumber informasi yang bagus tentang alat-alat semacam itu, terutama untuk tabel perbandingan. Ada halaman di alat UML . Lihat khususnya kolom bahasa rekayasa terbalik .

Rhubbarb
sumber
5

UML Studio melakukan ini dengan cukup baik menurut pengalaman saya, dan akan berjalan dalam "mode freeware" untuk proyek-proyek kecil.

Patrick Johnmeyer
sumber
Anda dapat menjalankannya dalam mode gratis (terbatas) di bawah Wine.
SChepurin
3

Tampaknya Umbrello menghasilkan UML terbaik dari kode C ++ (disarankan untuk menggunakan versi terbaru> = 2.22) dibandingkan dengan autodia baris perintah untuk Dia dan alat lainnya.

StarUML belum menghasilkan diagram yang bagus untuk saya: impor aneh, tidak dapat digunakan, tidak berfungsi untuk banyak orang: https://github.com/staruml/Cpp/issues

Aleksey Kontsevich
sumber
2

Siapa pun yang menginginkan UML berhak mendapatkan Rational Rose :)

obecalp
sumber
2
program bagus tapi sangat mahal!
ak3nat0n
Tautan dalam jawaban ini sudah usang. Tautan saat ini adalah www-01.ibm.com/software/rational/products/swarchitect/cpp
Dan Nissenbaum
Baik tautan asli dan yang ada di komentar sudah usang. Tidak tahu di mana menemukan versi saat ini.
Bruno Alexandre Rosa
tidak mungkin untuk menemukan halaman produk.
perawat
2

Saya telah menggunakan Rational Rose dan Rational Rhapsody untuk proyek-proyek besar rekayasa balik. Saya lebih suka Rhapsody Rasional untuk mendapatkan file kelas UML untuk C ++!

Shan
sumber
1

StarUML melakukan hal itu dan gratis. Sayangnya untuk sementara belum diupdate. Ada beberapa proyek cabang (karena admin proyek tidak mengizinkannya diambil alih) tetapi mereka juga telah mati.

graham.reeds
sumber
1
StarUML belum menghasilkan diagram yang bagus untuk saya impor aneh. @Rhubbarb, ini bekerja di Linux dan Mac juga.
Aleksey Kontsevich
Rilis terbaru sekarang adalah Agustus 2018, jadi telah diambil lagi
bart