Genera diagramma di classe UML dal progetto Java [chiuso]


200

Esiste un buon strumento che può aiutare a decodificare le classi Java in UML che mostrerà una panoramica di come le mie classi sono correlate tra loro? Non ha bisogno di decompilare dal file JAR perché ho i sorgenti. So che ce ne sono parecchi là fuori ma la maggior parte di questi può generare solo classi individuali. Spero che ci sia uno strumento in grado di generare un diagramma di classe che mostri una panoramica di come funzionano insieme tutte le mie classi e pacchetti attuali, in modo da poter analizzare il mio progetto di architettura attuale. Certo, l'analisi è una cosa. L'altro è a scopo di documentazione.

Ne conosco alcuni finora. Ma non possono fare un diagramma di classe generale. Ecco un elenco di strumenti UML Java che ho provato ed è in grado di fare reverse engineer ma non posso fare un diagramma di classe panoramica di tutto il mio progetto:

  • StarUML ( strumento UML opensource davvero buono ma non può generare un diagramma di classe non panoramica)
  • ArgoUML (È lento e lento e continua a bloccarsi)
  • UModel (Questo è un software commerciale. L'ho usato prima qualche tempo fa ma ho trovato difficile da usare)
  • MS Visio (Non supporta il reverse engineer Java UML. Solo per VB)

Ci sono altri consigli da aggiungere a questo elenco? E si spera, in grado di generare un diagramma di classe Java panoramica. Comunque sto usando Eclipse.


1
Solo per aggiungere qualche altra possibilità, in Eclipse, c'è Papyrus. Ma il plugin di generazione del codice, purtroppo, non ha funzionato per me. Ha troppe dipendenze da installare. Ho usato eUML2 alla fine.
Carven,

Puoi dare un'occhiata a UML Lab - è commerciale - ma ha un reverse engineering molto sofisticato e personalizzabile (e andata e ritorno).
Christian,

C'è uno strumento gratuito chiamato JGrasp che può aiutare.
HRJ,

Sto usando questo metodo: youtube.com/watch?v=HwBep8DmBVw l' unico aspetto negativo è: non è gratuito ma puoi fare una prova di 30 giorni, che nel mio caso era sufficiente. NOTA: non è il mio video, l'ho appena trovato mentre cercavo su Google.
dazito,

@Carven, per favore fatemi sapere quale plugin avete usato? Attualmente sto cercando di generare automaticamente diagrammi di sequenza sull'esecuzione di junit / test.
Utente27854

Risposte:


46

Uso il plugin eUML2 di Soyatec, sotto Eclipse e funziona benissimo per la generazione di UML che fornisce il codice sorgente. Questo strumento è utile fino a Eclipse 4.4.x


L'edizione gratuita ha questa funzione?
Carven,

sì. Uso l'edizione gratuita.
Heisenbug,

1
Grazie! ;) Non l'ho provato perché ho sempre pensato che la versione gratuita non avesse codice per la generazione UML.
Carven,

38
Fa schifo Difficile. Le istruzioni vogliono che gli utenti aggiungano il prefisso a tutte le proprietà con un carattere 'f' per annusarle. È anche distruttivo e aggiunge un sacco di propri commenti a TUTTI i file di classe. Inoltre, le istruzioni non sono intuitive. Se qualcuno può confutare la mia esperienza (in base alla versione corrente in Keplero), per favore fallo. E solo tre settimane di prova. Disinstallazione ora.
ingyhere

1
Non mi è piaciuto. La sua ultima versione non compatibile di eclipse / ossigeno.
Tayfun Yaşar,

109

Ho scritto Class Visualizer , che lo fa. È uno strumento gratuito che ha tutte le funzionalità menzionate - lo uso personalmente per gli stessi scopi, come descritto in questo post. Per ogni classe esplorata mostra 2 diagrammi di classe generati istantaneamente: relazioni di classe e vista UML di classe. Il diagramma delle relazioni di classe consente di attraversare l'intera struttura. Ha il pieno supporto per annotazioni e generici oltre a supporto speciale per entità JPA. Funziona molto bene con grandi progetti (migliaia di classi).


8
Il programma è davvero buono. Grazie per averlo creato e per il link.
Igor Rodriguez,

17
Jonatan, come atto di cortesia si potrebbe / dovrebbe aggiungere un disclaimer alla risposta quando si suggeriscono prodotti, servizi ecc. In cui si è coinvolti.
dbm

2
Questo è davvero bello. Dato il nostro progetto decennale e molto complesso - gran parte del codice è JDK 1.1 vintage - questo fornisce una grande panoramica di come le cose sono collegate. Come supplemento al codice sorgente e Javadoc, offre un valore eccezionale a un prezzo eccezionale.
Gerardw,

2
Class Visualizer è uno strumento utile eccezionale leggibile? SÌ. Come lo paghiamo? È gratuito da scaricare! Come impariamo ad usarlo? Ho trascorso 10 minuti a guardare il video!
Martin Meeser,

2
Ho una classe che chiama un metodo di un'altra classe nella stessa cartella / progetto, ma quell'altra classe non viene visualizzata. Ho aggiunto tutte le dipendenze possibili, compresi tutti i barattoli jdk8. Ho dimenticato qualcosa?
Aquarius Power

2

Che ne dici del plugin Omondo per Eclipse. L'ho usato e lo trovo abbastanza utile. Sebbene se stai generando diagrammi per fonti di grandi dimensioni, potresti dover avviare Eclipse con più memoria.


Il collegamento non funziona
Blip

2

Direi MoDisco è di gran lunga il più potente (anche se probabilmente non è il più semplice con cui lavorare).

MoDisco è un framework di reverse engineering generico (in modo che tu possa personalizzare il tuo progetto di reverse engineering, con MoDisco puoi persino decodificare il comportamento dei metodi java, non solo la struttura e le firme) ma include anche alcune funzionalità predefinite come la generazione di classe diagrammi del codice Java di cui hai bisogno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.