• Nie Znaleziono Wyników

Diagramy czynności

N/A
N/A
Protected

Academic year: 2021

Share "Diagramy czynności"

Copied!
67
0
0

Pełen tekst

(1)

Diagramy czynności

Jolanta Sala Halina Tańska

2018/2019

(2)

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.

(3)

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.

(4)

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 .

(5)

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.

(6)

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.

(7)

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.

(8)

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)

(9)

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.

(10)

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.

(11)

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

(12)

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

(13)

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.

(14)

Dekompozycja czynności

• czynności

• podczynności

• akcje

Czynności można dekomponować

stosując następującą regułę:

(15)

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)

(16)

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.

1/5

(17)

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.

2/5

(18)

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.

3/5

(19)

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.

4/5

(20)

Rozwidlenie / Złączenie

Rozwidlenie rozpoczyna współbieżne wykonywane czynności w systemie

5/5

Rozwidlenia i złączenia równoległych przepływów sterowania obrazuje się

w UML za pomocą pasków synchronizacyjnych.

Złączenie kończy współbieżne

wykonywane czynności w systemie

(21)

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)

(22)

Punkt synchronizacji

Punkt synchronizacji

wskazuje miejsce w

którym współbieżne

strumienie zostaną

zsynchronizowane.

(23)

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)

(24)

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.

1/5

(25)

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.

2/5

(26)

Rozgałęzienie decyzyjne

3/5

(27)

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.

4/5

(28)

Rozgałęzienie decyzyjne

5/5

(29)

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)

(30)

Wysłanie

Wysłanie ukazuje akcję wysłania komunikatu do miejsca przeznaczenia, gdzie może

spowodować uruchomienie przejścia lub

wykonania akcji.

(31)

Odebranie

Odebranie to element czekający na wystąpienie komunikatu.

Odebranie występuje w 2 wersjach:

• odebranie zdarzenia

• odebranie zdarzenia czasowego

(32)

Odebranie

(33)

Odebranie i wysłanie

(34)

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)

(35)

Diagram czynności

Dodatkowymi elementami diagramu czynności są:

• tory (swimlanes)

• przepływy obiektów (objects flows)

(36)

Tory

Tory pozwalają na podzielenie stanów czynności na grupy

Każda grupa czynności reprezentuje część

systemu odpowiedzialną za konkretne czynności.

(37)

Tory

(38)

Przepływ obiektów

Przepływ obiektów pozwala na

powiązanie obiektu z akcją lub

czynnością.

Obiekty:

z

należące do klasy Zamówienie

r

należące do klasy Rachunek

(39)

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.

(40)

Przykład 1 Biblioteka

Diagram przypadków użycia Scenariusz

Diagram aktywności/czynności

(41)

uc Biblioteka

Personel biblioteczny

w ypożycz książkę

spraw dź czy można w ypożyczyć danemu

czytelnikow i

spraw dź dostępność książki

rej estracj a w ypożyczenia

«include»

«extend»

«extend»

Diagram przypadków użycia

(42)

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

(43)

act w ypożycz książkę

ActivityInitial

pobranie danych czytelnika i ksiazki

spraw dzenie, czy można w ypożyczyć danemu

czytelnikow i

spraw dzenie dostępności książki

rej estracj a w ypożyczenia książki

ActivityFinal

[można]

[nie można]

[dostępna]

[niedostępna]

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.

Diagram aktywności/czynności

Biblioteka posiada książki i czasopisma.

Tylko personel może wypożyczać czasopisma.

System ma rejestrować wypożyczenia i zwroty

oraz pilnować, by przestrzegano wymienionych wyżej reguł (ograniczeń).

Może być kilka egzemplarzy tej samej książki.

(44)

Przykład 2

Kancelaria prawnicza

Diagram przypadków użycia Scenariusz

Diagram aktywności/czynności

(45)

Szef Kancelarii

przydziel prawnika do sprawy

wprowadź dane

Sprawdź czy można przydzielić sprawę

przydziel prawnika do sprawy

include

extend

extend

Diagram przypadków użycia – przydziel prawnika do sprawy

(46)

Scenariusz

• 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

• Jeżeli prawnik jest aktualnie wolny, system rejestruje przydzielenie prawnika do sprawy i kończy PU

(47)

act model kancelaria

ActivityInitial

pobierz dane praw nika i

spraw y spraw dź czy praw nik nie

j est zleceniodaw cą spraw y

ActivityFinal

spraw dź czy praw nik j est aktualnie w olny rej estruj przydział

ActivityFinal

[nie jest zleceniodawcą]

[jest zleceniodawcą]

[jest zajęty]

Diagram aktywności/czynności – przydziel prawnika do sprawy

(48)

Przykład 3

Składanie zamówienia

Diagram przypadków użycia Scenariusz

Diagram aktywności/czynności

(49)

Klient

złóż zamówienie

wprowadź dane

Sprawdź podane informacje

