Interakce, spolupráce a sekvenční diagramy s příklady

Co je diagram interakce?

Diagram interakce se v UML používají k navázání komunikace mezi objekty. Nemanipuluje s daty spojenými s konkrétní komunikační cestou. Interakční diagramy se většinou zaměřují na předávání zpráv a na to, jak tyto zprávy tvoří jednu funkcionalitu systému. Interakční diagramy jsou navrženy tak, aby zobrazovaly, jak budou objekty realizovat konkrétní požadavky systému. Kritickým prvkem v diagramu interakce je záchranné lano a zprávy.

Různé prvky UML obvykle vlastní diagramy interakce. Podrobnosti interakce lze zobrazit pomocí několika zápisů, jako je sekvenční diagram, časový diagram, diagram komunikace/spolupráce. Interakční diagramy zachycují dynamické chování jakéhokoli systému.

Diagram interakce
Zápis diagramu interakce

Níže jsou uvedeny různé typy diagramů interakce definované v UML:

  • Sekvenční diagram
  • Diagram spolupráce
  • Časový diagram

Účel sekvenčního diagramu v UML diagram je vizualizovat sekvenci toku zpráv v systému. Sekvenční diagram v softwarovém inženýrství ukazuje interakci mezi dvěma záchrannými čarami jako časově uspořádanou sekvenci událostí.

Diagram spolupráce v UML se také nazývá komunikační diagram. Účelem diagramu spolupráce je zdůraznit strukturální aspekty systému, tj. jak se různé záchranné linky v systému propojují.

Časové diagramy se zaměřují na instanci, ve které je zpráva odeslána z jednoho objektu do jiného objektu.

Účel diagramu interakce

Interakční diagramy vám pomohou vizualizovat interaktivní chování systému. Interakční diagramy se používají k znázornění toho, jak se jeden nebo více objektů v systému připojuje a komunikuje mezi sebou.

Interakční diagramy se zaměřují na dynamické chování systému. Interakční diagram nám poskytuje kontext interakce mezi jedním nebo více záchrannými čarami v systému.

In UML, interakční diagramy se používají pro následující účely:

  • Interakční diagramy se používají k pozorování dynamického chování systému.
  • Interakční diagram vizualizuje komunikaci a sekvenci předávání zpráv v systému.
  • Diagram modelování interakce představuje strukturální aspekty různých objektů v systému.
  • Interakční diagram představuje uspořádanou sekvenci interakcí v rámci systému.
  • Interakční diagram poskytuje prostředky pro vizualizaci dat v reálném čase prostřednictvím UML.
  • Diagramy interakce UML lze použít k vysvětlení architektury objektově orientovaného nebo distribuovaného systému.

Důležitá terminologie

Interakční diagram obsahuje linie života, zprávy, operátory, stavové invarianty a omezení.

Záchranné lano

Záchranné lano představuje jediného účastníka interakce. Popisuje, jak se instance konkrétního klasifikátoru účastní interakce.

Záchranná čára představuje roli, kterou může instance klasifikátoru hrát v interakci. Následují různé atributy záchranného lana,

  1. Jméno
    1. Používá se k odkazování na záchranné lano v rámci konkrétní interakce.
    2. Název záchranného lana je volitelný.
  2. Typ
    1. Je to název klasifikátoru, jehož záchranná čára představuje instanci.
  3. Selector
    1. Je to booleovská podmínka, která se používá k výběru konkrétní instance, která splňuje požadavek.
    2. Atribut selektoru je také volitelný.

Zápis záchranného lana je vysvětlen v sekci zápisu.

Zprávy

Zpráva je specifický typ komunikace mezi dvěma životně důležitými čarami v interakci. Zpráva obsahuje následující aktivity,

  1. Volací zpráva, která se používá k vyvolání operace.
  2. Zpráva k vytvoření instance.
  3. Zpráva ke zničení instance.
  4. Pro vyslání signálu.

