Kölcsönhatás, együttműködés és szekvencia diagramok példákkal

Mi az az interakciós diagram?

Interakciós diagram Az UML-ben az objektumok közötti kommunikáció létrehozására használják. Nem manipulálja az adott kommunikációs útvonalhoz tartozó adatokat. Az interakciós diagramok többnyire az üzenettovábbításra összpontosítanak, és arra, hogy ezek az üzenetek hogyan alkotják a rendszer egyik funkcióját. Az interakciós diagramok célja annak bemutatása, hogy az objektumok hogyan valósítják meg a rendszer sajátos követelményeit. Az interakciós diagramok kritikus összetevője a mentőöv és az üzenetek.

A különféle UML elemek jellemzően interakciós diagramokat tartalmaznak. Az interakció részleteit többféle jelöléssel is meg lehet mutatni, mint például szekvenciadiagram, időzítési diagram, kommunikációs/együttműködési diagram. Az interakciós diagramok bármely rendszer dinamikus viselkedését rögzítik.

Interakciós diagram
Egy interakciós diagram jelölése

Az alábbiakban az UML-ben meghatározott interakciós diagramok különböző típusai találhatók:

  • Sorozat diagram
  • Együttműködési diagram
  • Időzítési diagram

A szekvenciadiagram célja in UML diagram az üzenetfolyam sorrendjének megjelenítése a rendszerben. A Szoftverfejlesztés sorozatdiagramja a két életvonal közötti interakciót az események időben elrendezett sorozataként mutatja be.

Az UML-ben az együttműködési diagramot kommunikációs diagramnak is nevezik. Az együttműködési diagram célja a rendszer strukturális szempontjainak hangsúlyozása, azaz, hogy a rendszer különböző életvonalai hogyan kapcsolódnak egymáshoz.

Az időzítési diagramok arra a példányra összpontosítanak, amikor egy üzenetet küldenek az egyik objektumról a másikra.

Egy interakciós diagram célja

Az interakciós diagramok segítenek megjeleníteni egy rendszer interaktív viselkedését. Az interakciós diagramok annak ábrázolására szolgálnak, hogy a rendszer egy vagy több objektuma hogyan csatlakozik és kommunikál egymással.

Az interakciós diagramok egy rendszer dinamikus viselkedésére összpontosítanak. Egy interakciós diagram megadja számunkra a rendszer egy vagy több életvonala közötti interakció kontextusát.

In UML, az interakciós diagramokat a következő célokra használják:

  • Az interakciós diagramok a rendszer dinamikus viselkedésének megfigyelésére szolgálnak.
  • Az interakciós diagram a kommunikációt és az üzenettovábbítási sorrendet jeleníti meg a rendszerben.
  • Az interakciós modellezési diagram a rendszer különböző objektumainak szerkezeti aspektusait mutatja be.
  • Az interakciós diagram egy rendszeren belüli interakciók rendezett sorozatát mutatja.
  • Az interakciós diagram lehetővé teszi a valós idejű adatok UML-en keresztüli megjelenítését.
  • Az UML interakciós diagramok segítségével megmagyarázható egy objektumorientált vagy elosztott rendszer architektúrája.

Fontos terminológia

Egy interakciós diagram életvonalakat, üzeneteket, operátorokat, állapotinvariánsokat és megszorításokat tartalmaz.

életvonal

A mentőkötél egy interakció egyetlen résztvevőjét jelképezi. Leírja, hogy egy adott osztályozó példánya hogyan vesz részt az interakcióban.

A mentőöv azt a szerepet jelöli, amelyet az osztályozó példánya játszhat az interakcióban. Az alábbiakban egy mentőkötél különféle attribútumai láthatók,

  1. Név
    1. Egy adott interakción belüli életvonalra utal.
    2. A mentőkötél neve nem kötelező.
  2. típus
    1. Ez egy olyan osztályozó neve, amelynek életvonala egy példányt jelöl.
  3. Választó
    1. Ez egy logikai feltétel, amely egy adott példány kiválasztására szolgál, amely megfelel a követelménynek.
    2. A Selector attribútum szintén nem kötelező.

Az életvonal jelölését a jelölési részben ismertetjük.

Üzenetek

Az üzenet egy bizonyos típusú kommunikáció két életvonal között egy interakció során. Az üzenet a következő tevékenységeket foglalja magában,

  1. Hívásüzenet, amely egy művelet meghívására szolgál.
  2. Üzenet példány létrehozásához.
  3. Üzenet egy példány megsemmisítésére.
  4. Jel küldésére.

