Diagram sekwencji
Transkrypt
Diagram sekwencji
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 odrzućWiadomość [spam] nauczFiltr [nie spam] umieśćwKoszu Kosz Przekazanie sterowania do różnych instancji w zależności od warunku Diagram sekwencji Rozgałęzienie OdbiorcaPoczty PanelKontaPocztowego ZarządcaSkrzynki usuńWiadomość [kosz=TRUE] umieśćwKoszu zapiszwKoszu [kosz=FALSE] usuńBezpowrotnie Kosz Różne komunikaty do tej samej instancji w zależności od warunku 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 Diagram sekwencji Przykłady diagramów Diagram sekwencji Przykłady diagramów Diagram sekwencji Przykłady diagramów Diagram sekwencji ;) Przykłady diagramów 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 [login nieznany] [else] 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 Diagram czynności Przepływy danych 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 Diagram czynności Przepływy danych Przekaźniki danych (pins) Alternatywną metodą uwidoczniania przepływów danych są przekaźniki danych. Diagram czynności Przepływy danych Przekaźniki danych (pins) Przekaźniki danych mogą być określone bardziej precyzyjnie Diagram czynności Przepływy danych 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. Diagram czynności Sygnał czasu 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