Kostenlose UML-Zeichnung

Ich suche ein Tool zum Zeichnen von UML-Klassendiagrammen und Flussdiagrammen. Ich möchte in der Lage sein, Dinge beiläufig zu skizzieren und nicht einen hartnäckigen Prüfer der Modellkonformität zufrieden stellen zu müssen.

Multi-Plattform (Windows und Mac) ist erwünscht. Ich benutze Windows, aber ich möchte, dass Leute, die auf Mac entwickeln, auch leicht darauf verweisen können.

Es wäre großartig, wenn das Dateiformat für inkrementelle Unterschiede geeignet wäre. Ich habe bisher UMLet verwendet, und eine Sache, die mir daran gefällt, ist, dass ich die Zeichnungen zusammen mit dem Quellcode in Git einchecken kann und sie klein sind und inkrementelle Änderungen aufweisen (als XML-Text gespeichert werden und beim Speichern danach nicht alles neu anordnen müssen Hinzufügen oder Bearbeiten eines Elements).

Für die Klassendiagramme mache ich intensiven Gebrauch von „Qualifikations“-Etiketten, um verschlüsselte Sammlungen zu dokumentieren (z. B. a std::map), und habe auch die Verwendung von durchgehenden und weißen Rauten verallgemeinert, um unterschiedliche Farben zu verwenden, um die Art des Eigentums anzugeben:

Geben Sie hier die Bildbeschreibung ein

Dass auch das Mengenfeld die Farbe ändert, war nicht beabsichtigt, aber ich bin damit einverstanden.

Ich habe UMLet für Klassendiagramme verwendet, aber ab Version 14 werden alle alten Elementtypen veraltet, und die neue Pfeilform kann nur das Qualifizierungs-Tag ohne Pfeiltyp oder den einfachen -> Pfeil am selben Ende zeichnen; nicht der Diamant.

Da die verwendeten Elemente in meinen Zeichnungen im Allgemeinen veraltet sind und die Verwendung nicht automatisch aktualisiert wird, müsste ich sowieso alles neu zeichnen. Es ist also eine gute Zeit, sich nach einem neuen Programm umzusehen.

Für Sequenzdiagramme habe ich versucht, Visio zu verwenden. Das Hauptproblem dabei sind die Kosten. Der Vorteil ist, dass dies eher skizzenhaft als ein formales Diagramm ist, also ist es gut, einfach zeichnen zu können, was ich will. Ich habe Shapes von Drittanbietern gefunden, die dafür in Ordnung sind (im Gegensatz zu den mitgelieferten UML-Sachen, die darauf bestehen, nur formale Diagramme mit Fehlerprüfung zu zeichnen), aber es ist alles andere als ideal. Pfeilenden rasten nur an bestimmten Fangpunkten ein und nicht irgendwo entlang der sichtbaren Grenze, eine umschließende Box fängt Dinge ein und die Formen darin funktionieren nicht mehr so ​​wie im Freien usw.

Sie können Star UML verwenden. Es ist auch für Windows, Mac und Linux verfügbar. staruml.io

Antworten (3)

Werfen Sie einen Blick auf yEd-Graph Editor , entweder über Wikipedia oder über seine Produktseite . Hier ist ein Zitat darüber (aus diesem letzten Link):

yEd ist eine leistungsstarke Desktop-Anwendung, mit der schnell und effektiv hochwertige Diagramme erstellt werden können.

Erstellen Sie Diagramme manuell oder importieren Sie Ihre externen Daten zur Analyse. Unsere automatischen Layoutalgorithmen ordnen selbst große Datensätze auf Knopfdruck.

Es ist plattformübergreifend (Mac, Linux, Windows) und kann fast überall am sichtbaren Rand einrasten.

Sie können sich dia als Desktop-Lösung ansehen (obwohl es alles andere als ideal ist) – es ist manchmal praktisch, alle möglichen Diagramme zu zeichnen. Es speichert Daten auch als XML und kann in pdf, png, svg und einige andere Formate exportieren (sogar LaTeX wird als unterstützt deklariert). Dia funktioniert sowohl unter Windows als auch unter Linux (nicht sicher für Mac), aber es ist eine typische GNOME-Anwendung mit nicht-nativem Dateidialog.

Sie können sich auch draw.io ansehen, wenn Sie mit Onlinediensten einverstanden sind: Es speichert seine Daten in einigen der Cloud-Speicher, von denen die meisten natürlich die Wiederherstellung alter Dateiversionen unter Ihrem Konto ermöglichen. Dieser Dienst erscheint mir benutzerfreundlicher als dia.

Sind die beiden dafür bekannt, dass sie die farbigen Pfeile usw. haben? Ich meine, ist dies eine Empfehlung, die auf meinen spezifischen Anforderungen basiert, oder "nur das, was ich verwende" im Allgemeinen?
Dies sind eher allgemeine Diagrammwerkzeuge, die UML-Symbolsätze enthalten. Mir sind keine farbigen Pfeile für diese bekannt (obwohl Sie die Farbe von irgendetwas in dia manuell ändern können, aber es ist sinnlos). Entschuldigung, ich habe den Teil verpasst, wo Sie die Farben benötigen, und nur das bemerkt, wo Sie sagen, dass Sie damit einverstanden sind. Wenn ich Ihren Beitrag noch einmal lese, würde ich sagen, dass die von mir erwähnten Tools eher der letzte Ausweg für Ihre Bedürfnisse sind.

Ich fand Graphviz eine wunderbare Lösung, zumal Sie sich keine Gedanken darüber machen müssen, wo sich die Dinge befinden (obwohl Sie das können), sondern sich nur um die Informationen kümmern, die es vermittelt.

Der einzige Haken ist, dass es nicht sehr einfach ist, es unter Windows zu installieren (und um ehrlich zu sein, ist GVEdit nicht so toll). Die beste Problemumgehung besteht darin, ein anderes Tool zu verwenden, das mit der „Punkt“-Sprache kompatibel ist, da alles, was mit der Punkt-Sprache kompatibel ist, wahrscheinlich sowieso eines der Dienstprogramme verwendet, die Graphviz unter der Haube bereitstellt.