Když záchranné lano přijme zprávu o volání, chová se jako požadavek na vyvolání operace, která má podobný podpis, jaký je uveden ve zprávě. Když záchranné lano provádí zprávu, má zaměření kontroly. Jak interakce postupuje v průběhu času, těžiště kontroly se přesouvá mezi různými životními liniemi. Tento pohyb se nazývá tok kontroly.

Níže jsou uvedeny zprávy použité v diagramu interakce systému:

Název zprávy Význam
Synchronosné poselství Odesílatel zprávy stále čeká, až příjemce vrátí řízení z provádění zprávy.
Asynchronní zpráva Odesílatel nečeká na návrat od příjemce; místo toho pokračuje v provádění další zprávy.
Zpětná zpráva Příjemce dřívější zprávy vrátí zaměření kontroly odesílateli.
Vytváření objektů Odesílatel vytvoří instanci klasifikátoru.
Zničení objektu Odesílatel zničí vytvořenou instanci.
Nalezená zpráva Odesílatel zprávy je mimo rozsah interakce.
Ztracená zpráva Zpráva nikdy nedorazí do cíle a je ztracena v interakci.

Stavové invarianty a omezení

Když instance nebo záchranné lano přijme zprávu, může to způsobit změnu stavu. Stav je stav nebo situace během životnosti objektu, při které splňuje nějaké omezení, provádí nějaké operace a čeká na nějakou událost.

V interakčním diagramu ne všechny zprávy způsobí změnu stavu instance. Některé zprávy nemají hodnoty některých atributů. Nemá žádné vedlejší účinky na stav objektu.

OperaTor

Operátor specifikuje operaci, jak budou operandy provedeny. Operátoři v UML podporují operace s daty formou větvení i iterací. Pro zajištění použití iterace a větvení v modelu UML lze použít různé operátory. Operátory opt a alt se používají pro operace větvení. Operátor smyčky se používá k zajištění iteračních operací, ve kterých se podmínka provádí opakovaně, dokud není vytvořen uspokojivý výsledek. Operátor přerušení se používá uvnitř cyklu nebo iteračních operací. Zajišťuje, že smyčka je ukončena vždy, když se setká s operátorem přerušení. Pokud není specifikována podmínka přerušení, pak se smyčka provede nekonečně mnohokrát, což má za následek zhroucení programu.

Níže jsou uvedeny operátory použité v diagramu interakce:

OperaTor Jméno Význam
opt Volba Operand se provede, pokud je podmínka pravdivá.
např. If else
Další Alternativní Operand, jehož podmínka je pravdivá, se provede.
např. přepínač
Smyčka Smyčka Používá se k zacyklení instrukce po určitou dobu.
snídaně snídaně Pokud je podmínka pravdivá nebo nepravdivá, přeruší smyčku a provede se další instrukce.
Ref Odkaz Používá se k označení jiné interakce.
podle Paralelní Všechny operandy se provádějí paralelně.

Opakování

V interakčním diagramu můžeme také zobrazit iteraci pomocí iteračního výrazu. Iterační výraz se skládá ze specifikátoru iterace a volitelné iterační klauzule. Pro iteraci UML neexistuje žádná předem specifikovaná syntaxe.

V iteraci, která ukazuje, že zprávy jsou odesílány paralelně, se používá specifikátor paralelní iterace. Specifikátor paralelní iterace je označen *//. Iterace v UML je dosaženo použitím operátoru smyčky.

Rozvětvení

V interakčním diagramu můžeme větvení znázornit přidáním ochranných podmínek ke zprávám. Podmínky ochrany se používají ke kontrole, zda lze zprávu poslat dál nebo ne. Zpráva je odeslána dál pouze v případě, že je splněna její ochranná podmínka. Zpráva může mít více podmínek ochrany nebo více zpráv může mít stejnou podmínku ochrany. Větvení v UML je dosaženo pomocí operátorů alt a opt.

