UML diagramy objektov
Diagram tried zmrazený v jedinom okamihu, so skutočnými hodnotami namiesto typov. Najlacnejší spôsob, ako zistiť, či model, ktorý ste práve nakreslili, naozaj funguje.
6 min čítaniaUML 2.5.123 z 35
Krátka odpoveď
- Diagram tried hovorí, čo je možné; diagram objektov hovorí, čo platí v jednom okamihu, so skutočnými hodnotami namiesto typov.
- Podčiarknutie označuje inštanciu. Názov sa číta inštancia : Trieda a ktorákoľvek polovica môže vypadnúť - samotná dvojbodka dá anonymnú.
- Slot je atribút nesúci konkrétnu hodnotu. Sloty sú to, čo má diagram objektov namiesto typovaných deklarácií atribútov.
- Nakreslite ho, keď násobnosť alebo asociácia na seba vyzerá podozrivo. Ak nedokážete nakresliť platný príklad, diagram tried je zlý.
01Čo ukazuje#
Diagram objektov je snímka. Kým diagram triedhovorí „platba má sumu a nula alebo viac vrátení“, diagram objektov hovorí „táto platba je práve teraz na 49.90 EUR a má jedno vrátenie vo výške 10.00“.
Používa tie isté tvary ako diagram tried s dvoma zmenami, a tie dve zmeny sú celou notáciou:
- Menný pás znie
nazovInstancie: NazovTriedya je podčiarknutý. Ktorákoľvek časť sa dá vynechať - samotnép1, alebo: Paymentpre anonymnú inštanciu - ale podčiarknutie nikdy. Práve ono robí z boxu objekt namiesto triedy. - Z atribútov sa stanú sloty s konkrétnymi hodnotami:
currency = EUR, niecurrency: Currency.
02Čo sa mení oproti diagramu tried#
| Prvok | Notácia | Čo znamená |
|---|---|---|
| Inštancia | podčiarknutý menný pás | p1: Payment, : Payment, alebo p1. Podčiarknutie je povinné. |
| Slot | nazov = hodnota | Atribút so skutočnou hodnotou, nie s deklarovaným typom. |
| Prepojenie | obyčajná čiara | Jedna inštancia asociácie. Nesie názov role, ak je to užitočné, ale nikdy nie násobnosť. |
| Žiadne operácie | vynechané | Inštancie nemajú vlastné operácie - má ich trieda. Tretí oddiel sa jednoducho nepoužíva. |
03Načo to je#
Diagramy objektov sú najmenej kresleným UML diagramom a jedným z najužitočnejších na strávenú minútu, lebo sú testom modelu tried.
Vezmite diagram tried, ktorým si je niekto istý, a skúste vyplniť jednu realistickú inštanciu každého boxu. Spoľahlivo sa stanú tri veci. Ukáže sa, že násobnosť je zlá - 1, ktorá mala byť 0..1, odhalená vo chvíli, keď tam nemáte čo dať. Objaví sa chýbajúci vzťah, lebo dva objekty, ktoré sa evidentne musia navzájom odkazovať, medzi sebou nemajú čiaru. A atribút, ktorý ako typ vyzeral v poriadku, sa ukáže bez rozumnej hodnoty, čo obvykle znamená, že patrí na inú triedu.
Trvá to asi desať minút a nájde problémy, ktoré prežijú mesiace diskusie na abstraktnej úrovni. Je to ten istý dôvod, prečo napísanie jedného testovacieho prípadu nájde návrhové problémy, ktoré čítanie návrhu nenájde.
Druhým použitím je vysvetľovanie. Rekurzívna alebo na seba odkazujúca štruktúra - strom, graf, kompozit - sa naozaj ťažko chápe z diagramu tried, kde je to jeden box s čiarou slučkujúcou späť na seba. Nakreslená ako päť konkrétnych objektov s prepojeniami medzi nimi je zrejmá okamžite.
04Kedy taký nakresliť#
Siahnite po ňom, keď
- Overovanie diagramu tried, z ktorého sa chystáte stavať
- Vysvetlenie rekurzívnej alebo na seba odkazujúcej štruktúry, ktorú diagram tried zatemňuje
- Zdokumentovanie konkrétneho zákerného prípadu - objednávka s rozdelenou platbou a dvoma vráteniami
- Príprava testovacích dát: diagram objektov je obrázkom vašich seed dát
Siahnite po niečom inom, keď
- Ako náhrada diagramu tried - ukazuje jeden prípad, nie pravidlá
- Štruktúra je plochá a zrejmá
- Potrebovali by ste ich šesť, aby pokryli zaujímavé prípady; radšej opravte model tried
- Otázka je o správaní v čase - použite sekvenčný diagram
Po jednom riadku na každé
- 01Diagram objektov je jeden okamih diagramu tried, so skutočnými hodnotami.
- 02Notáciou je podčiarknutý menný pás; názov inštancie aj názov triedy sú voliteľné, podčiarknutie nie.
- 03Sloty držia hodnoty (currency = EUR), nie typy.
- 04Prepojenia nikdy nenesú násobnosť - snímka ukazuje, čo je, nie čo by mohlo byť.
- 05Najlepším použitím je desaťminútový test modelu tried, z ktorého sa chystáte stavať.
05Časté otázky#
Aký je rozdiel medzi diagramom objektov a diagramom tried?
Diagram tried ukazuje typy a to, čo je možné. Diagram objektov ukazuje jednu sadu skutočných inštancií v jednom okamihu, so skutočnými hodnotami. Každý diagram objektov je príkladom nejakého diagramu tried, a práve preto je to najlacnejší spôsob, ako overiť, či ten diagram tried funguje.
Prečo sú názvy v diagrame objektov podčiarknuté?
Podčiarknutie je v UML značka inštancie. Priehradka s názvom sa číta ako názov inštancie, dvojbodka, názov triedy, podčiarknuté, a ktorákoľvek polovica sa môže vynechať: dvojbodka Objednávka je anonymná inštancia a samotný názov je taká, ktorej typ je zrejmý z kontextu.
Čo je slot v UML?
Atribút inštancie nesúci konkrétnu hodnotu, písaný ako atribút rovná sa hodnota. Sloty sú to, čo má diagram objektov namiesto typovaných deklarácií atribútov, ktoré nesie diagram tried.
Kedy sa oplatí nakresliť diagram objektov?
Keď má diagram tried násobnosti alebo asociáciu na seba, ktorou si nie ste istí. Naplniť ho tromi či štyrmi skutočnými inštanciami zvyčajne spor urovná za minútu, a ak nedokážete nakresliť platný príklad, diagram tried je zlý.
V tejto sérii
- 01Čo je UML?
- 02Symboly UML
- 03Výber diagramu
- 04Diagramy tried
- 05Príklady diagramov tried
- 06Ako nakresliť diagram tried
- 07Symboly diagramu tried
- 08Sekvenčné diagramy
- 09Príklady sekvenčných diagramov
- 10Ako nakresliť sekvenčný diagram
- 11Diagramy prípadov použitia
- 12Príklady prípadov použitia
- 13Diagramy aktivít
- 14Príklady aktivít
- 15Stavové diagramy
- 16Príklady stavových diagramov
- 17Diagramy komponentov
- 18Príklady komponentov
- 19Kreslenie diagramu komponentov
- 20Symboly komponentov
- 21Diagramy nasadenia
- 22Príklady nasadenia
- 23Diagramy objektov
- 24Diagramy balíkov
- 25Diagramy zloženej štruktúry
- 26Komunikačné diagramy
- 27Sekvenčný vs komunikačný
- 28Časové diagramy
- 29Diagramy prehľadu interakcií
- 30Diagramy profilov
- 31UML pomocou AI
- 32Príklad e-shopu
- 33Príklad banky
- 34Príklad mikroslužieb
- 35Príklad AWS
Súvisiace články
Diagramy štruktúry
Základy
Diagramy štruktúry
Diagramy správania
Diagramy správania
Základy