mmofacts.com

UML 2.0

gepostet vor 15 Jahre, 6 Monate von BlackScorp

Hi leute ich suche ein UML 2.0 Programm. Habe bis jetzt ArgoUML benutzt es ist eigentlich das was ich brauche nur leider ist es nicht UML 2.0 habe dann versucht mich in Eclipse UML einzuarbeiten doch bin dran gescheitert. Veilleicht kennt ihr ein gutes und kostenloses UML 2.0 Programm dass im Grunde wie Argo UML funktioniert (Benutzerfreundlich)

MFG

gepostet vor 15 Jahre, 6 Monate von MrMaxx

Ich habe vor ein paar Monaten Poseidon benutzt. Das ist die kommerzielle Weiterentwicklung von ArgoUML.

Wenn du nach einem freien UML Tool suchst ist es vor allem wichtig, welche Diagrammtypen unterstützt werden sollen, denn viele beschränken sich auf Klassendiagramme. In meinem Fall waren vor allem Verhaltensdiagramme und im speziellen Aktivitätsdiagramme wichtig, weswegen ich mit für 3 Monate Poseidon gemietet habe, was ca. 15 Euro kostet.

Falls du unter Windows entwickelst lohnt sich vielleicht ein Blick auf StarUML http://staruml.sourceforge.net/en/, das Rational Rose nachempfunden ist (natürlich nicht so umfangreich).

So long...

Maxx

gepostet vor 15 Jahre, 6 Monate von BlackScorp

also vielen dank für StarUMl laut screens ist es genau das was ich suche (Objekt Diagramm, KlassenDiagramm, NotationsDiagramm) hoffe dass ich mich damit schnell zurecht finde. Gibts sowas auch für Linux? weil ich möchte später in Linux programmieren

MFG

gepostet vor 15 Jahre, 6 Monate von MrMaxx

Ich entwickle unter Linux und stehe da auch desöfteren vor dem Problem der UML-Toolwahl. Wenn es nur einfache Sachen sind benutze ich gerne Umbrello. Hier werden jedoch nicht alle Notationselemente unterstützt, wenn es mal abseits der Klassendiagramme etwas zu machen gibt.

In solchen Fällen weiche ich auf Poseidon aus. Hier allerdings ein Wort der Warnung: Poseidon ist wohl das laaaaaaaaaaaangsamste Tool mit dem ich jemals gearbeitet habe. Besonders wenn Diagramme grösser werden (ab 20-30 Klassen) zwingt das Tool meinen Core2Duo E67500 Prozessor mit 2GB RAM richtig in die Knie, bis zum Punkt der Unbenutzbarkeit.

So long...

Maxx

gepostet vor 15 Jahre, 6 Monate von knalli

VisualParadigm ist ein Komplettpaket (deswegen wg. Downloadgröße nicht erschrecken), wo man dann beim Installieren wählen kann, was man eigentlich installieren möchte.

http://www.visual-paradigm.com/product/vpuml/

Kostenfrei wie bei anderen ist die Community-Version, wo man sich nur ab und an einen neuen Key per Mail zuschicken lassen muss. Dauert nicht lange.

Kritikpunkt wäre, dass man nicht mehrere Diagramme pro Projekt machen kann WENN man die eingebaute Exportfunktion (in ein Bild) nutzen möchte.. lässt sich aber durch Screenshots umgehen :) Bei 'nem Mac durch Apfel+Shift+4 natürlich total einfach, bei Windows entweder nachher schnibbeln oder SnapIt o.ä. nutzen.

