Diagram sekwencji -...

58
Diagram sekwencji Komunikaty mogą być opisane w sposób sformalizowany 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) Przykłady komunikatów poprz / [warunek] *[iter] nr sekw : wynik := operacja(lista)

Transcript of Diagram sekwencji -...

Diagram sekwencji

Komunikaty mogą być opisane w sposób sformalizowany

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)

Przykłady komunikatów

poprz / [warunek] *[iter] nr sekw : wynik := operacja(lista)

Diagram sekwencji

Tworzenie i niszczenie obiektów

Typ wiadomości - destroy

Typ wiadomości - create

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

Przekazanie sterowania do różnych instancji w zależności od warunku

OdbiorcaPoczty PanelKontaPocztowego FiltrAntyspamowy Kosz

odrzućWiadomość

[spam] nauczFiltr

[nie spam] umieśćwKoszu

Diagram sekwencji

Rozgałęzienie

Różne komunikaty do tej samej instancji w zależności od warunku

OdbiorcaPoczty PanelKontaPocztowego ZarządcaSkrzynki

usuńWiadomość

[kosz=TRUE] umieśćwKoszu

[kosz=FALSE] usuńBezpowrotnie

Kosz

zapiszwKoszu

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ść Neg Critical

Assert Consider Ignore Strict

Seq

Może zawierać wiele

podfragmentów - operandów

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)

*.czn *.ad

8/13

• Graficzne przedstawienie

przepływów sterowania i

danych między

uporządkowanymi ciągami

czynnosci

Wprowadz login

[login nieznany]

wprowadz haslo

[else]

[bledne haslo][trzecia pomylka]

[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)

Określone zachowanie złożone z

ciągów podczynności, akcji itp.

Ma na celu wykonanie pewnego

procesu Ogólne

Podzielne

Długotrwałe

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

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

Przekaźniki danych (pins)

Diagram czynności Przepływy danych

Alternatywną metodą uwidoczniania

przepływów danych są przekaźniki

danych.

Przekaźniki danych (pins)

Diagram czynności Przepływy danych

Przekaźniki danych mogą być określone

bardziej precyzyjnie

Przekaźniki danych (pins)

Diagram czynności Przepływy danych

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.

Przekaźniki danych (pins) - Wagi

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