Amikor egy mentőkötél hívásüzenetet kap, az üzenetben meghatározotthoz hasonló aláírással rendelkező művelet meghívására irányuló kérésként működik. Amikor egy mentőkötél üzenetet hajt végre, akkor az irányítás középpontjában áll. Az interakció idővel előrehaladtával az irányítás fókusza a különböző életvonalak között mozog. Ezt a mozgást az irányítás áramlásának nevezik.

A rendszer interakciós diagramban használt üzenetek a következők:

Üzenet neve Jelentés
Synchronikus üzenet Az üzenet küldője folyamatosan arra vár, hogy a fogadó visszaadja az üzenet végrehajtásának irányítását.
Aszinkron üzenet A küldő nem vár vissza a címzetttől; ehelyett egy következő üzenet végrehajtását folytatja.
Üzenet visszaküldése Egy korábbi üzenet fogadója visszaadja a vezérlés fókuszát a küldőnek.
Objektum létrehozása A feladó létrehozza az osztályozó példányát.
Tárgymegsemmisítés A feladó megsemmisíti a létrehozott példányt.
Talált üzenet Az üzenet küldője kívül esik az interakció hatókörén.
Elveszett üzenet Az üzenet soha nem jut el a célhoz, és elveszik az interakcióban.

Állapot invariánsok és megszorítások

Amikor egy példány vagy egy mentőkötél üzenetet kap, megváltoztathatja az állapotát. Az állapot egy olyan állapot vagy szituáció egy objektum élete során, amelyben eleget tesz bizonyos korlátoknak, végrehajt bizonyos műveleteket, és vár valamilyen eseményre.

Az interakciós diagramban nem minden üzenet módosítja a példány állapotát. Egyes üzenetek nem rendelkeznek bizonyos attribútumok értékeivel. Nincs mellékhatása az objektum állapotára.

Operator

Az operátor egy műveletet határoz meg az operandusok végrehajtására vonatkozóan. Az UML operátorai támogatják az adatokkal végzett műveleteket elágazás és iteráció formájában. Különféle operátorok használhatók az iteráció és elágazás használatának biztosítására az UML modellben. Az opt és alt operátorok az elágazási műveletekhez használatosak. A hurokoperátor biztosítja azokat az iterációs műveleteket, amelyekben egy feltétel ismétlődően végrehajtásra kerül, amíg kielégítő eredményt nem kapunk. A Break operátort a cikluson vagy az iterációs műveleteken belül használják. Biztosítja, hogy a hurok megszakadjon, amikor megszakítási operátort találunk. Ha nincs megadva törési feltétel, akkor a ciklus végtelen számú alkalommal végrehajtja, ami a program összeomlását eredményezi.

Az alábbiakban láthatók az interakciós diagramban használt operátorok:

Operator Név Jelentés
Dönt opció Egy operandus akkor kerül végrehajtásra, ha a feltétel igaz.
pl Ha máskor
más Alternatív Az operandus, amelynek feltétele igaz, végrehajtásra kerül.
pl kapcsoló
Hurok Hurok Egy utasítás meghatározott időtartamra történő hurkolására szolgál.
szünet szünet Megszakítja a hurkot, ha egy feltétel igaz vagy hamis, és a következő utasítás végrehajtásra kerül.
Ref Referencia Egy másik interakcióra utal.
Göndör Párhuzamos Minden operandus párhuzamosan fut.

Ismétlés

Egy interakciós diagramban iterációt is megjeleníthetünk iterációs kifejezés segítségével. Az iterációs kifejezés egy iterációs specifikátorból és egy opcionális iterációs záradékból áll. Az UML-iterációhoz nincs előre meghatározott szintaxis.

Az iteráció során annak bizonyítására, hogy az üzeneteket párhuzamosan küldik, párhuzamos iteráció-specifikátort használnak. A párhuzamos iterációs specifikátort *// jelöli. Az UML-ben az iteráció a hurokoperátor használatával érhető el.

elágazás

Egy interakciós diagramban az elágazást úgy ábrázolhatjuk, hogy őrzési feltételeket adunk az üzenetekhez. Az őrzési feltételek annak ellenőrzésére szolgálnak, hogy egy üzenet továbbítható-e vagy sem. Az üzenet csak akkor kerül továbbküldésre, ha a védelmi feltétele igaz. Egy üzenetnek több védelmi feltétele lehet, vagy több üzenetnek is lehet ugyanaz a védelmi feltétele. Az UML-ben az elágazást alt és opt operátorok segítségével érjük el.

