Wie werden Bedingungen in UML-Sequenzdiagramme aufgenommen?

12

Ich zeichne gerne ein UML-Sequenzdiagramm, um die Abfolge von Aktionen und Interaktionen verschiedener Teile meines Systems (ich glaube, sie heißen Schauspieler) anzuzeigen.

Ich muss if then elsehier jedoch Aussagen machen. Mache ich etwas falsch Kann ich bedingte if-Anweisungen in meinem UML-Sequenzdiagramm verwenden? Wie?

Saeed Neamati
quelle

Antworten:

18

Wie in vielen Arten von UML-Diagrammen können Sie mit Guards eine Bedingung kennzeichnen. Ein Guard ist ein boolescher Ausdruck, den Sie über einen Übergang schreiben können.

Hier ist ein Bild mit einem Beispiel: Bildbeschreibung hier eingeben

Beachten Sie die Bedingung "[pastDueBalance = 0]".

Sie können auch kombinierte Fragmente für komplexere bedingte Logik verwenden. Weitere Informationen finden Sie in diesem netten MSDN-Artikel .

Falke
quelle
4

Ich kenne vier Möglichkeiten (mit zunehmender Kraft):

  1. Am einfachsten ist die Verwendung von Wachen , die einfache, nebenwirkungsfreie boolesche Ausdrücke sind.
  2. Mit kombinierten Fragmenten (siehe z. B. Seite 54) können Sie Nachrichtensätze gruppieren, um den bedingten Fluss in einem Sequenzdiagramm anzuzeigen (Alternativen, Optionen, Schleifen).
  3. Viel leistungsfähiger ist die Object Constraint Language (OCL) , die zusätzlich quantifizieren kann (für alle existiert) und eine vollwertige (DesignBy-) Vertragssprache bietet (die fast so aussagekräftig ist wie die vollständige Logik erster Ordnung).
  4. Am effektivsten ist es, Ihre Einschränkung mit einer UML- Aktionssprache aus ausführbarer UML (xUML) auszudrücken , die der UML- Aktionssemantik entspricht.

Meine Wahl wäre die am wenigsten mächtige, die für das, was Sie tun möchten, immer noch ausreichend aussagekräftig ist. Zum Beispiel können Aktionen in 4. Nebenwirkungen haben, was sie viel anfälliger macht als OCL.

DaveFar
quelle
2

Während Sequenzdiagramme für Ihre Beschreibung perfekt sind, sollten Sie Aktivitätsdiagramme überprüfen.

Wenn Sie interne Details (einschließlich detaillierter Regeln) anzeigen möchten, sollten Sie Aktivitätsdiagramme verwenden. Die einfachen Aktivitätsdiagramme konzentrieren sich auf die Abfolge von Aktivitäten und Regeln und zeigen nicht die Verantwortlichkeiten der Akteure an. Sie können jedoch Schwimmspuren verwenden, um die Verantwortlichkeiten der einzelnen Akteure hervorzuheben. Jede Spur würde Aktivitäten beinhalten, für die ein Schauspieler verantwortlich ist.

Diese Links beschreiben Aktivitätsdiagramme mit Schwimmbahnen:

Keine Chance
quelle