UML komunikační diagramy
Tatáž interakce, jakou ukazuje sekvenční diagram, uspořádaná tak, aby odpověděla na jinou otázku: ne kdy se věci dějí, ale kdo je s kým spojen.
6 min čteníUML 2.5.126 z 35
Krátká odpověď
- Nese stejnou informaci jako sekvenční diagram a liší se jen rozložením: síť místo časové osy.
- Pořadí nesou jedině čísla zpráv, protože rozložení nenese žádné. Desetinné tečky značí vnoření: 1.1 se odesílá během zpracování 1.
- Diagram spolupráce byl název téže věci v UML 1.x. Starší knihy a nemálo nástrojů ho stále používají.
- Volte jej, když na struktuře záleží víc než na pořadí - ověřit, že komponenta mluví jen se zamýšlenými sousedy. Na větvení a chybové cesty použijte sekvenční.
01Co ukazuje#
Komunikační diagram - před UML 2 nazývaný kolaborační diagram - ukazuje sadu objektů, propojení mezi nimi a zprávy, které po těch propojeních cestují. Je jedním ze čtyř interakčních diagramů a nese přesně tutéž informaci jako odpovídající sekvenční diagram.
Liší se to, co rozvržení zdůrazňuje. Sekvenční diagram utratí svou geometrii za čas: účastníci napříč nahoře, pořadí dolů stránkou. Komunikační diagram utratí svou geometrii za topologii: objekty kamkoli je dáte, propojení nakreslená mezi těmi, které spolu mluví. Pořadí je degradováno na číslo před každou zprávou.
02Notace#
| Prvek | Notace | Co znamená |
|---|---|---|
| Objekt | obdélník, podtržený název | Účastník, psaný role: Type. Tatáž notace instance jako v diagramu objektů. |
| Propojení | obyčejná čára | Tyhle dva spolu umí komunikovat. Samotná čára nenese směr - je to kanál, ne provoz. |
| Zpráva | malá šipka vedle propojení | Jedna komunikace, označená sequenceNumber: name(arguments). Na jednom propojení může sedět víc zpráv. |
| Pořadové číslo | 1:, 1.1:, 2: | Pořadí. Desetinná čísla se vnořují: 1.1 se děje během 1. |
| Iterace | 1 * [i = 1..n]: | Zpráva se opakuje. |
| Stráž | 1 [ok]: | Zpráva se pošle jen tehdy, když podmínka platí. |
Částí, kterou se vyplatí naučit, je vnořené desetinné číslování, protože právě tak tenhle diagram vyjadřuje hloubku volání bez svislé osy. Zpráva 2.1 se děje uvnitř zpracování zprávy 2. Komunikační diagram čtěte podle čísla, ne podle polohy: 1, 1.1, 1.2, 2. Poloha je záměrně bezvýznamná.
03Volba mezi tímhle a sekvenčním diagramem#
V principu jsou zaměnitelné - dobrý nástroj mezi nimi převádí automaticky - takže volba je o čtenáři.
Upřednostněte sekvenční diagram, když je předmětem pořadí, když je zpráv hodně nebo když potřebujete kombinované fragmenty. Nic v komunikační notaci se nevyrovná bloku alt při ukázání větve a za zhruba tuctem zpráv se číslování sleduje hůř než svislá osa.
Upřednostněte komunikační diagram, když je předmětem struktura propojení: které objekty se navzájem znají, kde jsou rozbočovače, jestli tvar odpovídá architektuře, kterou jste zamýšleli. Je také kompaktnější z těch dvou u malé interakce mezi mnoha objekty, protože nerezervuje sloupec na účastníka.
Poctivé zhodnocení: v praxi dominují sekvenční diagramy, a pokud se máte naučit jen jeden interakční diagram, naučte se ten. Komunikační diagramy se nadále vyplatí poznat - a vyplatí se je nakreslit v ten konkrétní den, kdy je otázka o provázanosti a ne o pořadí.
04Kdy takový nakreslit#
Sáhněte po něm, když
- Otázkou je, kdo s kým mluví, ne v jakém pořadí
- Hledání problémů s provázaností - rozbočovače a nečekaná propojení vyčnívají
- Malá interakce rozprostřená přes mnoho objektů, kde by sekvenční diagram byl většinou prázdné místo
- Ukázání, že návrh odpovídá zamýšlené struktuře, například vzoru
Sáhněte po něčem jiném, když
- Tok má větve nebo smyčky - fragmenty tu nemají ekvivalent
- Zpráv je víc než zhruba tucet; číslování přestává být čitelné
- Publikum už strukturu zná a potřebuje pořadí
- Chcete ukázat uplynulý čas - použijte časovací diagram
Po jednom řádku na každé
- 01Tatáž informace jako sekvenční diagram, uspořádaná tak, aby ukazovala strukturu místo času.
- 02Rozvržením je graf propojení; poloha nenese o pořadí žádný význam.
- 03Pořadí žije v číslech zpráv a desetinná čísla se vnořují, aby ukázala hloubku volání.
- 04Čtěte podle čísla - 1, 1.1, 1.2, 2 - nikdy podle polohy na stránce.
- 05Nejlepší, když je otázkou provázanost; sekvenční použijte, když je jí pořadí nebo větvení.
05Časté dotazy#
Jaký je rozdíl mezi komunikačním a sekvenčním diagramem?
Nesou stejnou informaci a liší se jen rozložením. Sekvenční diagram klade čas na svislou osu, takže pořadí je zřejmé a spojení ne. Komunikační diagram rozloží účastníky jako síť, takže je zřejmé, kdo s kým mluví, a pořadí je třeba vyčíst z čísel zpráv.
Jak funguje číslování zpráv?
Zprávy jsou číslovány v pořadí vykonávání a vnoření se značí desetinnými tečkami. Zpráva 1.1 je první odeslaná během zpracování zprávy 1 a 1.1.2 je druhá odeslaná během zpracování 1.1. Číslování je jediné, co nese pořadí, protože rozložení nenese žádné.
Je komunikační diagram totéž co diagram spolupráce?
Ano. Diagram spolupráce byl název v UML 1.x, v UML 2.0 přejmenovaný na komunikační diagram. Starší knihy a nemálo nástrojů starší pojem stále používají.
Kdy zvolit komunikační diagram?
Když na struktuře interakce záleží víc než na jejím pořadí: ověřit, že komponenta mluví jen se zamýšlenými sousedy, nebo ukázat provázanost. Tam, kde jde o časování, větvení nebo chybové cesty, je lepším nástrojem sekvenční diagram.
V této sérii
- 01Co je UML?
- 02Symboly UML
- 03Výběr diagramu
- 04Diagramy tříd
- 05Příklady diagramů tříd
- 06Jak nakreslit diagram tříd
- 07Symboly diagramu tříd
- 08Sekvenční diagramy
- 09Příklady sekvenčních diagramů
- 10Jak nakreslit sekvenční diagram
- 11Diagramy případů užití
- 12Příklady případů užití
- 13Diagramy aktivit
- 14Příklady aktivit
- 15Stavové diagramy
- 16Příklady stavových diagramů
- 17Diagramy komponent
- 18Příklady komponent
- 19Kreslení diagramu komponent
- 20Symboly komponent
- 21Diagramy nasazení
- 22Příklady nasazení
- 23Diagramy objektů
- 24Diagramy balíků
- 25Diagramy složené struktury
- 26Komunikační diagramy
- 27Sekvenční vs komunikační
- 28Časové diagramy
- 29Diagramy přehledu interakcí
- 30Diagramy profilů
- 31UML pomocí AI
- 32Příklad e-shopu
- 33Příklad banky
- 34Příklad mikroslužeb
- 35Příklad AWS
Související články
Diagramy chování
Základy
Diagramy chování
Diagramy struktury
Diagramy chování
Diagramy chování