Ezek közül néhány a legfontosabb Az UML interakciós diagramban használt terminológiák.

Interakciós diagramok és jelölések típusai

Az alábbiakban az UML-ben meghatározott interakciós diagramok különböző típusai találhatók:

  • Sorozat diagram
  • Együttműködési diagram
  • Időzítési diagram

Az interakció alapvető jelölése egy téglalap, amelynek egy téglalap alakú doboz bal felső sarkában egy ötszög található.

Mi az a szekvenciadiagram?

A Sorozat diagram egyszerűen az objektumok közötti interakciót ábrázolja szekvenciális sorrendben. A szekvenciadiagram célja az UML-ben, hogy megjelenítse egy üzenetfolyam szekvenciáját a rendszerben. A szekvenciadiagram két életvonal közötti interakciót mutatja, mint az események időbeli sorrendjét.

  • A sorozatdiagram egy forgatókönyv megvalósítását mutatja be a rendszerben. A rendszerben lévő életvonalak részt vesznek a rendszer végrehajtása során.
  • A szekvenciadiagramban az életvonalat egy függőleges sáv ábrázolja.
  • A két vagy több objektum közötti üzenetfolyamot egy függőleges pontozott vonal ábrázolja, amely az oldal alján húzódik.
  • A szekvenciadiagramban különböző típusú üzeneteket és operátorokat használnak, amelyeket fent leírtunk.
  • A sorozatdiagramban az iterációt és az elágazást is használják.
Sorozat diagram
Jelölések a szekvencia diagramban

A fenti szekvenciadiagram életvonal-jelöléseket és a sorozatdiagramban használt különféle üzenetek jelöléseit tartalmazza, mint például a létrehozás, a válasz, az aszinkron üzenet stb.

Példa a szekvencia diagramra

A következő szekvenciadiagram példa a McDonald's rendelési rendszerét mutatja be:

Sorozat diagram
A McDonald's rendelési rendszer szekvencia diagramja

Egy adott szekvenciadiagramban az események rendezett sorrendje a következő:

  1. Rendelést leadni.
  2. Fizessen be pénzt a pénztárba.
  3. Megrendelés visszaigazolása.
  4. Rendelés előkészítése.
  5. Rendelés kiszolgálása.

Ha valaki megváltoztatja a műveletek sorrendjét, az a program összeomlását eredményezheti. Ez helytelen vagy hibás eredmények generálásához is vezethet. A fent megadott szekvenciadiagram minden egyes szekvenciáját más típusú üzenettel jelöljük. Nem lehet ugyanazt az üzenettípust használni az összes interakció jelölésére a diagramban, mert ez bonyodalmakat okoz a rendszerben.

Óvatosnak kell lennie az üzenet jelölésének kiválasztásakor egy adott interakcióhoz. A jelölésnek meg kell egyeznie a diagramon belüli adott sorozattal.

A szekvenciadiagram előnyei

  • A szekvenciadiagramok bármely valós alkalmazás vagy rendszer feltárására használhatók.
  • A szekvenciadiagramok az egyik objektumtól a másik objektumig terjedő üzenetfolyam ábrázolására szolgálnak.
  • A szekvenciadiagramok könnyebben karbantarthatók.
  • A szekvenciadiagramok könnyebben generálhatók.
  • A szekvencia diagramok könnyen frissíthetők a rendszeren belüli változásoknak megfelelően.
  • A szekvenciadiagram lehetővé teszi a fordított és az előre történő tervezést.

A szekvenciadiagram hátrányai

  • A szekvenciadiagramok bonyolulttá válhatnak, ha túl sok mentőkötél vesz részt a rendszerben.
  • Ha az üzenetek sorrendje megváltozik, akkor helytelen eredmények születnek.
  • Minden sorozatot különböző üzenetjelöléssel kell ábrázolni, ami kissé bonyolult lehet.
  • Az üzenet típusa határozza meg a diagramon belüli sorozat típusát.

Mi az az együttműködési diagram?

Együttműködési diagram a szoftverobjektumok közötti kapcsolatokat és interakciókat ábrázolja. Arra használják őket, hogy megértsék a rendszeren belüli objektum architektúrát, nem pedig az üzenet áramlását, mint a szekvenciadiagramban. „Kommunikációs diagramokként” is ismertek.

