21 Stimmen

Darstellung von Schleifen in einem UML-Aktivitätsdiagramm

Ich versuche, ein Aktivitätsdiagramm (UML) für ein vernetztes Tic-Tac-Toe-Spiel zu entwerfen, das ich mit Sockets entwickelt habe. Ich verwende Aktivitätspartitionen (Swimlanes). Also, es gibt drei Partitionen: Client1, Server und Client2.

Das Diagramm sieht gut aus, aber ich weiß nicht, wie ich Schleifenstrukturen darstellen soll.

Wenn Sie sich diesen Link ansehen: Aktivitätsdiagramm und sehen Sie sich das letzte Diagramm auf der Seite an (Partition), das ist die Art von Aktivitätsdiagramm, mit der ich arbeite.

Weiß jemand, wie ich Schleifen darstellen kann? Danke!

0 Stimmen

Sie müssen Ihren Problembereich genauer beschreiben.

0 Stimmen

Das UML-Aktivitätsdiagramm könnte Schleifen erklären - auf eine prozedurale Weise. Ich sehe aber einen Mangel darin, dass UML nicht in der Lage ist, funktionale Ausdrücke wie (map/foreach/reduce) auf einfache Weise zu beschreiben.

11voto

Eric J. Punkte 143512

Schauen Sie weiter unten in der Seite, auf die Sie verlinken für die Expansionsregion. Verwenden Sie eine mit dem Schlüsselwort iterativ.

Eine Expansionsregion ist eine strukturierte Aktivitätsregion, die mehrfach ausgeführt wird. Eingangs- und Ausgangsexpansionsknoten werden als eine Gruppe von drei Kästchen gezeichnet, die eine Mehrfachauswahl von Elementen darstellen. Das Schlüsselwort "iterativ", "parallel" oder "stream" wird in der oberen linken Ecke der Region angezeigt.

2 Stimmen

Das ist mir aufgefallen, aber ich bin mir nicht sicher, wie ich das verwenden soll. Kennen Sie andere Beispieldiagramme, die dies verwenden?

0 Stimmen

Ich habe im Moment nichts, was nicht urheberrechtlich geschützt ist und das ich zeigen könnte.

2voto

Jordi Cabot Punkte 7670

Vielleicht übersehe ich etwas, aber warum wird nicht einfach der Ausgangsfluss der letzten Aktivität in der Schleife als Eingangsfluss für die erste Aktivität in der Schleife verwendet (mit einer Schutzbedingung, um die Schleife gegebenenfalls zu beenden)?

1voto

maf88 Punkte 107

Wenn Sie eine Reihe von Daten für die Eingabe verwenden, dann ist die "Expansionsregion" perfekt. Sie wollen zum Beispiel alle Ihre Einkommen in Euro umrechnen. Dann ist es wie ein for().

Wenn Sie jedoch etwas haben wollen, das einem while() ähnelt, müssen Sie abgerundete Rechtecke und Rauten mit einer Rückkopplungsschleife verwenden.

Zum Beispiel: [Blackjack spielen] ->wenn ich gewinne --> höre ich auf ->andernfalls --> beginne ich wieder .

Ich denke, dass die einzigen effizienten Möglichkeiten zur Durchführung von Schleifen in einem Aktivitätsdiagramm sind.

Sie können einen Blick auf die Schleifenknoten . Ich bin mir aber nicht sicher, wie gut dies in der OMG-Spezifikation definiert ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X