Archyno
UMLDiagramy štruktúry

Ako nakresliť UML diagram tried

Päť krokov v poradí, ktoré funguje: nájdite podstatné mená, nakreslite čiary, rozhodnite násobnosti, potom atribúty a nakoniec operácie - a skončite, keď diagram odpovedá na otázku.

7 min čítaniaUML 2.5.16 z 35

Krátka odpoveď

  • Triedy, potom vzťahy, potom násobnosti, potom atribúty a nakoniec operácie. Atribúty vyzerajú ako začiatok a sú tým najhorším.
  • Podstatné meno sa stane triedou, keď má identitu, meniaci sa stav a vlastnú životnosť. Farba alebo suma je atribút.
  • Hotový je vtedy, keď odpovedá na otázku, kvôli ktorej vznikol, a každý vzťah na ňom nesie násobnosť.
  • Nie vtedy, keď sú na ňom všetky triedy, a nie vtedy, keď sú vymenované všetky atribúty - do oboch stavov sa diagram dostane bez toho, aby na čokoľvek odpovedal.
Raný UML diagram tried so štyrmi triedami a bez atribútov. Patient je v asociácii s Appointment, Appointment je v asociácii s Doctor a Appointment je v asociácii s Prescription.
Po druhom kroku. Štyri podstatné mená a tri čiary, žiadne atribúty - a už teraz sa to oplatí niekomu ukázať.

01Krok jeden a dva: podstatné mená, potom čiary#

Krok jeden je zapísať, ako sa doména popisuje nahlas, a podčiarknuť podstatné mená."Pacient si dohodne termín u lekára a lekár môže vystaviť predpis" dá hneď štyroch kandidátov. Nechajte si tie, ktoré majú tri vlastnosti: identitu (dva z nich sa dajú rozlíšiť), stav, ktorý sa v čase mení, a vlastnú životnosť. Podstatné meno, ktoré neprejde ani jednou - farba, suma, stav - je atribútom niečoho iného.

Krok dva je jedna čiara na každú vetu, ktorú o doméne viete povedať. Nie na databázový join a nie na volanie metódy: čiara znamená, že tie dve triedy o sebe vedia v biznisovom zmysle. Diagram vyššie je tam, kde sa to končí, a už teraz sa oplatí položiť ho pred niekoho, kto doménu pozná, lebo spor, ktorý chcete, je o tom, či predpis patrí k termínu alebo k pacientovi - a ten spor je dostupný teraz, skôr než sa napísal jediný atribút.

02Krok tri: násobnosti, skôr než čokoľvek iné#

Každá čiara dostane na oboch koncoch číslo skôr, než sa pridá jediný atribút. Toto je krok, ktorý ľudia vynechávajú, a ten, ktorý sa vyplatí, lebo násobnosť je rozhodnutie o tom, čo systém pripúšťa, a atribút je detail, ktorý z toho vyplýva.

Každý koniec prečítajte ako vetu a povedzte ju nahlas. "Jeden pacient má nula alebo viac termínov" - v poriadku. "Jeden termín má presne jedného pacienta" - v poriadku, a oplatí sa to overiť, lebo ambulancia, ktorá niekedy objedná celú rodinu, vám práve povedala opak. Tri otázky, ktoré si položte na každom konci, sú: môže to byť nula, môže to byť viac než jeden a mení sa to v zlý deň?

Potom vyberte druh vzťahu a agonizovať sa oplatí len nad dvoma rozhodnutiami. Maže sa časť spolu s celkom - ak áno, kompozícia. Drží niečo rodičovský typ bez toho, aby mu záležalo na podtype - ak áno, generalizácia. Všetko ostatné je obyčajná asociácia a vypracované príklady ukazujú oba tie súdy v akcii.

03Kroky štyri a päť: atribúty, operácie a zastavenie#

Ten istý UML diagram tried dokončený. Patient má id, name a dateOfBirth a je v asociácii s nula alebo viac Appointment. Doctor má id, name a specialty a je v asociácii s nula alebo viac Appointment. Appointment má startsAt, duration a status, ponúka operácie book a cancel a je zložený z nula alebo viac Prescription.
Ten istý model v piatom kroku. Všimnite si kompozíciu: predpis neprežije svoj termín.

Atribúty prichádzajú štvrté a každý musí mať zdroj. Ak neviete povedať, odkiaľ hodnota pochádza - z formulára, z iného systému, z výpočtu - je to dohad, a dohady sú to, čo spôsobí, že model prestane sedieť na vec, ktorú popisuje. Typy sa oplatí písať: startsAt: Instant vyrieši spor, ktorý startsAt: Date necháva otvorený.

Operácie prichádzajú piate a väčšina tried nedostane žiadnu. Operácia patrí na triedu vtedy, keď to správanie naozaj potrebuje jej vlastný stav - cancel() potrebuje stav termínu, takže tam patrí. Čokoľvek, čo na svoju prácu potrebuje tri ďalšie objekty, je služba, a dať to sem je spôsob, akým sa doménový model ticho zmení na diagram kódu namiesto diagramu domény.

Potom zastavte. Dokončený diagram vyššie má štyri triedy a odpovedá na otázku; pridať Clinic, Room, Invoice a Insurer by ho spravilo úplnejším a menej užitočným. Ak treba odpovedať na druhú otázku, nakreslite nad tým istým modelom druhý pohľad - na to pohľady sú.

Po jednom riadku na každé

  1. 01Podstatné mená s identitou, meniacim sa stavom a vlastnou životnosťou sa stanú triedami. Zvyšok sú atribúty.
  2. 02Čiary kreslite skôr než atribúty a ukážte tú škaredú verziu - je to tá, ktorú ľudia opravujú.
  3. 03Násobnosti rozhodnite tretie, nahlas, s otázkou, či každý koniec môže byť nula alebo viac než jeden.
  4. 04Každý atribút potrebuje zdroj. Typy vyriešia spory, ktoré názvy nechávajú otvorené.
  5. 05Zastavte, keď je otázka zodpovedaná, nie keď je systém celý nakreslený.

04Časté otázky#

Ako sa rozhodnúť, čo sa stane triedou?

Vezmite podstatné mená z toho, ako sa doména opisuje nahlas, a nechajte tie, ktoré majú identitu, meniaci sa stav a vlastnú životnosť. Podstatné meno, ktoré je vždy len hodnotou niečoho iného, ako farba alebo suma, je atribút, nie trieda.

V akom poradí kresliť diagram tried?

Triedy, potom vzťahy, potom násobnosti, potom atribúty a nakoniec operácie. Atribúty sa zdajú byť samozrejmým začiatkom a sú tým najhorším, pretože práve ich najskôr zahodíte, keď vás vzťahy donútia prehodnotiť, čo kam patrí.

Kedy je diagram tried hotový?

Keď odpovedá na otázku, kvôli ktorej vznikol, a každý vzťah na ňom nesie násobnosť. Nie vtedy, keď sú na ňom všetky triedy systému, a nie vtedy, keď sú vymenované všetky atribúty - do oboch týchto stavov sa diagram dokáže dostať bez toho, aby na čokoľvek odpovedal.

V tejto sérii

Súvisiace články

Všetky články