Jak nakreslit UML diagram tříd
Pět kroků v pořadí, které funguje: najděte podstatná jména, nakreslete čáry, rozhodněte násobnosti, pak atributy a nakonec operace - a skončete, když diagram odpovídá na otázku.
7 min čteníUML 2.5.16 z 35
Krátká odpověď
- Třídy, pak vztahy, pak násobnosti, pak atributy a nakonec operace. Atributy vypadají jako začátek a jsou tím nejhorším.
- Podstatné jméno se stane třídou, když má identitu, měnící se stav a vlastní životnost. Barva nebo částka je atribut.
- Hotový je tehdy, když odpovídá na otázku, kvůli které vznikl, a každý vztah na něm nese násobnost.
- Ne tehdy, když jsou na něm všechny třídy, a ne tehdy, když jsou vyjmenované všechny atributy - do obou stavů se diagram dostane, aniž by na cokoli odpovídal.
01Krok jedna a dva: podstatná jména, pak čáry#
Krok jedna je zapsat, jak se doména popisuje nahlas, a podtrhnout podstatná jména."Pacient si domluví termín u lékaře a lékař může vystavit předpis" dá hned čtyři kandidáty. Nechte si ty, které mají tři vlastnosti: identitu (dva z nich se dají rozlišit), stav, který se v čase mění, a vlastní životnost. Podstatné jméno, které neprojde ani jednou - barva, částka, stav - je atributem něčeho jiného.
Krok dva je jedna čára na každou větu, kterou o doméně umíte říct. Ne na databázový join a ne na volání metody: čára znamená, že ty dvě třídy o sobě vědí v byznysovém smyslu. Diagram výše je tam, kde to končí, a už teď se vyplatí položit ho před někoho, kdo doménu zná, protože spor, který chcete, je o tom, jestli předpis patří k termínu, nebo k pacientovi - a ten spor je dostupný teď, dřív než se napsal jediný atribut.
02Krok tři: násobnosti, dřív než cokoli jiného#
Každá čára dostane na obou koncích číslo dřív, než se přidá jediný atribut. Tohle je krok, který lidé vynechávají, a ten, který se vyplatí, protože násobnost je rozhodnutí o tom, co systém připouští, a atribut je detail, který z toho vyplývá.
Každý konec přečtěte jako větu a řekněte ji nahlas. "Jeden pacient má nula nebo víc termínů" - v pořádku. "Jeden termín má přesně jednoho pacienta" - v pořádku, a vyplatí se to ověřit, protože ordinace, která někdy objedná celou rodinu, vám právě řekla opak. Tři otázky, které si položte na každém konci, jsou: může to být nula, může to být víc než jeden a mění se to ve špatný den?
Pak vyberte druh vztahu a agonizovat se vyplatí jen nad dvěma rozhodnutími. Maže se část spolu s celkem - pokud ano, kompozice. Drží něco rodičovský typ, aniž by mu záleželo na podtypu - pokud ano, generalizace. Všechno ostatní je obyčejná asociace a vypracované příklady ukazují oba ty soudy v akci.
03Kroky čtyři a pět: atributy, operace a zastavení#
Atributy přicházejí čtvrté a každý musí mít zdroj. Pokud neumíte říct, odkud hodnota pochází - z formuláře, z jiného systému, z výpočtu - je to dohad, a dohady jsou to, co způsobí, že model přestane sedět na věc, kterou popisuje. Typy se vyplatí psát: startsAt: Instant vyřeší spor, který startsAt: Date nechává otevřený.
Operace přicházejí páté a většina tříd nedostane žádnou. Operace patří na třídu tehdy, když to chování opravdu potřebuje její vlastní stav - cancel() potřebuje stav termínu, takže tam patří. Cokoli, co na svou práci potřebuje tři další objekty, je služba, a dát to sem je způsob, jakým se doménový model tiše změní na diagram kódu místo diagramu domény.
Pak zastavte. Dokončený diagram výše má čtyři třídy a odpovídá na otázku; přidat Clinic, Room, Invoice a Insurer by ho udělalo úplnějším a méně užitečným. Pokud je potřeba odpovědět na druhou otázku, nakreslete nad tímtéž modelem druhý pohled - na to pohledy jsou.
Po jednom řádku na každé
- 01Podstatná jména s identitou, měnícím se stavem a vlastní životností se stanou třídami. Zbytek jsou atributy.
- 02Čáry kreslete dřív než atributy a ukažte tu ošklivou verzi - je to ta, kterou lidé opravují.
- 03Násobnosti rozhodněte třetí, nahlas, s otázkou, jestli každý konec může být nula nebo víc než jeden.
- 04Každý atribut potřebuje zdroj. Typy vyřeší spory, které názvy nechávají otevřené.
- 05Zastavte, když je otázka zodpovězená, ne když je systém celý nakreslený.
04Časté dotazy#
Jak se rozhodnout, co se stane třídou?
Vezměte podstatná jména z toho, jak se doména popisuje nahlas, a nechte ta, která mají identitu, měnící se stav a vlastní životnost. Podstatné jméno, které je vždy jen hodnotou něčeho jiného, jako barva nebo částka, je atribut, ne třída.
V jakém pořadí kreslit diagram tříd?
Třídy, pak vztahy, pak násobnosti, pak atributy a nakonec operace. Atributy se zdají být samozřejmým začátkem a jsou tím nejhorším, protože právě je nejdřív zahodíte, když vás vztahy donutí přehodnotit, co kam patří.
Kdy je diagram tříd hotový?
Když odpovídá na otázku, kvůli které vznikl, a každý vztah na něm nese násobnost. Ne tehdy, když jsou na něm všechny třídy systému, a ne tehdy, když jsou vyjmenované všechny atributy - do obou těchto stavů se diagram dokáže dostat, aniž by na cokoli odpovídal.
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
Diagramy struktury
Přehled notace
Praxe modelování
Praxe modelování
Diagramy chování