Welches UML Tool und warum

Status
Nicht offen für weitere Antworten.

mariopetr

Bekanntes Mitglied
hallo,

ich bin momentan auf der suche nach einem guten uml tool (fuer private belange). anforderungen sind
-reverse engineering
-codegeneration (java)
-xmi export
-Use Case und ER diagramme

bis jetzt habe ich abgelehnt
-together (zu teuer)
-umbrello (zu weig funktionalitaet, code generation fehlerhaft)
-dia (wie umbrello, use case sehr schlecht)
-slime (sehr rudimentaer)

in der engern auswahl
-omondo (nicht schlecht _und_ eclipse plugin)
-poseidon (sehr gut, als comunity edition kostenlos)

was benutzt ihr, was haltet hir fuer ein gutes tool?
 

DTR

Bekanntes Mitglied
Vorschlag: Rational Rose

Ist ähnlich umfangreich wie together, gibt es aber auch glaube ich als Studentenversion.
 

mariopetr

Bekanntes Mitglied
hmm,

ganz schoen teuer (student bin ich nicht mehr). zudem nicht wirklich sinnvol sich so einen alleskoener zuzulegen wenn amn nur ooa/ood machen will. und zumindest die trial ist ganz schoen langsam (7.x). nachdem ich mich in poseidon eingearbeitet habe, werde ich wohl dabei bleiben. leider laest sich omondo nicht unter eclipse 30M2 verwenden. schade.
 

Nobody

Top Contributor
jbuilder 9 enterprise edition
du kannst umls erstellen und auch von vorhandenen codes kannst du umls erstellen lassen, hatte aber bisher keine zeit das selbst zu testen, soll aber gut sein.
leider gibts eine richtige version nur gegen geld und obs die trial kann weis ich nicht aber das teste ich in den nächsten tagen noch und werde das dann an dich weiterleiten
 

marsias

Aktives Mitglied
Hi!

also ich habe auch mal poseidon ausprobiert. ist ok und ich denke
das reicht vollig aus. rational rose soll gut sein konnte mir es mal
anschauen aber kam gar nicht klar damit.
UML im JBuilder ist nicht so dolle....habe ihn drauf...

mfg
 

me.toString

