prezentacja 08

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Inżynieria oprogramowania

Wykład 8

UML:

diagram sekwencji

dr inż. Piotr Wrzeciono

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Diagramy sekwencji

Diagram sekwencji jest najprawdopodobniej jednym
z najwcześniej opracowanych schematów ogólnych. Jego
geneza wiąże się z wynalezieniem telefonu i potrzeby
opracowania jasnego opisu zestawiania i rozłączania
połączenia telefonicznego.

Ponieważ opis ten jest pewną sekwencją zdarzeń, wcześniej
wspomniany opis nazywa się również diagramem sekwencji.

Jednakże w odróżnieniu od diagramu UML, opis zestawiania
połączeń zawiera mniej możliwości opisu różnorodnych
sytuacji.

Zatem, w celu dobrego zrozumienia tego diagramu UML,
wrócimy teraz do analogowej telekomunikacji.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Sekwencja połączenia telekomunikacyjnego

W zestawianiu połączenia telefonicznego pojawiają się zwykle trzy
urządzenia: dwa telefony oraz centrala. Jednakże najbardziej
typowy układ, to dwa telefony i trzy centrale

Stary telefon

Stara centrala

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Konfiguracja zwykłej sieci telefonicznej

Do innej centrali Do innej centrali

Centrale lokalne

Centrala

międzystrefowa

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Sterowanie zestawianiem i rozłączaniem połączenia

System na schemacie jest w miarę prosty, gdyż taka sieć
umożliwia realizację połączeń pomiędzy różnymi centralami.

Jednakże wspomniana sieć nie będzie mogła pracować, gdy
nie opracuje się systemu sygnalizacji, zarówno pomiędzy
abonentami jak i centralami.

Dodatkowo trzeba opracować znacznie prostszy schemat
działania całości – diagram sekwencji połączenia.

W tym diagramie, zamiast rysunków przedstawiających
poszczególne elementy sieci, rysuje się pionowe proste linie,
a strzałki pomiędzy nimi reprezentują sekwencję.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Sygnalizacja jako określona sekwencja

Podstawową sprawą jest wybór telefonu innego rozmówcy
przez abonenta inicjującego połączenie.

Zatem, zaczynając od początku:

1.Abonent inicjujący musi podnieść słuchawkę i upewnić

się, że centrala działa.

2.Abonent wybiera numer
3.Abonent czeka na odpowiedź, czy można zestawić

połączenie czy jest to niemożliwe.

Oczywiście centrale muszą posiadać własne systemy
sygnalizacji.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Różne sekwencje dla różnych możliwych zdarzeń

Przyjmując na początek za wzór standard obowiązujący
w Polsce, mamy następującą sygnalizację na linii od centrali
do abonenta:

1.Podniesienie słuchawki przez abonenta – zmiana

rezystancji elektrycznej linii,

2.Wybranie numeru przez abonenta (dekadowe lub

tonowe)

3.Sygnał zwrotny informujący o zestawianiu połączenia

*)

,

4.Sygnał informujący o zestawieniu połączenia nazywany

zwrotnym sygnałem dzwonienia lub

5.Sygnał

informujący

o

niemożności

zestawienia

połączenia.

*)

W telefonii komórkowej zwrotny sygnał dzwonienia jest generowany

przez sam telefon, ale czasami można też usłyszeć sygnał pochodzący
z centrali (jest on cichszy)

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Różne sekwencje dla różnych możliwych zdarzeń

Jest oczywiście możliwa również sytuacja, gdy abonent
wywoływany nie może odebrać rozmowy – wówczas są
przyjęte dwa działania:

1.Po

określonym

czasie

oczekiwania,

centrala

automatycznie rozłącza połączenie, informując o tym
abonenta inicjującego połączenie za pomocą sygnału
zajętości.

2.Centrala czeka tak długo, aż abonent dzwoniący odłoży

słuchawkę.

Uwaga!!! Według prawa telekomunikacyjnego, w telefonii
stacjonarnej rozmowę zakończyć może tylko osoba
inicjująca połączenie!

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Różne sekwencje dla różnych możliwych zdarzeń

Sytuacja w przypadku niemożności zestawienia połączenia:

Są możliwe następujące zdarzenia:

1.Nie istnieje abonent o wybranym numerze (komunikat

z centrali do abonenta)

2.Abonent, którego numer został wybrany, jest czasowo

odłączony od sieci (na przykład nie odłożył słuchawki na
widełki lub nie zapłacił rachunków) – tutaj też stosowny
komunikat z centrali

3.Któraś z trzech central telefonicznych, wspomnianych na

