Cara terbaik untuk menghasilkan UML dari dalam Emacs

19

Ada banyak pilihan integrasi antara Emacs dan UML alat , seperti org-mode's plantumlembedding , sebuah plantumlmodus utama dll Tentu saja aku bisa mencobanya tapi aku bertanya-tanya apa yang orang lain gunakan untuk alur kerja UML?

Memasukkan ke dalam dokumen lain seperti yang org-modedilakukan adalah ide yang bagus, atau mengeluarkan uml yang dihasilkan di buffer-update lain akan lebih baik juga. Saya yakin orang-orang di luar sana memiliki beberapa fungsi elisp super imut untuk mengotomatisasi hal semacam ini!

Tandai Aufflick
sumber
1
Agak terlambat ke pesta, tapi Q ini baru saja terbentur oleh beberapa jawaban. Bisakah Anda membuat pertanyaan sedikit lebih diskrit dan berorientasi masalah? Saat ini, "apa yang digunakan orang lain" akan mengumpulkan banyak jawaban berbeda berdasarkan pendapat, dan jenis Q&A semacam itu tidak cocok untuk situs ini.
Dan
Hai @Dan, saya tidak menentang mengubah pertanyaan (yang seperti Anda katakan sudah lama), tetapi orang-orang yang menyatakan apa yang mereka gunakan sebenarnya bukan pendapat (bahkan jika pendapat mereka terlibat dalam memutuskan apa yang akan digunakan). Sebagai contoh, apakah menurut Anda lebih baik bertanya "modul apa yang tersedia untuk menghasilkan UML dan fitur-fitur utamanya"? Saya tidak bisa hanya bertanya "bagaimana saya bisa menghasilkan UML dari dalam Emacs" karena seperti yang dinyatakan saya sudah tahu sejumlah jawaban yang masuk akal untuk pertanyaan itu, tetapi saya ingin meningkatkan pilihan saya saat ini.
Mark Aufflick
@Dan juga apa jawaban yang menabrak ini? Yang paling baru saya lihat adalah Dec '14? Atau apakah membesarkan benjolan juga?
Mark Aufflick

Jawaban:

20

Tidak yakin apakah Anda ingin memiliki konversi UML dari / ke kode sumber dll., Tetapi jika Anda ingin membuat dan memeliharanya dengan tangan, plantumlgoyang!

Contoh plantuml sederhana dari diagram urutan:

Bob -> Alice : hello

Hasil rendering contoh plantuml sederhana

Saya berhasil menggunakan org-babeldengan plantuml(dan gnuplot dan ditaa dan ...) diagram dll Pekerjaan seperti pesona, sekali mengatur , dan html keluaran terlalu terlihat mengagumkan ketika Anda menggunakan salah satu dari org-modestyle sheet di luar sana.

Lihat juga Membuat Emacs Zeekat Bekerja Untuk Saya tentang cara mengatur org-babeldan banyak barang Emacs lainnya.

Lalu ada titik graphviz , yang akan saya periksa, dan sementara tidak khusus untuk UML, juga dapat digunakan dalam Emacs untuk melakukan diagram UML.

Contoh titik sederhana:

graph graphname { 
                a -- b; 
                b -- c;
                b -- d;
                d -- a;
        }

Diberikan hasil contoh titik sederhana

Dan sementara kita melakukannya, meskipun tidak terkait dengan UML sama sekali, org-babel-gnuplot menunjukkan cara menggunakan gnuplot yang sangat serbaguna di Emacs.

Eugene Beresovsky
sumber
7

Saya hanya akan membunyikan klakson saya sendiri dan menyebutkan wsd-mode. Ini juga memiliki dukungan parsial untuk org-babel, yang berarti Anda benar-benar dapat menanamkan UML Anda di dokumen mode org Anda dan mengekspor hasilnya ke dokumen HTML yang valid atau serupa.

Dibandingkan dengan itu plantuml-mode, dukungannya untuk penyorotan sintaks dan lekukan jelas lebih unggul dan objektif. Ini juga terintegrasi dengan baik dengan flycheckdan company-mode.

Jika Anda menganggap semua hal "kecil" itu penting, wsd-modemungkin lebih cocok untuk Anda.

Tidak seperti plantuml-modeitu, ini tidak bergantung pada Java atau binari lain, tetapi sebaliknya menggunakan layanan web SaaS untuk menghasilkan diagram.

Ini membuatnya lebih plug-and-play dan portabel dan untuk seseorang ini mungkin lebih cocok, tetapi masalahnya adalah Anda harus online agar bisa berfungsi.

Jostein Kjønigsen
sumber
3

[PERINGATAN] Ketergantungan mouse

Bagaimana dengan artist-mode+ ditaa?

artist-mode- Laci penggunaan mouse dalam gaya ASCII seperti Monodraw analog sederhana untuk macOS. Saat keluar, kami memiliki file teks dalam grafik ASCII.

ditaa - dapat mengonversi file teks Anda ke gambar / html dll.

ini berguna untuk mulai menggunakan emacs untuk membangun UML. Namun cara ini menggunakan mouse dengan sangat keras. Namun, saya benci mouse, seperti kebanyakan pengguna emacs, dan saya menggunakan plantUML dalam mode-org. Alat yang ramah keyboard dan epik untuk semua gaya uml.

Contoh usecase

modus artis

ditaa

Bimawa
sumber
Bagaimana dengan mereka? Tolong tunjukkan bagaimana mereka berhubungan dengan pertanyaan. Kalau tidak, ini berisiko dihapus sebagai "jawaban hanya tautan". Terima kasih.
Drew
@Drew Aku tidak tahu bagaimana menampilkannya dalam format SO. Saya hanya menambahkan Contoh video yang dibuat di youtube.
Bimawa
Coba jelaskan menurut Anda apa yang ditawarkan hal-hal ini untuk menjawab pertanyaan.
Drew
@ Ayah tolong periksa lagi.
Bimawa
OK, terima kasih sudah berusaha. Saya harap ini akan menjadi lebih jelas bagi sebagian pembaca.
Drew