Wybierz notację sterowania do diagramu#

Warunek, pętlę i alternatywny przebieg można pokazywać różnie w zależności od tego, jaki rodzaj zachowania modelujesz. Diagram aktywności używa węzłów decyzyjnych, przepływów z warunkami i przepływów powrotnych. Diagram sekwencji stosuje fragmenty łączone, takie jak alt, opt i loop. Maszyna stanów pokazuje, jak zdarzenia i warunki zmieniają stan obiektu.

Proces powtarza próbę płatności, dopóki są ponowienia; następnie decyzja rozdziela przebieg na sukces lub odmowę.
Pętla i decyzja wyrażają różne rodzaje sterowania przebiegiem.

Pętla powtarza próbę, dopóki warunek ponowienia jest spełniony; następnie decyzja rozdziela przebieg na potwierdzenie albo odmowę. Model powinien jeszcze wyjaśnić, czy płatność jest sprawdzana ponownie po wyczerpaniu prób oraz co dzieje się przy błędzie technicznym.

Warunek na diagramie aktywności#

Węzeł decyzyjny rozdziela przepływ sterowania na ścieżki. Etykiety przy wychodzących przepływach zapisuje się jako warunki ochronne w nawiasach kwadratowych, na przykład [saldo >= kwota] i [else]. Alternatywy powinny być rozłączne albo powinien być określony sposób wyboru, jeśli kilka może być prawdziwych.

Węzeł złączenia scala alternatywne ścieżki. Nie synchronizuje ich — przepuszcza tę ścieżkę, która dotarła. Węzeł merge nie jest odpowiednikiem synchronizującego join. Jeśli warunek modeluje wybór działania, użyj decyzji; jeśli ma wstrzymać przepływ do czasu ukończenia kilku współbieżnych gałęzi, użyj synchronizacji.

Pętla w przepływie#

Pętlę można przedstawić jako przepływ wracający do wcześniejszej akcji i warunek zakończenia albo jako region iteracyjny z określonymi wejściami, wyjściami i testem. Wybór zależy od czytelności i poziomu szczegółowości. Wyjaśnij, czy warunek sprawdza się przed pierwszym wykonaniem, po wykonaniu czy przy każdym obiegu.

Pokaż, co kończy pętlę, co dzieje się przy wyczerpaniu limitu i czy występuje możliwość anulowania. W przypadku współbieżnych lub czasowych iteracji sama strzałka powrotna może nie wystarczyć — potrzebne mogą być dodatkowe zdarzenia albo ograniczenia.

Alternatywa i opcjonalny przebieg na diagramie sekwencji#

Fragment alt ma kilka operandów z warunkami i przedstawia alternatywne przebiegi. Fragment opt jest skrótem dla zachowania opcjonalnego, wykonywanego tylko przy spełnieniu warunku. loop opisuje powtarzane komunikaty i może mieć warunek lub limit iteracji.

Warunek fragmentu sekwencji dotyczy interakcji objętej ramką. Nie należy mylić go z węzłem decyzji aktywności: oba mogą modelować wybór, ale w innych widokach i kontekście. Zapisz warunki przy operandach, a gdy są złożone, objaśnij je w tekście zamiast umieszczać długi kod w diagramie.

Alternatywa w maszynie stanów#

Maszyna stanów może mieć kilka przejść wychodzących z tego samego stanu, wyzwalanych różnymi zdarzeniami albo ograniczonych guardami. To dobry wybór, gdy rozgałęzienie zależy od aktualnego stanu i wpływa na cykl życia obiektu. Warunki przejść nie powinny być sprzeczne lub niekompletne bez intencji — w przeciwnym razie część zdarzeń może nie mieć zdefiniowanej reakcji.

Jeśli chcesz przedstawić kolejność wielu akcji, wybierz diagram aktywności. Jeśli chcesz pokazać wiadomości pomiędzy uczestnikami, wybierz sekwencję. Jeśli decyzja dotyczy dozwolonych stanów obiektu, użyj maszyny stanów. Nie próbuj wtłaczać całej logiki systemu do jednego rodzaju diagramu.

Jak opisać warunki dobrze#

  • Pisz warunki jako sprawdzalne predykaty, które jasno określają granicę przypadku.
  • Dodaj ścieżkę domyślną [else], jeśli inne wyniki są możliwe.
  • Nie używaj etykiet „tak/nie” bez wskazania pytania, do którego się odnoszą.
  • Ustal, czy warunek jest wejściem, wynikiem akcji, regułą domenową czy zdarzeniem.
  • Opisz błędy i wyjątki, jeśli zmieniają rezultat lub dalsze zachowanie.
  • Dla pętli wskaż warunek kontynuacji lub zakończenia oraz istotny limit.

Typowe błędy#

  • Alternatywa pomylona ze współbieżnością. Decyzja wybiera ścieżkę, fork uruchamia kilka gałęzi.
  • Merge pomylony z join. Pierwszy scala alternatywy, drugi synchronizuje współbieżne przepływy.
  • Pętla bez warunku wyjścia. Wyjaśnij, kiedy przebieg się kończy.
  • Warunki nakładające się lub z luką. Sprawdź wszystkie istotne wartości i przypadki brzegowe.
  • Jedna notacja użyta do każdego rodzaju zachowania. Dobierz diagram do procesu, interakcji lub cyklu życia.
  • Długi warunek zakodowany na strzałce. Przenieś złożoną regułę do opisu lub ograniczenia.
  • Test warunku w pętli niejasny. Określ, kiedy sprawdza się warunek względem akcji.

Podsumowanie#

W aktywności używaj decyzji i przepływów powrotnych, w sekwencji fragmentów alt, opt i loop, a w maszynie stanów warunkowych przejść zależnych od stanu. Rozdziel wybór, iterację i współbieżność. Warunki powinny być zrozumiałe, kompletne oraz zgodne z opisem przebiegu.