Diagram czynności

Transkrypt

Diagram czynności
Diagramy czynności
2
Diagramy czynności
Modelowanie dynamiki systemu
Diagramy do modelowania dynamiki systemu:
• Diagram przypadków użycia
• Diagramy interakcji
▫ Diagram sekwencji
▫ Diagram komunikacji
• Diagram czynności
• Diagram stanu
3
Pojęcie procesu
• Proces w językach programowania
• Procesy w naukach inżynierskich (procesy
chemiczne, procesy sterowania w
automatyce)
• Produkcja oprogramowania
• Procesy biznesowe (zarządzanie,
informatyka)
4
Definicje procesu biznesowego (1)
• Proces biznesowy jest to logiczna organizacja ludzi, materiałów,
energii, wyposażenia i procedur w działalności zawodowej
przeznaczony do uzyskania określonego efektu końcowego (Pall,
1987, Zarządzanie)
• Proces biznesowy jest zdefiniowany jako łańcuch działań, których
ostatecznym celem jest produkcja konkretnej wartości wyjściowej
dla konkretnego klienta lub rynku (Davenport, 1993, Ekonomia)
• Proces biznesowy jest zbiorem czynności, ma jeden lub więcej
rodzajów wejść i tworzy wartość wyjściową dla klienta. Proces
biznesowy posiada swój cel, a oddziałują na niego zdarzenia
zachodzące w świecie zewnętrznym lub w innych procesach
(Hammer and Champy, 1993, Nauki inżynierskie)
5
Procesy biznesowe
• Określony zbiór czynności biznesowych, które stanowią
niezbędne kroki w celu osiągnięcia celu biznesowego.
Obejmuje on przepływ i użycie informacji oraz zasobów
(OMG, 2011)
• Proces biznesowy jest to zbiór powiązanych procedur lub
działań, które wspólnie zapewniają osiągnięcie celu
biznesowego lub celu polityki, zwykle w ramach struktury
organizacyjnej definiującej funkcjonalność ról i zależności
pomiędzy nimi (WfMC, 1999)
• Proces biznesowy to seria powiązanych ze sobą działań lub
zadań, które rozwiązują określony problem lub prowadzą
do osiągnięcia określonego efektu (Wikipedia, 2012)
6
Dlaczego warto modelować
procesy biznesowe?
Odpowiedzialność za zadania (co kto robi)
Alokacja zasobów (jak przypisać zadania)
Związki (kto/co z kim/czym się komunikuje)
Przepływy informacji (skąd biorą się dokumenty i
gdzie trafiają)
Ścieżki krytyczne (gdzie mogą pojawić się problemy)
Optymalizacja procesów (jak zwiększyć
produktywność, obniżyć, koszty przyśpieszyć
proces?)
Automatyzacja (które czynności można
zautomatyzować)
7
Diagramy czynności
Diagram czynności
Diagram czynności – graficzne przedstawienie sekwencyjnych i
(lub) współbieżnych przepływów sterowania oraz danych pomiędzy
uporządkowanymi ciągami czynności, akcji i obiektów
• Służą do modelowania dynamicznych właściwości systemu
• Wszystkie akcje i (lub) czynności wykonywane w trakcie realizacji
dowolnej funkcjonalności systemu tworzą pewien proces
• Diagramy czynności pozwalają w graficzny sposób pokazać ten
proces - jakie akcje i (lub) czynności są wykonywane, kolejność ich
wykonania oraz dane na których operują
8
Diagramy czynności
Diagram czynności przykład
Węzeł początkowy
Węzeł połączenia
Akcje / czynności
Węzeł decyzyjny
Przepływy sterowania
Węzeł końcowy
9
Diagramy czynności
Elementy diagramu czynności
• Akcje
• Czynności
• Przepływy sterowania
• Węzły początkowe i końcowe
• Węzły decyzyjne i połączenia
• Węzły rozwidlenia i scalenia
10
Diagramy czynności
Elementy diagramu czynności
Początek – punkt rozpoczęcia przepływu
sterowania i danych. Zazwyczaj na
diagramie występuję jeden punkt startowy,
dopuszczalne jest jednak kilka punktów
startowych
Koniec – punkt zatrzymania wszystkich
przepływów sterowania i danych. Na
diagramie może występować wiele punktów
końcowych
11
Diagramy czynności
Elementy diagramu czynności
Zakończenie przepływu – punkt
zatrzymania wybranego przepływu
sterowania. Na diagramie może pojawić się
więcej niż jedno zakończenie przepływu
Przepływ sterowania – związek między
dwiema czynnościami lub akcjami
wskazujący, że po wykonaniu jednej
czynności (lub akcji) sterowanie zostanie
przekazane do drugiej czynności (lub akcji)
12
Diagramy czynności
Akcje
Akcja (ang. action) – elementarna jednostka specyfikacji zachowania
reprezentująca transformację lub przetwarzanie w modelowanym
systemie
Ogólne właściwości:
• akcie są niepodzielne
• akcje nie mogą być przerywane
• czas trwania akcji z reguły jest nieznaczny
• akcje są aktywnymi krokami procesu
• wykonanie akcji prowadzi do zmiany stanu systemu lub przekazania
pewnych danych
13
Diagramy czynności
Czynności
Czynność (ang. activity) – określone zachowanie złożone z logicznie
uporządkowanych ciągów innych czynności, akcji oraz obiektów w celu
wykonania pewnego procesu
Ogólne właściwości:
• czynności są podzielne – na czynność składają się inne czynności i
akcje
• czynności mogą być przerywane
• czas trwania czynności jest znaczący
• czynności reprezentują złożony element procesu biznesowego bądź
przetwarzania informacji
14
Diagramy czynności
Akcje - Czynności - przykład
Czynność Dokonaj
rozliczenia zawiera dwie
(pod)czynności: Oblicz dochód
i Oblicz podatek
(Pod)czynność Oblicz dochód
jest procesem składającym się z
(pod)czynności: Oblicz
przychód i Oblicz koszty
uzyskania oraz akcji
obliczającej dochód
15
Diagramy czynności
Węzeł decyzyjny
else
[warunek 1]
[warunek 2]
Węzeł decyzyjny (ang. decision node) – służy do utworzenia
przepływów alternatywnych uzależnionych od spełnienia określonego
warunku lub do wykonania iteracji (wielokrotne wykonywanie
określonych czynności lub akcji)
16
Diagramy czynności
Węzeł decyzyjny - właściwości
• Węzeł decyzyjny zawiera jeden przepływ wejściowy i
przynajmniej dwa przepływy wyjściowe (alternatywne)
• Każdy przepływ wyjściowy opisany jest warunkiem
• Zbiór wszystkich warunków musi być kompletny, tj.
pokrywać wszystkie możliwe wartości zmiennej
decyzyjnej
• Warunki na przepływach alternatywnych nie mogą się
nakładać – muszą być rozłączne
17
Diagramy czynności
Węzeł decyzyjny - właściwości
• Dopuszcza się warunek typu else dla oznaczenia
przypływu realizowanego w sytuacji, gdy żaden z
warunków na alternatywnych przepływach wyjściowych
nie jest prawdziwy
• Wybór przepływu wyjściowego dokonywany jest na
podstawie warunku
• Może być realizowany tylko jeden przepływ wyjściowy
18
Diagramy czynności
Węzeł połączenia
Węzeł połączenia (ang. merge node)– służy do utworzenia połączenia
alternatywnych przebiegów - oznacza koniec alternatywnego
zachowania rozpoczętego w węźle decyzyjnym
19
Diagramy czynności
Węzeł połączenia - właściwości
• Węzeł połączenia zawiera przynajmniej dwa przepływy wejściowe
(alternatywne) i jeden przepływ wyjściowy
• Przepływ wyjściowy jest realizowany, gdy zrealizowany zostanie
jeden z przepływów wejściowych
• W UML 2.0 i wyżej zaleca się stosowanie węzłów połączenia dla
każdego węzła decyzyjnego
• Istnieje możliwość łączenia węzła decyzyjnego z węzłem połączenia.
W efekcie otrzymujemy węzeł posiadający wiele przepływów
wejściowych i wiele przepływów wyjściowych. Działanie węzła
polega na połączeniu kilku istniejących przebiegów alternatywnych i
rozdzieleniu ich na inne przebiegi alternatywne
20
Węzły decyzyjne i połączenia przykład
Diagramy czynności
Po wykonaniu czynności Oblicz
dochód sprawdzany jest
poziom dochodu. W zależności
od jego poziomu wykonywana
jest odpowiednia akcja obliczania
podatku. Tylko jedna z tych akcji
zostanie wykonana.
21
Diagramy czynności
Węzeł rozwidlenia
Węzeł rozwidlenia (ang. fork node)– służy do wskazania punktu w
którym następuje rozdzielnie jednego przepływu wejściowego na dwa
lub więcej przepływów, które mogą być wykonywane równolegle
(współbieżnie)
22
Diagramy czynności
Węzeł rozwidlenia - właściwości
• Rozwidlenie cechuje się jednym przepływem wejściowym
oraz co najmniej dwoma przepływami wyjściowymi
• Przepływy wyjściowe mogą (ale nie muszą) być
realizowane równolegle
• Czynności (lub akcje) wykonywane w równoległych
przepływach mogą się komunikować
23
Diagramy czynności
Węzeł scalenia
Węzeł scalenia (ang. join node)– służy do oznaczenia punktu, w
którym następuje scalenie (synchronizacja) równoległych przepływów dochodzi tu do przekazania sterowania z wielu współbieżnych
przepływów wejściowych do jednego przypływu wyjściowego
24
Diagramy czynności
Węzeł scalenia - właściwości
• W węźle scalenia następuje oczekiwanie na ukończenie
wszystkich równoległych przepływów (synchronizacja
przebiegów)
• Zachowanie węzła scalania można dowolnie modyfikować
dodając specyfikację scalania, tj. dodatkowego warunku
scalania
• Warunek scalania jest sprawdzany każdorazowo po dotarciu
sterowania z każdego z przepływów równoległych
• Spełnienie warunku scalania skutkuje przekazaniem
sterowania dalej poza węzeł scalania
25
Węzły rozwidlenia i scalenia
przykład
Diagramy czynności
Akcje Słuchaj wykładu i
Rób notatki mogą (ale nie
muszą) być wykonywane
równolegle. Proces zakończy się
dopiero wtedy, gdy zakończą się
obydwie akcje
26
Diagramy czynności
Partycje
Partycja – mechanizm grupowania elementów diagramu czynności
• Partycje dzielą diagram na wiersze i (lub) kolumny
• Partycje służą do oznaczenia akcji i (lub) czynności wykonywanych
przez określonego aktora (rolę) lub w określonej lokalizacji
• Partycje znajdują zastosowanie głównie w biznesowych diagramach
czynności (realizacja procesu biznesowego często wymaga
współdziałania wielu aktorów)
• Alternatywnym rozwiązaniem w stosunku do partycji jest użycie
adnotacji przy każdej akcji lub czynności
27
Diagramy czynności
Partycje - przykład
•
•
W procesie bierze udział trzech uczestników: Pracownik,
Przełożony oraz Dział finansowy
Każda z partycji zawiera akcje wykonywanego tylko przez jednego
uczestnika
28
Diagramy czynności
Węzeł obiektu
Węzeł obiektu (ang. object node) – reprezentuje obiekt, który jest
dostępny w określonym miejscu czynności
• W diagramach czynności występują dwa rodzaje przepływów:
przepływ sterowania (ang. control flow) oraz przepływ danych (ang.
data flow)
• Obiekty służą do oznaczenia przepływu danych
• Umieszczenie węzła obiektu pomiędzy dwiema akcjami lub
czynnościami oznacza, że na danym etapie został utworzony,
zmodyfikowany lub użyty pewien obiekt
29
Diagramy czynności
Węzeł obiektu - przykład
•
Obiekt Zamówienie został utworzony w akcji „Pobierz zamówienie” i przesłany
do czynności „Przetwarzaj zamówienie”
•
Utworzenie i przesłanie obiektu Zamówienie można przedstawiać w postaci
bloku umieszczonego pomiędzy akcjami i (lub) czynnościami (zob. diagram
górny) lub w postaci tzw. przekaźników danych (zob. diagram dolny)
30
Diagramy czynności
Zdarzenia czasowe
Zdarzenia czasowe (ang. time event) – służą do modelowania
zdarzeń zależnych od czasu
31
Diagramy czynności
Zdarzenia czasowe - właściwości
• Zdarzeń czasowych używa się do modelowania okresu oczekiwania
• Okres oczekiwania podaje się w postaci określonej daty lub też w
postaci względnej (liczba dni, godzin, minut, itp.)
• Zdarzenia czasowe służą również do modelowania przepływów
cyklicznych, tj. przepływów rozpoczynających się w określonych
momentach
• Zdarzenia czasowe mogą się pojawiać w dowolnym miejscu
czynności, w tym również w miejsce węzła początkowego
32
Diagramy czynności
Zdarzenia czasowe - przykład
Przykład 1: Po wykonaniu akcji
„Dostarcz towar” następuje
zatrzymanie procesu na trzy dni,
po czym następuje wykonanie
akcji „Wyślij rachunek”
Przykład 2: Proces jest
uruchamiany cyklicznie każdego
dnia roboczego o godzinie 16.
Zdarzenie czasowe występuje w
miejsce węzła początkowego
33
Diagramy czynności
Węzeł sygnału nadawanego
Węzeł sygnału nadawanego (ang. send signal node) – służy
do modelowania asynchronicznego wysyłania komunikatów
34
Węzeł sygnału nadawanego właściwości
Diagramy czynności
• Komunikaty mogą być wysyłane do innych procesów jak
i do siebie samych
• Po wysłaniu komunikatu następuje automatycznie
przejście do wykonywania kolejnej akcji lub czynności
• Po wysłaniu komunikatu proces nie czeka aż odbiorca
odbierze komunikat
35
Diagramy czynności
Węzeł sygnału odbieranego
Węzeł sygnału odbieranego (ang. receive signal node) – służy
do modelowania asynchronicznego odbioru komunikatów
36
Węzeł sygnału odbieranego właściwości
Diagramy czynności
• W węźle sygnału odbieranego proces oczekuje na pojawienie się
pewnego, ściśle określonego komunikatu
• Po odebraniu komunikatu następuje przejście do kolejnych akcji
lub czynności
• Węzeł sygnału odbieranego bez dochodzącego sterowania jest
zawsze aktywny, tzn. cały czas może odbierać komunikaty
• Węzeł sygnału odbieranego z dochodzącym przepływem sterowania
jest aktywny dopiero w chwili otrzymania sterowania
37
Sygnały nadawane i odbierane przykład
Diagramy czynności
Przykład 1: Proces oczekuje na pojawienie się
nowego zamówienia – węzeł sygnału
odbieranego „Pobierz zamówienie”. Zamówienie
może pojawić się w dowolnym momencie.
Czynność „Przetwarzaj zamówienie” jest
wykonywana po odebraniu sygnału o nowym
zamówieniu.
Przykład 2: Węzeł sygnału nadawanego „Wyślij
żądanie autoryzacji” powoduje wysłanie żądania
autoryzacji (np. karty kredytowej) i przekazanie
sterowania do kolejnej akcji bez sprawdzania
odpowiedzi. Ponieważ kolejna akcja („Odbierz
odpowiedź”) jest węzłem sygnału odbieranego,
nastąpi oczekiwanie na pojawienie się odpowiedzi,
np. z systemu autoryzacji kart kredytowych
38
Diagramy czynności
Obszary przerwań
Obszar przerwań (ang. interruptable region) – służy do
modelowania czynności które mogą być w każdej chwili przerwane
• Do efektywnego działania obszaru przerwań konieczne jest dodanie węzła
sygnału odbiorczego wewnątrz obszaru przerwań
• Jego zadanie polega na oczekiwaniu na komunikat oznaczający przerwanie
• W chwili dotarcia tego komunikatu następuje przerwanie aktualnie
wykonywanej czynności i przejście do wykonywania akcji następującej po
węźle przerwania
• Jeśli komunikat o przerwaniu dotrze w trakcie wykonywania czynności
spoza obszaru przerwań, wówczas nic się nie dzieje
39
Diagramy czynności
Obszar przerwań - przykład
•
•
•
•
•
Proces rozpoczyna się w chwili pobrania zamówienia – sygnał odbiorczy „Pobierz
zamówienie”.
Celem bloku przerwania jest dopuszczenie możliwości anulowania zlecenia w
dowolnym momencie jego przetwarzania
Pojawienie się sygnału „Anuluj zamówienie” przerywa przetwarzanie zamówienie
po czy następuje przejście do akcji Usuń zamówienie
Zamówienie może być anulowane tylko w czasie przetwarzania
Po przejściu do akcji „Wyślij towar” anulowanie zamówienia nie jest możliwe
40
Diagramy czynności
Diagramy czynności – zastosowanie
Diagramy czynności stosuje się w modelowaniu:
▫ Procesów biznesowych
▫ Przypadków użycia
▫ Algorytmów i operacji
41
Diagramy czynności
Zastosowania diagramów czynności
- algorytmy
// algorytm szukanie
// minimum w tablicy
Czytaj(t);
min := t[1];
for (i=2; i <5; i++)
{
if (t[i] < min)
min = t[i];
}
Wypisz(min)
42
Diagramy czynności
Zastosowania diagramów czynności
- przypadki użycia
Przypadek użycia: Zakup napoju
Aktor główny: Klient
Główny scenariusz:
1. Klient wrzuca bilon do automatu
2. Klient wybiera rodzaj napoju
3. Automat stwierdza, że wartość bilonu
odpowiada cenie wybranego napoju
4. Automat wydaje napój
5. Klient odbiera napój
Rozszerzenia:
3a. Automat stwierdza, że cena wybranego
napoju jest większa niż wartość wrzuconego
bilonu:
3a1. Automat prosi o wrzucenie dodatkowego
bilonu
3a2. Klient wrzuca dodatkowy bilon
3b. Automat stwierdza, że cena wybranego
napoju jest mniejsza niż wartości bilonu:
3b1. Automat zwraca resztę
43
Diagramy czynności
Zastosowania diagramów czynności –
modelowanie procesów biznesowych
Proces biznesowy: Obsługa wniosków o urlop
Aktorzy: Pracownik, Przełożony, Dział finansowy
Opis procesu: Podanie o urlop może złożyć każdy
pracownik. Pracownik wypełnia formularz urlopu
wpisując dane osobowe i planowany okres urlopu.
Podanie jest wysyłane do jego bezpośrednio
przełożonego. Przełożony może odrzucić całkowicie
podanie – koniec procesu, może wysłać do poprawki
lub zaakceptować w całości. Jeśli przełożony wyda
decyzję pozytywną, wówczas wniosek jest wysyłany
do działu finansowego celem zaksięgowania i
wykonania niezbędnych kalkulacji.