MAS dr. Inż. Mariusz Trzaska. Diagramy aktywności



Podobne dokumenty
Diagramy czynności. Widok logiczny. Widok fizyczny

Inżynieria oprogramowania

Język UML w modelowaniu systemów informatycznych

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Diagramy czynności Na podstawie UML 2.0 Tutorial

Model przypadków użycia - rola diagramów aktywności Część 2 Wykładowca Dr inż. Zofia Kruczkiewicz

Diagramy czynności tworzenie modelu przypadków użycia Wykład 2

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek

Diagramy czynności. sekwencyjnych i współbieŝnych. pomiędzy uporządkowanymi ciągami czynności, akcji i obiektów

Diagramy czynności. dr Beata Kuźmińska-Sołśnia

MAS dr. Inż. Mariusz Trzaska

Projektowanie systemów informacyjnych

KATEDRA INFORMATYKI STOSOWANEJ PŁ INŻYNIERIA OPROGRAMOWANIA

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

LABORATORIUM 4. Po co mi to, przecież wiem, co system ma robić? - czyli o diagramach UML. DIAGRAM CZYNNOŚCI (Activity Diagram)

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych

Język UML w modelowaniu systemów informatycznych

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1

Podstawy języka UML2 w realnych projektach

Modelowanie obiektowe - Ćw. 6.

Diagram sekwencji. Komunikaty mogą być opisane w sposób sformalizowany. poprz / [warunek] *[iter] nr sekw : wynik := operacja(lista)

Język UML w modelowaniu systemów informatycznych

Inżynieria oprogramowania Jarosław Kuchta. Modelowanie interakcji

Laboratorium z zarządzania procesami biznesowymi

6 Diagramy aktywności

ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż. ADAM KOLIŃSKI ZARZĄDZANIE PROCESAMI I PROJEKTAMI. Zakres projektu. dr inż.

Diagramy maszyn stanowych, wzorce projektowe Wykład 5 część 1

Język UML w modelowaniu systemów informatycznych

Diagramy interakcji. Jarosław Kuchta Dokumentacja i Jakość Oprogramowania

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Modelowanie obiektowe

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla nauczyciela

TECHNOLOGIE OBIEKTOWE. Wykład 3

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

MODELOWANIE PRZEPŁYWU DANYCH

Diagramy stanów tworzenie modeli analizy i projektowania Na podstawie UML 2.0 Tutorial

UML cz. I. UML cz. I 1/1

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Spis treúci. 1. Wprowadzenie... 13

Michał Adamczyk. Język UML

UML w Visual Studio. Michał Ciećwierz

Podstawy programowania III WYKŁAD 4

Projektowanie interakcji. Jarosław Kuchta

Źródło: S. Wrycza, B. Marcinkowski, K. Wyrzykowski Język UML 2.0 w modelowaniu systemów informatycznych Helion DIAGRAMY INTERAKCJI

Zalety projektowania obiektowego

Projektowanie oprogramowania cd. Projektowanie oprogramowania cd. 1/34

Unified Modeling Language

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Podstawy projektowania systemów komputerowych

SysML Tworzenie diagramu aktywności SysML005

UML. dr inż. Marcin Pietroo

Inżynieria Oprogramowania DIAGRAMY CZYNNOŚCI (AKTYWNOŚCI)

Diagram Przepływu Danych - podstawowe bloki składowe i reguły konstrukcji

UML cz. III. UML cz. III 1/36

Diagram maszyny stanowej - POJĘCIA

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

Diagramy klas. dr Jarosław Skaruz

Inżynieria oprogramowania. Wykład 7 Inżynieria wymagań: punkty widzenia, scenariusze, przypadki użycia

Rysunek 1: Przykłady graficznej prezentacji klas.

Diagramu Związków Encji - CELE. Diagram Związków Encji - CHARAKTERYSTYKA. Diagram Związków Encji - Podstawowe bloki składowe i reguły konstrukcji

Diagramy przypadków użycia

MAS dr. Inż. Mariusz Trzaska

APIO. W4 ZDARZENIA BIZNESOWE. ZALEŻNOŚCI MIĘDZY FUNKCJAMI. ELEMENTY DEFINICJI PROCESU. DIAGRAM ZALEŻNOŚCI FUNKCJI.

Graficzna notacja procesów biznesowych BPMN. Porównanie z notacja UML. Jakub Morkis, Piotr Chmielewski

