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

Podobne dokumenty