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

Diagram czynności – definicja i zastosowanie

Diagram czynności (ang. activity diagram) jest diagramem interakcji, 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. Diagram sekwencji pozwala także na prezentację przepływów współbieżnych oraz na zaprezentowanie zmian stanów obiektów podczas przechodzenia pomiędzy czynnościami.  Definiując ogólnie, diagram czynności jest stosowany do modelowania behawioralnych aspektów systemu i obrazuje strumień kolejno wykonywanych czynności (ang. fast track).

Diagram czynności – notacja i semantyka

Aktywność

najczesciej_stosowana_notacja_UML_2011_html_m31b7599e

Rysunek 50. Aktywność – notacja z parametrami wejściowymi i wyjściowymi

Aktywność (ang. activity) jest sparametryzowanym zachowaniem systemu, przedstawionym w postaci uporządkowanych, podrzędnych elementów, z których najważniejszym jest akcja. Aktywność służy do zaprezentowania tych behawioralnych aspektów systemu, które mogą zostać zdekomponowane za pomocą czynności. Aktywność może stanowić oddzielny diagram czynności.

Czynność

najczesciej_stosowana_notacja_UML_2011_html_25d400f9

Rysunek 51. Czynność – notacja

Czynność (ang. action) jest wykonywalnym węzłem aktywności, który reprezentuje transformację lub proces modelowanego systemu. Wynikiem działania czynności może być zmiana stanu systemu lub zwrócenie wyniku
(ang. reference). Czynność nie podlega dekompozycji.

Przepływ sterujący

najczesciej_stosowana_notacja_UML_2011_html_m42904995

Rysunek 52. Przepływ sterujący – notacja

Przepływ sterujący (ang. control flow) to element, który prezentuje przejście pomiędzy węzłami diagramu czynności.

Przepływ obiektu

najczesciej_stosowana_notacja_UML_2011_html_m42904995

Rysunek 53. Przepływ obiektu – notacja

Przepływ obiektu (ang. data flow), zwany także przepływem danych
to element, który prezentuje przejście pomiędzy węzłami diagramu widoku interakcji.

Warunek wstępny i warunek końcowy

najczesciej_stosowana_notacja_UML_2011_html_77e7cd26

Rysunek 54. Warunek wstępny i końcowy – notacja

Warunek wstępny (ang. local precondition) wskazuje, jaki warunek/ parametr musi być spełniony, aby czynność mogła być wykonana. Natomiast warunek końcowy (ang. local postcondition) wskazuje, jaki warunek musi być spełniony
po zakończeniu czynności. Warunki wstępny i końcowy są umieszczane w notce
i połączone z aktywnością za pomocą linii przerywanej.

najczesciej_stosowana_notacja_UML_2011_html_45e09400

Rysunek 55. Przykładowe zastosowanie warunków wstępnego i końcowego

Obiekt

najczesciej_stosowana_notacja_UML_2011_html_m35f4d6d0

Rysunek 56. Obiekt – notacja

Obiekt (ang. object) jest egzemplarzem klasy. Obiekty obrazują konkretne byty systemu, których stan zmienia się w wyniku działania czynności.

UML 2.0 definiuje dwa rodzaje metod na zobrazowanie przepływu obiektów. Pierwszym z nich jest klasyczny przepływ obiektów znany z UML 1.x (rys. 57a). Druga metoda jest nowością w UML 2.0 i obrazuje przepływ obiektów jako parametry wejściowe i wyjściowe zobrazowane w postaci pinów (rys. 57 b).

image

Rysunek 57. Typy notacji odpowiedzialnych za przepływ danych na diagram czynności

Magazyn danych

najczesciej_stosowana_notacja_UML_2011_html_546c56f8

Rysunek 58. Magazyn danych – notacja

Magazyn danych (ang. datastore) jest obiektem, który służy
do przechowywania trwałych danych. Magazyn danych przyjmuje dane
z czynności i składuje je, by móc w każdym momencie udostępnić innym czynnościom. Stanowi więc swoisty depozyt danych wymaganych przez modelowany aspekt systemu.

najczesciej_stosowana_notacja_UML_2011_html_39e07e0d

Rysunek 59. Przykładowe użycie magazynu danych

Węzeł końcowy

najczesciej_stosowana_notacja_UML_2011_html_m684b5132

Rysunek 60. Węzeł końcowy – notacja

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

Węzeł początkowy

najczesciej_stosowana_notacja_UML_2011_html_m4b1c118c

Rysunek 61. Węzeł początkowy – notacja

Węzeł początkowy (ang. activity initial node) to element rozpoczynający aktywność. Aktywność może mieć tylko jeden węzeł początkowy.

Węzeł decyzyjny

najczesciej_stosowana_notacja_UML_2011_html_74f75125

Rysunek 63. Węzeł decyzyjny – notacja

Węzeł decyzyjny (ang. decision node) to element, który umożliwia dokonanie wyboru pomiędzy kilkoma możliwościami. Umieszczenie węzła decyzyjnego na diagramie oznacza, że nie ma jednej ścieżki wykonywania poszczególnych aktywności (istnieją ścieżki alternatywne). Węzeł decyzyjny może mieć jedno wejście dla przepływu sterującego i minimalnie dwa wyjścia przepływów. Na wyjściach z węzła decyzyjnego znajdują się wykluczające się warunki dozoru. Istotne jest, by warunki dozoru uwzględniały wszystkie możliwości, tak by nie dopuścić do zatrzymania przepływu na węźle.

Język UML dopuszcza, by jedno wyjście z węzła było opisane warunkiem [else], który oznacza ścieżkę, jaka powinna być wybrana w przypadku niespełnienia warunku dozoru wszystkich pozostałych wyjść.