To jsou některé z Nejdůležitější terminologie používané v diagramu interakce UML.

Typy interakčního diagramu a zápisů

Níže jsou uvedeny různé typy diagramů interakce definované v UML:

  • Sekvenční diagram
  • Diagram spolupráce
  • Časový diagram

Základním zápisem interakce je obdélník s pětiúhelníkem v levém horním rohu obdélníkové krabice.

Co je sekvenční diagram?

A Sekvenční diagram jednoduše zobrazuje interakci mezi objekty v sekvenčním pořadí. Účelem sekvenčního diagramu v UML je vizualizovat posloupnost toku zpráv v systému. Sekvenční diagram ukazuje interakci mezi dvěma životními čarami jako časově uspořádanou sekvenci událostí.

  • Sekvenční diagram ukazuje implementaci scénáře v systému. Lifelines v systému se účastní provádění systému.
  • V sekvenčním diagramu je záchranná čára reprezentována svislým pruhem.
  • Tok zpráv mezi dvěma nebo více objekty je znázorněn pomocí svislé tečkované čáry, která se táhne přes spodní část stránky.
  • V sekvenčním diagramu se používají různé typy zpráv a operátorů, které jsou popsány výše.
  • V sekvenčním diagramu se také používá iterace a větvení.
Sekvenční diagram
Zápisy v sekvenčním diagramu

Výše uvedený sekvenční diagram obsahuje zápisy záchranných linií a zápisy různých zpráv používaných v sekvenčním diagramu, jako je vytvoření, odpověď, asynchronní zpráva atd.

Příklad sekvenčního diagramu

Následující příklad sekvenčního diagramu představuje objednávkový systém McDonald's:

Sekvenční diagram
Sekvenční diagram objednávkového systému Mcdonald's

Seřazená sekvence událostí v daném sekvenčním diagramu je následující:

  1. Objednat.
  2. Zaplaťte peníze na pokladně.
  3. Potvrzení objednávky.
  4. Příprava objednávky.
  5. Obsluha objednávky.

Pokud změníte pořadí operací, může to vést ke zhroucení programu. Může také vést ke generování nesprávných nebo chybných výsledků. Každá sekvence ve výše uvedeném sekvenčním diagramu je označena pomocí jiného typu zprávy. Nelze použít stejný typ zprávy k označení všech interakcí v diagramu, protože to vytváří komplikace v systému.

Při výběru notace zprávy pro jakoukoli konkrétní interakci musíte být opatrní. Zápis musí odpovídat konkrétní sekvenci uvnitř diagramu.

Výhody sekvenčního diagramu

  • Sekvenční diagramy se používají k prozkoumání jakékoli skutečné aplikace nebo systému.
  • Sekvenční diagramy se používají k reprezentaci toku zpráv z jednoho objektu do jiného objektu.
  • Sekvenční diagramy se snadněji udržují.
  • Sekvenční diagramy se generují snadněji.
  • Sekvenční diagramy lze snadno aktualizovat podle změn v systému.
  • Sekvenční diagram umožňuje reverzní i dopředné inženýrství.

Nevýhody sekvenčního diagramu

  • Sekvenční diagramy se mohou stát složitými, pokud je v systému zapojeno příliš mnoho záchranných linií.
  • Pokud se změní pořadí pořadí zpráv, jsou výsledkem nesprávné výsledky.
  • Každá sekvence musí být reprezentována pomocí jiného zápisu zprávy, což může být trochu složité.
  • Typ zprávy rozhoduje o typu sekvence uvnitř diagramu.

Co je diagram spolupráce?

Diagram spolupráce zobrazuje vztahy a interakce mezi softwarovými objekty. Používají se k porozumění objektové architektuře v systému spíše než toku zprávy jako v sekvenčním diagramu. Jsou také známé jako „komunikační diagramy“.

