08 Diagram komunikacji


5R]G]LD
=QDF]HQLH GLDJUDPŃZ NRPXQLNDFML
Diagramy interakcji ewoluowały wraz z rozwojem j zyka UML. W wersjach UML 1.x
istniały tylko dwa rodzaje diagramów interakcji:
t diagramy sekwencji,
t diagramy współdziałania (kooperacji).
W wersji 2.0 standardu UML statyczny aspekt współdziałania instancji klasyfikato-
rów rozbudowano, tworz c nowy rodzaj diagramu  diagram struktur poł czonych.
W zwi zku z tym dla zaakcentowania aspektu komunikowania si instancji klasyfi-
katorów zreorganizowano architektur j zyka UML poprzez zmian nazwy  diagramy
współdziałania na  diagramy komunikacji . Po poprzedniku zachowały one seman-
tyk oraz notacj kategorii poj ciowych.
Diagramy komunikacji s stosowane do okre lania przepływów zdarze wyszczegól-
nionych w scenariuszach adekwatnego przypadku u ycia oraz zale nych wewn trz-
nych interakcjach systemu.
'LDJUDP NRPXQLNDFML MHVW URG]DMHP GLDJUDPX LQWHUDNFML VSHF\ILNXMńF\P VWUXNWX
UDOQH ]ZLń]NL SRPLG]\ LQVWDQFMDPL NODV\ILNDWRUŃZ ELRUńF\PL XG]LD Z LQWHUDNFML
RUD] Z\PLDQ NRPXQLNDWŃZ SRPLG]\ W\PL LQVWDQFMDPL
A zatem diagram komunikacji zawiera dwa ci le powi zane ze sob składniki:
t strukturaln organizacj klasyfikatorów wyra on asocjacjami;
t interakcj mi dzy ich instancjami, realizowan za po rednictwem
komunikatów  w uj ciu graficznym przyporz dkowanych do asocjacji
ł cz cych klasyfikatory.
D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc (05-11-10) 231
&] Ł , 0 3RGVWDZ\ M]\ND 80/
Diagramy komunikacji s izomorficzne w stosunku do diagramów sekwencji, co z prak-
tycznego punktu widzenia oznacza mo liwo ć przekształcenia jednego rodzaju diagra-
mu w drugi bez utraty informacji stanowi cych o istocie interakcji. Funkcja transfor-
macji diagramów sekwencji w diagram komunikacji i na odwrót jest automatycznie
realizowana przez niektóre narz dzia CASE. Diagramy komunikacji mog być rów-
nie wykorzystywane w iteracyjnym uszczegóławianiu adekwatnych diagramów klas,
obiektów i pozostałych diagramów interakcji.
3RGVWDZRZH NDWHJRULH SRMFLRZH
RUD] QRWDFMD JUDILF]QD
Podstawowymi elementami diagramów komunikacji s :
t klasyfikator,
t asocjacja,
t komunikat.
Poj cia klasyfikatora oraz komunikatu wyja niono szczegółowo w rozdziale 7., nato-
miast poj cie asocjacji w rozdziale 3. Poj ciowy izomorfizm diagramów komunikacji
oraz diagramów sekwencji wyra a si podobie stwem wyst puj cych w nim kategorii
poj ciowych. Na diagramach komunikacji mo na zaprezentować wi kszo ć elementów
charakterystycznych dla diagramów sekwencji (tabela 8.1).
7DEHOD Kategorie poj ciowe diagramów komunikacji i sekwencji
3RMFLH Z\VWSXMńFH 3RMFLH Z\VWSXMńFH 3RMFLH Z\VWSXMńFH
.DWHJRULD SRMŁ QD GLDJUDPDFK RE\GZX W\ONR QD GLDJUDPDFK W\ONR QD GLDJUDPDFK
URG]DMŃZ VHNZHQFML NRPXQLNDFML
Podstawowe Klasyfikator Linia ycia Asocjacja
Komunikat O rodek sterowania
Zaawansowane Komunikat synchroniczny Komunikat znaleziony Obiekt wielokrotny
Komunikat asynchroniczny Komunikat utracony
Komunikat zwrotny Rozgał zienie
Komunikat opcjonalny Fragmenty
wyodr bnione
Komunikat oczekuj cy
i operatory interakcji
Tworzenie obiektów
Brama
Niszczenie obiektów
Przywoływane
Warunek
wyst pienia interakcji
Samowywoływanie
Iteracja
Zagnie d enie
232 (05-11-10) D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc
5R]G]LD 0 'LDJUDP NRPXQLNDFML
Ustanowienie jakiejkolwiek komunikacji pomi dzy instancjami klasyfikatorów wy-
maga uprzedniej specyfikacji zwi zków mi dzy nimi. Po identyfikacji klasyfikatorów
nast puje ich powi zanie asocjacjami. Nast pnie do diagramu wprowadzane s sym-
bole komunikatów, umieszczane równolegle do linii asocjacji (rysunek 8.1) lub we-
dług konwencji zastosowanej na rysunku 8.2. Grot symbolu komunikatu wskazuje
kierunek przepływu komunikatu.
5\VXQHN
Komunikaty
w diagramach
komunikacji
1XPHURZDQLH NRPXQLNDWŃZ
Na diagramach komunikacji kolejno ć wysyłania komunikatów nie wynika z ich na-
turalnego uporz dkowania na osi czasu, tak jak na diagramach sekwencji. Konieczne
jest zatem wprowadzenie numeracji porz dkowej. Wyró nić mo na nast puj ce ro-
dzaje numeracji:
t numeracj prost w postaci kolejnych liczb naturalnych (rysunek 8.2),
5\VXQHN
cd Rezerwacja HoteIowa
Proste numerowanie
komunikatów
BazaDanych
2: sprawd Dost pno ćPokoi
4: dokonajRezerwacji
5: potwierd Rezerwacj
1: otwórzRezerwacj
3: wprowad Dane
IRezerwacja
6: zamknij
Recepcjonista
t numeracj kwalifikowan  system klasyfikacji dziesi tnej Deweya.
Rysunek 8.2 opisuje komunikacj obiektów podczas dokonywania rezerwacji hotelo-
wej. Numeracja wskazuje, e pierwszy komunikat otwórzRezerwacj przesyłany jest
pomi dzy obiektami Recepcjonista oraz IRezerwacja. Nast pnie IRezerwacja komu-
nikuje si z obiektem BazaDanych, przesyłaj c komunikat sprawd Dost pno ćPokoi.
D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc (05-11-10) 233
&] Ł , 0 3RGVWDZ\ M]\ND 80/
W dalszej kolejno ci przesyłane s komunikaty sprawd Dane, dokonajRezerwacji,
potwierd Rezerwacj oraz zamknij, sekwencyjnie według kolejnych numerów przypi-
sanych do tych komunikatów.
=DVDG\ ZSURZDG]DQLD NRPXQLNDWŃZ GR GLDJUDPX
Podczas wprowadzania komunikatów do diagramów komunikacji nale y kierować si
nast puj cymi zasadami:
Ka dy komunikat umieszczany na diagramie komunikacji musi mieć numer
porz dkowy oraz nazw wskazuj c na operacj klasyfikatora-odbiorcy. Numer
porz dkowy i nazwa s oddzielone dwukropkiem. Numer komunikatu mo e
być rozszerzany o małe litery alfabetu łaci skiego w przypadku współbie no ci.
Obligatoryjnymi cechami komunikatów na diagramie komunikacji jest
wskazanie rodzaju komunikatu oraz kierunku jego przepływu. Je eli pomi dzy
instancjami klasyfikatorów przesyłana jest wi ksza liczba komunikatów, ka dy
z nich musi być opisany przez symbol komunikatu, a tak e przypisany mu
numer porz dkowy i nazw .
W sytuacji, gdy diagram komunikacji jest przeładowany oznaczeniami
komunikatów i przez to mało czytelny, mo na dokonać zagregowanego opisu
diagramu poprzez grupowanie operacji z uwzgl dnieniem rodzaju komunikatu
i kierunku przepływu. Nad takim symbolem-agregatem zapisuje si numery
i nazwy odpowiednich komunikatów. Jest to czysto techniczny, porz dkuj cy
zabieg, nie zmieniaj cy tre ci merytorycznej diagramu opisanego w punkcie
drugim.
Na rysunku 8.3, zgodnie z wy ej wymienionymi zasadami, dokonano agregacji ko-
munikatów tego samego rodzaju przesyłanych w tym samym kierunku.
5\VXQHN Zasady umieszczania komunikatów
234 (05-11-10) D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc
5R]G]LD 0 'LDJUDP NRPXQLNDFML
=DDZDQVRZDQH VNDGQLNL GLDJUDPX
Diagramy komunikacji stwarzaj mo liwo ć wzbogacenia ich zawarto ci merytorycznej
poprzez wł czenie koncepcji zaawansowanych. Nale do nich:
t izomorfizm diagramów sekwencji i komunikacji;
t zagnie d enie;
t poprzednik;
t współbie no ć;
t obiekty wielokrotne;
t klasy aktywne;
t inne kategorie zaawansowane, takie jak warunki, tworzenie obiektów, niszczenie
obiektów, samowywoływanie czy te iteracje.
,]RPRUIL]P
Jak wspomniano, diagramy sekwencji oraz diagramy komunikacji mo na uznać za izo-
morficzne, tzn. jednoznacznie wzajemnie przekształcalne. Przykłady izomorficznych,
zast powalnych diagramów sekwencji i komunikacji przedstawiono na rysunku 8.4.
Dotyczy on przeprowadzenia studium wykonalno ci przedsi wzi cia w firmie. Jednym
z jego elementów jest próba kwantyfikowania przyszłych nakładów oraz zysków. Uzy-
skanie tych danych pozwala kierownikowi projektu na wyliczenie tzw. wewn trznej
stopy zwrotu inicjowanego przedsi wzi cia. W tym celu KierownikProjektu wykorzy-
stuje analityczny obiekt graniczny StopaZwrotuInwestycji, przesyłaj c do niego komu-
nikat wyliczWska nik z parametrem idProjektu. Analityczny obiekt steruj cy Obliczanie-
IRR po odebraniu od interfejsu komunikatu wyliczIRR wysyła komunikat pobierzDane
do Kosztorysu. Wysłany komunikat powoduje przekazanie  jako warto ci zwrot-
nych  atrybutów niezb dnych do zastosowania formuły obliczWska nik, wyliczaj -
cej wewn trzn stop zwrotu inwestycji. Komunikat zwrotny wywołuj cy operacj
wy wietl analitycznego obiektu granicznego StopaZwrotuInwestycji powoduje wy wie-
tlenie wska nika IRR.
=DJQLH G HQLH
Diagramy komunikacji to szczególnie u yteczna technika obrazowania zagnie d e
(ang. nesting) komunikatów w modelowanym systemie. Dokonuje si tego z wykorzy-
staniem notacji Deweya w numerowaniu komunikatów. I tak:
=DJQLH G HQLH RNUH OD ORJLF]QLH SRZLń]DQ\ FLńJ NRPXQLNDWŃZ Z\ZRXMńF\FK VL Z]D
MHPQLH Z XVWDORQHM NROHMQR FL
D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc (05-11-10) 235
&] Ł , 0 3RGVWDZ\ M]\ND 80/
5\VXQHN Izomorfizm diagramów sekwencji i komunikacji
236 (05-11-10) D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc
5R]G]LD 0 'LDJUDP NRPXQLNDFML
Kolejno ć wywoływania komunikatów w zagnie d eniu okre lona jest kolejnymi licz-
bami naturalnymi i pozycjami dziesi tnymi, tak jak w systemie klasyfikacji dziesi tnej
Deweya. W praktyce programowania zagnie d enie jest równoznaczne z poj ciem w t-
ku (ang. thread).
:ńWHN WR SRMHG\QF]D FLH ND SU]HS\ZX VWHURZDQLD Z\NRQ\ZDQD SU]H] SURJUDP
Gł boko ć zagnie d enia nie podlega ograniczeniom. W przypadku transformacji dia-
gramu komunikacji w diagram sekwencji, kolejne zagnie d enia obrazowane s na dia-
gramie docelowym poprzez wprowadzenie dodatkowych o rodków sterowania na li-
niach ycia odpowiednich instancji klasyfikatorów. Je eli na danej linii ycia znajduje
si ju o rodek (o rodki) sterowania, fakt wyst pienia zagnie d enia mo na zaakcento-
wać poprzez przesuni cie dodatkowego o rodka sterowania w prawo. Notacja Deweya
wnosi do diagramu dodatkow warto ć semantyczn i wzbogaca dokumentacj progra-
mistyczn danej aplikacji.
Tabela 8.2 wskazuje zagnie d enia wyra one w systemie klasyfikacji dziesi tnej. Jak
wynika z tabeli, wprowadzanie do diagramu kolejnych zagnie d e jest zale ne od
logiki przedstawianej interakcji. W czwartym bloku tabeli zaznaczono na diagramie
poszczególne w tki stanowi ce sekwencje zagnie d onych komunikatów. Tak wi c ko-
lejno ć wzajemnego przywoływania komunikatów w w tkach tego diagramu jest na-
st puj ca:
a) 11.1
1.2
b) 22.1
c) 33.1
Z kolei w drugim z diagramów sekwencji zamieszczonych w tabeli wyodr bnić mo -
na dwa w tki:
a) 1 1.1 1.1.1 1.1.1.1
b) 22.1
2.2
Zasad dokumentowania zagnie d e na diagramach komunikacji przy zastosowaniu
notacji Deweya ilustruje rysunek 8.5. Nawi zuje on do rysunku 8.2. I tak inicjowany
przez Recepcjonist komunikat otwórzRezerwacj (1) powoduje wywołanie komuni-
katu zagnie d onego sprawd Dost pno ćPokoi (1.1). Analogicznie, operacja wywoły-
wana przez komunikat wprowad Dane (2) inicjuje w konsekwencji operacj dokonaj-
Rezerwacji (2.1), natomiast ta wywołuje operacj potwierd Rezerwacj (2.1.1).
D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc (05-11-10) 237
&] Ł , 0 3RGVWDZ\ M]\ND 80/
7DEHOD Zagnie d enia
'LDJUDP NRPXQLNDFML 'LDJUDP VHNZHQFML
cd Rezerwacja HoteIowa
BazaDanych
1.1: sprawd Dost pno ćPokoi
2.1: dokonajRezerwacji
2.1.1: potwierd Rezerwacj
1: otwórzRezerwacj
2: wprowad Dane
IRezerwacja
3: zamknij
Recepcjonista
5\VXQHN Zagnie d enie komunikatów w notacji Deweya
238 (05-11-10) D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc
5R]G]LD 0 'LDJUDP NRPXQLNDFML
3RSU]HGQLN
W opisie komunikatów istnieje mo liwo ć uwzgl dnienia ich poprzedników. Interpre-
tacja notacji prostej oraz systemu klasyfikacji dziesi tnej domy lnie wyznacza kolej-
no ć wysyłanych komunikatów. W drugiej z tych notacji numer komunikatu wywo-
łuj cego znajduje si o jedn pozycj dziesi tn wy ej w hierarchii w stosunku do
komunikatu wywoływanego. W zwi zku z tym na ogół nie jest wymagane dodatkowe
zaznaczanie poprzedników na diagramie komunikacji. Jednak w okre lonych sytuacjach
nale y jednoznacznie wskazać komunikat lub komunikaty, które musz poprzedzać ko-
munikat bie cy. Dokonuje si tego poprzez rozszerzenie składni komunikatu o numery
komunikatów poprzedzaj cych. Numery poprzedników w nazwie komunikatu s wów-
czas oddzielone symbolem uko nika:
1.1, 3.3.2/ 4.4: realizujTransakcj OnLine
Pełn specyfikacj składni komunikatu zamieszczono w rozdziale 6.
:VSŃELH QR Ł
Opis komunikowania si instancji klasyfikatorów w systemie na ogół realizuje si se-
kwencyjnie, w postaci kolejno nast puj cych po sobie komunikatów. Jednak interak-
cje systemów obejmuj sytuacje, w których instancje klasyfikatorów mog wykony-
wać jednocze nie wiele w tków i operacji. Sytuacje te wi si z cech współbie no ci
(ang. concurrency).
:VSŃELH QR Ł WR Z\VWńSLHQLH GZŃFK OXE ZLFHM F]\QQR FL Z W\P VDP\P F]DVLH FR
SR]ZDOD QD SU]HSODWDQLH OXE UŃZQRF]HVQH Z\NRQ\ZDQLH ZńWNŃZ
Cech współbie no ci na diagramach komunikacji zilustrowano na rysunku 8.6. W celu
jednoznacznego zaznaczenia porz dku wykonywania operacji przez kilka instancji kla-
syfikatorów funkcjonuj cych współbie nie mo na w sposób jawny okre lić w składni
komunikatu poprzednika (poprzedników) tego komunikatu.
Administratorzy kompleksów biurowych wykorzystuj system nadzoru pomieszcze ,
który monitoruje wyst pienia niepo danych zdarze zagra aj cych bezpiecze stwu
pracowników. Elementem steruj cym systemem jest centrala alarmowa, czyli urz dze-
nie oprogramowane. Do centrali podł czone s nast puj ce czujniki:
t CzujnikDymu,
t CzujnikOtwarcia,
t CzujnikRuchu,
t CzujnikTemperatury.
D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc (05-11-10) 239
&] Ł , 0 3RGVWDZ\ M]\ND 80/
cd System Nadzoru Pomieszcze
Sekcja
CzujnikRuchu
1: pobierzWzorzec
1/ 2c: odczytajSygnał
CzujnikDymu
1/ 2a: odczytajSygnał
ModeIReakcji
2a, 2b, 2c, 2d/ 3: porównajZModelem
1/ 2b: odczytajSygnał
CzujnikOtwarcia
1/ 2d: odczytajSygnał
CzujnikTemperatury
5\VXQHN Współbie no ć oraz poprzednicy
System nadzoru przechowuje w klasie ModelReakcji operacje, które s wykonywa-
ne w przypadku odebrania przez jakikolwiek czujnik sygnału alarmowego. W celu
zachowania integralno ci monitorowanego obszaru ModelReakcji pobiera parametry
kompleksu biurowego poprzez uruchomienie operacji pobierzWzorzec instancji klasy-
fikatora Sekcja. Nast pnie instancja klasyfikatora ModelReakcji wysyła komunikaty
odczytajSygnał jednocze nie do wszystkich rodzajów czujników. Po odebraniu sygnału
z czujników ModelReakcji porównuje go ze wzorcem. System nadzoru został tak za-
projektowany, aby wykonanie operacji porównajZModelem było mo liwe dopiero po
wykonaniu równoległych operacji odczytaniaSygnału przez wszystkie czujniki. Z kolei
odczytanieSygnału jest wykonywane dopiero po pobraniuWzorca sekcji kompleksu
biurowego.
2ELHNW\ ZLHORNURWQH
Pojedyncza instancja klasyfikatora mo e przesyłać komunikat do wszystkich instancji
danej klasy. W tym celu mo e odwoływać si do konkretnych egzemplarzy obiektów.
Wi załoby si to jednak z konieczno ci zaprezentowania ka dego z tych odwoła na
osobnym diagramie. Bardziej efektywnym sposobem jest wprowadzenie tzw. obiektów
wielokrotnych (ang. multiple objects), b d cych symboliczn reprezentacj zbioru ano-
nimowych obiektów, a wi c obiektów z wyspecyfikowan wył cznie nazw klasy. Dla
240 (05-11-10) D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc
5R]G]LD 0 'LDJUDP NRPXQLNDFML
takich przypadków zarezerwowano odmienny sposób notacji obiektów. Obiekty te
reprezentowane s przez nachodz ce na siebie symbole obiektów, jak pokazano na
rysunku 8.7.
5\VXQHN
Obiekty wielokrotne
na diagramach
komunikacji
Na przedstawionym przykładzie aktor Czas inicjuje operacj weryfikujWpłaty. Prze-
syła on w tym celu asynchroniczny komunikat do Kredytu. Zastosowanie obiektów
wielokrotnych oznacza, e nast puje weryfikacja wszystkich obiektów klasy Kredyt.
Odwoływanie si do wielokrotnych obiektów ma charakter iteracyjny, jednak zazna-
czanie tego faktu w postaci znacznika iteracji (*) przy komunikacie w poł czeniu z za-
stosowaniem notacji obiektów wielokrotnych jest nadmiarowe.
.ODV\ DNW\ZQH
W aspekcie wyst powania i dokumentowania w systemie interakcji klasyfikatory mo -
na podzielić na:
t pasywne,
t aktywne.
Aktywno ć jest ci le uwarunkowana przez uczestnictwo w interakcjach. Ka da instan-
cja klasyfikatora uczestnicz ca w interakcji odbiera lub wysyła komunikaty. Zazwy-
czaj jednak interakcja ta jest konsekwencj zlecenia klasyfikatorowi-odbiorcy wyko-
nania okre lonych operacji przez klasyfikator-nadawc . Klasyfikatory te nazywane s
pasywnymi i dominuj w aplikacjach biznesowych. Obok nich w j zyku UML wyst -
puj klasyfikatory aktywne (ang. active), mog ce zainicjować sterowanie w systemie.
Najwi ksze znaczenie spo ród klasyfikatorów aktywnych maj klasy aktywne.
.ODVD DNW\ZQD WR NODVD NWŃUHM LQVWDQFMH VWDQRZLń DNW\ZQH RELHNW\ PRJńFH DXWR
QRPLF]QLH LQLFMRZDŁ ZDVQH ZńWNL L VWHURZDŁ Z\NRQDQLHP W\FK ZńWNŃZ
Klasa aktywna ma specyficzne oznaczenie. Ilustruje si j na diagramie poprzez do-
danie dwóch linii równolegle do pionowych kraw dzi klasy.
Pełne wyra enie dynamicznego aspektu klas aktywnych jest mo liwe przy zastosowa-
niu diagramów komunikacji. Klasy aktywne maj instancje w postaci aktywnych obiek-
tów. Mog one autonomicznie inicjować w tki, operacje własne oraz operacje innych
D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc (05-11-10) 241
&] Ł , 0 3RGVWDZ\ M]\ND 80/
instancji klasyfikatorów. Naturalnie, klasy i obiekty aktywne mog tak e realizować
w tki i operacje wywołane przez inne instancje klasyfikatorów, w tym klasy aktywne.
Podstaw identyfikowania klas aktywnych jest:
t zdolno ć danej klasy do inicjowania w tku poprzez wysłanie pierwszego
komunikatu w ci gu komunikatów zagnie d onych,
t samoistne wysyłanie komunikatów w okre lonych odcinkach czasu,
t wykonywanie zło onych procedur obliczeniowych na podstawie danych
przechowywanych przez obiekty innych klas.
Klasy aktywne, funkcjonuj c w trybie ci głym, maj szczególne znaczenie w systemach
czasu rzeczywistego. Przykładem obiektów aktywnych w tych systemach s programo-
we sterowniki urz dze oraz czujniki. Innym przykładem obiektów aktywnych, cz -
sto stosowanych podczas projektowania aplikacji biznesowych, s analityczne obiekty
steruj ce. Rol klasy aktywnej na diagramie komunikacji przedstawia rysunek 8.8.
5\VXQHN
:Odsetki
Obiekty klasy
1.2: wylicz
aktywnej
w naliczaniu
1: naliczOdsetki
odsetek
1.1: saldo := pobierzSaldo
:KIient
1.2.1: aktualizuj(saldo)
:Konto
Na yczenie Klienta bank dokonuje wyliczenia odsetek nale nych z tytułu lokat. W tym
celu w systemie bankowym przesyłany jest komunikat naliczOdsetki (1). W wyniku
jego odebrania obiekt Odsetki wysyła do obiektu Konto komunikat pobierzSaldo (1.1)
i dokonuje wyliczenia (1.2) wielko ci odsetek na podstawie zwróconej wysoko ci salda.
Po naliczeniu odsetek nast puje aktualizacja salda. W kontek cie opisanego przykładu
Klient jest obiektem aktywnej klasy.
,QQH NDWHJRULH ]DDZDQVRZDQH
Jak zaznaczono w tabeli 8.1, w przypadku diagramów sekwencji i komunikacji wiele
poj ć jest równowa nych. Z tego wzgl du opis wspólnych dla obu rodzajów diagra-
mów kategorii zaawansowanych, takich jak warunki czy iteracje, mo na odnie ć bez-
po rednio do konwencji przyj tych na diagramach sekwencji. Zale no ci te znajduj
odzwierciedlenie na rysunku 8.9. Zaprezentowano na nim wł czanie si klienta do li-
cytacji w systemie aukcji internetowej.
242 (05-11-10) D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc
5R]G]LD 0 'LDJUDP NRPXQLNDFML
cd Wł czanie Kupuj cego Do Licytacji
Kupuj cy
2.1: waliduj(login, hasło, nrLicytacji)
Kupuj cy
2.1.2: [brak autoryzacj] wy wietl("Dost p nieautoryzowany")
IOfertaAukcji
1: wyszukajOfert (artykuł)
2: zaloguj(login, hasło, nrLicytacji)
2.1.1: [autoryzacja] pobierzDane(nrLicytacji)
1.1.1: wy wietl
Licytacja
1.1: * [1..n] oferta := wybierzOfert
2.1.1.1: <> wy wietlLicytacj
ILicytacja
5\VXQHN Wł czanie kupuj cego do licytacji
W opisywanej interakcji bierze udział pi ć instancji klasyfikatorów:
t aktor Kupuj cy,
t IOfertaAukcji,
t Licytacja,
t obiekt Kupuj cy,
t ILicytacja.
Na pierwszy z dwóch w tków, inicjowany przez aktora Kupuj cy, składaj si :
t komunikat wyszukajOfert , przekazuj cy jako parametr konkretny artykuł
do interfejsu systemu;
t wykonywany iteracyjnie komunikat wybierzOfert , wskazuj cy wszystkie
licytacje, w których przedmiotem sprzeda y jest poszukiwany artykuł;
t komunikat wy wietl, prezentuj cy na interfejsie wszystkie licytacje, których
przedmiotem jest poszukiwany artykuł.
Drugi w tek jest zwi zany z logowaniem do systemu. Podobnie jak miało to miejsce
w przypadku wyszukiwania licytacji, jest on inicjowany przez aktora Kupuj cy. W tek
ten jest wykonywany w nast puj cej sekwencji:
D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc (05-11-10) 243
&] Ł , 0 3RGVWDZ\ M]\ND 80/
t komunikat zaloguj, przekazuj cy do strony głównej aukcji login, hasło
Kupuj cego oraz nrLicytacji jako parametry;
t komunikat waliduj, który porównuje zgodno ć przekazanych parametrów
z przechowywanymi w obiekcie klasy Kupuj cy;
t komunikat pobierzDane z parametrem nrLicytacji przesyłany do instancji
klasyfikatora Licytacja tylko i wył cznie w przypadku zidentyfikowania
autoryzowanego u ytkownika; wysłany komunikat dostarcza szczegółowych
informacji o wybranej licytacji w postaci warto ci zwrotnych; nast pnie obiekt
klasy Licytacja wywołuje operacj create wy wietlLicytacj , przekazuj c
dane licytacji do utworzonego interfejsu ILicytacja;
t w alternatywnej sytuacji system nie pozwala Kupuj cemu na uczestnictwo
w licytacji, traktuj c go jako u ytkownika nieautoryzowanego; obiekt Kupuj cy
wywołuje operacj wy wietl z parametrem  Dost p nieautoryzowany , która
powoduje wy wietlenie na interfejsie informacji o niedopuszczeniu Kupuj cego
do interesuj cej go licytacji.
3URFHV WZRU]HQLD GLDJUDPX NRPXQLNDFML
Analogicznie jak w przypadku diagramów sekwencji, punktem wyj cia w tworzeniu
diagramu komunikacji jest przypadek u ycia oraz jego scenariusze. W tworzeniu opi-
sywanego diagramu maj miejsce nast puj ce etapy:
identyfikacja klasyfikatorów;
powi zanie zidentyfikowanych klasyfikatorów asocjacjami;
identyfikacja i nadanie nazw komunikatom przesyłanym pomi dzy instancjami
klasyfikatorów;
okre lenie typów nazwanych komunikatów;
numerowanie komunikatów z wykorzystaniem prostej numeracji;
identyfikowanie klas aktywnych i w tków przy u yciu numeracji kwalifikowanej;
wzbogacenie opisu diagramu z zastosowaniem zaawansowanych kategorii,
takich jak współbie no ć, obiekty wielokrotne, warunki, rozgał zienia
oraz iteracje;
opcjonalne dokonanie agregacji komunikatów.
Powy sza procedura w odniesieniu do diagramów komunikacji ma charakter autono-
miczny. Mo na jednak generować je automatycznie z wykorzystaniem narz dzi CASE
na podstawie adekwatnych diagramów sekwencji. Sposób ten funkcjonuje tak e w prze-
ciwn stron na zasadzie konwersji diagramów komunikacji na diagramy sekwencji.
Nale y jednak zaznaczyć, e istnieje tu potencjalne zagro enie utraty cz ci informa-
cji w zwi zku ze wzbogaceniem diagramu sekwencji w wersji 2.0 j zyka UML o takie
kategorie modelowania jak fragmenty wyodr bnione oraz przywoływane fragmenty
244 (05-11-10) D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc
5R]G]LD 0 'LDJUDP NRPXQLNDFML
interakcji; przedstawienie znaczenia tych elementów z wykorzystaniem kategorii mo-
delowania diagramów komunikacji jest technicznie wykonalne, chocia kłopotliwe i wy-
magaj ce wykorzystania w szerokim zakresie składni komunikatu. Ró nice kategorii
poj ciowych diagramów komunikacji i sekwencji okre la szczegółowo tabela 8.1. Nale-
y ponadto rozwa yć wła ciwo ci i parametry poszczególnych narz dzi CASE doko-
nuj cych tych transformacji.
6WXGLXP GLDJUDPX NRPXQLNDFML
Niniejsze studium charakteryzuje przebieg procesu egzaminowania studenta w elektro-
nicznym systemie egzaminacyjnym. Opiera si na podstawowych i zaawansowanych
elementach diagramów komunikacji zaprezentowanych odpowiednio w punktach 8.2
oraz 8.3 w tym rozdziale.
Jak pokazano na rysunku 8.10, w procedurze egzaminowania studenta wyró niono na-
st puj ce, ci le zwi zane ze sob kroki:
t pobranie z formatek interfejsu loginu, hasła oraz identyfikatora egzaminu,
wpisanych przez osob egzaminowan ;
t weryfikacja danych niezb dnych do otwarcia sesji, poł czona ze zwróceniem
identyfikatora studenta;
t pobranie parametrów egzaminu, wyspecyfikowanych przez egzaminatora
w ramach innego przypadku u ycia;
t iteracyjne pobranie puli pyta przewidzianych dla danego przedmiotu;
t wylosowanie z ogólnej puli pyta wskazanej przez egzaminatora ustalonej
liczby pyta , z których składać si b dzie konkretny egzamin;
t wy wietlenie ekranu egzaminowania;
t zamkni cie ekranu logowania;
t iteracyjne wy wietlanie na interfejsie kolejnych pyta ;
t zarejestrowanie zestawu wskazanych przez egzaminowanego odpowiedzi
odnosz cych si do konkretnych pyta ;
t pobranie wzorca odpowiedzi z bazy danych;
t porównanie odpowiedzi ze wzorcem;
t fizyczne zapisanie zarejestrowanych wyników egzaminu;
t odnotowanie wyniku egzaminu w profilu u ytkownika;
t wy wietlenie uprzednio zapisanych wyników na interfejsie.
D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc (05-11-10) 245
&] Ł , 0 3RGVWDZ\ M]\ND 80/
cd Przebieg Procesu EIektronicznego Egzaminowania
U ytkownik
1.1: idStud := waliduj(login, hasło)
1.11: zapisz(przedmiot, wynik)
ILogowanie
1.6: <> zamknij
1: zaloguj(login, hasło, idEgz)
1.4: losuj(liczbaPyta Wy w)
1.9: wynik := porównaj(wzorzec, odpowied [])
Sesja
1.7.1: * [i=1..liczbaPytWy w]: zarejestruj(odpowied [i])
1.3: *[i=1..liczbaPyta ]: pytanie[i] := pobierz(przedmiot)
1.5: <> otwórz
1.7: *[i=1..liczbaPytWy w]: wy wietl(pytanie[i])
Pytanie
1.12: wy wietl(wynik)
IEgzaminowanie
1.2: liczbaPyta , liczbaPytWy w, przedmiot, czasTrw := pobierz(idEgz)
1.8: wzorzec := pobierz(idEgz)
1.10: zapisz(wynik)
Egzamin
5\VXQHN Egzaminowanie studenta w systemie elektronicznego egzaminowania
Operacja waliduj (1.1) wywoływana jest przez operacj zaloguj (1). Kolejne komuni-
katy, zgodnie z systemem klasyfikacji dziesi tnej Deweya, równie s zale ne od ope-
racji zaloguj. Gł boko ć zagnie d enia nie podlega ograniczeniom  komunikat
wy wietl (1.7) ma dalsze zagnie d enie w postaci komunikatu zarejestruj nosz cego
numer 1.7.1. W praktyce proces egzaminowania z punktu widzenia studenta ko czy
si na wy wietleniu wyników. Zarz dzanie egzaminem realizowane jest w ramach od-
r bnego przypadku u ycia.
246 (05-11-10) D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc
5R]G]LD 0 'LDJUDP NRPXQLNDFML
3RGVWDZRZH SRMFLD
Agregacja komunikatów Obiekt
Asocjacja Niszczenie
Diagramy interakcji Tworzenie
Diagram harmonogramowania Wielokrotny
Diagram komunikacji Numeracja komunikatów
Definicja Kwalifikowana
Proces tworzenia Prosta
Diagram sekwencji System klasyfikacji dziesi tnej
Deweya
Diagram sterowania interakcj Poprzednik
Iteracja Samowywołanie
Izomorfizm Symbol komunikatu
Klasa Warunek
Aktywna W tek
Pasywna Współbie no ć
Klasyfikator Zagnie d enie
Aktywny
Pasywny
Komunikat
Asynchroniczny
Oczekuj cy
Opcjonalny
Synchroniczny
Zwrotny
3\WDQLD L ]DGDQLD
Zinterpretuj zmiany dokonane w zakresie diagramów interakcji w wersji 2.0
standardu UML w stosunku do wersji 1.x.
Diagramem jakiego rodzaju mo na zast pić diagram komunikacji, aby nie
nast piła istotna utrata tre ci przekazywanej przez diagram?
D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc (05-11-10) 247
&] Ł , 0 3RGVWDZ\ M]\ND 80/
Jakie aspekty interakcji obiektów podkre lane s na diagramach komunikacji?
Strukturalna organizacja instancji klasyfikatorów i komunikacja mi dzy nimi
to ci le powi zane składniki diagramu komunikacji. W jaki sposób poj cia
podstawowe diagramu komunikacji powi zane s z wymienionymi składnikami?
Zdefiniuj poj cie izomorfizmu diagramów komunikacji i sekwencji.
Uzupełnij tabel 8.3, wpisuj c odpowiedniki poj ć, o ile istniej .
7DEHOD Diagram komunikacji oraz sekwencji  odpowiedniki poj ć
'LDJUDP VHNZHQFML 'LDJUDP NRPXQLNDFML
Linia ycia
Komunikat synchroniczny
Komunikat utracony
Niszczenie obiektów
Rozgał zienie
Warunek
Brama
Zagnie d enie
Fragment wyodr bniony
W jaki sposób na diagramach komunikacji przedstawiane jest przesłanie
komunikatu?
Wymie sposoby przedstawiania kolejno ci przesyłania komunikatów
na diagramach komunikacji. Jakie znaczenie ma system klasyfikacji dziesi tnej
Deweya?
Na podstawie sekwencyjnej zale no ci pomi dzy instancjami klasyfikatorów A
i B zaproponuj i odpowiednio ponumeruj komunikaty na diagramie pokazanym
na rysunku 8.11 i na analogicznym diagramie komunikacji.
5\VXQHN
A B
Interakcje pomi dzy
instancjami
klasyfikatorów
248 (05-11-10) D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc
5R]G]LD 0 'LDJUDP NRPXQLNDFML
Podaj ró nic pomi dzy numeracj prost a kwalifikowan .
W jakich przypadkach nale y poszerzyć numer komunikatu o małe litery
alfabetu łaci skiego?
Na czym polega agregowanie opisu komunikatów w diagramie?
Wska zale no ci pomi dzy kategoriami:
t zagnie d enie,
t w tek,
t o rodek sterowania.
Zaznacz w tki na drugim z przedstawionych w tabeli 8.2 diagramów
sekwencji.
Wyja nij zasadno ć stosowania poprzedników. Czy wprowadzenie do diagramu
poprzedników mo e mieć zwi zek ze współbie no ci ?
Przedstaw sposób oznaczania faktu wysłania przez instancj klasyfikatora
komunikatu do wielu obiektów danej klasy.
Scharakteryzuj poj cie klasy aktywnej. Wyja nij zwi zki pomi dzy klasami
aktywnymi, pasywnymi oraz interakcj .
W jaki sposób dokonasz identyfikacji klas aktywnych w opisie systemu?
Zaproponuj pełn specyfikacj komunikatów dla diagramu komunikacji
zamieszczonego na rysunku 8.10. Dokonaj szczegółowego opisu zaprezentowanej
na nim sytuacji.
Przedstaw i uzasadnij kolejno ć etapów w procesie tworzenia diagramów
komunikacji.
Stwórz diagram komunikacji b d cy odpowiednikiem diagramu opisuj cego
sprawdzanie stanu konta za po rednictwem bankomatu, przedstawionego
w poprzednim rozdziale na rysunku 7.3.
D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc (05-11-10) 249
&] Ł , 0 3RGVWDZ\ M]\ND 80/
250 (05-11-10) D:\! AAA DZISIAJ\J zyk UML 2.0 w modelowaniu systemów informatycznych\06 poprawki\08.doc


Wyszukiwarka

Podobne podstrony:
Diagramy komunikacji
komunikat 3 08
Media Kultura Komunikacja Spoleczna r2007 08 t3 4 s191 200
Komunikat o materialach i przyborach pomocniczych dla zdajacych mature pisemna w maju 08 roku
08 Komunia Święta
TI 99 08 19 B M pl(1)
JĘZYK SZTUKI OBRAZ JAKO KOMUNIKAT
ei 05 08 s029
Wyklad 2 PNOP 08 9 zaoczne
Egzamin 08 zbior zadan i pytan

więcej podobnych podstron