Az objektum-orientált programozás (OOP) szerint egy objektum entitás különféle attribútumokkal rendelkezik. Általában több objektum van jelen egy objektum-orientált rendszeren belül, ahol minden objektum társítható bármely más objektumhoz a rendszeren belül. Az együttműködési diagramok a rendszeren belüli objektumok architektúrájának feltárására szolgálnak. Az objektumok közötti üzenetáramlást együttműködési diagram segítségével lehet ábrázolni.

Az együttműködési diagram előnyei

  • Kommunikációs diagramnak is nevezik.
  • Hangsúlyozza az interakciós diagram szerkezeti aspektusait – az életvonal összekapcsolódását.
  • Szintaxisa hasonló a szekvenciadiagraméhoz, azzal a különbséggel, hogy az életvonalnak nincs farka.
  • A sorrendben átadott üzeneteket az egyes üzenetek hierarchikus számozása jelzi.
  • A szekvenciadiagramhoz képest a kommunikációs diagram szemantikailag gyenge.
  • Az objektumdiagramok a kommunikációs diagramok speciális esetei.
  • Lehetővé teszi, hogy az elemekre összpontosítson, ahelyett, hogy az üzenetfolyamra összpontosítana, ahogy azt a szekvenciadiagram leírja.
  • A szekvenciadiagramok könnyen átalakíthatók együttműködési diagrammá, mivel az együttműködési diagramok nem túl kifejezőek.
  • Az együttműködési diagramok modellezése során előfordulhat, hogy bizonyos információk elvesznek.

Együttműködési diagram jelölései
Együttműködési diagram jelölései

A fenti együttműködési diagram jelölése mentővonalakat, valamint csatlakozókat, önhurkokat, valamint az együttműködési diagramban használt előre és fordított üzeneteket tartalmazza.

Az együttműködési diagram hátrányai

  • Az együttműködési diagramok bonyolulttá válhatnak, ha túl sok objektum van jelen a rendszerben.
  • Nehéz feltárni minden egyes objektumot a rendszeren belül.
  • Az együttműködési diagramok időigényesek.
  • Az objektum a program leállítása után megsemmisül.
  • Egy objektum állapota pillanatnyilag megváltozik, ami megnehezíti a rendszer objektumon belüli minden egyes változás nyomon követését.

Együttműködési diagram Példa

Az alábbi diagram bemutatja a hallgatói felügyeleti rendszer sorrendjét:

Együttműködési diagram

Együttműködési diagram diákmenedzsment rendszerhez

A fenti együttműködési diagram egy tanulói információkezelő rendszert ábrázol. A fenti diagramon a kommunikáció folyamatát a következőképpen adja meg:

  1. A hallgató bejelentkezést kér a bejelentkezési rendszeren keresztül.
  2. A szoftver hitelesítési mechanizmusa ellenőrzi a kérést.
  3. Ha van hallgatói bejegyzés az adatbázisban, akkor a hozzáférés engedélyezett; ellenkező esetben hibaüzenet jelenik meg.

Mi az az időzítési diagram?

Időzítési diagram egy hullámforma vagy egy grafikon, amely az életvonal állapotának leírására szolgál bármely időpontban. Egy objektum egyik formából egy másik formába való átalakulásának jelölésére szolgál. Az időzítési diagram nem tartalmazza a sorrendi és együttműködési diagramban előírt jelöléseket. A szoftverprogramok közötti áramlást különböző időpontokban egy hullámforma segítségével ábrázolják.

  • Ez az interakciók megfelelő reprezentációja, amely a különböző objektumok között küldött üzenetek meghatározott időzítésére összpontosít.
  • Az időzítési diagramok egy adott objektum részletes időfeldolgozásának magyarázatára szolgálnak.
  • Az időzítési diagramok arra szolgálnak, hogy elmagyarázzák, hogyan változik egy objektum az élettartama során.
  • Az időzítési diagramokat többnyire elosztott és beágyazott rendszereknél használják.
  • Az UML-ben az időzítési diagramok balról jobbra olvasódnak a bal szélen megadott életvonal nevének megfelelően.
  • Az időzítési diagramok különféle változásokat ábrázolnak, amelyek az életvonalon belül időről időre előfordulnak.
  • Az időzítési diagramok az életvonal különböző állapotainak grafikus megjelenítésére szolgálnak egységnyi idő alatt.
  • Az UML különféle jelöléseket biztosít az egységnyi idő alatt két életvonal közötti átmeneti állapot egyszerűsítésére.

