it-swarm-eu.dev

Wie werden Bedingungen in UML-Sequenzdiagramme aufgenommen?

Ich zeichne gerne ein UML-Sequenzdiagramm, um die Abfolge von Aktionen und Interaktionen verschiedener Teile meines Systems anzuzeigen (ich glaube, sie werden als Akteure bezeichnet).

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

13
Saeed Neamati

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

Hier ist ein Bild mit einem Beispiel: enter image description here

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

Sie können auch kombinierte Fragmente für eine kompliziertere bedingte Logik verwenden. Weitere Informationen finden Sie in diesem Nice msdn article .

18
Falcon

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

  1. Am einfachsten ist es, nur Wachen zu verwenden. Dies sind einfache, nebenwirkungsfreie boolesche Ausdrücke.
  2. Mit kombinierte Fragmente (siehe z. B. Seite 54) können Sie Nachrichtensätze gruppieren, um den bedingten Fluss in a anzuzeigen Sequenzdiagramm (Alternativen, Optionen, Schleifen)
  3. Viel mächtiger ist die Object Constraint Language (OCL), die zusätzlich quantifizieren kann (für alle existiert) und bietet eine vollwertige (DesignBy-) Vertragssprache (das ist fast so ausdrucksstark wie eine vollständige Logik erster Ordnung).
  4. Am leistungsfähigsten ist es, Ihre Einschränkung mit einer UML-Aktionssprache aus Ausführbarer UML (xUML) auszudrücken ) das entspricht der UML-Aktionssemantik.

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

4
DaveFar

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

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

Über diese Links werden Aktivitätsdiagramme mit Schwimmbahnen erläutert:

2
NoChance