DIAGRAMY AKTYWNOŚCI Oskar Ośko Mateusz Skoczewski Michał Sułek Diagramy aktywności Graf aktywności Notacja Swimlanes Modelowanie iteracji Diagramy aktywności: Służą do modelowania przepływów operacji lub do opisu zachowań Z zasady nie pokazują wszystkich szczegółów przetwarzania. 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ń. Dla skompletowania projektu każda aktywność powinna być rozpisana na szereg operacji, z których każdą trzeba będzie na późniejszym etapie przydzielić do odpowiedniej klasy. Kiedy używamy diagramów aktywności Do analizowania przypadków użycia - gdy interesują nas 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. Do zrozumienia iterakcji zachodzących między przypadkami użycia (ważne zastosowanie). Do modelowania przetwarzania wielowątkowego. Kiedy nie używamy diagramów aktywności Do pokazywania współpracy między obiektami w trakcie realizacji przypadku użycia - do tego bardziej nadają się diagramy interakcji. Do pokazywania zachowań obiektów w trakcie ich życia, w tym celu powinno się wykorzystywać diagramy stanów. Graf aktywności to maszyna stanów, której podstawowym zadaniem nie jest analiza stanów obiektu, ale modelowanie przetwarzania(przepływów operacji). Stany grafów aktywności odpowiadają stanom wyróżnialnym w trakcie przetwarzania, a nie stanom obiektu i noszą nazwę aktywności. Aktywność może być interpretowana różnie, w zależności od perspektywy: jako zadanie do wykonania i to zarówno przez człowieka jak i przez komputer(z perspektywy pojęciowej) czy też jako pojedyncza metoda(z perspektywy projektowej). Podobnie, przejścia między stanami nie są tu wiązane z nadejściem zdarzenia, ale z zakończeniem przetwarzania wyspecyfikowanego dla danego stanu. NOTACJA Aktywność Przejście, rzadko opisywane nazwą zdarzenia, ponieważ z reguły oznacza zakończenie aktywnoś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 aktywności; kreska ciągła oznacza przepływ sterowania, a przerywana - przepływ obiektu romb decyzyjny, który może rozdzielać jedno przejście na kilka innych (opatrzonych warunkami) lub łączyć kilka alternatywnych przejść w jedno sztabka synchronizująca (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 Przykład diagramu aktywności Osoba:: Zmiana koła Znajdź zapasowe koło {fork} [masz telefon] [nie ma koła] [nie masz tel] [koło znalezione] Wyjmij lewarek Wyjmij klucz Idź na stację Zadzwoń po pomoc drogową Zapłać Poczekasz {join} Wyjmij koło Zmień koło Schowaj osprzę do zmiany koła Odjedź Swimlanes Diagramy aktywności opisują przepływy operacji, ale nie specyfikują, kto jest odpowiedzialny za ich wykonanie: którzy ludzie czy które komórki organizacyjne (z perspektywy pojęciowej). Z perspektywy projektowej dotyczy to klas. Można opisywać każdą aktywność podając osobę czy klasę odpowiedzialną za jej wykonanie, ale być może wygodniejszym sposobem przenoszenia informacji tego rodzaju jest grupowanie aktywności odpowiednio do odpowiedzialności i umieszczanie ich w regionach rozdzielonych pionowymi liniami. Regiony, z powodu swojego wyglądu, są traktowane jak tory dla przepływów (tory pływackie, ang. swimlanes). Nazwy regionów odpowiadają nazwom osób, komórek organizacyjnych czy klas odpowiedzialnych za wykonanie aktywności. Przykład diagramu aktywności Swimnlanes Prowadzący zajęcia Grupa referująca Reszta grupy Wygłoś referat Sprawdź obecność Zadaj pytania Czekaj na pytania Poproś grupę do referowania Oceń referat (9/10) Pytania: [zadane] Grupa: [wywołana] Referat: [zaliczoy] Zakończ ćwiczenia Wymigaj się z pytań Zakończ referat Przykład iteracji zrealizowany za pomocą diagramu aktywności Osoba: Przygotowania do libacji Penetruj barek, w celu ocenienia sytuacji Wybierz najlepszy dostępny alkohol Degustuj Wypij [smakuje] [drętwy] [dobry humor] Idziesz na imprezę [Nie smakuje] Odstaw butelkę Diagram przypadków użycia Sprawdzenie zdolności kredytowej klienta <include> Udzielanie kredytu <extends> Negocjacja warunków kredytu Pracownik banku <extends> Podpisanie umowy Diagram aktywności dla pokazanego przypadku użycia Sprawdź zdolności kredytowe Brak zdolności pomyślna Negocjuj warunki kredytowe udane nieudane Podpisz umowe