Podle objektově orientovaného programování (OOP) má objektová entita přidružené různé atributy. Obvykle je v objektově orientovaném systému přítomno více objektů, kde každý objekt může být spojen s jakýmkoli jiným objektem uvnitř systému. Diagramy spolupráce se používají k prozkoumání architektury objektů uvnitř systému. Tok zpráv mezi objekty lze znázornit pomocí diagramu spolupráce.

Výhody diagramu spolupráce

  • Říká se mu také komunikační diagram.
  • Zdůrazňuje strukturální aspekty interakčního diagramu – jak se spojuje záchranná lana.
  • Jeho syntaxe je podobná syntaxi sekvenčního diagramu kromě toho, že záchranná čára nemá konce.
  • Sekvencování zpráv předávaných je označeno hierarchickým číslováním každé zprávy.
  • Ve srovnání se sekvenčním diagramem je komunikační diagram sémanticky slabý.
  • Objektové diagramy jsou speciálním případem komunikačního diagramu.
  • Umožňuje vám soustředit se spíše na prvky než na tok zpráv, jak je popsáno v sekvenčním diagramu.
  • Sekvenční diagramy lze snadno převést na diagram spolupráce, protože diagramy spolupráce nejsou příliš výrazné.
  • Při modelování diagramů spolupráce se sekvenčními diagramy může dojít ke ztrátě některých informací.

Zápisy diagramu spolupráce
Zápisy diagramu spolupráce

Výše uvedený zápis diagramu spolupráce obsahuje záchranné čáry spolu s konektory, vlastními smyčkami, dopřednými a zpětnými zprávami používanými v diagramu spolupráce.

Nevýhody diagramu spolupráce

  • Diagramy spolupráce se mohou stát složitými, pokud je v systému přítomno příliš mnoho objektů.
  • Je těžké prozkoumat každý objekt uvnitř systému.
  • Diagramy spolupráce jsou časově náročné.
  • Objekt je zničen po ukončení programu.
  • Stav objektu se na okamžik změní, což ztěžuje sledování každé jednotlivé změny, ke které dojde v objektu systému.

Diagram spolupráce Příklad

Následující diagram představuje sekvenční uspořádání systému správy studentů:

Diagram spolupráce

Diagram spolupráce pro systém řízení studentů

Výše uvedený diagram spolupráce představuje systém správy informací o studentech. Tok komunikace ve výše uvedeném diagramu je dán,

  1. Student požaduje přihlášení prostřednictvím přihlašovacího systému.
  2. Autentizační mechanismus softwaru kontroluje požadavek.
  3. Pokud v databázi existuje záznam studenta, pak je přístup povolen; jinak je vrácena chyba.

Co je časový diagram?

Časový diagram je průběh nebo graf, který se používá k popisu stavu záchranného lana v libovolném časovém okamžiku. Používá se k označení transformace objektu z jedné formy do jiné formy. Časový diagram neobsahuje zápisy, jak je požadováno v diagramu sekvence a spolupráce. Tok mezi softwarovým programem v různých časových okamžicích je reprezentován pomocí tvaru vlny.

  • Je to správná reprezentace interakcí, která se zaměřuje na konkrétní načasování zpráv zasílaných mezi různými objekty.
  • Časové diagramy slouží k vysvětlení podrobného časového zpracování konkrétního objektu.
  • Časové diagramy se používají k vysvětlení toho, jak se objekt během své životnosti mění.
  • Časové diagramy se většinou používají u distribuovaných a vestavěných systémů.
  • V UML se časové diagramy čtou zleva doprava podle názvu záchranné čáry specifikované na levém okraji.
  • Časové diagramy se používají k reprezentaci různých změn, ke kterým čas od času dochází v rámci záchranného lana.
  • Časové diagramy se používají k zobrazení grafického znázornění různých stavů záchranné čáry za jednotku času.
  • UML poskytuje různé zápisy pro zjednodušení stavu přechodu mezi dvěma záchrannými čarami za jednotku času.