początku przykładu, jest zablokowana i nie może
zestawić połączenia (sygnał zajętości).

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Pierwsze diagramy sekwencji - telekomunikacja

Jak przedstawiono wcześniej, istnieje wiele możliwych
sekwencji dla każdej z możliwej sytuacji. Jest to typowe
w telekomunikacji, gdzie każdemu zdarzeniu odpowiada
zazwyczaj jakaś sekwencja.

Celem

zobrazowania

danej

sekwencji

wymyślono

specyficzny diagram, w którym pojawiają się urządzenia,
sygnalizacja i wykonywane działania.

Diagram sekwencji w UML jest rozszerzeniem tego, co
zostało wymyślone przez inżynierów zajmujących się
telekomunikacją.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Diagram zestawiania połączenia (nr 1)

abonent

centrala

U

pły

w

c

za

su

Wybranie numeru

Sygnał ze

stawiania

połączen

ia

Zwrotn

y sygn

ał dzw

onieni

a

UWAGA!!

To nie jest

UML!!!

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Diagram zestawiania połączenia (nr 2)

Abonent A

Centrala 1

Centrala 2

Centrala 3

Abonent B

Wybranie

numeru

Syg

nał

ze

sta

wia

nia

poł

ącz

eni

a

Sprawdzanie

łącza

Sprawdzanie

łącza

Sprawdzanie

łącza

Wolne

łącze

Wolne

łącze

Wolne

łącze

Zwrotny

sygnał

dzwonie

nia

Sygnał

dzwonienia

Podnies

ienie

słuchaw

ki

Kanał

zestaw

iony

Kanał

zestawi

ony

Rozpoc

zęcie

rozmow

y

UWAGA!!

To nie jest

UML!!!

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Diagram telekomunikacyjny - podsumowanie

Ważną

zaletą

diagramu

telekomunikacyjnego

jest

wprowadzenie jednej osi czasu dla wszystkich sekwencji.
Oznacza to, że na wykresie można zaznaczyć poszczególne
kroki sekwencji wykonywanych przez wiele urządzeń w tym
samym momencie czasowym.

Natomiast zasadniczą wadą jest konieczność rysowania
diagramu dla każdego przypadku oddzielnie.
Na przykład diagram pozytywnego zestawienia połączenia
jest jeden, ale gdy nie można zestawić kanału, trzeba
rozrysować każdy przypadek oddzielnie. Zatem dla tego
przypadku uzyskujemy co najmniej 5 diagramów.

Diagram telekomunikacyjny stosuje się tylko w jednej
dziedzinie – sam z siebie nie jest ogólny.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

A gdyby tak spróbować diagram uogólnić?

Podczas

omawiania

diagramu

maszyny

stanowej

przywołany został jego protoplasta – graf automatu
z układów cyfrowych (elektronika, ale nie tylko).

Podobny

potencjał

posiada

diagram

sekwencji

w telekomunikacji.

