Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Kölcsönhatás diagramok
Kölcsönhatás diagramok
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
Célkitűzés
Olvasni tudják az alap UML kölcsönhatás diagramok (kommunikáció és szekvencia) diagramok jelöléseit.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
Bevezetés
Miért léteznek az objektumok?
Azért, hogy a rendszer valamilyen céljának megfelelően végrehajtsanak valamilyen tevékenységet.
A kölcsönhatás diagramok a rendszer dinamikájának modellezésére szolgálnak.
Hogyan változtatják meg az objektumok az állapotukat.
Hogyan lépnek egymással kölcsönhatásba (üzenet küldés/ továbbítás) ?
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
Kommunikáció és szekvencia diagramok
A kölcsönhatás diagram két UML diagram típus általánosítása.
A kommunikáció diagram: Az objektumok köré szervezett kölcsönhatások valamint az egymás közötti kapcsolatok illusztrálására szolgál,
Szekvencia diagram: Az objektumok közötti kölcsönhatásokat időben elrendezve mutatja.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
Kommunikáció és szekvencia diagramok
Mindkét diagram típus szemantikusan ekvivalens, azonban nem teljesen ugyanazt az információt mutatja.
Kommunikáció diagram hangsúlyozza az objektumok strukturális szervezését, míg a szekvencia diagram az üzenetek időbeli elrendezését.
Kommunikáció diagram explicit módon mutatja az objektumok közötti kapcsolatokat, míg a szekvencia diagramban a kapcsolatok csak implicit módon jelennek meg.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
A kölcsönhatás diagramok értékesek
A kölcsönhatás diagramok a programozók számára egy inspiráló, gondolatgazdag, kohézív, közös kiindulópontot jelent.
Mintázatok, elvek, és idiómák alkalmazhatók a kölcsönhatás diagramok minőségének javítására.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
A kölcsönhatás diagram jelölések
Osztály
Példány
Megnevezett példány
Értékesítés
:
Értékesítés
s1:
Értékesítés
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
Kommunikáció diagram
Az objektumokat számozott (szekvenciálisan) nyilakkal kötik össze a kapcsolatok mentén az információ áramlás érzékeltetésére.
A nyilak a kölcsönhatás kezdeményezőjétől indulnak.
Az objektum, amelyre a nyíl mutat a cél objektum.
A nyilakat a továbbított üzenettel címkézik meg.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
Példa kommunikáció diagramra
1: message1()
2: message2()
:ClassAInstance
:ClassBInstance
message1()
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
Példa kommunikáció diagramra : kezeldFizetést
:Nyilvántartás
:Értékesítés
:Fizetés
Üzenet iránya
Első üzenet
Létrehozás, amit „létrehozó” üzenettel jeleznek
Első belső üzenet
paraméter
példány
kapcsolat
kezeldFizetést(készpénzÁtadva:)
1: kezeldFizetést(készpénzÁtadva:)
1.1: create: (kezeldFizetést:)
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
A kommunikáció diagram jelölései
Kapcsolat – két objektumot összekötő útvonal (egy kapcsolat példánya)
Üzenet –üzenet kifejezés jelenít meg, amelyet az objektumok közötti nyíllal ellátott vonal ábrázol
Sorszám - az információáramlások felhasználásának sorrendjét jeleníti meg.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
A kommunikáció diagram jelölései (2)
Feltételes üzenet
Sorszám [ variable = value ] : message()
[ változó = érték] : üzenet()
Üzenetet csak akkor továbbítanak, ha a kiértékelés eredménye igaz
Iteráció (ciklus) (Iteration (Looping))
Sor szám * [ i := 1..N ]: üzenet()
Seq. Number * [ i := 1..N ]: message()
“*” kötelező; [ ... ] klóz opcionális
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
Szekvencia diagram
A használati eset egy forgatókönyvének felel meg.
A rendszeren belül egy műveletet modellez.
Mindegyik forgatókönyvre azonosítja az objektumokat
Azonosítja a továbbított üzeneteket, amelyek a forgatókönyv során történnek.
Azonosítja az egyes tevékenységekre az elvárt válaszokat, reakciót.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
Szekvencia diagram példa
:ClassAInstance
:ClassBInstance
message1()
message2()
message1()
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
Példa szekvencia diagramra: kezeldFizetést
:Nyilvántartás
:Értékesítés
:Fizetés
A vezérlést érzékeltető aktivációs elem
kezeldFizetést(készpénzÁtadva)
kezeldFizetést(készpénzÁtadva)
X
create: (kezeldFizetést:)
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
A szekvencia diagram alapjelölései
Kapcsolatok – Szekvencia diagram nem mutatja a kapcsolatokat
Üzenet – egy üzent kifejezés érzékelteti egy nyíllal ellátott objektumok közötti vonalon
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
A szekvencia diagram alapjelölései (2)
Az objektum életvonala – a vertikális szaggatott vonal az objektumok alatt
Az objektumoknak addig nincs életvonal, ameddig nem hozzák létre
Az objektum életének végét egy „X”-el jelöljük
Az idő fentről lefelé halad az ábrán
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
A szekvencia diagram alapjelölései (3)
Aktiválás – az az időperiódus, ami alatt egy objektum lekezeli az üzenetet (a téglalap, a szaggatott vonal mentén).
Az aktivációs téglalapok átfedhetik egymást azért, hogy le lehessen írni az olyan helyzeteket, amikor az objektum saját maga egy másik metódusát hívja meg.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
A szekvencia diagram alapjelölései (4)
Feltételes üzenet
[ variable = value ] : message()
[ változó = érték] : üzenet()
Üzenetet csak akkor továbbítanak, ha a kiértékelés eredménye igaz
Iteráció (ciklus) (Iteration (Looping))
* [ i := 1..N ]: üzenet()
* [ i := 1..N ]: message()
“*” kötelező; [ ... ] klóz opcionális
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
A kölcsönhatás diagram erőssége
Kommunikáció diagram
Az ábra területet gazdaságosan használja fel – könnyen lehet új objektumokkal bővíteni a két dimenziós felületen.
A bonyolult elágazásokat, iterációkat, és párhuzamos tevékenységeket jobban illusztrálja.
Szekvencia diagram
A sorrendet (szekvenciát) és az üzenetek időbeli elrendezését világosan mutatja.
Egyszerű jelöléstechnika.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
A kölcsönhatás diagram gyengeségei
Kommunikáció diagram
Nehéz látni az üzenetek sorrendjét
Bonyolult jelölés rendszer
Szekvencia diagram
Az új objektumokat csak az ábra jobb szélén lehet elhelyezni, a horizontálisan „zabálja” a területet.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
Következtetések
Az UML-ben a kezdők gyakran túlhangsúlyozzák az osztály/objektum diagram jelentőségét. A kölcsönhatás diagramok azonban több figyelmet érdemelnek.
Nincs semmilyen szabály arra vonatkozólag, hogy mikor melyik diagramot kell használni.
Vannak olyan eszközök, amelyek a két diagram típus között automatikusan konverziót tudnak végrehajtani.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
George Blank�Larman Chapter 15.ppt�
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
2
Célkitűzés
Olvasni tudják az alap UML kölcsönhatás diagramok (kommunikáció és szekvencia) diagramok jelöléseit.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
3
Bevezetés
Miért léteznek az objektumok?Azért, hogy a rendszer valamilyen céljának
megfelelően végrehajtsanak valamilyen tevékenységet.
A kölcsönhatás diagramok a rendszer dinamikájának modellezésére szolgálnak.Hogyan változtatják meg az objektumok az
állapotukat.Hogyan lépnek egymással kölcsönhatásba (üzenet
küldés/ továbbítás) ?
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
4
Kommunikáció és szekvencia diagramok
A kölcsönhatás diagram két UML diagram típus általánosítása.A kommunikáció diagram: Az objektumok
köré szervezett kölcsönhatások valamint az egymás közötti kapcsolatok illusztrálására szolgál,
Szekvencia diagram: Az objektumok közötti kölcsönhatásokat időben elrendezve mutatja.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
5
Kommunikáció és szekvencia diagramok
Mindkét diagram típus szemantikusan ekvivalens, azonban nem teljesen ugyanazt az információt mutatja.Kommunikáció diagram hangsúlyozza az objektumok
strukturális szervezését, míg a szekvencia diagram az üzenetek időbeli elrendezését.
Kommunikáció diagram explicit módon mutatja az objektumok közötti kapcsolatokat, míg a szekvencia diagramban a kapcsolatok csak implicit módon jelennek meg.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
6
A kölcsönhatás diagramok értékesek
A kölcsönhatás diagramok a programozók számára egy inspiráló, gondolatgazdag, kohézív, közös kiindulópontot jelent.
Mintázatok, elvek, és idiómák alkalmazhatók a kölcsönhatás diagramok minőségének javítására.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
7
A kölcsönhatás diagram jelölések
Osztály Példány Megnevezett példány
Értékesítés :Értékesítés s1:Értékesítés
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
8
Kommunikáció diagram
Az objektumokat számozott (szekvenciálisan) nyilakkal kötik össze a kapcsolatok mentén az információ áramlás érzékeltetésére.
A nyilak a kölcsönhatás kezdeményezőjétől indulnak.
Az objektum, amelyre a nyíl mutat a cél objektum.
A nyilakat a továbbított üzenettel címkézik meg.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
9
Példa kommunikáció diagramra
:ClassAInstance
:ClassBInstance
1:m
essa
ge1(
)
2:m
essa
ge2(
)
message1()
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
10
Példa kommunikáció diagramra: kezeldFizetést
:Nyilvántartás:Értékesítés
:Fizetés
Üzenet iránya
Első üzenet
Létrehozás, amit „létrehozó” üzenettel jeleznek
Első belső üzenet
paraméter példány kapcsolat
kezeldFizetést(készpénzÁtadva:) 1: kezeldFizetést(készpénzÁtadva:)
1.1:
cre
ate:
(kez
eldF
izet
ést:<
unsp
ecifi
ed>)
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
11
A kommunikáció diagram jelölései
Kapcsolat – két objektumot összekötőútvonal (egy kapcsolat példánya)
Üzenet –üzenet kifejezés jelenít meg, amelyet az objektumok közötti nyíllal ellátott vonal ábrázol
Sorszám - az információáramlások felhasználásának sorrendjét jeleníti meg.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
12
A kommunikáció diagram jelölései (2)
Feltételes üzenet Sorszám [ variable = value ] : message()
[ változó = érték] : üzenet()Üzenetet csak akkor továbbítanak, ha a kiértékelés
eredménye igaz
Iteráció (ciklus) (Iteration (Looping))Sor szám * [ i := 1..N ]: üzenet()Seq. Number * [ i := 1..N ]: message()“*” kötelező; [ ... ] klóz opcionális
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
13
Szekvencia diagram
A használati eset egy forgatókönyvének felel meg.
A rendszeren belül egy műveletet modellez.Mindegyik forgatókönyvre azonosítja az
objektumokatAzonosítja a továbbított üzeneteket, amelyek a
forgatókönyv során történnek.Azonosítja az egyes tevékenységekre az elvárt
válaszokat, reakciót.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
14
Szekvencia diagram példa
:ClassAInstance :ClassBInstance
message1()
message2()
message1()
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
15
Példa szekvencia diagramra: kezeldFizetést
:Nyilvántartás :Értékesítés
:Fizetés
A vezérlést érzékeltető aktivációs elem
kezeldFizetést(készpénzÁtadva)
kezeldFizetést(készpénzÁtadva)
X
create: (kezeldFizetést:)
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
16
A szekvencia diagram alapjelölései
Kapcsolatok – Szekvencia diagram nem mutatja a kapcsolatokat
Üzenet – egy üzent kifejezés érzékelteti egy nyíllal ellátott objektumok közötti vonalon
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
17
A szekvencia diagram alapjelölései (2)
Az objektum életvonala – a vertikális szaggatott vonal az objektumok alattAz objektumoknak addig nincs életvonal,
ameddig nem hozzák létreAz objektum életének végét egy „X”-el
jelöljükAz idő fentről lefelé halad az ábrán
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
18
A szekvencia diagram alapjelölései (3)
Aktiválás – az az időperiódus, ami alatt egy objektum lekezeli az üzenetet (a téglalap, a szaggatott vonal mentén).Az aktivációs téglalapok átfedhetik egymást
azért, hogy le lehessen írni az olyan helyzeteket, amikor az objektum saját maga egy másik metódusát hívja meg.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
19
A szekvencia diagram alapjelölései (4)
Feltételes üzenet [ variable = value ] : message()
[ változó = érték] : üzenet()Üzenetet csak akkor továbbítanak, ha a kiértékelés
eredménye igaz
Iteráció (ciklus) (Iteration (Looping))* [ i := 1..N ]: üzenet()* [ i := 1..N ]: message()“*” kötelező; [ ... ] klóz opcionális
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
20
A kölcsönhatás diagram erőssége
Kommunikáció diagramAz ábra területet gazdaságosan használja fel
– könnyen lehet új objektumokkal bővíteni a két dimenziós felületen.
A bonyolult elágazásokat, iterációkat, és párhuzamos tevékenységeket jobban illusztrálja.
Szekvencia diagramA sorrendet (szekvenciát) és az üzenetek
időbeli elrendezését világosan mutatja.Egyszerű jelöléstechnika.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
21
A kölcsönhatás diagram gyengeségei
Kommunikáció diagramNehéz látni az üzenetek sorrendjétBonyolult jelölés rendszer
Szekvencia diagramAz új objektumokat csak az ábra jobb szélén
lehet elhelyezni, a horizontálisan „zabálja”a területet.
BCE, Információrendszer tanszék, Dr. Molnár Bálint, egyetemi docens
22
Következtetések
Az UML-ben a kezdők gyakran túlhangsúlyozzák az osztály/objektum diagram jelentőségét. A kölcsönhatás diagramok azonban több figyelmet érdemelnek.
Nincs semmilyen szabály arra vonatkozólag, hogy mikor melyik diagramot kell használni.
Vannak olyan eszközök, amelyek a két diagram típus között automatikusan konverziót tudnak végrehajtani.
Kölcsönhatás diagramokCélkitűzésBevezetésKommunikáció és szekvencia diagramokKommunikáció és szekvencia diagramokA kölcsönhatás diagramok értékesekA kölcsönhatás diagram jelölésekKommunikáció diagramPélda kommunikáció diagramraPélda kommunikáció diagramra : kezeldFizetéstA kommunikáció diagram jelöléseiA kommunikáció diagram jelölései (2)Szekvencia diagramSzekvencia diagram példaPélda szekvencia diagramra: kezeldFizetéstA szekvencia diagram alapjelöléseiA szekvencia diagram alapjelölései (2)A szekvencia diagram alapjelölései (3)A szekvencia diagram alapjelölései (4)A kölcsönhatás diagram erősségeA kölcsönhatás diagram gyengeségeiKövetkeztetések