Donnerstag, 17. August 2006

Java

UML-Diagramme aus Java-Klassen generieren – Java2UML

Stellt euch vor ihr müsst für einem Java-Programm ein UML Klassendiagramm erstellen. Das Problem ist, ein Programmierer wäre nicht ein Programmierer wenn er nicht versuchen würde sich vor der Dokumentation zu drücken. Spaß beiseite. Nichtsdestotrotz kenne ich keinen Entwickler, der gerne Dokumentationen schreibt. Deshalb braucht der Entwickler Tools die ihm dabei helfen, die Dokumentation schneller zu erstellen...

Java nach UML

UML-Klassendiagramme helfen, um sich einen schnellen Überblick über ein Programm zu verschaffen und die Zusammenhänge zu erfassen. Gerade bei Java ist das wichtig, da die Java-Programme oft sehr komplex sein könne.

Als Entwickler steht man leider sehr oft unter großem Zeitdruck. Deshalb wird oft drauflos programmiert. Das muss nicht einmal sehr schlimm sein. Wenn man schon etwas geübt ist und eine konkrete Vorstellung hat, wie das Programm aussieht, kann man das meiner Meinung schon machen. Später sollte man aber trotzdem eine Dokumentation schreiben, schon alleine für seinen Nachfolger, der das Programm ändern muss.

Nun gut, für die Java-Programme die ich geschrieben habe muss ich nun UML-Klassendiagramme erstellen. Mein Gedanke war folgender: Wenn man aus UML-Klassendiagrammen das Grundgerüsst für eine Java-Applikation bauen kann, so muss der Umgekehrte weg vom Java-Quelltext zu einem UML-Klassendiagramm auch gehen.

Im Internet fand ich dann ein paar Programme die das genieren von UML-Klassendiagrammen aus Java-Quellcode, sogenannte Java2UML Programme.

Insgesamt sind es drei. Einmal das Programm ESS-MODEL [1]. Das ist mein persönlicher Favorit. In einem späteren Eintrag erzähle ich ein wenig mehr davon. Das andere ist ein Plugin für die Entwicklungsumgebung Eclipse. Das Eclipse Plugin heisst Omondo [2]. Das letzte ist das Programm Enterprise Architekt [3] von Spraxsystems. Das ist sehr mächtig, aber leider auch kostenplichtig. Ich persönlich habe mich für ESS-Model entschieden.



[1] ESS-Model
[2] Eclipse Plugin Omondo
[3] Enterprise Architect
Bewertung: 2.88 von 5, 8 Stimme(n) 24300 Klicks
Java
Von Mr.Foo in Java am 17.08.06@12:46 Uhr

Trackbacks
Trackback für spezifische URI dieses Eintrags

Keine Trackbacks

25 Kommentare
Ansicht der Kommentare: (Linear | Verschachtelt)

Diplomand - #1 - 11.12.2007 00:20 - (Antwort)

Super Tools! Hat mir eine Menge Arbeit erspart und liefern tolle Ergebnisse! Vielen Dank fuer den Tipp!

Denis - #2 - 13.12.2007 16:09 - (Antwort)

GENIAL! Danke! Das hat mir jetzt gerade mehrere Stunden (!) Arbeit abgenommen :-)

SK - #3 - 14.05.2008 04:46 - (Antwort)

Und es läuft unter Linux/Ubuntu auch sofort mit wine .

tefly - #4 - 13.10.2008 21:13 - (Antwort)

genial. vielen dank auch von mir!

Michelle - #5 - 22.11.2008 17:08 - (Antwort)

ist echt super.

ich muss sowas allerdings jetzt selbst erstellen. weiß jemand von euch, wo ich den code herbekomme, danmit es mir aus dem javacode ein uml diagramm zeichnet?

Mr. Foo - #5.1 - 22.11.2008 22:36 - (Antwort)

Hallo Michelle,

was meinst du mit Code?

Michelle - #5.1.1 - 22.11.2008 22:53 - (Antwort)

Hi Mr. Foo,
ich meine damit, dass man die UML-Diagramme ja auch programmieren muss, damit das richtige gezeichnet wird. Da muss ja rausgelesen werden, welche Klassen es gibt, was dann nagezeigt werden soll und dann eben gezeichnet werden. Das wurde doch auch programmiert.
Diesen Java Code meine ich.
Grüßle

Mr. Foo - #5.1.1.1 - 23.11.2008 20:08 - (Antwort)

Achso,

das ist bestimmt nicht trivial. Aufjedenfall brauchst man Reflections dafür. Mit Reflections kann man Java Klassen inspizieren.

Du kannst dir ja auch mal den Sourcecode von ESS-Model anschauen - vielleicht hilft er dir weiter:

http://sourceforge.net/projects/essmodel

Michelle - #5.1.1.1.1 - 05.12.2008 13:35 - (Antwort)