W pierwszym kroku można zamienić urządzenia oraz
abonentów na obiekty (nie mogą to być klasy, bo sekwencja
istnieje w czasie, a klasa, jako idea (filozofia platońska), jest
niezmienna!!

Zatem istnieje możliwość utworzenia diagramu sekwencji w
UML na podstawie schematu telekomunikacyjnego.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Diagram sekwencji w UML

Dokonując uogólnienia diagramu telekomunikacyjnego,
zamieniamy uczestników ruchu telekomunikacyjnego na
obiekty, stosując symbol obiektu, ogólnie przyjęty w UML.

Dodatkowo, każdy obiekt uzyskuje tak zwaną linię życia
(lifeline), odpowiednik pionowej prostej w diagramie
telekomunikacyjnym.

Lifeline

zaznacza

się

kreską

przerywaną.

Dodatkowo, jeżeli obiekt wywołuje jakąś metodę pod
wpływem sekwencji, pojawia się dodatkowy prostokąt,
nazywany aktywacją.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Diagram sekwencji UML - obiekt

Obiekt

Linia życia
(lifeline)

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Obiekty i czas już jest – a co z komunikacją?

W diagramie telekomunikacyjnym przekazywana jest
informacja z wykorzystaniem sygnalizacji.

W diagramie UML uzyskuje się to za pomocą wiadomości
(analogia do sygnaliznacji jest oczywista). Dodatkowo,
w terminologii anglojęzycznej, określenia typów wiadomości
są identyczne jak w przypadku telekomunikacji!

Wiadomość to message, a główny rodzaj wiadomości
nazywa się call.

Wiadomości dzieli się na dwa rodzaje:
Synchroniczną – czyli wykonywaną natychmiast, na żądanie,
oraz asynchroniczną – niezwiązaną specjalnie z jakąś
czynnością.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Diagram sekwencji w UML - komunikacja

Najpierw abonent wybiera numer, a następnie Centrala wysyła sygnał

zestawiania połączenia. Jest to wywołanie asynchroniczne – gdyż nawet

w myśl prawa telekomunikacyjnego nie jest potrzebne, ale jest powszechne

w użyciu.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Diagram sekwencji w UML - komunikacja

Diagram sekwencji dla zestawienia połączeń z wykorzystaniem dwóch central

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Kilka uwag na temat oznaczeń

w diagramie sekwencji UML

Diagram sekwencji UML posiada specyficzne komunikaty.
Oznacza się je dwoma rodzajami kresek ze strzałkami.

Pierwsza z nich, bardzo często stosowana, oznacza
komunikat synchroniczny, wpływający bezpośrednio na
działanie danej akcji.

Drugi komunikat pojawia się jako informacja zwrotna po
zakończeniu

aktywności.

Komunikat

oznacza

się

następująco:

Asynchroniczny
kończy się
strzałką bez
wypełnienia!

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Kilka uwag na temat oznaczeń

w diagramie sekwencji UML

Ponieważ w UML operujemy na obiektach, to diagram
sekwencji posiada specjalne rozszerzenia służące do
powoływania obiektów do istnienia (create), jak i ich
niszczenia (destroy).

Powołanie

nowego obiektu

do istnienia

Zniszczenie Obiektu 2

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Specyficzne rodzaje linii życia (UML 2.1)

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Boundary Life line

Boundary Life line nazywa się często po polsku obiektem
granicznym.

Pojęciem tym określa się obiekt, który zawiera w sobie
elementy dwóch różnych rzeczywistości.

Na przykład interfejs użytkownika jest tego rodzaju obiektem,
bo zawiera w sobie zarówno część czysto informatyczną
(wywołanie

określonych

funkcjonalności

programu),

a jednocześnie swoim wyglądem przypomina świat
rzeczywisty (przyciski, wyświetlacze, wirtualne pokrętła,
suwaki itd., itp..).

Obiektem granicznym może być też zespół tworzący
oprogramowanie, a złożony z ludzi o różnych profesjach.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Control Lifeline

Control w języku angielskim oznacza przede wszystkim
sterowanie. W takim znaczeniu stosuje się to słowo
w automatyce i w elektronice.

Polskie słowo „kontrola” nie do końca odpowiada
znaczeniowo angielskiemu „control”, zatem powinno się
tłumaczyć nazwę tego typu obiektu jako obiekt sterowania.

Obiekt oznaczany jako „control” służy głównie do sterowania
innymi obiektami lub pełni specjalną funkcję nadzorującą.

Na przykład komputer sterujący sygnalizacją świetlną jest
tego rodzaju obiektem.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Entity Lifeline

Entity tłumaczy się na język polski jako encja, przy czym
samo słowo „encja” jest bardzo wieloznaczne.

Na przykład encją nazywa się znak w HTML zdefiniowany
poprzez &nazwa; , W ten sposób definiuje się niełamliwe
spacje, a dawniej używano tego sposobu do tworzenia stron
internetowych przeznaczonych dla internautów z różnych
krajów.

Encja jest również używana w XHTML, do definiowania wielu
parametrów.

W filozofii encją nazywa się niezależny byt.

Zatem co z tą encją?

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Entity Lifeline

Przyjmując tożsamość pomiędzy encją a bytem, możemy
powiedzieć, że każdy obiekt powołany do istnienia na
podstawie klasy jest encją.

Na przykład samochód „garbus” jest encją, komputer też jest
encją, itd..

Posługując się metodą eliminacji, można przyjąć, że encją
będzie taki obiekt, którego głównym celem jest istnienie
i działanie samo dla siebie, czym znacząco różni się od
pozostałych wspomnianych typów.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Zgrupowania w diagramach sekwencji UML

W diagramach sekwencji istnieją bardzo ważne rozszerzenia
konceptualne względem diagramu telekomunikacyjnego.

Są to zgrupowania aktywności, w celu podkreślenia ich
współdziałania.

Zgrupowanie oznacza się prostokątem, przy czym w lewym
górnym roku jest nazwa określająca typ zgrupowania.

Obecnie stosowane grupy to:

ref, loop, opt, par, alt

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Grupa ref

Grupa „ref” pochodzi od angielskiego określenia „interaction
occurrence”.

Tłumacząc to na język polski, jest to grupa umożliwiająca
ukrycie interakcji w osobnym makrze. Ty, samym zwiększa
się przejrzystość bardzo rozbudowanych diagramów
sekwencji UML.

W ogólności, to co się dzieje w grupie ref posiada charakter
prywatny.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Grupa loop

Grupa „loop” oznacza pętlę.

Grupowanie tego typu tworzy się, gdy dany fragment
algorytmu będzie musiał być wykonywany iteracyjnie.

Na przykład, gdy chcemy zaznaczyć, że trzeba sprawdzić
poprawność wprowadzanych danych w sposób hurtowy.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Grupa opt

Nazwa grupy „opt” pochodzi od „optional”. Jest to swoiste
polecenie warunkowe (konceptualne), które wykonuje się
tylko gdy warunek zostanie spełniony.

Należy jednak pamiętać, że w grupie należącej do „opt”,
nie ma możliwości zdefiniowania czegoś w rodzaju:

if(a>5) b = 7; else b = -7;

Tutaj jest tylko jedna możliwość. Aby wykorzystać else,
trzeba użyć bloku „alt”.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Grupa par

Grupa „par” to skrót od „parallel”. Czyli w grupie jest obecne
przetwarzanie równoległe.

Poszczególne wątki oddziela się od siebie przerywaną linią,
przy czym każdy z nich powinien rzeczywiście pracować
niezależnie od siebie.

Założeniem głównym tej grupy jest niedopuszczenie do
zatrzymania

się

działania

programu

z

powodu

„zakleszczenia się” wątków wchodzących w jej skład.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Grupa alt

Zgrupowanie określane jako „alt” to nic innego jak duże
blokowe polecenie warunkowe.

Skrót „alt” bierze się ze słowa „alternative”. Podobnie jak
w przypadku grupy „par”, następuje tutaj podział na
wykonanie określonych działań, pod określonymi warunkami.

Mimo iż diagramy sekwencji są w zasadzie konceptualne,
to szczególnie ten rodzaj grupy pozwala na zauważenie
wspólnej części wielu modułów, a tym samym, jako końcowy
efekt, uzyskuje się krótszy i bardziej przejrzysty kod.

background image

SGGW Wydział Zastosowań Informatyki i Matematyki, Katedra Informatyki

© dr inż. Piotr Wrzeciono, 2012/13

Inżynieria oprogramowania – wykład 8

Podsumowanie

Omówione na tym wykładzie diagramy sekwencji są już
ostatnimi z najważniejszych rodzajów diagramów UML.

Jednakże nie należy zapominać, że jeszcze kilka rodzajów
diagramów nie zostało omówionych, a sam wykład nie może
do końca wyczerpać tak rozbudowanej problematyki, jaką
jest język UML.

Na kolejnych wykładach omawiane będą zagadnienia
związane z jakością tworzenia kodu – począwszy od
debugowania, a skończywszy na różnorodnych testach.

Znajomość i stosowanie UML pozwala na uniknięcie wielu
różnych błędów już na etapie konceptualnym – dlatego
zachęcam również do samodzielnego zainteresowania się
tym najważniejszym językiem inżynierii oprogramowania.


Document Outline


Wyszukiwarka

Podobne podstrony:
0 chemia prezentacja 08 hyhdok ppt
prezentacja 08 05 2010 mrp
prezentacja z cwiczen 16 12 08
1272 PE cw 08 prezentacja
Prezentacja ze stopami zwrotu z funduszy na dzień 31 08 2015
prezentacja z cwiczen 16 12 08
C5 (X7) B2CB011MP0 14 07 08 2013 Prezentacja Przyrządy
12.08 Mikołajki - robimy prezenty świąteczne, Harcerstwo, zbiórki
Prometriq CRM CLV Procesy 08 05 06 ak prezentacja
sciaga do prezentacji EWAKUACJA INTERWENCYJNA S.L. 08.02.2008, Ewakuacja
Prezentacja mniej dzwigaj 19 12 08
Psychologia prezentacja 12.11.08, psychologia, psychologia
08.Warstwa Prezentacji (5 Warstwa), Technik Informatyk, Technik - Informatyk, Podręczniki i materiał
Prezentacja wykład V 08 11 2012r
08 Fotosynteza wpływ czynników środowiskowych prezentacja
08 01 2015 prezentacja
prezentacja z cwiczen 16 12 08
1272 PE cw 08 prezentacja
Prezentacja ze stopami zwrotu z funduszy na dzień 31 08 2015

więcej podobnych podstron