Podstawy Inżynierii Oprogramowania

Podstawy języka UML2 w realnych projektach

Wymiar poziomy: oś na której umieszczono instancje klasyfikatorów biorące udział w interakcji.

Projektowanie systemów informatycznych. Diagramy przypadków użycia

Podstawy języka UML UML

Diagramy obiegu dokumentów a UML w modelowaniu procesów biznesowych. Stanisław Niepostyn, Ilona Bluemke Instytut Informatyki, Politechnika Warszawska

NIFIED M L ODELLING ANGUAGE. Diagramy czynności

Rozszerzenia sieci Petriego

Wymagania klienta mogą być opisane na różnych poziomach abstrakcji: Podział wymagań: Wymagania funkcjonalne Wymagania niefunkcjonalne

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

INŻYNIERIA OPROGRAMOWANIA. laboratorium

miejsca przejścia, łuki i żetony

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Architektura interfejsu użytkownika

Definicje. Algorytm to:

Diagramy klas. WYKŁAD Piotr Ciskowski

Sieci Petriego. Sieć Petriego

Wstęp do programowania 2

Inżynieria wymagań. Wykład 3 Zarządzanie wymaganiami w oparciu o przypadki użycia. Część 5 Definicja systemu

Język UML. dr inż. Piotr Szwed C3, pok

Rozszerzenia sieci Petriego

Procesowa specyfikacja systemów IT

Projektowanie Systemów Informacyjnych

Modelowanie przypadków użycia. Jarosław Kuchta Projektowanie Aplikacji Internetowych

R o g e r A c c e s s C o n t r o l S y s t e m 5. Nota aplikacyjna nr 016 Wersja dokumentu: Rev. A. obecności w VISO

Tutorial prowadzi przez kolejne etapy tworzenia projektu począwszy od zdefiniowania przypadków użycia, a skończywszy na konfiguracji i uruchomieniu.

Modelowanie i analiza systemów informatycznych

Projektowanie i wdrażanie systemów informatycznych (materiały do wykładu cz. II)

Diagram przypadków użycia

POLITECHNIKA OPOLSKA

opisuje nazwy kolumn, wyrażenia arytmetyczne, funkcje nazwy tabel lub widoków warunek (wybieranie wierszy)

Portal zarządzania Version 7.5

Modelowanie i analiza systemów informatycznych.

Transkrypt:

MAS dr. Inż. Mariusz Trzaska Wykład 6 Diagramy aktywności

Zagadnienia Diagramy aktywności Podstawowe pojęcia; notacja Aktywność a akcja Przepływy decyzyjne Przepływy współbieżne Łącznik Przepływ sterowania a przepływ obiektu Wierzchołki typu obiekt Akcje związane z sygnałami Obszar rozszerzenia Obszar przerwania Obsługa wyjątków Partycje Podsumowanie diagramów aktywności Wykorzystano materiały z wykładu PRI autorstwa dr inż. Ewy Stemposz oraz prof. Kazimierza Subiety 2

Diagramy aktywności (czynności) adiagramy aktywności nie posiadają wyraźnego pierwowzoru w poprzednich pracach Jacobsona, Boocha i Rumbaugha. Łącząc idee pochodzące z trzech źródeł: diagramów zdarzeń J. Odell a, technik modelowania stanów i sieci Petriego są szczególnie użyteczne przy modelowaniu przepływów operacji. agraf aktywności Wierzchołki grafu aktywności odpowiadają stanom wyróżnialnym w trakcie przetwarzania 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ż np. jako pojedyncza metoda (z perspektywy projektowej). Przejścia między wierzchołkami (krawędzie grafu) są związane z zakończeniem przetwarzania wyspecyfikowanego dla danej aktywności. Diagramy aktywności mogą być wykorzystywane do modelowania: procesów biznesowych, scenariuszy przypadków użycia, przetwarzania współbieżnego, pojedynczych operacji, grup operacji, algorytmów. 3

Adaptacja notacji BNF Symbol Znaczenie = struktura danych po lewej stronie symbolu = składa się z elementów wyspecyfikowanych po stronie prawej + odpowiada słowu i ; wykorzystywane do agregowania elementów [ ] definiowana struktura zawiera tylko jeden spośród elementów zawartych w nawiasach [ ]; kolejne elementy są oddzielane przecinkami ( ) elementy zawarte w nawiasach ( ) są opcjonalne, co oznacza, że mają 0..1 wystąpień { } definiowana struktura zawiera od 0..* wystąpień elementu zawartego w nawiasach { }; kolejne wystąpienia są oddzielane przecinkami * * informacje zawarte między * * są traktowane jak komentarz, a więc nie stanowią elementów składowych definiowanej struktury