Import/Export für Code funktioniert nicht oder nur sehr eingeschränkt, dies ist aber bei kostenlosen UML-Tools gang und gäbe :(

BTW: Es gibt ein nettes Onlinetool namens yuml.me (http://yuml.me) mit dem sich EINFACHE UML-Diagramme aber in teilweise komplexer Struktur adhoc anzeigen lassen.. durch eine URL (ideal für Blog & Co). Der eingebaute Layouter ist krass, kann ich nur für kleine Dinge empfehlen. 

gepostet vor 15 Jahre, 6 Monate von planetenkiller

Netbeans hat ein UML Plugin, dass per Plugin-Manager installiert werden kann. Die wichtigsten Diagramme werden unterstützt.

VisualParadigm kann ich nur empfehlen. Während dem Studium haben wir es eingesetzt, hat wirklich alle möglichen Featues und funktioniert wunderbar.  Der einzige Nachteil ist halt der bereits Angesprochene Punkt "Ein Diagramm pro Projekt".

gepostet vor 15 Jahre, 6 Monate von knalli

Joa, wir haben damals für Softwaremodellierung auch Poseidon angewendet, bis die Laufzeit (Notebook) irgendwann keinen Spass mehr gemacht hat. VP ist da wesentlich performanter.. ob das jetzt nach 2 Jahren anders aussieht,.. da hatte ich ehrlich gesagt noch keine Muße. Für Eclipse gibt es u.a. ArgoUML auch als Plugin.. steht bei denen aber auf der HP.

gepostet vor 15 Jahre, 6 Monate von Bloodredangel

Wir nehmen im Studium auch VP und bin damit überaus zufrieden. Dank der Hochschullizenz funktioniert dort auch Import / Export von Code. ;)

gepostet vor 15 Jahre, 6 Monate von DrakeL

Original von knalli

Import/Export für Code funktioniert nicht oder nur sehr eingeschränkt, dies ist aber bei kostenlosen UML-Tools gang und gäbe :(

Mir ist auch kein kostenpflichtiges Tool bekannt wo das könnte.

Ich würde eines suchen, dass mehrere Programmiersprachen kann (PHP, Java, C# sollten dabei sein), wo keine unnötigen Kommentare in den Quellcode schreibt wie ArgoUML es macht und ich Formatierungen, Standardkommentare für Klassen/Methoden usw. selbst festlegen kann.

Gibts da denn was? Egal ob kostenlos oder kostenpflichtig?

gepostet vor 15 Jahre, 6 Monate von knalli

Ehm.. hast du keinen eigenen Codeformatter? :) Total praktisch, weil selbst das beste Diff (Stichwort (D)SCM) zeigt irgendwann "Änderungen" die keine sind. Für mein Diplomarbeitsprojekt (2 Leute) haben wir die Eclipse-Einstellungen komplett im Projekt/SVN und jeder schreibt damit "guten Code".. soweit die Einstellungen das halt sind.

Und der Formatter wird wahrscheinlich sogar die Kommentare nachträglich noch einfügen kann.. hab ich aber noch nicht versucht.

Zur eigentlichen Frage: VP oder Poseidon.. beide können Java und wahrscheinlich sogar beide (sonst nur einer) können den Im/Export aus/in diese Sprache. Aber mehr als die Skeletons wird es doch eh nicht.. 

Ein weiteres Feature, was die meisten kostenlosen nicht hinkriegen: Reverse. Ich glaube, ArgoUML (oder war es ein anderes Eclipse-Plugin) kann von PHP aus ein UML erzeugen, die Qualität ist natürlich von der Codestruktur maßgeblich bestimmt..

gepostet vor 15 Jahre, 6 Monate von DrakeL

Original von knalli

Ehm.. hast du keinen eigenen Codeformatter? :) Total praktisch, weil selbst das beste Diff (Stichwort (D)SCM) zeigt irgendwann "Änderungen" die keine sind.

In Java finde ich den Formatter von Eclipse sehr gut, leider gibt es eine solche Unterstützung nicht auch für das PDT.

Zur eigentlichen Frage: VP oder Poseidon.. beide können Java und wahrscheinlich sogar beide (sonst nur einer) können den Im/Export aus/in diese Sprache. Aber mehr als die Skeletons wird es doch eh nicht.. 

Ja aber darum geht es doch gerade. :) Vor allem aber Skeletons die auch später hin änderbar sind. Was das Reverse natürlich mit einschließt, da sinst die Rümpfe der bereits implementierten Methoden bei erneutem Export weg wäre.

Ein weiteres Feature, was die meisten kostenlosen nicht hinkriegen: Reverse. Ich glaube, ArgoUML (oder war es ein anderes Eclipse-Plugin) kann von PHP aus ein UML erzeugen, die Qualität ist natürlich von der Codestruktur maßgeblich bestimmt..

Ja ArgoUML ist das Einzige was ich so gefunden hatte. Aber selbst die benötigen unnütze Tags trotz Reverse Funktion...

gepostet vor 15 Jahre, 6 Monate von knalli

Achso PDT.. ja guuuuut. Hat ein Kollege auch schon gesucht.. schwierig, schwierig. Scheint es irgendwie keinen großen Markt zu gaben, kann ich mir anders nicht erklären ;)