Dankeschön :-)
Ich habe mir dieses Programm schon runtergeladen in der Hoffnung, dass ich da etwas finde, aber dem war leider nicht so.
Du sagst, ich soll mir den Sourcecode anschauen, aber den kann ich doch nirgends nachlesen, oder? Würden die den überhaupt feiwillig hergeben, weil wenn ja, bräuchte man ja ihre Software nicht, wenn man es selbst entwickeln könnte.

Grüße Michelle

Mr. Foo - #5.1.1.1.1.1 - 05.12.2008 15:07 - (Antwort)

Hi Michelle,

den Sourcecode gibt es hier zum Downloaden: http://sourceforge.net/projects/essmodel

Das ist der Vorteil von Open-Source Projekten - man kann den Quellcode studieren und viele Entwickler helfen einem auch beim Verstehen der Software.

So bist du dann in der Lage Verbesserungen in die Software mit einfliessen zu lassen und so die Software sicherer und funktionsreicher zu gestalten.

Einer der grössten, wahrscheinlich das grösste Open-Source Projekt ist das Linux Betriebssystem.

Und klar gibt es Leute die sich versuchen daran zu bereichern. Aber zum Glück gibt es Leute wie Harald Welte, die gegen diesen Missbrauch vorgehen:
http://gpl-violations.org/

Michelle - #5.1.1.1.1.1.1 - 05.12.2008 16:15 - (Antwort)

Hi Mr. Foo,

achso ok, dann habe ich den Link damit verwechselt, als ich es runter geladen habe. Also das Programm.
Ich habe es entpackt und dann zeigt es viele "PAS-Dateien" an. Wie kann ich auf die zugreifen oder welches muss ich öffnen um den Source Code zu sehen?

Danke für deine Antworten. =)

Liebe Grüße Michelle

Mr. Foo - #5.1.1.1.1.1.1.1 - 09.12.2008 14:20 - (Antwort)

PAS-Dateien werden von der Programmiersprache Delphi verwendet.

Du brauchst also Delphi Borland um die Dateien zu bearbeiten.

Ich lerne gerade erst Delphi deshalb kann ich dir bei Codefragen diesbezüglich noch nicht wirklich weiterhelfen.

Vielleicht gibt es eine elegantere Lösung - was möchtest du denn genau machen?

Michelle - #5.1.1.1.1.1.1.1.1 - 09.12.2008 17:27 - (Antwort)

Vielen Dank für deine Antwort.
Habe heute nochmal rumprobiert und habe den Code mit dem Editor geöffnet und dabei bemerkt, was ich ganz vergessen habe zu schauen. Der Code bringt mir leider doch nichts, da ich das ganze in einem Java Code brauche und nicht in Delphi. War zu doof, das erst zu schaun ;-)
Hätte den Code gebraucht, um selbst UML Diagramme aus Codes zu erstellen.
Aber vielen Dank für deine Mühe. Bin auch so schon etwas weiter gekommen.

Viel Erfolg beim lernen :-)

Liebe Grüße Michelle

Stefan Grenzebach - #5.1.1.1.1.1.1.1.1.1 - 23.08.2010 10:21 - (Antwort)

danke =)

Basdigo - #6 - 18.07.2009 14:27 - (Antwort)

Vielen Dank für das Super-Wertvolles
ESS-Modell-Programm (Link).

Kann ich nur weiter empfehlen, wenn jemand aus JAVA-Code
Diagrammen generieren möchte.

Eine Installtion des Programms ist nicht nötig.

Schöne Grüße aus Nürnberg :-)

Pascal - #7 - 18.02.2010 23:19 - (Antwort)

Hey super Auflistung, genau sowas hab ich gesucht :-)

Rainer Zufall - #8 - 01.03.2010 23:45 - (Antwort)

Vielen Dank, habe die ganze Zeit nach so etwas gesucht. Da ich NetBeans benutze fällt Nr2 schon weg. Da Nr3 keine Freeware ist, bleibt nur Nr1, und das proggi hat es in sich. Ist portable (keine Installation) und erstellt korrekte Diagramme. DANKE

Dave/Stefan - #9 - 22.06.2010 10:22 - (Antwort)

Vielen vielen Dank, das hat uns gerade
eine Menge Arbeit gespart. Sieh dich als
unser Lebensretter ;-)

Murphy - #10 - 11.08.2010 23:10 - (Antwort)

Danke für die Zusammenstellung - verspricht ja ganz gut zu werden nur scheitert es gerade an meinem Projekt scheints schleichen sich beim Parsen von Generics Fehlers ins ESS-Modell ein .. nur ohne die kommt das gesamte Projekt leider nicht aus (ist nicht alles von mir und ich hätte mir gerne mal einen Überblick verschafft, denn die Doku ist etwas dünne ...) jetzt werde ich für meinen Teil zumindest mal Diagramme von Hand zeichnen ...

Mr. Foo - #10.1 - 12.08.2010 11:23 - (Antwort)

Du kannst dir auch Visual Paradigm in der Testversion herunterladen, damit sollte es klappen.