Prezentowanie diagramów aktywności <nagłówek-diagramu> = (<wyróżnik_diagramu>) + <nazwa-diagramu> + {<parametr>} ad Nazwa diagramu ad activity diagram 5

Podstawowe pojęcia; notacja Podstawowe pojęcia przyjęte w UML 2.0 dla diagramów aktywności: nazwa aktywności/ akcji aktywność; czynność (ang. acitivity) lub akcja (ang. action) przepływ sterowania: oznacza zakończenie jednej aktywności/akcji i przejście do drugiej; ten sam symbol jest używany dla oznaczenia przepływu obiektu blok decyzyjny: może rozdzielać jedno przejście na kilka alternatywnych (opatrzonych warunkami) lub łączyć kilka alternatywnych przejść w jedno przejście sztabka synchronizująca (ang. synchronization bar): może być typu rozwidlenie (rozdzielenie jednej operacji na kilka realizowanych współbieżnie) lub typu scalenie (złączenie kilku operacji współbieżnych w jedną) aktywność początkowa aktywność końcowa zakończenie przepływu 6

Aktywność a akcja Akcja: operacja elementarna; nie może zostać przerwana; czas realizowania akcji zazwyczaj nie jest brany pod uwagę x := 100 Wylicz średnią Aktywność: operacja złożona z innych operacji (złożonych lub elementarnych) Złóż zamówienie Rejestruj klienta Rejestruj klienta Uwaga: Warunek zachowania spójności diagramów wymusza konieczność tożsamości nazw: aktywności nadrzędnej i diagramu uszczegóławiającego. 7

Decyzja (ang. decision node) Przepływy decyzyjne [Warunek 1-szy] [Warunek 2-gi] [Warunek 1-szy] [Warunek 2-gi] [True] [Warunek 3-ci] [else] [False] Złączenie (ang. merge node) Decyzja + Złączenie [...] [...] 8

Przepływy współbieżne Rozwidlenie (ang. fork node) Scalenie (ang. join node) Rozwidlenie + Scalenie 9

Diagram aktywności; przykład ad Przygotowanie Napoju Znajdź Napój [nie ma kawy] [kawa znaleziona] [nie ma herbaty] [herbata znaleziona] Nasyp kawy do filtru Dolej wody do zbiornika Weź filiżanki Zrób herbatę Weź sobie wody Włóż filtr do maszynki *[dla 3 filiżanek] Nalej kawę [światełko zgasło] Wypij Włącz maszynkę Gotowanie kawy 10

Przykład wykorzystania zakończenia przepływu ad Budowa i instalacja komponentów Buduj komponent Instaluj komponent [nie wszystkie komponenty zostały zbudowane] [wszystkie komponenty zostały zbudowane] 11

Łącznik Łącznik (ang. activity edge connector): umożliwia przerwanie przepływu sterowania w jednym miejscu diagramu i wznowienie go w innym: kolejne łączniki są zwyczajowo oznaczane kolejnymi dużymi literami alfabetu łacińskiego, przepływ sterowania może zostać wznowiony na innym diagramie aktywności. ad Przykładowy diagram Aktywność 1 A Aktywność 2 Aktywność 4 Aktywność 3 Aktywność 5 A 12

Wykorzystanie łącznika; przykład ad Przygotowanie Napoju [nie ma kawy] Znajdź Napój [kawa znaleziona] A A [nie ma herbaty] [herbata znaleziona] Nasyp kawy do filtru Dolej wody do zbiornika Weź filiżanki Zrób herbatę Weź sobie wody Włóż filtr do maszynki *[dla 3 filiżanek] Nalej kawę [światełko zgasło] Wypij Włącz maszynkę Gotowanie kawy 13

Przepływ sterowania a przepływ obiektu (1) Przepływ sterowania (ang. control flow edge) Przepływ obiektu (ang. object flow edge) nazwa wierzchołek typu obiekt (ang. object node) ang. object node pin ang. standalone object node pin nazwa Przepływ obiektu jako kategoria modelowania został wprowadzony w celu ilustrowania przepływu obiektów (lub danych innego rodzaju) pomiędzy aktywnościami/akcjami. 14