gepostet vor 15 Jahre, 6 Monate von DrakeL

Kann ich verstehen, wirklich brauchen tu ich es auch nicht, ich formatier mein Zeug halt gleich richtig. ;)

gepostet vor 15 Jahre, 6 Monate von Bloodredangel

Mit dem Export von VP bin ich sehr zufrieden, Importiert hab ich aber noch nicht gemacht.
Sprachen kann VP einige: Java, C#, VB.NET, PHP, ODL, ActionScript, IDL, C++, Delphi, Perl, Python, Objective-C, Ada95 und Ruby. Import sind es ein paar weniger.

Die Skeletons die erstellt werden finde ich relativ brauchbar, halt mit nervigen Kommentaren, aber sonst ...
Oder meintest du mit Code mehr als die Skeletons? Dann hab ich dich falsch verstanden. ;)

gepostet vor 15 Jahre, 6 Monate von knalli

Mehr als nur Skeleton ist ein Spektrum der Softwaretechnik, welcher noch nicht richtig erforscht ist. Und wenn Tools da einen Ansatz haben, dann lassen sie dich das auch in der Geldbörse merken ;)

Auf Knopfdruck eine Architektur erstellen, das ist (noch) nicht so einfach ;)

gepostet vor 15 Jahre, 6 Monate von MrMaxx

Falls dich Java interessiert kann ich dir http://www.andromda.org/ empfehlen. So lange du die durch AndroMDAs Cartridges unterstützte Frameworks, wie z.B. Spring, Hibernate, Struts benutzt kannst du dir damit "per Knopfdruck" (und gesetzt den Fall dein UML Modell benutzt die entsprechenden UML Profile) einen Grossteil deiner Architektur generieren lassen...je nachdem, was man so unter Architektur versteht.

Im Spektrum der Wissenschaften findest du weiteres zu diesem Thema unter den Stichwörten: Model driven Architecture (MDA) / Model driven development (MDA), ...

Aber es stimmt schon: Das was die normalen UML Tools per Default ausspucken ist in dieser Hinsicht wirklich unbrauchbar.

So long...

Maxx

gepostet vor 15 Jahre, 6 Monate von knalli

Naja.. aber alles können sie nicht. Wenn ich das Model aktualisieren, aktualisiert sich nicht der Code. Das gibt es sicher nur in wenigen Sprachen (wahrscheinlich nur Java?) - das Reverse ist kaum möglich. Denn ansonsten wäre - bei einer guten Architektur - das Transformieren von Programmiersprache A nach B sogar mit Architektur möglich. In der Realität musst du aber doch so viel anpacken, dass du es im Endeffekt eh "manuell" machst.

Über diese Profile ist natürlich eine feine Sache (wusste ich noch nicht), aber damit ist man auch daran gebunden. Kein Profil, keine Möglichkeit. Und Profil bedeutet ja im Gleichsinn auch eingegrenzte Möglichkeiten.

Okay, bis auf Hibernate.. also (annotated?) POJOs zähle ich mal zu den einfachsten und billigsten Dingen die es gibt :)

gepostet vor 15 Jahre, 6 Monate von MrMaxx

Wenn du dein Modell aktualisierst musst du deinen Code neu generieren lassen. Damit deine selbstgeschriebenen Codefragmente nicht gelöscht werden stehen sie entweder in besonders markierten CodeBlöcken, oder werden durch Vererbungshirarchien verdeckt. Dein Generator würde z.B. eine abstrakte Klasse generieren, die deine Implementierung erweitert. Bei einem erneuten Generieren des Codes würde nur die abstrakte Superklasse geändert werden. Deine Klasse bleibt verschönt.

Das Schöne an UML Profilen ist ihre Erweiterbarkeit. Ein Problem ist dann nur das Erstellen entsprechender Generatoren für diese...denn das ist wieder aufwendig...deswegen der Verweis auf bestehende AndroMDA Cartridges.

Solch ein Ansatz eignet sich auch nur für Architekturen, die einen hohen Abstraktionsgrad haben. Die kleine PHP Anwendung in der alles selbst gefrickelt wird eignet sich nicht hierfür.

Denn ansonsten wäre - bei einer guten Architektur - das Transformieren von Programmiersprache A nach B sogar mit Architektur möglich.

Das nennt sich dann Model to Model Transformation (M2M) und da wird glaube ich noch gut geforscht :)

So long...

Maxx

Auf diese Diskussion antworten