image

Rysunek 64. Przykładowe zastosowanie węzła decyzyjnego na diagramach czynności

Często warunek dozoru jest bardzo długi, dlatego też, by zwiększyć czytelność diagramu, można zastosować wyrażenie decyzji, które wraz ze słowem kluczowym <<decisionInput>> zapisane jest w notce (rys. 65). Przedstawienie takie dozwolone jest tylko w sytuacji, gdy na każdym wyjściu jest ten sam warunek, którego parametry można wyrazić językiem matematyki.

najczesciej_stosowana_notacja_UML_2011_html_m55cd26a7

Rysunek 65. Warunek dozoru zapisany za pomocą notki ze słowem kluczowym <<decisionInput>>

Węzeł połączenia

najczesciej_stosowana_notacja_UML_2011_html_74f75125

Rysunek 66. Węzeł połączenia – notacja

Węzeł połączenia (ang. merge node) to węzeł, w którym następuje scalenie kilku alternatywnych przepływów. Węzeł ten nie jest elementem synchronizującym.

5.2.13. Węzeł rozwidlenia

najczesciej_stosowana_notacja_UML_2011_html_57bb6e9c

Rysunek 67. Węzeł rozwidlenia – notacja

Węzeł rozwidlenia (ang. fork node) to element, który pozwala na wykonywanie współbieżnych czynności. W zależności od sytuacji może
być użyty jako linia pionowa lub pozioma. Węzeł rozwidlenia stosowany jest, gdy w czasie wykonywania sekwencyjnej ścieżki występuje podzielenie ścieżki czynności na równoległe (minimum dwie) ścieżki, których przepływy są wykonywane w tym samym czasie. Należy zaznaczyć, że węzeł rozwidlenia nie jest elementem synchronizującym, a jedynie wskazującym początek przepływów równoległych.

najczesciej_stosowana_notacja_UML_2011_html_m5e5604a5

Rysunek 68. Przebiegi współbieżne w diagramach czynności – przykład

Rysunek 68 przedstawia fragment diagramu czynności, na którym wskazano węzeł rozwidlenia. Węzeł ten prowadzi do podziału ścieżki przepływu na dwie równolegle wykonywane ścieżki przepływów. W pierwszej ścieżce realizowana jest czynność aktualizacji karty pojazdu. W drugiej dokonywane jest przesłanie zlecenia wykonania czynności serwisowych. Na następnym etapie obie równoległe ścieżki mogą zostać zamknięte węzłem zakończenia lub węzłem zakończenia przepływu.

5.2.13. Węzeł scalenia

najczesciej_stosowana_notacja_UML_2011_html_m6b2110ff

Rysunek 69. Węzeł scalenia – notacja

Węzeł scalenia (ang. join node) to węzeł, który łączy co najmniej dwa współbieżne przepływy. Węzeł ten jest elementem synchronizującym.
W zależności od sytuacji może być użyty jako linia pionowa lub pozioma.

Zadaniem węzła scalenia jest scalenie kilku równolegle wykonywanych przepływów w jeden. Istotny jest fakt, że rozwidlenia i scalenia powinny
się równoważyć, tzn. liczba przepływów scalanych powinna być równa liczbie węzłów wychodzących z odpowiadającego mu węzła rozwidlenia.

najczesciej_stosowana_notacja_UML_2011_html_m3afb32c0

Rysunek 70. Węzeł scalenia – przykład zastosowania

5.2.14. Partycja aktywności

najczesciej_stosowana_notacja_UML_2011_html_m1b4858cd

Rysunek 71. Partycja aktywności – notacja

Partycja aktywności (ang. activity partition) jest to część diagramu czynności, która grupuje czynności charakteryzujące się podobnymi cechami. Partycja aktywności w UML 1.x nosiła nazwę torów (ang. swimlines). Partycję aktywności można stosować zarówno pionowo, jak i poziomo, co umożliwia grupowanie czynności w wydajniejszy sposób.

Diagram czynności – przykładowe zastosowanie

Istotą diagramów czynności jest możliwość modelowania kolejno wykonywanych czynności z uwzględnieniem przepływu danych i równoległego wykonywania wybranych czynności. Na rysunku 72 zaprezentowano diagram obrazujący przebieg rezerwacji pojazdu. Na diagramie tym użyto dwie partycje. Wskazują one konkretne byty biorące udział w procesie rezerwacji pojazdu.

Ciekawym elementem jest „Przerwanie aktywności” będące zakończeniem przepływu, który informuje, że w przypadku braku wolnych aut odpowiadających kryteriom wyszukiwania lub braku wyrażenia zgody na przetwarzanie danych osobowych klienta, zlecenie zostanie zakończone przed osiągnięciem planowanego rezultatu, czyli dokonaniem rezerwacji pojazdu.

Na końcu należy wspomnieć, że diagramy aktywności od wersji UML 2.0 są realizowane zgodnie z zasadami dotyczącymi sieci Petri net. Z tego też powodu, podczas przebiegu współbieżnego, w celu zamknięcia przepływu i synchronizacji przepływów w węźle scalenia należy używać dodatkowego elementu w postaci węzła połączenia.

image

Rysunek 72. Przykładowy diagram czynności

Pozostałe diagramy UML:

Chcę otrzymywać powiadomienia o nowych wpisach na tym blogu

Wyrażam zgodę na przetwarzanie powyższych danych. Potwierdzam zapisanie się na newsletter w celu otrzymywania powiadomień o nowych wpisach. (Mogę wypisać się w dowolnym momencie)

FreshMail.pl
 
Close