Przepływ sterowania a przepływ obiektu (2) {stream} nazwa {stream} nazwa [stan] {stream} nazwa [stan] {stream} {nonstream} jest domyślne Alternatywna notacja dla oznaczenia przepływu strumienia danych: zamiast ograniczenia {stream} zamalowano groty strzałek i wierzchołki we/we operacji nazwa nazwa [stan] nazwa [stan] 15

Przepływ sterowania a przepływ obiektu (3) symbol trójkąta jest wykorzystywany dla oznaczenia przepływu danych wykorzystywanych w obsłudze nie rutynowych sytuacji sytuacja rutynowa sytuacja nierutynowa Akcepuj opłatę Opłata nie zaakceptowana Opłata zaakceptowana Wyślij informację o braku akceptacji Wyślij informację o akceptacji Opiniuj prośbę o pożyczkę Odrzuć prośbę 16

Notacja dla wierzchołka typu obiekt (1) Wierzchołek typu obiekt: oznacza taki wierzchołek w grafie aktywności, w którym dostępne jest wystąpienie/wystąpienia określonego klasyfikatora; nazwa nazwa : typ nazwa [stan, stan,...] nazwa nazwa zbiór nazw {upperbound=2}{ordering=lifo} gdzie: nazwa jest nazwą wierzchołka w czasie run-time u wierzchołek typu obiekt może zawierać tylko takie dane, które są zgodne z typem danych określonych dla wierzchołka jeśli typ danych dla wierzchołka nie został określony, wierzchołek może zawierać dane dowolnego typu wystąpienie/wystąpienia mogą mieć wyspecyfikowane stany jest możliwe określenie maksymalnej liczby wystąpień, które może zawierać dany wierzchołek; ograniczenie {upperbound=2}; możliwe jest wykorzystanie * ograniczenie {ordering=lifo} jest umieszczane dla uporządkowania wystąpień w wierzchołku innego, niż uporządkowanie domyślne FIFO 17

Notacja dla wierzchołka typu obiekt (2) Specjalne rodzaje wierzchołków typu obiekt nazwa «datastore» nazwa [stan] «CentralBuffer» nazwa [stan] wierzchołek zawierający sygnał/sygnały wierzchołek z bazą danych wierzchołek z buforem centralnym służącym do kolejkowania przepływów danych pomiędzy różnymi miejscami źródłowymi i docelowymi «selection»: zachowanie (ang. behavior) wykorzystywane w celu umożliwienia wyboru danych związanych z wierzchołkiem typu obiekt; selection jest umieszczane w polu adnotacji określa sposób selekcjonowania danych dla przepływów wychodzących z wierzchołka typu obiekt «selection» specyfikacja selekcji nazwa «selection» specyfikacja selekcji 18

Przepływ obiektu; przykłady Skompletuj zamówione produkty Zamówienie Wyekspediuj zamówione produkty Skompletuj zamówione produkty Zamówienie Zamówienie Wyekspediuj zamówione produkty Skompletuj zamówione produkty Wyekspediuj zamówione produkty Uproszczenie przepływu obiektu (poprzez opuszczenie detali) Skompletuj zamówione produkty Zamówienie Produkty Zamówienie Produkty Wyekspediuj zamówione produkty 19

Specyfikacja selekcji; przykłady Skompletuj zamówione produkty «selection» zgodnie z priorytetem zamówień; FIFO dla zamówień o tym samym Zamówienie priorytecie Zamówienie [skompletowane] [skompletowane] Wyekspediuj zamówione produkty zamówione produkty będą ekspediowane w oparciu o priorytety zamówień; zamówienia o tym samym priorytecie mają być obsługiwane zgodnie z porządkiem FIFO Zamknij zamówienie Zamówienie [zamknięte] «transformation» Zamówienie.klient Klient Wyślij informację do klienta transformacja jest rodzajem selekcji; aktywność Zamknij zamówienie produkuje obiekty Zamówienie, podczas gdy aktywność Wyślij informację do klienta wymaga obiektów Klient; zostaną one uzyskane dzięki transformacji będącej efektem zapytania Zamówienie.klient 20

