kölcsönhatás diagramok larman chapter 15.ppt · mintázatok, elvek, és idiómák alkalmazhatók...

22
Kölcsönhatás diagramok

Upload: others

Post on 09-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

  • 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