przydziel numer zamówienia

include

extend

extend

Diagram przypadków użycia – złóż zamówienie

(50)

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

Scenariusz – złóż zamówienie

(51)

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]

(52)

Podsumowanie

• Modelowanie

procesów/funkcji/czynności

• Modelowanie obiektów

• Modelowanie

procesów/funkcji/czynności

• Diagram czynności

• Modelowanie obiektów

• Diagram stanów

(53)

Diagram stanów obiektu f: Faktura

(54)

Uwarunkowania

• Sekwencję aktywności specyfikowanych w scenariuszu można i należy opisywać

wykorzystując diagramy aktywności

• Diagramy aktywności z natury rzeczy lepiej niż język naturalny nadają się do opisu złożonych przebiegów (z warunkami i/lub iteracjami)

• Diagramy aktywności są użytecznym narzędziem w procesie modelowania zachowań, zwłaszcza w

początkowych etapach analizy.

(55)

Uwarunkowania

• Diagramy aktywności obrazują przetwarzanie na wysokim poziomie abstrakcji

• Diagramy aktywności są używane jako punkt startowy dla procesu modelowania zachowań

• Podczas modelowania zachowań 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

(56)

Przykład 4 do rozwiązania do rozwiązania Lotnisko – odprawa pasażerów

Diagram przypadków użycia Scenariusz

Diagram aktywności/czynności

(57)

Klient

wydaj kartę pokładową

wprowadź dane

Sprawdź podane informacje

przydziel numer miejsca

include

extend

extend

Diagram przypadków użycia – wydaj kartę pokładową

(58)

Scenariusz

(59)

act Pasażer poddaj e się odpraw ie

Obsługa pasażerów Pasażer

ActivityInitial

okazanie biletu w

punkcie odpraw y w eryfikacj a biletu

skierow anie pasażera do obsługi klientów odprawa bagaży

przyj ęcie bagażu

ActivityFinal

opłacenie dopłaty

w ydanie karty pokładow ej

ActivityFinal [else]

[bilet prawidłowy]

[else]

[bagaż kwalifikuje się do dopłaty]

(60)

Przykład 5 do rozwiązania do rozwiązania Biuro obsługi klienta

Diagram przypadków użycia Scenariusz

Diagram aktywności/czynności

(61)

Klient

złóż zamówienie

wprowadź dane

Sprawdź podane informacje

przydziel numer zamówienia

include

extend

extend

Diagram przypadków użycia – złóż zamówienie

(62)

Scenariusz

(63)

Diagram czynności

(64)

Przykład 6 do rozwiązania do rozwiązania Przydzielanie serwisantów

Diagram przypadków użycia Scenariusz

Diagram aktywności/czynności

(65)

Diagram przypadków użycia

Szef Serwisu

przydziel serwisanta

wprowadź uszkodzenie

Sprawdź tygodniowe

obciążenie

przydziel serwisantowi

naprawę

include

extend

extend

(66)

Scenariusz

(67)

act model aktyw ności

ActivityInitial

znaj dź serw isantów , którzy potrafią napraw ić

dane uszkodzenie

spraw dź, czy serw isant może w ykonać napraw ę w ciągu naj bliższego

tygodnia

anuluj zgłoszenie

przydziel serw isantow i napraw ę

ActivityFinal [sprawdzono wszystkich serwisantów]

[może]

[nie może]

Diagram czynności

Cytaty

Powiązane dokumenty

Diagramy przypadków użycia służą do modelowania perspektywy przypadków użycia systemu, a w tym do opisywania otoczenia systemu, podsystemu lub klasy lub określania

Usługi uzupełniające to przeglądanie aktywnych aukcji, przeglądanie historii zawartych transakcji, a także finalizacja transakcji, związana z odnotowaniem zapłaty oraz

Związku zawierania używa się wówczas, gdy z kilku innych przypadków użycia można. wydzielić pewną

Większość tych problemów rozpatruje jednak problem jednokryterialny, w którym celem zadania jest minimalizacja czasu trwania projektu [Soltani, Haji, 2007].. Obecnie powstaje

(5) Diagram czynności przypadku użycia Wstawianie nowego zakupu (model przypadku użycia w warstwie biznesowej – partycje TAplikacja i TRachunek).. (6) Kod źródłowy metody

(5) Diagram czynności przypadku użycia Wstawianie nowego zakupu (model przypadku użycia w warstwie biznesowej – partycje TAplikacja i TRachunek).. (6) Kod źródłowy metody

oznaczający powodzenie testu przypadku użycia (np. Wstawianie nowej książki jest możliwe tylko wtedy, gdy istnieje już jej tytuł w katalogu oraz posiada unikatowy numer.

Obiekt typu ContactGroup zawiera atrybut typu kolekcja referencji do obiektów typu Contact (strona wiele do wiele) oraz atrybut typu rerefencja obiektu typu AddressBook (strona