Zbiory parametrów Zbiory parametrów (ang. parameter sets): oznaczają alternatywne podgrupy danych we/wy dla operacji oznaczane za pomocą obramowania wierzchołków; jeden wierzchołek typu obiekt może pojawić się w kilku podgrupach; Domyślnie wewnątrz grupy wierzchołków typu obiekt (stanowiących parametry we/wy dla operacji) wierzchołki są traktowane na zasadzie logicznej koniunkcji, tzn. można rozpocząć przetwarzanie specyfikowane przez operację dopiero wtedy, gdy wszystkie dane, specyfikowane przez wierzchołki wejściowe, zostały skompletowane (to samo dotyczy wierzchołków wyjściowych). Jeśli wykorzystano oznaczanie zbiorów parametrów, to przetwarzanie może rozpocząć się, gdy któraś z podgrup danych została skompletowana. 21

Akcje związane z sygnałami; sygnał typu czas Akcja związana z akceptacją sygnału (ang. accept event action) Żądanie anulowania zamówienia Anuluj zamówienie sygnał typu czas koniec miesiąca Generuj raport ze sprzedaży Akcja związana z wysyłaniem sygnału (ang. sent event action) Przetwarzaj zmówienie Żądanie opłaty Opłata potwierdzona Wyekspediuj zamówienie 22

Wagi Waga (ang. weight): wskazuje minimalną liczbę obiektów, które muszą być przekazane z jednej aktywności do drugiej, aby ta druga mogła być uruchomiona. Wagę, będącą ograniczeniem, oznacza się w nawiasach klamrowych w pobliżu przepływu obiektu. Waga = 0 oznacza, że nie nałożono ograniczenia na liczbę przekazywanych obiektów. Przykład 1 Przykład 2 Rejestruj uczestnika kursu Student {weight = 15} Student Utwórz grupę kursantów Rejestruj studenta «datastore» Baza sudentów {weight = all} Dokonaj przeglądu ocen «selection» student.przynależność = null Przypisz studenta do grupy raz na semestr 23

Parametry złożonych aktywności Parametr aktywności: oznacza parametr wejściowy lub parametr wyjściowy dla złożonych aktywności. Do danej aktywności można przypisać więcej niż jeden parametr. Nazwa aktywności Nazwa parametru Przykład Student Rejestruj studenta i przypisz do grupy Rejestruj studenta «datastore» Baza sudentów «selection» student.przynależność = null Przypisz studenta do grupy 24

Parametry złożonych aktywności; przykład Rejestruj studenta i przypisz do grupy Student «datastore» Baza sudentów {weight = all} Dokonaj przeglądu ocen raz na semestr 25

Obszar rozszerzenia (1) Obszar rozszerzenia (ang. expansion region): określa pewien zamknięty, zagnieżdżony fragment diagramu aktywności z wyspecyfikowanymi wejściami i wyjściami (w postaci wierzchołków rozszerzenia). Każde wejście jest kolekcją danych tego samego typu (co sugeruje notacja przyjęta dla wierzchołków zbiór czterech segmentów). Operacje, zawarte wewnątrz obszaru rozszerzenia, są wykonywane raz dla każdego z wierzchołków wejściowych, zgodnie ze specyfikacją trybu przetwarzania (słowo kluczowe: stream, parallel (concurrent) lub iterative). «słowo kluczowe» stream: do pojedynczej operacji jest przekazywany strumień danych parallel: interakcje są wzajemnie niezależne iterative: kolejność interakcji jest zgodna z porządkiem danych wejściowych alternatywna notacja dla strzałek umożliwiających odróżnienie wierzchołków wejściowych od wyjściowych 26

Obszar rozszerzenia (2) W przypadku ogólnym, liczba wierzchołków wejściowych obszaru rozszerzenia nie musi być równa liczbie wierzchołków wyjściowych. Jeśli obszar rozszerzenia posiada wierzchołki wyjściowe, typy koresponujących wierzchołków we-wy muszą być zgodne. Na zewnętrz obszaru, wierzchołki wejściowe i wyjściowe są traktowane jako kolekcje elementów, zaś w jego wnętrzu jako pojedyncze elementy. «słowo kluczowe» Aktywność 27

