Ab und zu dokumentiere ich meine Software, leider oft zu wenig. Dabei greife ich gerne kleine UML-Diagramme zurück. Ein Sequenzdiagramm zeigt schnell was wie zusammenhängt. Allerdings war ich mit meiner Software nie wirklich zufrieden.
Bisher hatte ich die kostenpflichtige Software Enterprice Architect verwendet, oder StarUML. StarUML wurde allerdings lange Zeit nicht weiter entwickelt. Mittlerweile gibt es wohl eine kostenpflichtige Version die modern daher kommt. Um den Preis soll es an der Stelle nicht gehen, am Meisten störte mich immer, dass die Programme die Daten in Binärdateien ablegen. Enterprice Architect verwendet standardmäßig ein Access-Datenbank.
Besonders bei Enterprice Architect merkt man, dass es weniger eine UML-Software, als eine komplette Modellierungssoftware handelt. Mir geht es aber primär darum etwas Dokumentation, welche ich meist (Eigenschwerbung) DA-HelpCreator erstelle mit ein paar Diagrammen aufzupeppen.
PlantUML
Vor kurzem habe ich PlantUML entdeckt. Die Software selbst gibt es schon länger, hatte ich aber bisher nicht auf den Schirm. Sie generiert aus Text ein entsprechendes UML-Diagramm. Aus
@startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another authentication Request Alice <-- Bob: another authentication Response @enduml
wird
Das Design ist etwas altbacken (Abhilfe hier), aber durch die textuelle Eingabe erstellt man schnell Sequenzdiagramme, Klassendiagramme, Aktivitätsdiagramme, State Diagramme etc. Die Eingabe geht nach Eingewöhnung der Syntax schnell, Sachen können fix von A nach B kopiert werden und das Layout wird automatisch generiert. Hier kann man sich ja ansonsten schnell verkünsteln.
Die Text-Dateien lassen sich auch perfekt in Versionsverwaltungen ablegen und Versionieren. Integration gibt es für alle möglichen Programme. Da ich mich vor Kurzem auch erst mit Visual Studio Code angefreundet habe, nutze ich ein entsprechendes Plugin dafür. Links der Text, rechts die Vorschau.
Kurzum ein Tool was ich erst zu spät entdeckt habe. Perfekt für die schnelle Erstellung von UML-Diagrammen ohne viel Schnickschnack.