Katedra Informatyki Gospodarczej Szkoła Główna Handlowa Laboratorium z zarządzania procesami biznesowymi dr Andrzej Sobczak
Agenda spotkania Sprawdzamy pracę domową UML w modelowaniu biznesowym c.d. Zamiast podsumowania... 2
Katedra Informatyki Gospodarczej Szkoła Główna Handlowa Sprawdzamy pracę domową
Katedra Informatyki Gospodarczej Szkoła Główna Handlowa UML w modelowaniu biznesowym c.d.
Diagramy czynności: Przygotowanie napoju Wybierz napój [kawa znaleziona] Weź filiŝankę [woda wybrana] [herbata wybrana] Weź filiŝankę Nasyp kawy do filtru Dolej wody do zbiornika fork Zrób herbatę Weź sobie wody WłóŜ filtr do maszynki Weź filiŝankę Nalej kawę join światełko zgasło Włącz maszynkę Gotowanie kawy 5
Diagramy czynności (aktywności) - notacje nazwa czynności czynność (z zaokrąglonymi końcami); dla przypomnienia - stan na diagramach stanu posiada zaokrąglone rogi przejście, z zasady nie opisywane, poniewaŝ z reguły oznacza zakończenie czynności; moŝe być opatrzone warunkiem, moŝe teŝ być oznaczone symbolem iteracji; akcje opisujące przejścia powinny być raczej dołączone do którejś z czynności; romb, który moŝe rozdzielać jedno przejście na kilka innych (opatrzonych warunkami) lub łączyć kilka alternatywnych przejść w jedno sztabka synchronizujaca (synchronization bar); moŝe być typu fork (rozdzielenie jednej operacji na kilka przebiegających równolegle) lub typu join (złączenie kilku operacji równoległych w jedną) aktywność początkowa aktywność końcowa 6
Diagramy czynności (aktywności) - wprowadzenie Diagramy czynności nie uwidaczniają wyraźnie związków między obiektami a czynnościami. Pokazują aktywności bez pokazywania bytów, realizujących daną aktywność i dlatego z reguły uŝywane są jako punkt startowy dla procesu modelowania zachowań. Są one (tj. byty) lepiej widoczne na diagramach interakcji. MoŜna to uwidocznić etykietując czynność nazwą obiektu lub korzystając z torów diagram czynności w zaleŝności od odpowiedzialności. Diagramy czynności umoŝliwiają wybór kolejności do zrobienia potrafią one ująć procesy współbieŝne. 7
Diagramy czynności proces warunkowy Proces warunkowy ilustrowany jest za pomocą: Rozgałęziania Ma jedno wejście i kilka dozorowanych wyjść Tylko jedno wyjście moŝe być wybrane Dozory powinny się nawzajem wykluczać MoŜliwe jest zastosowanie dozoru domyślnego Scalania Scalanie ma kilka wejść i jedno wyjście Scalanie oznacza koniec procesów warunkowych rozpoczętych rozgałęzieniem 8
Diagramy czynności proces współbieŝny Proces współbieŝny ilustrowany jest za pomocą: Rozwidleń Ma jedno wejście i kilka wyjść Kiedy jest wybierane dane rozwidlenie, to są wybierane równolegle wszystkie wyjścia Kolejność wykonywania takich operacji jest niewaŝna Złączeń 9
Diagramy czynności synchronizacja (1) Przy procesach współbieŝnych potrzebna jest synchronizacja W wyniku złączenia do wyjścia ze stanu dochodzi się gdy na wejściu zakończono wszystkie działania. MoŜna dodać warunek do wątku wychodzącego z rozwidlenia jest to tzw. wątek warunkowy. W trakcie wykonywania czynności, jeŝeli warunek w wątku warunkowym jest fałszywy, to zakłada się, Ŝe z punktu widzenia złączenia wątek ten jest zakończony. 10
Diagramy czynności synchronizacja (2) Rozwidlenia i złączenia muszą być sparowane tzn. gdy jest rozwidlenie, to musi istnieć złącznie, łączące wszystkie wątki zapoczątkowane w tym rozwidleniem, przy czym: wątek pochodzący z rozwidlenia sam moŝe się rozwidlić, a nowe wątki mogą się złączyć, zanim zostanie osiągnięty docelowy punkt złączenia jeŝeli wątek pochodzący z rozwidlenia prowadzi bezpośrednio do innego rozwidlenia, to drugie rozwidlenie moŝe być usunięte, a wątki z niego wyprowadzone mogą wychodzić z pierwotnego rozwidlenia. 11
Diagramy czynności tory pływackie Diagramy czynności mówią co się dzieje, nie mówią kto co robi. Rozwiązaniem są tory pływackie (ang. swimlanes) kaŝdy tor reprezentuje odpowiedzialność klasy/obiektu. NaleŜy rozdzielić elementy diagramu w pionowych strefach (tzw. torach) Tory mogą być trudne do narysowania ze względu na złoŝoność diagramów Czasami stosuje się nie całkiem proste tory 12
Diagramy czynności tory pływackie (1) Wystaw zamówienie Klient Dział SprzedaŜy Magazyn Płać :Zamówienie [wysłane] :Zamówienie [umieszczone] Pobierz zamówienie :Zamówienie [skompletowane] Wyślij to, co zamówiono :Zamówienie [wprowadzone] Skompletuj zamówienie 13
Diagramy czynności tory pływackie (2) Wystaw zamówienie Klient Dział SprzedaŜy Magazyn Płać :Zamówienie [wysłane] :Zamówienie [umieszczone] Pobierz zamówienie :Zamówienie [skompletowane] Wyślij to, co zamówiono :Zamówienie [wprowadzone] Skompletuj zamówienie 14
Diagramy czynności - dekompozycje Czynność moŝe być rozbita na podczynności mamy do czynienia z dekompozycją czynności. MoŜna pokazać stan złoŝony osobno, na diagramie wyŝszego poziomu, albo na diagramie czynności z elementami wewnętrznymi. Na diagramach czynności moŝna stosować współbieŝność dynamiczną UmoŜliwia ona zilustrowanie iteracji bez rysowania pętli. Oznaczana jest za pomocą symbolu *. 15
Kiedy stosować i nie stosować diagramów czynności Stosuje się diagramy czynności do: Analizowania przypadków uŝycia - gdy istotniejsze są bardziej operacje niezbędne do realizacji danego przypadku (czy teŝ wzajemne zaleŝności między tymi operacjami), a nie to, kto jest odpowiedzialny za ich przeprowadzenie. Przypisanie operacji do obiektów jest wykonywane na etapie późniejszym z wykorzystaniem diagramów interakcji. Zrozumienia interakcji zachodzących między przypadkami uŝycia. Modelowania przetwarzania wielowątkowego. Nie stosuje się diagramów czynności do: Pokazywania współpracy między obiektami w trakcie realizacji przypadku uŝycia - do tego bardziej nadają się diagramy interakcji. Pokazywania zachowań obiektów w trakcie ich Ŝycia - w tym celu powinno się wykorzystywać diagramy stanów. 16
Diagramy stanów wprowadzenie (1) Obiekt, w świetle swoich własności (unikalna toŝsamość, stan i zachowanie) moŝe być traktowany jako automat o skończonej liczbie stanów, czyli pewną maszynę, która moŝe znajdować się w danym momencie w jednym z wyróŝnionych stanów, a takŝe moŝe oddziaływać na otoczenie i vice-versa. Takie podejście, separujące obiekt od reszty świata (innych obiektów w systemie czy poza nim), stanowiące podstawę do konstruowania diagramów stanu, pozwala na dokładną analizę zachowań pojedynczego obiektu, ale moŝe nie być najlepszym sposobem na zrozumienie działania systemu jako całości. 17
Diagramy stanów wprowadzenie (2) Stan jest to zestaw wartości wszystkich atrybutów oraz aktualnych powiązań danego obiektu z innymi obiektami w pewnej chwili czasowej. Stan, w podstawowym znaczeniu, dotyczy pewnego fragmentu historii Ŝycia obiektu. Stan jest oznaczany za pomocą prostokąta z zaokrąglanymi rogami. Stan moŝe mieć nazwę, ale często jest charakteryzowany jedynie poprzez wewnętrzne operacje. Nazwa stanu 18
Diagramy stanów wprowadzenie (3) Diagram stanów prezentuje stany pojedynczego obiektu i przejścia pomiędzy nimi. Diagramy stanów słuŝą do opisu zachowania systemu. Diagramy stanów są przydatne do opisywania zachowań obiektu obejmującego kilka przypadków uŝycia. Diagramy stanów nie nadają się do opis zachowań obejmujących współdziałanie wielu obiektów. Opisują wszystkie moŝliwe stany, do których moŝe przejść dany obiekt oraz jak zmienia się stan obiektu pod wpływem zdarzeń do niego docierających od stanu początkowego, po końcowy. Diagramy stanów są deterministyczne tzn. z danego stanu moŝna wybrać tylko jedno przejście. 19
Przykład diagram stanów unscheduled download course offerings downloading make a course selection selecting make a different selection verify selection verifying select another course check schedule sign schedule checking schedule scheduled 20
Diagramy stanów akcja dozór zdarzenie Źródło: UML w kropelce - M. Fowler 21
Diagramy stanów składnia Nazwę stanów piszę się zwyczajowo z wielkiej litery i podajemy w postaci rzeczownika odczasownikowego np. Faksowanie. Etykieta przejścia składa się z trzech części (syntaktyka): zdarzenie [dozór] jest to warunek logiczny zwracający jedną z dwóch wartości (prawda/fałsz); do dozorowanego przejścia następuje gdy dozór zwraca wartość prawda /akcja Etykieta czynności (syntaktyka): do /czynność 22
Diagramy stanów akcje i czynności Zdarzeniem jest coś, co następuje w jednym punkcie czasowym i warte jest analizowania z punktu widzenia celów projektowanego systemu. Akcje związane są z przejściami i traktuje się je jako procesy atomowe. Czynności związane są ze stanami, mogą trwać dłuŝej. Czynności mogą zostać przerwane przez jakieś zdarzenie. 23
Diagramy stanów - zdarzenia Typy zdarzeń: Zdarzenie moŝe być wygenerowane po upływie określonego czasu oznacza się je słówkiem after np. after (20 minutes) Zdarzenie moŝe być wygenerowane po spełnieniu określonego warunku oznacza się to słówkiem when np. when (teperature > 100 C) Zdarzenie specjalne entry kaŝda akcja stowarzyszona ze zdarzeniem entry jest wykonywana przy kaŝdym wejściu do stanu Zdarzenie specjalne exit kaŝda akcja stowarzyszona ze zdarzeniem entry jest wykonywana przy kaŝdym wyjściu ze stanu 24
Diagramy stanów - stany Stan złoŝony (ang. superstate) - stan wyŝszego poziomu stan złoŝony składa się z (pod)stanów; rysuje się dla niego pojedyncze przejście. (pod)stany dziedziczą przejścia stanu złoŝonego, obejmujące je. WyróŜniamy stany: sekwencyjne (jeden następuje po drugim) współbieŝne (pojawiają się w tym samym czasie) 25
Przykład stanu złoŝonego wybrano 1-szy bieg Jazda wybrano poprzedni bieg Jazda do przodu na 2-gim biegu Jazda do przodu na 1-szym biegu wybrano następny bieg Jazda do tyłu naciśnięto hamulec wybrano wsteczny bieg Samochód zatrzymany 26
Diagramy stanów współbieŝnych Stany współbieŝne stosuje się w przypadkach, kiedy obiekt ma pewne zbiory zachowań niezaleŝnych (ortogonalnych). Nie naleŝy mieć zbyt wielu stanów współbieŝnych dla pojedynczego obiektu. W przypadku, gdy występuje diagram z wieloma stanami współbieŝnymi dla obiektu to jest to sygnał do rozbicia tego obiektu na klika prostszych. WspółbieŜne składniki stanu na diagramie, są to miejsca w których dany obiekt moŝe przebywać w dwóch róŝnych stanach, kaŝdy dla innego składnika obiektu. W chwili opuszczenia stanów współbieŝnych przez obiekt, trafia on do jednego stanu. 27
Diagramy stanów współbieŝnych Źródło: UML w kropelce - M. Fowler 28
Diagramy stanów - szczegóły Stan wznowienia wskazuje, Ŝe stan złoŝony zapamiętuje swoje podstany, gdy następuje przejście obiektu do innego stanu. Płytki stan wznowienia pamięta jedynie podstany najwyŝszego poziomu. Głęboki stan wznowienia pamięta podstany na wszystkich poziomach. 29
Diagram stanów wybrano 1-szy bieg Jazda wybrano poprzedni bieg Jazda do przodu na 2-gim biegu Jazda do przodu na 1-szym biegu wybrano następny bieg Jazda do tyłu naciśnięto hamulec wybrano wsteczny bieg Samochód zatrzymany 30
Katedra Informatyki Gospodarczej Szkoła Główna Handlowa Zamiast podsumowania
Drobna praca domowa Narysować diagramy dynamiczne dotyczące rejestracji działalności gospodarczej 32
Katedra Informatyki Gospodarczej Szkoła Główna Handlowa Dziękuję za uwagę andrzej@egov.pl