Diagram sekwencji Komunikaty mogą być opisane w sposób sformalizowany poprz / [warunek] *[iter] nr sekw : wynik := operacja(lista) Przykłady komunikatów przesuń(1,2) wyn1:=przesuń(5,5), *[1..5]: wyn1 := przesuń(5,7) [z>0]: wyn1 := przesuń(5,7), A3,B4 / [x<0] *[1..4] C3.1: wyn2 := pobierzlokację(wyn1) [dostęp do bazy] *[Dla każdego rekordu] 6: DaneWyj:=Formatuj(DaneWej,Format)
Diagram sekwencji Tworzenie i niszczenie obiektów Typ wiadomości - create Typ wiadomości - destroy
Diagram sekwencji Iteracja poprz / [warunek] *[iter] nr sekw : wynik := operacja(lista) Wielokrotne wysłanie komunikatu
Diagram sekwencji Samowywołanie Symbolizuje wywołanie własnej operacji przez daną instancję Szczególny przypadek iteracji
Diagram sekwencji Rozgałęzienie OdbiorcaPoczty PanelKontaPocztowego FiltrAntyspamowy Kosz odrzućwiadomość [spam] nauczfiltr Przekazanie sterowania do różnych instancji w zależności od warunku [nie spam] umieśćwkoszu
Diagram sekwencji Rozgałęzienie OdbiorcaPoczty PanelKontaPocztowego ZarządcaSkrzynki Kosz usuńwiadomość [kosz=true] umieśćwkoszu zapiszwkoszu Różne komunikaty do tej samej instancji w zależności od warunku [kosz=false] usuńbezpowrotnie
Diagram sekwencji Fragmenty wyodrębnione Część diagramu interakcji charakteryzująca się specyficznymi właściwościami Nagłówki Alt alternatywa Opt opcja Break przerwanie Loop iteracja Par - współbieżność Może zawierać wiele podfragmentów - operandów Neg Critical Assert Consider Ignore Strict Seq
Diagram sekwencji Fragmenty wyodrębnione alternatywa Wybór tylko jednej z dostępnych opcji
Diagram sekwencji Fragmenty wyodrębnione opcja Wydziela krok(i) wykonywane w szczególnym przypadku Zawartość jest wykonywana tylko w przypadku spełnienia warunku
Diagram sekwencji Fragmenty wyodrębnione przerwanie Wydziela czynności wykonywane w przypadku szczególnym awaryjnym Wykonanie przerwania anuluje dalsze etapy
Diagram sekwencji Fragmenty wyodrębnione iteracja Wydziela fragment wykonywany wielokrotnie Z reguły jawne określenie krotności wykonania
Diagram sekwencji Fragmenty wyodrębnione współbieżność Wydziela sekwencje czynności wykonywane niezależnie od siebie w tym samym czasie
Diagram sekwencji Fragmenty wyodrębnione Neg funkcjonalność nieprawidłowa Zawiera sekwencje czynności wykonywane w sytuacji zaistnienia nieprawidłowości Podobne do przerwania ale nie zawiera obsługi wyjątku ani nie anuluje dalszych etapów.
Diagram sekwencji Fragmenty wyodrębnione Critical obszar krytyczny Wskazuje obszar o najwyższym priorytecie w realizacji interakcji. Może służyć do określania priorytetów fragmentów współbieżnych Instancje wchodzące w skład obszaru krytycznego nie mogą uczestniczyć w innych interakcjach
Diagram sekwencji Fragmenty wyodrębnione Assert formuła Wyodrębnia wykonanie sformalizowanego algorytmu, twierdzenia np. obliczenie optymalnej ceny towaru
Diagram sekwencji Fragmenty wyodrębnione Consider istotność Wyszczególnia komunikaty, które muszą być wykonane w trakcie wykonywania obejmowanego fragmentu np. jako istotny określono komunikat dodajnowytowar we fragmencie obejmującym wprowadzanie danych podstawowych i opisu towaru
Diagram sekwencji Fragmenty wyodrębnione Ignore nieistotność Wyszczególnia komunikaty, które nie są istotne w trakcie wykonywania obejmowanego fragmentu Ich wykonanie nie warunkuje wykonania całego fragmentu
Diagram sekwencji Fragmenty wyodrębnione Strict ścisłe uporządkowanie Komunikaty w wyodrębnionym fragmencie muszą być wykonane w określonym na diagramie porządku
Diagram sekwencji Fragmenty wyodrębnione Seq słabe uporządkowanie Komunikaty w wyodrębnionym fragmencie odnoszące się do różnych linii życia mogą być wykonane w innym porządku niż wskazany na diagramie
Diagram sekwencji Przywoływanie wystąpienia Występuje w diagramach opisujących bardziej złożone aspekty systemu, gdzie pojedynczy diagram byłby zbyt skomplikowany Wprowadza hierarchiczną budowę: Diagram nadrzędny przywoływane diagramy podrzędne tzw. hierarchia top-down
Diagram sekwencji Przywoływanie wystąpienia Parametr wyodrębnienia - ref
Diagram sekwencji Przywoływanie wystąpienia Przywołanie wystąpienia może nastąpić poprzez: czynnik czasu (przywołanie zgodnie z sekwencją elementów umieszczonych na diagramie) komunikat (przywołanie za pośrednictwem komunikatu z diagramu nadrzędnego. Komunikat jest przekazywany poprzez bramę)
Diagram sekwencji Przywoływanie wystąpienia Brama Realizuje kontakt z otoczeniem diagramu, przywołania wystąpienia lub fragmentu wyodrębnionego Odpowiednio: formalna brama, przez którą diagram komunikuje się z otoczeniem (diagramami nadrzędnymi) właściwa brama, przez którą diagram komunikuje się z umieszczonym w nim przywołaniem wystąpienia wyrażeniowa - brama, przez którą diagram komunikuje się z umieszczonym w nim fragmentem wyodrębnionym
Diagram sekwencji Przywoływanie wystąpienia Wykorzystanie bram
Przykłady diagramów Diagram sekwencji
Przykłady diagramów Diagram sekwencji
Przykłady diagramów Diagram sekwencji
Przykłady diagramów Diagram sekwencji ;)
Diagram sekwencji Tworzenie diagramu - wskazówki Najczęściej diagram sekwencji powstaje na podstawie diagramu przypadków użycia Tworzenie iteracyjno-przyrostowe. Model konceptualny -> Model implementacyjny
Diagram sekwencji Etapy tworzenia diagramu - propozycja 1. Analiza odpowiedniego przypadku użycia i jego scenariuszy 2. Na podstawie 1 zidentyfikowanie klasyfikatorów instancji uczestniczących w interakcji 3. Konceptualna wersja diagramu (Instancje, komunikaty, obszary aktywacji) cdn
Diagram sekwencji Etapy tworzenia diagramu - propozycja 4. Uszczegółowianie diagramu Rodzaje komunikatów Tworzenie/niszczenie obiektów Warunki Samowywołania Iteracje Rozgałęzienia Fragmenty wyodrębnione Przywoływane wystąpienia Bramy
Diagramy UML 2.0 Diagram czynności (activity diagram) Graficzne przedstawienie przepływów sterowania i danych między uporządkowanymi ciągami czynnosci Wprowadz login *.czn *.ad [else] [login nieznany] wprowadz haslo 8/13 [trzecia pomylka] [bledne haslo] [else]
Diagram czynności Przedstawia przepływ sterowania oraz danych między uporządkowanymi ciągami czynności, akcji, obiektów Wykorzystywany do modelowania Scenariuszy przypadków użycia Procesów systemowych Algorytmów
Diagram czynności Podstawowe elementy: Czynności Akcje Przepływy sterowania Początek Koniec, zakończenie przepływu
Diagram czynności Podstawowe elementy Czynności (activities) Ogólne Podzielne Długotrwałe Określone zachowanie złożone z ciągów podczynności, akcji itp. Ma na celu wykonanie pewnego procesu
Diagram czynności Podstawowe elementy Akcje (actions) Elementarna jednostka zachowania Szczegółowe Niepodzielne (nieprzerywalne) Krótkotrwałe
Diagram czynności Podstawowe elementy Przepływ sterowania (control flow) Relacja między czynnościami bądź akcjami. Pokazuje kolejność przekazywania sterowania
Diagram czynności Podstawowe elementy Początek (initial node) Punkt rozpoczęcia przepływu sterowania. Standardowo tylko jeden początek na diagramie.
Diagram czynności Podstawowe elementy Koniec (final node) Punkt zatrzymania wszystkich przepływów sterowania. Może wystąpić wielokrotnie na diagramie
Diagram czynności Podstawowe elementy Zakończenie przepływu (flow final node) Punkt zatrzymania konkretnego przepływu sterowania. Nie powoduje zatrzymania innych przepływów. Może wystąpić wielokrotnie na diagramie
Diagram czynności Dodatkowe elementy Przepływy decyzyjne Alternatywne drogi przepływu decyzji, zależne od spełnienia warunku
Diagram czynności Dodatkowe elementy Przepływy decyzyjne Mogą również realizować funkcję złączenia przepływów
Diagram czynności Dodatkowe elementy Przepływy decyzyjne
Diagram czynności Dodatkowe elementy Przepływy współbieżne Rozwidlenie Rozdzielenie sterowania na dwie (lub więcej) dróg wykonywanych równolegle
Diagram czynności Dodatkowe elementy Przepływy współbieżne Scalenie Złączenie sterowania z kilku równoległych dróg. Inicjacja przepływu wynikowego następuje po dotarciu wszystkich znaczników sterowania
Diagram czynności Dodatkowe elementy Przepływy współbieżne Scalenie Przy większej ilości przepływów wchodzących istnieje możliwość określenia warunku przekazania sterowania
Diagram czynności Przepływy danych W przypadku konieczności uszczegółowienia przepływu sterowania wprowadzany jest przepływ danych Przepływ danych może być określony przez obiekt, którego dane są wykorzystywane w trakcie przepływu
Przepływy danych Diagram czynności Przekaźniki danych (pins) Alternatywną metodą uwidoczniania przepływów danych są przekaźniki danych. Przepływ danych może być określony przez obiekt, którego dane są wykorzystywane w trakcie przepływu
Przepływy danych Diagram czynności Przekaźniki danych (pins) Alternatywną metodą uwidoczniania przepływów danych są przekaźniki danych.
Przepływy danych Diagram czynności Przekaźniki danych (pins) Przekaźniki danych mogą być określone bardziej precyzyjnie
Przepływy danych Diagram czynności Przekaźniki danych (pins) - Wagi Waga jest ograniczeniem określającym minimalną ilość znaczników sterowania przekazanych ze źródła do czynności/akcji docelowej niezbędna do zainicjowania tej akcji.
Sygnał czasu Diagram czynności Asynchroniczny bodziec inicjujący czynność lub akcję Inicjacja może być jednorazowa lub wielokrotna
Diagram czynności Sygnał czasu - przykład
Diagram czynności Partycje diagramów Grupowanie elementów diagramu według pełnionej roli, miejsca realizacji, klasyfikatora odpowiedzialnego za realizację itp.. Każda partycja posiada unikalną nazwę
Diagram czynności Partycje diagramów Bardziej złożony podział jest reprezentowany za pomocą złączenia partycji poziomych i pionowych
Diagram czynności Partycje diagramów Bardziej złożony podział jest reprezentowany za pomocą złączenia partycji poziomych i pionowych lub za pomocą partycji zagnieżdżonych
Diagram czynności Obszar rozszerzenia Obszar diagramu wykonywany wielokrotnie w zależności od ilości elementów na wejściu Wejście i wyjście z obszaru jest jednoznacznie określone
Diagram czynności Obszar przerwania Czynności zawarte w obszarze wykonywane są do chwili zaistnienia niesynchronicznego przerwania