Diagram aktywności
(czynności)
• Diagram czynności (activity
diagram) służy
do modelowania
dynamicznych aspektów systemu.
• Diagram czynności przedstawia
sekwencyjne lub współbieżne kroki
procesu
obliczeniowego.
• Diagram czynności jest pewną
mutacją diagramu stanów.
Diagram aktywności
(czynności)
• Diagramy czynności (activity
diagram) służą do
modelowania
przepływów operacji wykonywanych w
celu realizacji zadań zlecanych
systemowi przez jego aktorów
.
• Diagramy czynności łączą idee
pochodzące z
trzech źródeł:
diagramów zdarzeń J. Odella, technik
modelowania stanów oraz sieci
Petriego.
Diagram czynności a diagram
stanów
• Diagram czynności (aktywności)
skupia się na
opisaniu jakiegoś
procesu, w którym uczestniczy wiele
obiektów
.
• Diagram stanów pokazuje jakie są
możliwe
stany konkretnego obiektu
.
• Diagram aktywności jest dobrym
narzędziem, gdy chcemy przedstawić
odpowiedzialność obiektów w
ramach jakiegoś procesu
.
Graf aktywności
•
Diagram aktywności jest grafem skierowanym,
którego
wierzchołki stanowią aktywności
odpowiadające operacjom wyróżnianym w trakcie
przetwarzania
, a
łuki opisują przejścia pomiędzy
aktywnościami
. Można powiedzieć, że
graf
aktywności to maszyna stanów
, której
podstawowym zadaniem nie jest przedstawianie
stanów obiektu, jak ma to miejsce w przypadku
diagramów stanów, ale
modelowanie przepływów
operacji
.
•
Pojedynczy stan grafu aktywności może być
interpretowany:
– Z perspektywy pojęciowej
jako zadanie do wykonania
przez człowieka i przez komputer.
– Z perspektywy projektowej
jako grupa metod, pojedyncza
metoda czy też nawet fragment metody.
Diagram czynności
Diagram czynności jest schematem
blokowym, który przedstawia przepływ
sterowania od czynności do czynności.
Diagram czynności nie obrazuje stanów
obiektu podczas życia obiektu, ukazuje
cały system z punktu widzenia
czynności w
systemie.
Diagram czynności
• Mogą być tworzone na różnych
poziomach szczegółowości. Można
je też stopniowo uszczegóławiać.
W perspektywie zewnętrznej
diagramy te reprezentują procesy
biznesowe w ujęciu postrzeganym
przez uczestników zewnętrznych.
Diagram czynności
Diagram czynności składa się z
:
• początek (initial)
• koniec (final)
• akcji i czynności (activity)
• przejść (flow)
• rozwidlenie/złączenie (fork/join)
• punkt synchronizacji (synch)
• rozgałęzienie decyzyjne (decision)
• wysłanie (send)/odebranie (receive)
Diagram czynności
Przepływ sterowania modelowany
za pomocą diagramu czynności
składa się z wielu zdarzeń.
Zdarzenia (wykonywalne,
niepodzielne obliczenia) to stany
akcji.
Początek i koniec
Początek jest rozpoczęciem diagramu
czynności. Od niego rozpoczyna się
wędrówka zdarzeń i stanów.
Koniec jest zakończeniem działań
systemu w diagramie czynności.
Akcja
Stany akcji to niepodzielne zdarzenia jak:
• obliczenie
• wywołanie operacji obiektu
• wysłanie sygnału do obiektu
• utworzenie/zniszczenie obiektu
Stany akcji nie mogą być dekomponowane.
Czynność
Czynności są bardzo podobne do
akcji. Różnica polega na tym, że stany
czynności mogą być dekomponowane.
Czynność może mieć dodatkowo
akcje wejściowe i akcje wyjściowe.
Czynność - akcja
• Czynności na diagramie mogą
charakteryzować się złożoną, rozbudowaną
funkcjonalnością.
• Czynność to
określone zachowanie złożone
z logicznie uporządkowanych ciągów
podczynności, akcji oraz obiektów
w celu
wykonania pewnego procesu.
• Akcja to
elementarna jednostka
specyfikacji zachowania
, która reprezentuje
transformację lub przetwarzanie w
modelowanym systemie.
Dekompozycja
czynności
Czynności można
dekomponować stosując
następującą regułę:
• czynności
• podczynności
• akcje
Przejścia (przepływy
sterowania)
Przejście to
przekazanie sterowania od
jednej akcji/czynności do innej
.
Gdy tylko skończy się akcja danego
stanu źródłowego, zostaje wykonana
akcja wyjściowa (o ile istnieje).
Następnie sterowanie bezzwłocznie
podąża wzdłuż przejścia i trafia do
następnego stanu akcji lub stanu
czynności.
Przepływ sterowania
Przepływ sterowania
zachodzi między
kolejnymi logicznie uporządkowanymi
czynnościami lub akcjami
. W szczególnych
przypadkach można przypisać mu nazwę.
Przepływ sterowania charakteryzuje się
zdolnością przesyłania znaczników
sterowania (tokens).
Znaczniki sterowania
to abstrakcyjne kategorie pojęciowe,
użyteczne w monitorowaniu i realizacji
procesu sterowania na diagramie
.
Przepływy decyzyjne
Diagramy czynności w których czynności
bądź akcje są uporządkowane w sposób
sekwencyjny należą do rzadkości.
Specyfikacja procesu za pomocą tego
diagramu oznacza
konieczność
rozważenia wielu przepływów
alternatywnych, uzależnionych od
spełnienia warunków czy wykonania
iteracji
. Sytuacje te można definiować za
pomocą bloków decyzyjnych, które mają
charakter decyzji lub złączenia.
Przepływy współbieżne
Przybierają postać rozwidlenia lub scalania.
Rozwidlenie
(fork node) cechuje się
występowaniem jednego wejściowego
przepływu sterowania oraz co najmniej
dwoma przepływami wynikowymi. Przepływ
wejściowy inicjuje skopiowanie znacznika
sterowania i przekazanie poszczególnych kopii
do wszystkich współbieżnych przepływów.
Scalenie
(join node) oznacza przekazanie
sterowania z wielu współbieżnych
wejściowych przepływów sterowania do
jednego wynikowego.
Rozwidlenie / Złączenie
Rozwidlenie rozpoczyna współbieżne
wykonywane czynności w systemie.
Rozwidlenia i złączenia
równoległych przepływów
sterowania obrazuje się
w UML za pomocą pasków
synchronizacyjnych.
Punkt
synchronizacji
Punkt
synchronizacji
wskazuje
miejsce
w którym
współbieżne
strumienie
zostaną
zsynchronizowa
ne
.
Rozgałęzienie decyzyjne
Na diagramach czynności mogą pojawić
się rozgałęzienia opisujące
alternatywne ścieżki postępowania
.
W konkretnym przypadku do wyboru
jednej z nich dochodzi na podstawie
wartości pewnego wyrażenie logicznego.
Rozgałęzienie decyzyjne ma przejście
wejściowe i co najmniej 2 przejścia
wyjściowe.
Węzeł decyzyjny
• Każde wyjście z węzła ma
zdefiniowany warunek zapisany w
nawiasach kwadratowych. Jeżeli jest
on spełniony, przepływ jest
kontynuowany przez związane z nim
wyjście. Wyjście typu [else] definiuje
przepływ wykonywany w przypadku
niespełnienia żadnego z warunków.
Rozgałęzienie decyzyjne
Węzeł łączący
• Reprezentuje takie
miejsce w przepływie,
w którym łączy się kilka krawędzi
. Węzeł
łączący posiada kilka wejść i jedno wyjście.
• Zadaniem węzła łączącego jest łączenie
kilka przepływów. Wejścia nie są
zsynchronizowane – jeśli jeden przepływ
dotrze do węzła, przechodzi do wyjścia
niezależnie od tego, czy do pozostałych
wejść dotarły inne przepływy.
Rozgałęzienie decyzyjne
Wysłanie
Wysłanie ukazuje akcję wysłania
komunikatu do miejsca
przeznaczenia, gdzie może
spowodować uruchomienie przejścia
lub wykonania akcji.
Odebranie
Odebranie to
element czekający
na wystąpienie komunikatu.
Odebranie występuje w 2 wersjach:
•odebranie zdarzenia
•odebranie zdarzenia czasowego
Odebranie
Odebranie i wysłanie
Diagram czynności
Dodatkowymi elementami diagramu
czynności są:
• tory (swimlanes)
• przepływy obiektów (objects
flows)
Tory
Tory pozwalają na podzielenie
stanów czynności na grupy, z
których każda reprezentuje część
systemu odpowiedzialną za
konkretne czynności.
Tory
Przepływ obiektów
Przepływ
obiektów pozwala
na powiązanie
obiektu z akcją
lub czynnością.
Diagram czynności
• Diagram czynności służy do
obrazowania
dynamicznych aspektów systemu
.
• Diagram czynności można
kojarzyć z
przypadkami użycia i z kooperacjami
.
• Istotą diagramu są
czynności i akcje oraz
przepływ sterowania między nimi
.
• Na diagramie czynności można ukazać
części systemu, które odpowiedzialne są
za różne zadania.
act model aktywności
ActivityInitial
znajdź serwisantów,
którzy potrafią naprawić
dane uszkodzenie
sprawdź, czy serwisant
może wykonać naprawę
w ciągu najbliższego
tygodnia
anuluj zgłoszenie
przydziel serwisantowi
naprawę
ActivityFinal
[sprawdzono wszystkich serwisantów]
[może]
[nie może]
uc Biblioteka
Personel biblioteczny
wypożycz książkę
sprawdź czy można
wypożyczyć danemu
czytelnikowi
sprawdź dostępność
książki
rejestracja
wypożyczenia
«include»
«extend»
«extend»
Scenariusz „wypożycz
książkę”
• Pobranie danych czytelnika i książki
• Sprawdzenie, czy można wypożyczyć danemu
czytelnikowi
• jeżeli nie można wypożyczyć, to
– Koniec przypadku użycia
• jeżeli można wypożyczyć, to:
– Sprawdzenie, czy książka jest dostępna, tzn. czy jest
wolny egzemplarz
– jeżeli żaden egzemplarz książki nie jest dostępny, to
• Koniec przypadku użycia
– jeżeli egzemplarz książki jest dostępny, to:
• Rejestracja wypożyczenia
• Koniec przypadku użycia
Diagram aktywności
• Sekwencję aktywności
specyfikowanych w scenariuszu można
i należy opisywać wykorzystując
diagramy aktywności, które z natury
rzeczy lepiej niż język naturalny nadają
się do opisu złożonych przebiegów (z
warunkami i/lub iteracjami) i są
użytecznym narzędziem w procesie
modelowania zachowań, zwłaszcza w
początkowych etapach analizy.
act wypożycz książkę
ActivityInitial
pobranie danych
czytelnika i ksiazki
sprawdzenie, czy można
wypożyczyć danemu
czytelnikowi
sprawdzenie dostępności
książki
rejestracja wypożyczenia
książki
ActivityFinal
[można]
[nie można]
[dostępna]
[niedostępna]
Biblioteka posiada książki i czasopisma. Może być kilka
egzemplarzy tej samej książki. Tylko personel może
wypożyczać czasopisma. Członek biblioteki może mieć
jednocześnie wypożyczonych sześć pozycji, podczas gdy
osoba pracująca w bibliotece może mieć ich
wypożyczonych dwanaście. System ma rejestrować
wypożyczenia i zwroty oraz pilnować, by przestrzegano
wymienionych wyżej reguł (ograniczeń).
Przykład - biblioteka
act model kancelaria
ActivityInitial
pobierz dane prawnika i
sprawy
sprawdź czy prawnik nie
jest zleceniodawcą
sprawy
ActivityFinal
sprawdź czy prawnik jest
aktualnie wolny
rejestruj przydział
ActivityFinal
[nie jest zleceniodawcą]
[jest zleceniodawcą]
[jest zajęty]
Przypadek użycia rozpoczyna aktor Szef kancelarii
System pyta o dane prawnika i dane sprawy
Szef kancelarii wprowadza potrzebne
dane System sprawdza, czy
prawnik nie jest zleceniodawcą sprawy Jeżeli
prawnik nie jest zleceniodawcą sprawy, system sprawdza czy
prawnik nie zajmuje się aktualnie inną sprawą
Jeżeli prawnik w danym momencie jest
już przydzielony do innej sprawy, system informuje o zajętości
prawnika i kończy PU Jeżeli
prawnik jest aktualnie wolny, system rejestruje przydzielenie
prawnika do sprawy i kończy PU
PU – przydziel prawnika do sprawy
Uwarunkowania
• Diagramy aktywności obrazują przetwarzanie
na wysokim poziomie abstrakcji, dlatego są
używane jako punkt startowy dla procesu
modelowania zachowań, podczas którego każda
aktywność jest rozpisywana na szereg operacji.
Diagramy aktywności znajdują zastosowanie
przede wszystkim w następujących obszarach:
– Do analizowania PU – gdy bardziej interesują nas
operacje niezbędne do realizacji danego przypadku
czy też wzajemne zależności między tymi operacjami
– Do zrozumienia interakcji zachodzących między PU
– Do modelowania przetwarzania wielowątkowego
Złóż zamówienie
•
Scenariusz główny (przebieg zdarzeń)
1.
Przypadek użycia rozpoczyna się, gdy klient wybierze Złóż zamówienie.
2.
System wyświetla formularz Składania zamówienia.
3.
Klient wprowadza swoje imię i nazwisko oraz adres.
4.
Klient wprowadza kod towarów, które chce zamówić.
5.
Dla każdego wpisanego kodu towaru pobiera informacje o towarze, natomiast system
dodaje cenę towaru do sumy.
6.
Klient wprowadza informacje o karcie płatniczej.
7.
System sprawdza podane informacje.
8.
System zapisuje zamówienie jako oczekujące – Include Zapisz zamówienie.
9.
Include analizuj stan konta
10.
System oznacza zamówienie jako potwierdzone.
11.
Include Aktualizuj stan zamówienia.
12.
System zwraca klientowi numer zamówienia, a przypadek użycia się kończy.
•
Scenariusz alternatywny (nadzwyczajne przebiegi)
3A Adres klienta jest niepełny.
4A Podany kod towaru nie pasuje do żadnego towaru.
4B Towar już nie jest sprzedawany.
6A Złe informacje o płatności
6B Klient płaci czekiem
1A Klient przesyła zamówienie pocztą
1B Klient przekazuje zamówienie przez telefon
•
Scenariusz alternatywny (nadzwyczajne przebiegi): Anuluj składanie zamówienia
Warunek wstępny: Klient nie wybrał jeszcze Zatwierdź
1.
Nadzwyczajny ciąg zdarzeń rozpoczyna się, gdy użytkownik wybierze Anuluj.
2.
System pomija wszystkie wprowadzone informacje.
3.
System wraca do wcześniejszego formularza.
4.
Przypadek użycia się kończy
Diagram czynności
Główny scenariusz przypadku użycia Złóż zamówienie
Obciąż konto
Zatwierdź
Zamówienie zaznaczone
jako oczekujące
Zamówienie zaznaczone
jako potwierdzone
Wyświetlono numer
zamówienia
Wyświetlono formularz
zamówienia
Wprowadź nazwisko
i adres
Podaj informacje
o towarze
Oblicz nową cenę
Wyświetlono formularz
zamówienia
[nie ma więcej kodów
towarów]
[wprowadzono
kod towaru]
[wprowadzono
kod towaru]
[wybrano złóż zamówienie]
Czynności
odwoływalne
[informacje pełne]
[opłata potwierdzona]
act Pasażer poddaje się odprawie
Obsługa pasażerów
Pasażer
ActivityInitial
okazanie biletu w
punkcie odprawy
weryfikacja biletu
skierowanie pasażera
do obsługi klientów
odprawa bagaży
przyjęcie bagażu
ActivityFinal
opłacenie dopłaty
wydanie karty
pokładowej
ActivityFinal
[else]
[bilet prawidłowy]
[else]
[bagaż kwalifikuje się do dopłaty]
Diagram czynności