UML diagramy objektů
Diagram tříd zmrazený v jediném okamžiku, se skutečnými hodnotami místo typů. Nejlevnější způsob, jak zjistit, jestli model, který jste právě nakreslili, opravdu funguje.
6 min čteníUML 2.5.123 z 35
Krátká odpověď
- Diagram tříd říká, co je možné; diagram objektů říká, co platí v jednom okamžiku, se skutečnými hodnotami místo typů.
- Podtržení označuje instanci. Název se čte instance : Třída a kterákoli polovina může vypadnout - samotná dvojtečka dá anonymní.
- Slot je atribut nesoucí konkrétní hodnotu. Sloty jsou to, co má diagram objektů místo typovaných deklarací atributů.
- Nakreslete ho, když násobnost nebo asociace na sebe vypadá podezřele. Pokud nedokážete nakreslit platný příklad, diagram tříd je špatně.
01Co ukazuje#
Diagram objektů je snímek. Zatímco diagram třídříká „platba má částku a nula nebo více vrácení“, diagram objektů říká „tahleplatba je právě teď na 49.90 EUR a má jedno vrácení ve výši 10.00“.
Používá tytéž tvary jako diagram tříd se dvěma změnami, a ty dvě změny jsou celou notací:
- Jmenný pás zní
nazevInstance: NazevTridya je podtržený. Kterákoli část se dá vynechat - samotnép1, nebo: Paymentpro anonymní instanci - ale podtržení nikdy. Právě ono dělá z boxu objekt místo třídy. - Z atributů se stanou sloty s konkrétními hodnotami:
currency = EUR, necurrency: Currency.
02Co se mění oproti diagramu tříd#
| Prvek | Notace | Co znamená |
|---|---|---|
| Instance | podtržený jmenný pás | p1: Payment, : Payment, nebo p1. Podtržení je povinné. |
| Slot | nazev = hodnota | Atribut se skutečnou hodnotou, ne s deklarovaným typem. |
| Propojení | obyčejná čára | Jedna instance asociace. Nese název role, pokud je to užitečné, ale nikdy ne násobnost. |
| Žádné operace | vynechané | Instance nemají vlastní operace - má je třída. Třetí oddíl se prostě nepoužívá. |
03K čemu to je#
Diagramy objektů jsou nejméně kresleným UML diagramem a jedním z nejužitečnějších na strávenou minutu, protože jsou testem modelu tříd.
Vezměte diagram tříd, kterým si je někdo jistý, a zkuste vyplnit jednu realistickou instanci každého boxu. Spolehlivě se stanou tři věci. Ukáže se, že násobnost je špatně - 1, která měla být 0..1, odhalená ve chvíli, kdy tam nemáte co dát. Objeví se chybějící vztah, protože dva objekty, které se evidentně musí navzájem odkazovat, mezi sebou nemají čáru. A atribut, který jako typ vypadal v pořádku, se ukáže bez rozumné hodnoty, což obvykle znamená, že patří na jinou třídu.
Trvá to asi deset minut a najde problémy, které přežijí měsíce diskuse na abstraktní úrovni. Je to tentýž důvod, proč napsání jednoho testovacího případu najde návrhové problémy, které čtení návrhu nenajde.
Druhým použitím je vysvětlování. Rekurzivní nebo na sebe odkazující struktura - strom, graf, kompozit - se opravdu těžko chápe z diagramu tříd, kde je to jeden box s čárou smyčkující zpět na sebe. Nakreslená jako pět konkrétních objektů s propojeními mezi nimi je zřejmá okamžitě.
04Kdy takový nakreslit#
Sáhněte po něm, když
- Ověřování diagramu tříd, ze kterého se chystáte stavět
- Vysvětlení rekurzivní nebo na sebe odkazující struktury, kterou diagram tříd zatemňuje
- Zdokumentování konkrétního záludného případu - objednávka s rozdělenou platbou a dvěma vráceními
- Příprava testovacích dat: diagram objektů je obrázkem vašich seed dat
Sáhněte po něčem jiném, když
- Jako náhrada diagramu tříd - ukazuje jeden případ, ne pravidla
- Struktura je plochá a zřejmá
- Potřebovali byste jich šest, aby pokryly zajímavé případy; raději opravte model tříd
- Otázka je o chování v čase - použijte sekvenční diagram
Po jednom řádku na každé
- 01Diagram objektů je jeden okamžik diagramu tříd, se skutečnými hodnotami.
- 02Notací je podtržený jmenný pás; název instance i název třídy jsou volitelné, podtržení ne.
- 03Sloty drží hodnoty (currency = EUR), ne typy.
- 04Propojení nikdy nenesou násobnost - snímek ukazuje, co je, ne co by mohlo být.
- 05Nejlepším použitím je desetiminutový test modelu tříd, ze kterého se chystáte stavět.
05Časté dotazy#
Jaký je rozdíl mezi diagramem objektů a diagramem tříd?
Diagram tříd ukazuje typy a to, co je možné. Diagram objektů ukazuje jednu sadu skutečných instancí v jednom okamžiku, se skutečnými hodnotami. Každý diagram objektů je příkladem nějakého diagramu tříd, a právě proto je to nejlevnější způsob, jak ověřit, jestli ten diagram tříd funguje.
Proč jsou názvy v diagramu objektů podtržené?
Podtržení je v UML značka instance. Přihrádka s názvem se čte jako název instance, dvojtečka, název třídy, podtrženě, a kterákoli polovina se může vynechat: dvojtečka Objednávka je anonymní instance a samotný název je taková, jejíž typ je zřejmý z kontextu.
Co je slot v UML?
Atribut instance nesoucí konkrétní hodnotu, psaný jako atribut rovná se hodnota. Sloty jsou to, co má diagram objektů místo typovaných deklarací atributů, které nese diagram tříd.
Kdy se vyplatí nakreslit diagram objektů?
Když má diagram tříd násobnosti nebo asociaci na sebe, kterou si nejste jistí. Naplnit ho třemi či čtyřmi skutečnými instancemi obvykle spor urovná za minutu, a když nedokážete nakreslit platný příklad, diagram tříd je špatně.
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 struktury
Základy
Diagramy struktury
Diagramy chování
Diagramy chování
Základy