2009-01-06 15 views
16

Ich zeichne/dokumentiere für einige Client-Server-Verbindungen einen Code, um ihn besser zu verstehen. Es gibt mehrere Operationen, die asynchron in separaten Threads ausgeführt werden (Verbindungs-Threads, Datenempfangs-Threads usw.).So zeigen Sie asynchrone Vorgänge im UML-Aktivitätsdiagramm an

Sollte ich sie auf separaten Diagrammen zeigen? Ich würde es vorziehen, sie in einem einzigen Diagramm zu haben, um die Gesamtansicht zu erfassen, aber ich weiß nicht, wie ich sie im Aktivitätsdiagramm darstellen soll.

Antwort

17

Ich bin nicht sicher, ob der richtige Weg, dies zu tun, gibt es eine entwickelte ich meine eigene Methode durch verschiedene Strategien zu testen, bis ich mit etwas aufkam, die für meine eigene Haltung gearbeitet.

Dies ist, wie ich es tun:

  • Themen == Swimlanes
  • Thema Operationen == Aktion/Aktivität Knoten
  • Kritische Abschnitte == Objektknoten
  • Schaffung Thema == Fork Knoten

Ein Beispielbild unten.

alt text http://www.freeimagehosting.net/uploads/55eaa90498.jpg

+0

Und das ist genau, wie ich das getan habe :) –

+0

Ausgezeichneter Typ, ich habe nach etwas wie diesem gesucht. –

+1

Ich denke jeder, der mit einem Aktivitätsdiagramm für ein paar Stunden rumhängt, kommt irgendwann mit so etwas auf. Ich selbst suche jedoch immer noch nach einem dedizierten Diagrammformat für Nebenläufigkeit. Mit Aktivitätsdiagrammen funktioniert das auf kleinen Komponenten ziemlich gut, aber größere Systeme sehen wie Spaghetti aus, keine Lesbarkeit, selbst für den Autor. – sharkin

7

Anstatt vollständige Pfeilspitzen zu verwenden, können Sie halbe Pfeilspitzen verwenden, um einen asynchronen Nachrichtenaufruf anzuzeigen. Wie

gezeigt

alt text

+3

Dies ist Sequenzdiagramm - kein Aktivitätsdiagramm. Ich würde gerne allgemeine Aktionen anstelle von bestimmten Funktionsaufrufen haben, um zu sehen, was vor sich geht. –