Diagram aktywności

Modelowanie przepływu czynności jest jedną z najważniejszych technik oferowanych przez język UML. Wpis ten zawiera opis notacji i semantyki diagramu czynności, zwanego także diagramem aktywności.

Diagram czynności – definicja i zastosowanie

Diagram czynności (ang. activity diagram) jest diagramem behawioralnym, który służy do modelowania dynamicznych aspektów systemu. Jego zasadniczą funkcją jest przedstawienie sekwencji kroków, które są wykonywane przez modelowany fragment systemu. Jest idealny do opisania scenariuszy przypadków użycia. 

Diagramy aktywności w UML są kluczowym narzędziem do modelowania dynamicznych aspektów systemu, służącym do przedstawiania przepływu sterowania i danych poprzez sekwencje kroków i decyzji w procesach biznesowych lub operacjach systemowych. Diagramy te znajdują zastosowanie w

  • przedstawianiu logiki algorytmów,
  • wizualizacji przepływu pracy w systemie
  • oraz dokumentacji przypadków użycia.

Ich główne zalety to przejrzyste przedstawienie złożonych procesów, łatwość zrozumienia dla interesariuszy nietechnicznych oraz możliwość modelowania równoległości i synchronizacji, choć mogą stać się skomplikowane przy bardzo złożonych procesach i nie pokazują szczegółów implementacyjnych.

Diagram czynności – notacja i semantyka

Na poniższym rysunku zgromadziłem podstawowe i najczęściej stosowane elementy notacji UML wykorzystywane na diagramach aktywności.

diagramy uml diagram aktywności elementy
Rys 1. Podstawowe elementy stosowane na diagramach aktywności

Czynność (ang. action): Wykonywalny węzeł aktywności reprezentujący transformację lub proces modelowanego systemu. Może zmieniać stan systemu lub zwracać wynik. Czynność nie podlega dalszej dekompozycji.

Węzeł początkowy (ang. initial node): Element rozpoczynający aktywność. Każda aktywność może mieć tylko jeden węzeł początkowy.

Węzeł końcowy przepływu (ang. flow final node): Element sygnalizujący zatrzymanie sekwencji czynności przed jej całkowitym, zaplanowanym zrealizowaniem. Wskazuje sytuacje, gdy prezentowany scenariusz kończy się przedwcześnie.

Węzeł końcowy (ang. activity final node): Element kończący całą aktywność. Aktywność może mieć więcej niż jedno zakończenie.

Węzeł decyzyjny (ang. decision node): Element umożliwiający wybór między kilkoma możliwościami, wprowadzający alternatywne ścieżki wykonania. Posiada jedno wejście i minimum dwa wyjścia z wykluczającymi się warunkami dozoru. Warunki powinny obejmować wszystkie możliwości, aby uniknąć zatrzymania przepływu. UML dopuszcza użycie warunku [else] dla domyślnej ścieżki.

Węzeł rozwidlenia (ang. fork node): Element inicjujący współbieżne wykonywanie czynności. Dzieli sekwencyjną ścieżkę na minimum dwie równoległe ścieżki wykonywane jednocześnie. Nie synchronizuje przepływów, a jedynie wskazuje początek równoległego wykonania.

Węzeł scalenia (ang. join node): Element łączący co najmniej dwa współbieżne przepływy, pełniący funkcję synchronizującą. Scala równolegle wykonywane przepływy w jeden. Liczba scalanych przepływów powinna odpowiadać liczbie węzłów wychodzących z powiązanego węzła rozwidlenia.

Elementy te, używane w odpowiedniej kombinacji, pozwalają na precyzyjne modelowanie złożonych procesów i przepływów w systemach, uwzględniając sekwencyjność, równoległość i warunkowe wykonanie czynności. Stosowane połączenie między tymi elementami to Control Flow.

Diagram czynności – przykład

diagramy uml diagram aktywności przyklad
Rys. 2 Diagram aktywności – przykład

