Archiv für den Monat: Oktober 2011

Transaktionen in Sequenzdiagrammen

Sequenzdiagramme beschreiben Interaktionen zwischen Objekten. Tansaktionen sind kein Teil einer Interaktion (zumindest nicht fachlich gesehen), sondern ein Querschnittsthema. Deshalb müssen sie bei Sequenzdiagrammen nicht modelliert werden.
Will man trotzdem zu Dokumentationszwecken die Transaktionsgrenzen zeigen, so kann man sie entweder explizit oder implizit darstellen. Explizit durch eine Interaktion mit dem TransactionManager (begin()- und commit()-Aufrufe), wie es folgendes Bild zeigt:
explicit transaction management in sequence diagrams

Bei der impliziten Darstellung geht man davon aus, dass ein Sequenzdiagramm eine Transaktion darstellt. Neue Transaktionen werden dann durch eine Referenz auf ein anderes Diagramm modelliert, zum Beispiel in folgenden Diagrammen, in denen der Aufruf eines Clients eine neue Transaktion auf dem Server startet:
transactions: caller with separate Tx
new Transaction (implicit)

UML Tools

Ich habe schon einige UML Tools benutzt, oft war ich durch Vorgaben an ein bestimmtes Werkzeug gebunden, manchmal hatte ich auch freie Auswahl. Klassendiagramme sind anscheinend die Paradedisziplin von Herstellern, jedes UML-Tools unterstützt sie sehr gut. Bei Objektdiagrammen zeigen sich oft große Unterschiede zwischen den Tools, manche sind dann sehr kompliziert zu benutzen.

Mein Test für die Werkzeuge sind Sequenzdiagramme: Ich habe gerne Freiheit beim Bestimmen der Message-Nummerierungsart, ich bevorzuge geschachtelte Nummern. Manche Werkzeuge unterstützen diese Art gar nicht, manche unterstützen nicht das nachträgliche Einfügen einer Message, die Nummerierung kommt dann durcheinander. Auch Deployment-Diagramme sind für mich ein guter Test für ein UML-Tool, hier achte ich auch immer auf die Unterstützung von Stereotypen und Tagged-Values.

Privat habe ich mich für die Community-Edition von Astah entschieden, eben durch die gute Unterstützung der Sequenzdiagramme und durch seine gute Usability. Ein weiteres Kriterium war der Einsatz unter Linux. Astah und ich haben uns jetzt entschieden, uns gegenseitig als „Friends“ zu unterstützen, das bedeutet für mich unter anderem eine Lizenz von Astah Professional. Da ich in meinem Beiträgen wenig auf Tools eingehe, kann ich meiner Meinung nach trotzdem unabhängig über UML berichten.

Hier der Link zu Astah:

Friend of Astah