Uli - #11 - 08.09.2010 10:33 - (Antwort)

Auch von mir vielen Dank für deine Auflistung! Endlich geht das ganze schnell voran :-)

Johanna - #12 - 14.02.2011 20:16 - (Antwort)

DAAAAAAAAAANKEEEE ^^ ESS-Model rettet mir gerade wirklich den allerwertesten.
Ich hätte mir sonst die Nacht noch mit der Doku herum schlagen können, die morgen fertig sein soll

Florian - #13 - 26.05.2011 16:02 - (Antwort)

Hallo,

ESS-Model hat mir leider nicht weiter geholfen; Ich habe vor meine JPA entity Klassen in UML umwandeln zu lassen; Leider sieht man nirgends die Datentypen; Außerdem kommt ESS-Model scheinbar nicht mit den java annotations für JPA klar, z.b.: @OneToMay(mappedBy="foo")

Alex - #14 - 20.07.2011 12:59 - (Antwort)

Der link zu Omondo ist nciht mehr aktuell

Danny - #15 - 30.09.2011 23:25 - (Antwort)

ESS-Model ist eigentlich ein schönes Tool, doch irgendwie macht es sich bemerkbar dass es seit 2003 nicht mehr weiter entwickelt wurde.

Denn leider kommt er mit "ArrayList" nicht klar und produziert viel quatsch und ist daher nicht zugebrauchen an dieser Stelle, schade, das man die UML nicht bearbeiten kann!


Kommentar schreiben

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Sie können [geshi lang=LANG][/lang] Tags verwenden um Quellcode abhängig von der gewählten Programmiersprache einzubinden
 
 

Mr. Foo

UML-Diagramme aus Java-Klassen generieren – Java2UML

  • Homepage

Suche

Kategorien

  • C-Sharp (4)
  • Datenbank (28)
  • Delphi (2)
  • Entwicklung (36)
  • Flash (5)
  • Games (10)
  • Gutscheine (4)
  • Hardware (14)
  • HTML CSS (15)
  • Internet (87)
  • Java (32)
  • Javascript (24)
  • Linkdump (9)
  • Linux (96)
  • Low-Level (10)
  • Lua (8)
  • Musik (9)
  • Netzwerk (25)
  • New World Order (109)
  • Perl (3)
  • PHP (123)
  • Magento (5)
  • Symfony (3)
  • Zend Framework (7)
  • Probleme und Lösungen (26)
  • Python (22)
  • Ressourcen (23)
  • Sicherheit (91)
  • Software (58)
  • Sonstiges (45)
  • Own Stuff (46)
  • Spass (45)
  • Technik / Wissenschaft (4)
  • Tips (15)
  • Weisheiten (16)
  • Windows (23)
  • Wort des Tages (15)


Alle Kategorien

Archive

  • Februar 2012
  • Januar 2012
  • Dezember 2011
  • Das Neueste ...
  • Älteres ...

Abonnieren lohnt sich!

  • XML RSS 2.0 feed
  • ATOM/XML ATOM 1.0 feed
  • XML RSS 2.0 Kommentare

Tagcloud

Datenbank Entwicklung Internet Java Javascript Linux Lösung Netzwerk News New World Order PHP Problem Probleme und Lösungen Sicherheit Software Sonstiges Spass Tipp Update Windows

Beliebte Einträge

  • Magento ist scheisse (188)
  • Plugin-container.exe deaktivieren (101)
  • C compiler cannot create executables unter Debian (53)
  • BWin Betrug und Abzocke bei Minigames? (49)
  • Scheiss Linux - USB-Platte viel zu langsam (wenns mal funktioniert) (41)
  • Sicheres Kontaktformular mit PHP - Spam verhindern (37)
  • Es konnte keine TCP/IP-Verbindung mit dem Host hergestellt werden (26)
  • UML-Diagramme aus Java-Klassen generieren – Java2UML (25)
  • Option Bug im Internet Explorer bei Nutzung von innerHTML und Javascript (24)
  • Zend Studio - Javaw.exe lastet die CPU aus (24)

Kommentare

sandi zu Plugin-container.exe deaktivieren
Mo, 06.02.2012 11:10
Leider hat es nicht geklappt. Jetz [...]
Frank zu Magento ist scheisse
So, 05.02.2012 21:58
Seit etwa 6 Monaten bin ich auf de [...]
hansie zu Canon Blink Codes
Sa, 04.02.2012 19:49
Hallo, mein Canon Drucker MP 630 [...]
Bachsau zu Scheiss Linux - USB-Platte viel zu langsam (wenns mal funktioniert)
Mi, 01.02.2012 22:54
Bei Linux machen die Kernel-Entwic [...]
Mr. Foo zu Scheiss Linux - USB-Platte viel zu langsam (wenns mal funktioniert)
Mi, 01.02.2012 21:47
Also so kurz mal probiert hab ich [...]
 

Kontakt/Informationen