Przedstawiony diagram przedstawia proces zakupowy w sklepie internetowym, który umożliwa wynajem pojazdu, podzielony na dwie partycje : „Klient” i „Sklep”. Partycja aktywności (ang. activity partition) jest to część diagramu czynności, która grupuje czynności realizowane przez konkretny byt (osoba albo aplikacja). Jest to diagram aktywności UML, który ilustruje przepływ czynności i decyzji w procesie zakupu.

Oto szczegółowy opis diagramu:

  1. Proces rozpoczyna się od „Użytkownika na stronie”.
  2. Klient uruchamia koszyk („Uruchomienie koszyka”), co prowadzi do wyświetlenia koszyka przez sklep.
  3. Następnie pojawia się decyzja „Czy zmiany w koszyku?”:
    – Jeśli tak, klient dokonuje „Zmiany produktów w koszyku”, co skutkuje „Aktualizacją danych w koszyku” po stronie sklepu.
    – Jeśli nie, proces przechodzi do „Zatwierdzenia koszyka”.
  4. Po zatwierdzeniu koszyka, sklep sprawdza „Czy suma zamówienia>0?”:
    – Jeśli tak, wyświetla „Wyświetlenie formularza z danymi klienta”.
    – Jeśli nie, wyświetla „Wyświetlenie skróconego formularza”.
  5. Klient wypełnia formularz („Wypełenienie formularza”).
  6. Sklep przeprowadza „Walidację danych”.
  7. Jeśli dane są poprawne, proces przechodzi do „Zapisanie formularza”.
    Jeśli nie, sklep wyświetla „Wyświetlenie listy pól do poprawy”, a klient musi ponownie wypełnić formularz.
  8. Po zapisaniu formularza, proces rozdziela się na dwa równoległe działania:
    – „Utworzenie konta użytkownika” po stronie sklepu.
    – „Rezerwacja pojazdu” (co sugeruje, że może to być sklep z wypożyczalnią pojazdów).
  9. Proces kończy się stanem „Utworzone konto”.

Diagram ten przedstawia kompleksowy proces zakupowy, uwzględniając różne scenariusze i interakcje między klientem a systemem sklepu internetowego, z naciskiem na obsługę koszyka, wprowadzanie danych klienta i finalizację zamówienia.

Podsumowanie

Dobre praktyki tworzenia diagramów aktywności obejmują zachowanie prostoty i czytelności, używanie opisowych nazw, grupowanie powiązanych czynności w podaktywności oraz unikanie nadmiernego skomplikowania. Diagramy te często uzupełniają inne diagramy UML, takie jak diagramy przypadków użycia, stanu i sekwencji, stanowiąc cenne narzędzie w analizie i projektowaniu systemów, pozwalające na efektywne komunikowanie dynamicznych aspektów systemu różnym interesariuszom projektu.

Pozostałe diagramy UML:

9 komentarz dla “Diagram aktywności”

    1. By zmienić action na activity trzeba W zakładce Design wybrać Edit (grupa element) i tam jest Change Type. Potem wybrać należy Activity i zmiana nastąpi 🙂
      Zmian typu elementu

  1. W modelowaniu ważny aspektem jest standaryzacja dlatego warto określić jedną formę opisu czynności np. rozkazującą „Przyznaj rabat” lub rzeczownikową „Wybór pojazdu”.
    Jaka forma najlepsza?

    1. TA forma jest lepsza, która bardziej pasuje zespołowi. Najczęściej korzystam z rzeczowników odczasownikowych, np.: przygotowanie faktury, opisanie faktury itd…

  2. „Węzeł początkowy (ang. activity initial node) to element rozpoczynający aktywność. Aktywność może mieć tylko jeden węzeł początkowy.”
    Ten zapis jest nieprawidłowy. Aktywność może mieć więcej niż jeden węzeł początkowy – UML Specification Foundation 2.5.1 rozdział 15.3.3.1

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Scroll to Top