Időzítési diagram Példa

Az alábbiakban látható idődiagram a néhány fázist ábrázolja szoftverfejlesztési életciklus.

Időzítési diagram

Példa az időzítési diagramra

A fenti ábrán először a szoftver halad át a követelmény fázison, majd a tervezésen, majd a fejlesztési fázison. Az előző fázis kimenete az adott időpontban a második fázishoz kerül bemenetként. Így az időzítési diagram használható az SDLC (Software Development Life Cycle) leírására UML-ben.

Az időzítési diagram előnyei

  • Az időzítési diagramok egy objektum állapotát ábrázolják egy adott időpontban.
  • Az időzítési diagram lehetővé teszi a hátra és előre történő tervezést.
  • Az időzítési diagram segítségével nyomon követhető minden változás a rendszeren belül.

Az időzítési diagram hátrányai

  • Az időzítési diagramokat nehéz megérteni.
  • Az időzítési diagramokat nehéz fenntartani.

Hogyan készítsünk interakciós diagramot?

Az interakciós diagramok a rendszer interaktív viselkedésének ábrázolására szolgálnak. Az interakciós diagramok egy rendszer dinamikus viselkedésére összpontosítanak. Egy interakciós diagram megadja számunkra a rendszer egy vagy több életvonala közötti interakció kontextusát.

Interakciós diagram készítéséhez először meg kell határoznia azt a forgatókönyvet, amelyhez interakciós diagramot kell rajzolnia. A helyzet eldöntése után azonosítsa a különböző mentőöveket, amelyek részt vesznek az interakcióban. Kategorizálja az összes életvonal elemet, és fedezze fel őket, hogy azonosítsa a lehetséges kapcsolatokat, és hogyan kapcsolódnak egymáshoz az életvonalak. Egy interakciós diagram megrajzolásához a következő dolgokra van szükség:

  1. Azon életvonalak teljes száma, amelyek egy interakció részét képezik
  2. a rendszer különböző objektumain belüli üzenetáramlás sorozata.
  3. Különféle operátorok az interakciós diagramok működésének megkönnyítésére.
  4. Különféle üzenetek az interakció tisztább és pontosabb megjelenítéséhez.
  5. Az üzenetek rendezett sorozata.
  6. Egy objektum szervezete és szerkezete.
  7. Egy objektum különféle időbeli konstrukciói.

Interakciós diagram használata

Az interakciós diagramok sorozatdiagramból, együttműködési diagramból és idődiagramokból állnak. A következő az interakciós diagram konkrét célja:

  • A szekvenciadiagramok bármely valós alkalmazás vagy rendszer feltárására használhatók.
  • Az interakciós diagramok a sorozat-, együttműködési és idődiagramok használatának feltárására és összehasonlítására szolgálnak.
  • Az interakciós diagramok a rendszer viselkedésének rögzítésére szolgálnak. Megjeleníti a rendszer dinamikus szerkezetét.
  • A szekvenciadiagramok az egyik objektumtól a másik objektumig terjedő üzenetfolyam ábrázolására szolgálnak.
  • Az együttműködési diagramok a rendszer objektumarchitektúrájának megértésére szolgálnak, nem pedig az üzenetfolyamat.
  • Az interakciós diagramok segítségével egy rendszert események időrendi sorrendjeként modelleznek.
  • Az interakciós diagramokat fordított és előre történő tervezésben is használják.
  • Az interaktív elemek szerkezetének rendezésére interakciós diagramokat használnak.

Összegzésként

  • Az interakciók egyszerűen egy osztályozó viselkedésének egységei.
  • Az interakciós diagramok kritikus elemei az életvonal és az üzenetek.
  • Az interakciós diagramok többnyire az üzenettovábbításra összpontosítanak.
  • Az interakciós diagramok bármely rendszer dinamikus viselkedését rögzítik.
  • Az interakciós diagram sorozatdiagramot, időzítési diagramot, kommunikációs/együttműködési diagramot tartalmaz.
  • A szekvencia UML diagram célja egy üzenetfolyam sorozatának megjelenítése a rendszerben.
  • Az együttműködési diagram célja a strukturális szempontok hangsúlyozása.
  • Az időzítési diagramok arra a példányra összpontosítanak, amikor egy üzenetet küldenek az egyik objektumról a másikra.