Bekanntes Mitglied
probier doch mal argoUML ... das ist kostenlos und komplett in Java geschrieben [ d.h. es funzt unter Linux genauso wie auf 'ner Spielekonsole ... ähh Windows ]
Es ist nicht so mächtig wie die anderen Tools ( Rational Rose, Together ) ... aber dafür reißt es kein Loch in deinen Finanzhaushalt !!!

Schau's dir einfach mal an [ kostet ja nix ... :eek:) ]
www.argouml.org

Michael
 

jptc.org

Bekanntes Mitglied
also ich bevorzuge auch Poseidon! Einen grossen Vorteil gibt es dort: es gibt eine kostenlose Version. In der Firma verwende ich momentan Together. Together ist zwar mächtiger, doch viele diese Features benötigt man eigentlich nicht.

Karsten Voigt
http://www.java-performance-portal.org
 

jptc.org

Bekanntes Mitglied
UML ist einfach gesagt ein Metasprache für das Design von Anwendungen. Man kann damit seine komplette Anwendung designen, ohne auf eine konkrete Programmiersprache angewiesen zu sein.
Natürlich ist das keine Definition, aber es erklärt in einem Satz UML. Am besten man besucht mal die Heimat von UML (UNIFIED MODELING LANGUAGE):

http://www.uml.org

Karsten Voigt
http://www.java-performance-portal.org
 

mariopetr

Bekanntes Mitglied
@schalentier

du bist gern eingeladen, unsere ca 2300 klassen/interfaces/idls mit zettel und stift ordentlich zu visualisieren, aktuell zu halten und das round-trip-engineering zu uebernehmen. vieleicht kannst du ja auch gleich noch vor abhaengigkeiten warnen, auf designfehler hinweisen, die rechtschreibung/conventionen pruefen und das alles ueber mehrere sprachen hinweg? mit verlaub: dummkopf
 

schalentier

Gesperrter Benutzer
ähh nee danke, aber ich hab mal noch ne frage:

warum willst du 2300 klassen visualisieren?

zur programm-dokumentation?
damit sich neue entwickler schneller in eure software einarbeiten können?
um potentielle fehler in der analyse/design phase aufzudecken?

also ich hab auch mal an einem projekt mitgearbeitet, wo man voll und ganz von uml überzeugt war. ich hab also ein uml bekommen, besser gesagt ein uml-poster. ich hab das ganz schnell weggelegt, da man damit nichts anfangen kann. dann hab ich mir die api-doc angesehen und die magere doku gelesen. anschließend mit einem vernünftigen editor, der in klassen/objekte "reinschauen" kann gearbeitet.

weiterhin kann man meiner meinung nach nicht alles vorher planen und in umls stecken, um daraus dann das klassengerüst zu erzeugen. denn während der programmierung tauchen probleme auf, die änderungen nach sich ziehen, die widerrum in das uml müssen.

kann einer der genannten editoren das realiseren? also etwa so:
ich bau ein paar klassen mit dem uml-editor. klick ein knopf und hab die klassen.
dann implementiere ich die klassen, mache möglicherweise ein paar änderungen. dannach sehe ich die änderungen wieder im uml editor. doch auch wenn sowas (einfach) möglich wäre, würde sich mir die frage stellen, wozu braucht man das (siehe meine erste frage).

ich bin der meinung, dass uml nur eingesetzt werden sollte, um apis zu dokumentieren, die ein programm-modul implementieren muss. diese api sollte bereits möglichst zeitig fertig werden und nur wenige änderungen bedürfen.

was dann in einem solchen modul passiert ist dem jeweiligen team überlassen. dieses kann natürlich auch riesige umls erzeugen, muss es aber nicht. es muss sich nur an die gegebene api halten.

bitte keine flames, das ist eine ernsthafte frage.
 

mariopetr

Bekanntes Mitglied
natuerlich will ich nicht auf einen schlag alle klassen visualisieren. _aber_ ich mochte zum beispiel einmal den code einlesen lassen und mir dann modulweise abhaengigkeiten anzeigen lassen.

zu dem einwand: "weiterhin kann man meiner meinung nach nicht alles vorher planen und in umls stecken, um daraus dann das klassengerüst zu erzeugen. denn während der programmierung tauchen probleme auf, die änderungen nach sich ziehen, die widerrum in das uml müssen." ja, allerdings macht man dann was falsch (wenn man alleine oder zu zweit arbeitet geht das noch, aber stelle dir den wust mit mehreren dutzend entwicklern vor), zumindest wenn man im toplevel aendern muss.

"kann einer der genannten editoren das realiseren? also etwa so:
ich bau ein paar klassen mit dem uml-editor. klick ein knopf und hab die klassen.
dann implementiere ich die klassen, mache möglicherweise ein paar änderungen. dannach sehe ich die änderungen wieder im uml editor. doch auch wenn sowas (einfach) möglich wäre, würde sich mir die frage stellen, wozu braucht man das (siehe meine erste frage)." ja das gibt es (together und jbuilder zb). fuer den normalen entwickler sicher nicht sooo noetig, aber einem architekten nimmt das viel arbeit ab (und mann kann damit recht einfach ueberpruefen ob nicht doch jemand das interface geaendert hat)

"ich bin der meinung, dass uml nur eingesetzt werden sollte, um apis zu dokumentieren, die ein programm-modul implementieren muss. diese api sollte bereits möglichst zeitig fertig werden und nur wenige änderungen bedürfen."
also ich stelle mir den entwicklungsprozess so vor:

-spezifikation und testcase beschreiben
-interface definieren (wobei uml (class/object/sequence/actor) gleich abfaellt)
-factoryklassen definieren
-abstrakte klassen definieren/implementieren
-rumpfklassen erstellen (keine funktionalitaet)
-testcases implementieren (zb mit junit)
-alles testen/dokumnetieren -> die unittest muessten teilweise schon durchlaufen

und (fast) zu letzt:
-ausimplementieren der erstellten rumpfklassen
-testen
-optimieren (mit den entsprechenden tools)
-testen
-source review
-release
 

schalentier

Gesperrter Benutzer
zu dem einwand: "weiterhin kann man meiner meinung nach nicht alles vorher planen und in umls stecken, um daraus dann das klassengerüst zu erzeugen. denn während der programmierung tauchen probleme auf, die änderungen nach sich ziehen, die widerrum in das uml müssen." ja, allerdings macht man dann was falsch (wenn man alleine oder zu zweit arbeitet geht das noch, aber stelle dir den wust mit mehreren dutzend entwicklern vor), zumindest wenn man im toplevel aendern muss.
ich denke nich das man dann was falsch gemacht hat.
ich gehe soweit mit, dass man mit genügend zeit nahezu jedes problem (im softwaretechnischen sinne) mittels uml soweit vorplanen kann, dass die implementations-phase nur noch reines runterschreiben ist.
allerdings ergibt sich daraus eine hierarchie. und genau das mißfällt mir an uml. was ich meine:
Der software-architekt (oder mehrere) geben sich unendlich viel mühe ein gutes uml zu erstellen. alles ist (scheinbar) perfekt und sollte auch so funktionieren.
nun kommt der programmierer, nimmt sich das uml und stellt irgendeine ungereimtheit fest. also etwas, was er anders machen würde. jetzt gibt es zwei fälle:
1. der programmierer denkt falsch
2. der programmierer hat recht, denn er hat etwas entdeckt, was die architekten übersehen haben.

weiterhin hat der programmierer nun 2 möglichkeiten:
1. er setzt alles exakt so um, wie es im uml spezifiziert ist
2. er kontaktiert den architekt, der beruft ein meeting ein, dort muss der programmierer erklären was er entdeckt hat und wie es besser gehen würde. anschließend beraten alle, und kommen so irgendwann zu einem kompromiß (oder auch nicht).

punkt 1 würde mir persönlich nicht gefallen, denn da wäre der programmierer eine art maschine, die nicht denken muss, sondern nur tippen.
punkt 2 nimmt viel zeit in anspruch. schätzungsweise mindestens 1 tag braucht sowas (bei größeren projekten) schon. immerhin muß ein termin gefunden werden, der programmierer muss seine (wirren) gedanken in eine präsentierbare form bringen (z.b. folien), die architekten müssen es verstehen und einen ausweg finden.

deswegen denke ich, dass es hier wesentlich effektiver wäre, wenn jeder programmierer die volle kontrolle über sein teil-stück hat (damit natürlich auch die volle verantwortung). er kann so programmieren wie er das will/kann.

damit ergibt sich allerdings die notwendigkeit, das projekt in kleine 1-2mann-teil-projekte (nennen wir es modul) zu zerlegen, was nicht einfach aber möglich ist.

was man dann weiterhin benötigt, ist eine api für jedes modul, die möglichst von anfang an fest sein sollte. diese kann auch von den architekten vorgegeben werden und in eine uml verpackt werden.

naja, ich kann mich hier auch täuchen, denn soviel erfahrung mit großen projekten hab ich nicht.

dennoch nervt mich dieses hochgepushe von uml irgendwie. alle welt guckt nur noch nach einem möglichst schicken uml, auch wenn es nix aussagt. ist irgendwie eine art k.o kriterium für ein softwareprojekt geworden. viel wichtiger ist eine wirklich gute dokumentation (hier reicht javadoc nich), die die zusammenhänge mit worten beschreibt. das versteht jeder, auch ohne die komplette uml2.0 spezifikation verstanden zu haben (is ja wirklich nicht wenig...). ich persönlich komme mit (guten) tutorials am besten klar. durcharbeiten, abtippen, verstanden haben. is aber nur meine persönliche einstellung.

ja und um zu meinem ersten post zurückzukommen: natürlich reicht zettel+stift nicht um präsentierbare umls zu erstellen. aber für die planung und das festhalten erster ideen und konzepte ist der stift einfach mal unersetzlich. so!

schalentier.
 

marsias

Aktives Mitglied
Hi!

argouml ist schlecht......Poseidon basiert drauf und ist besser.
Jedoch hatte ich bißchen zeit mir Rational Rose anzuschauen.

Rational ist gut. Aber natürlich hat das ding auch seine macken.

was ist mit Powerdesigner?

mfg
 

me.toString

Bekanntes Mitglied
Powerdesigner ist werniger als UML-Tool zu sehen ( finde ich ) ... sondern ehr zum Modelieren von Datenbankschemata geeignet. Da wird die DB ganz abstrackt erstellt .. und am Schluss sage ich nur: Mach mir ein SQL-Skript für Oracle ... oder auch für Access ... das funzt richtig gut ... vor allem weil man das selbe modell für verschiedene DB-Typen nehmen kann. [ Aber so weit ich weiss ist das nicht billig ... wir ham's hier an der Arbeit ... :eek:) ]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
ARadauer welches tool für uml? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
tiimo1234 BlueJ BlueJ: Objekt, welches von anderem Objekt erzeugt wurde, kann nicht in der Object-Bench angezeigt werden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
D Welches IDE Programm ist das Beste? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 13
D Eclipse aber welches IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 11
P Tool für vielfache HTTP von commandline IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
D Eclipse Tool für Klassendiagramm aus Archivdateien IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
T UML Tool mit Reverse Engineering kostenlos IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
T Modelling Tool für JEE IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
R suche Tool fuer JSF.. IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 0
S 9 patch Tool, png wird mit Rand dargestellt IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
A Javadoc "Korrektur"-Tool ? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
R Tool gesucht:3D Modelle für OpenGL IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 6
M Tool zum tracken der Code-Changes? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
Kr0e Eclipse Tool für Jars - Automatisch Dependencies einbinden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
A UML-Tool mit Java Source Code-Generator gesucht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
D Verwaltung von "User-Visible-Strings" - Tool? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
Shoox XSD Description Tool IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
P Eclipse Code Review Tool für Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 12
T UML Plugin/Tool IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
T Eclipse SVN-Merge-Tool Eclipse IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
A Eigenes Debug Tool IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
J class-File-Splitter-Tool gesucht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
J kostenloses UML-Tool für Eclipse Ganymed? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
O Tool Tipps werden bei Proxyverbindung nicht angezeigt. IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
ARadauer UML Tool übers Internet IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
R CaptainCasa - wer kennt das Tool? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
ARadauer Coverage-Tool IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
S Wokflows modellieren Tool / Eclipse-Plugin gesucht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 2
E kostenloses case-tool (in Eclipse enthalten?) IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 10
B Tool zum Programmieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 13
A JavaDoc Tool in NetBeans IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3
R Kostenloses UML-Tool wie Omondo Free UML IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 1
E Gutes UML Modelling Tool fuer Linux? IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 8
T Eclipse JSP Code-Vorschlag Tool IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
DEvent UML2 - Tool unter Eclipse installieren IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 9
M Tool zum entfernen von @deprecated-Klassen/Methoden etc. IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 15
B Suche Tool zum Anzeigen von Abhängigkeiten IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
H XDEV RAD TOOL IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 5
F Tool zur Erstellung eines Klassendiagramms aus .java-Dateien IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 4
P UML Tool gesucht IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 7
C Tool, um unbenutzte Variablen und Methoden zu finden IDEs - Eclipse, IntelliJ IDEA, BlueJ & mehr 3

Ähnliche Java Themen


Oben