Obszar rozszerzenia; przykład Obszar rozszerzenia z dwoma wejściami i jednym wyjściem: «parallel» przetwarzanie nie zostanie rozpoczęte dopóki obie wejściowe kolekcje nie będą dostępne (tryb parallel); obie kolekcje wejściowe muszą mieć tyle samo elementów; W danym momencie, przetwarzana jest para elementów, po jednym elemencie z każdej kolekcji; wyniki operacji na parach elementów są formowane w kolekcję wyjściową; kolekcja wyjściowa ma taki sam rozmiar, jak kolekcje wejściowe; kolekcja wyjściowa będzie dostępna na zewnątrz obszaru, kiedy zostanie zakończone przetwarzanie dla wszystkich elementów obu kolekcji wejściowych. 28

Uproszczona notacja dla obszarów rozszerzenia Uproszczona notacja dla obszarów rozszerzenia: wykorzystywana jest, dla regionów rozszerzeń z tylko jedną operacją; operacja musi być wykonana na wszystkich elementach kolekcji wejściowej. koniec roku akademickiego Porządkuj studentów wg średnich ocen Student Student Twórz listę 10-ciu najlepszych studentów 29

Obszar przerwania Obszar przerwania: określa zamknięty, zagnieżdżony fragment diagramu aktywności, wewnątrz którego w wyniku wystąpienia określonego zdarzenia, możliwe jest przerwanie normalnego przetwarzania. Żądanie anulowania zamówienia Anuluj zamówienie [zamówienie odrzucone] Przyjmij zamówienie [zamówienie przyjęte] Skompletuj produkty dla zamówienia Wekspediuj produkty zamówienia 30

Obsługa wyjątków Notacja podstawowa Wierzchołek chroniony Nazwa wyjątku Wierzchołek z obsługą wyjątku Przykład Rejestruj ocenę Ocena spoza zakresu Przeskaluj ocenę Notacja alternatywna Wierzchołek chroniony Nazwa wyjątku Wierzchołek z obsługą wyjątku Uwaga: Zarówno wierzchołek chroniony, jak i wierzchołek z obsługą wyjątku muszą być na tym samym poziomie zagnieżdżenia. 31

Partycje (1) Partycja (ang. activity partitions): kategoria modelowania, wykorzystywana do grupowania elementów diagramów aktywności. Bazę dla grupowania stanowi podział odpowiedzialności za realizację operacji zawartych w wyróżnionej grupie. Diagramy aktywności, w wersji podstawowej, specyfikują przepływy operacji bez określania, kto jest odpowiedzialny za ich realizację, np. którzy ludzie czy które komórki organizacyjne (z perspektywy pojęciowej) czy też które klasy (z perspektywy projektowej). Można opisywać każdą aktywność podając osobę, komórkę organizacyjną, organizację 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 oddzielnych partycjach rozdzielonych pionowymi (i/lub poziomymi) liniami. Nazwy partycji mogą odpowiadać nazwom osób, komórek organizacyjnych, organizacji czy klas odpowiedzialnych za wykonanie aktywności. Partycje mogą być dalej dzielone na podpartycje (ang. activity subpartition). 32

ad Realizacja dostawy podzespołów Partycje (2) Kontrahent Dział Dostaw Magazyn Skompletuj podzespoły Odbierz dostawę Wyślij fakturę Dostarcz podzespoły Dostawa [odebrana] Umieść podzespoły w magazynie Zaksięguj przychód Wyślij zapłatę 33

Przykład dla wymagań z biblioteką (1) Uproszczony scenariusz dla przypadku użycia: wypożyczenie egzemplarza książ Sprawdzenie, czy można wypożyczyć danemu czytelnikowi o ile można, to: Sprawdzenie, czy książka jest dostępna (czy jest wolny egzemplarz) o ile jest dostępny egzemplarz, to: Rejestracja wypożyczenia «include» Sprawdzenie, czy można wypożyczyć danemu czytelnikowi Personel biblioteczny Wypożyczenie egzemplarza książki «extend» Sprawdzenie dostępności książki «extend» Rejestracja wypożyczenia egzemplarza 34

Przykład dla wymagań z biblioteką (2) Sprawdzenie, czy można wypożyczyć danemu czytelnikowi [True] Sprawdzenie dostępności książki [False] [else] [dostępna] Rejestracja wypożyczenia egzemplarza książki 35

Podsumowanie diagramów aktywności Kiedy używać 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 może być wykonywane na etapie późniejszym, z wykorzystaniem diagramów interakcji. Do zrozumienia interakcji zachodzących między przypadkami użycia (ważne zastosowanie). Do modelowania przetwarzania wielowątkowego. Kiedy nie używać 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. 36