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.