Příklad časového diagramu

Níže uvedený časový diagram představuje několik fází a životní cyklus vývoje softwaru.

Časový diagram

Příklad časového diagramu

Ve výše uvedeném diagramu software nejprve prochází fází požadavků, poté návrhem a později fází vývoje. Výstup předchozí fáze v daném časovém okamžiku je předán druhé fázi jako vstup. Časový diagram lze tedy použít k popisu SDLC (Software Development Life Cycle) v UML.

Výhody časového diagramu

  • Časové diagramy se používají k reprezentaci stavu objektu v určitém časovém období.
  • Časový diagram umožňuje reverzní i dopředné inženýrství.
  • Časový diagram lze použít ke sledování každé změny uvnitř systému.

Nevýhody časového diagramu

  • Časové diagramy jsou těžko pochopitelné.
  • Časové diagramy se obtížně udržují.

Jak nakreslit diagram interakce?

Interakční diagramy se používají k reprezentaci interaktivního chování systému. Interakční diagramy se zaměřují na dynamické chování systému. Interakční diagram nám poskytuje kontext interakce mezi jedním nebo více záchrannými čarami v systému.

Chcete-li nakreslit diagram interakce, musíte nejprve určit scénář, pro který musíte diagram interakce nakreslit. Po rozhodnutí o situaci identifikujte různé záchranné linky, které se zapojí do interakce. Roztřiďte všechny prvky záchranného lana a prozkoumejte je, abyste identifikovali možná spojení a jak spolu záchranné lana souvisejí. K nakreslení interakčního diagramu jsou nutné následující věci:

  1. Celkový počet záchranných linií, které budou součástí interakce
  2. je sekvence toku zpráv v rámci různých objektů systému.
  3. Různé operátory pro usnadnění funkčnosti interakčního diagramu.
  4. Různé typy zpráv pro jasnější a přesnější zobrazení interakce.
  5. Seřazená sekvence zpráv.
  6. Organizace a struktura objektu.
  7. Různé časové konstrukce objektu.

Využití interakčního diagramu

Interakční diagramy se skládají ze sekvenčního diagramu, diagramu spolupráce a diagramů časování. Níže je uveden konkrétní účel diagramu interakce:

  • Sekvenční diagramy se používají k prozkoumání jakékoli skutečné aplikace nebo systému.
  • Interakční diagramy se používají k prozkoumání a porovnání použití sekvenčních, kooperací a časových diagramů.
  • Interakční diagramy se používají k zachycení chování systému. Zobrazuje dynamickou strukturu systému.
  • Sekvenční diagramy se používají k reprezentaci toku zpráv z jednoho objektu do jiného objektu.
  • Diagramy spolupráce se používají spíše k pochopení objektové architektury systému než k pochopení toku zpráv.
  • Interakční diagramy se používají k modelování systému jako časově uspořádané sekvence událostí.
  • Interakční diagramy se používají v reverzním i dopředném inženýrství.
  • Interakční diagramy se používají k uspořádání struktury interaktivních prvků.

Shrnutí

  • Interakce jsou jednoduše jednotky chování klasifikátoru.
  • Kritickými prvky v diagramu interakce jsou záchranné lano a zprávy.
  • Interakční diagramy se většinou zaměřují na předávání zpráv.
  • Interakční diagramy zachycují dynamické chování jakéhokoli systému.
  • Interakční diagram obsahuje sekvenční diagram, časový diagram, diagram komunikace/spolupráce.
  • Sekvenční UML diagram má vizualizovat sekvenci toku zpráv v systému.
  • Účelem diagramu spolupráce je zdůraznit strukturální aspekty.
  • Časové diagramy se zaměřují na instanci, ve které je zpráva odeslána z jednoho objektu do jiného objektu.