Archyno
UMLZáklady

Čo je UML?

Praktický úvod do Unified Modeling Language: čo to je, štrnásť diagramov, ktoré definuje, ako do seba zapadajú a po ktorom siahnuť. Bez dejepisu dlhšieho, než je nutné.

14 min čítaniaUML 2.5.11 z 35

Krátka odpoveď

  • UML je vizuálny jazyk s pevne daným významom, ktorý spravuje OMG. Aktuálne vydanie je UML 2.5.1 z roku 2017.
  • Štrnásť druhov diagramov, rozdelených na sedem štruktúrnych a sedem pre správanie - a diagramy sú pohľady na jeden model, nie samostatné obrázky.
  • Nemusíte použiť všetko. Nakresliť jeden sekvenčný diagram, aby sa vyriešil spor o to, kto koho volá, je úplne legitímne použitie UML - a pravdepodobne to najhodnotnejšie.
  • Naučte sa poriadne najprv diagram tried a sekvenčný diagram: spolu pokrývajú väčšinu toho, čo vám kedy niekto podá.
Taxonómia diagramov UML 2.5.1. Diagram sa delí na štrukturálny diagram a diagram správania. Štrukturálny diagram má sedem druhov: tried, komponentov, zloženej štruktúry, nasadenia, objektový, balíkov a profilu. Diagram správania má aktivít, stavový, prípadov použitia a diagram interakcie; diagram interakcie má zase komunikačný, prehľadu interakcií, sekvenčný a časovací. Spolu štrnásť druhov diagramov.
Taxonómia diagramov UML 2.5.1. Štrnásť konkrétnych druhov diagramov a dve abstraktné kategórie, ktoré ich organizujú. Prázdny trojuholník je vlastná šípka generalizácie z UML - sekvenčný diagram naozaj je druhom diagramu interakcie.

01Čím UML v skutočnosti je#

UML je vizuálny jazyk na popis softvérových systémov. Dáva vám pevnú sadu tvarov, čiar a pravidiel, aby diagram, ktorý nakreslíte, znamenal to isté aj pre niekoho, kto nesedel v miestnosti, kde vznikal.

To je celá ponúkaná hodnota a oplatí sa povedať to priamo. Rámček s názvom nie je UML. Rámček s tromi priehradkami, prázdny trojuholník mieriaci na iný rámček a 1..* na jednom konci čiary je UML a hovorí niečo presné: tento typ dedí od tamtoho a jedna inštancia prvého je spojená aspoň s jednou inštanciou druhého. Ktokoľvek, kto pozná notáciu, to prečíta rovnako. To je to, čo si kupujete.

Jazyk udržiava Object Management Group. Aktuálne vydanie je UML 2.5.1, zverejnené v roku 2017. Pochádza z práce, ktorú Grady Booch, James Rumbaugh a Ivar Jacobson zlúčili v Rationale v polovici deväťdesiatych rokov, keď mal odbor zhruba päťdesiat konkurenčných notácií a nijaký spôsob, ako prečítať cudzí návrh. OMG prijala UML 1.1 v roku 1997. Verzia 2.5 bola najmä upratovaním: špecifikácia sa rozpadla na zväzky „infrastructure“ a „superstructure“, v ktorých sa vyznal málokto, a 2.5 ich zložila späť do jedného dokumentu.

02Štruktúra a správanie: rozdelenie, ktoré organizuje všetko#

Každý diagram UML odpovedá na jednu z dvoch otázok. Diagramy štruktúry odpovedajú na „z čoho sa tento systém skladá?“ - časti, typy, stroje a to, ako sú usporiadané. Popisujú veci, ktoré platia bez ohľadu na čas.

Diagramy správaniaodpovedajú na „čo tento systém robí?“ - toky, správy, stavy a poradie, v akom sa veci dejú. Popisujú veci, ktoré platia len v určitom okamihu.

Diagram tried vám povie, že Platba má sumu a stav. Stavový automat vám povie, že platba prejde z Autorizovaná do Zachytená, ale nikdy naopak. Ani jeden nedokáže vyjadriť to druhé a väčšina skutočných otázok potrebuje po jednom z každého. Ak zistíte, že sa snažíte ukázať poradie na diagrame tried, je to signál nakresliť druhý diagram, nie preťažiť prvý.

Správanie má o jednu úroveň vnorenia viac. Štyri zo siedmich diagramov správania - sekvenčný, komunikačný, časový a prehľadu interakcií - sú všetko diagramy interakcie, štyri rôzne vykreslenia tej istej myšlienky: účastníci si vymieňajú správy. V princípe sú zameniteľné. V praxi prevládajú sekvenčné diagramy, pretože zvislá časová os je to najľahšie na čítanie na svete.

03Štrnásť diagramov, na každý jeden riadok#

Tu je celý jazyk na úrovni „potrebujem to dnes?“. Keď je odpoveď áno, nasledujte odkaz.

Štruktúra - z čoho sa systém skladá

  • Tried

    Typy, ich atribúty a operácie a to, ako spolu súvisia. Ten, ktorý kreslí každý.

  • Komponentov

    Vymeniteľné časti a rozhrania, ktoré poskytujú a vyžadujú.

  • Nasadenia

    Ktorý artefakt beží na ktorom uzle a čím tie uzly sú.

  • Objektov

    Jedna konkrétna momentka inštancií, na overenie modelu tried.

  • Balíkov

    Ako je model zoskupený a ktorá skupina smie závisieť od ktorej.

  • Zloženej štruktúry

    Vnútro jedného klasifikátora: jeho časti, porty a vnútorné zapojenie.

  • Profilov

    Ako rozšíriť samotné UML stereotypmi, keď štandardný slovník nestačí.

Správanie - čo systém robí

  • Prípadov použitia

    Kto systém používa a na čo. Rozsah, nie návrh.

  • Aktivít

    Tok, rozhodnutia a veci, ktoré sa dejú súbežne. Proces, presne.

  • Stavový

    Stavy, v ktorých môže jeden objekt byť, a udalosti, ktoré ním medzi nimi pohnú.

  • Sekvenčný

    Správy medzi účastníkmi, v poradí, v čase. Najpoužívanejší diagram správania.

  • Komunikačný

    Tá istá interakcia ako v sekvenčnom, usporiadaná tak, aby ukázala, kto s kým hovorí.

  • Časový

    Stav proti časovej osi, keď ide o lehotu.

  • Prehľadu interakcií

    Diagram aktivít, ktorého uzlami sú interakcie. Mapa nad sekvenciami.

V praxi je zdravá väčšina skutočného UML štyrmi z nich: diagram tried, sekvenčný, prípadov použitia a aktivít. Ostatných desať existuje, pretože ich niekto potreboval, a tri či štyri z nich sú naozaj vynikajúce, keď si to situácia žiada - stavový automat na životný cyklus, diagram nasadenia na revíziu infraštruktúry. Zvyšok si viete prečítať, keď na ne narazíte, a nikdy ich nemusíte kresliť.

04Ktorý diagram mám nakresliť?#

Vychádzajte z otázky, nie z diagramu. Chybou je vybrať si najprv typ diagramu a až potom rozhodovať, čo naň dať - takto skončíte s diagramom tried o dvesto rámčekoch, ktorý nikto nikdy neprečítal.

  • „Kto to používa a na čo?“ - diagram prípadov použitia. Rozsah a aktéri, skôr než existuje akýkoľvek návrh.
  • „Aké sú pojmy a ako spolu súvisia?“ - diagram tried. Predvolený pohľad na štruktúru.
  • „Čo sa stane, keď niekto klikne na zaplatiť?“ - sekvenčný diagram. Poradie správ medzi účastníkmi.
  • „Aký je proces, aj s vetvami?“ - diagram aktivít. Tok s rozhodnutiami a súbežnosťou.
  • „V akých stavoch môže táto vec byť?“ - stavový diagram. Životný cyklus a povolené prechody.
  • „Čo kde beží?“ - diagram nasadenia. Uzly, artefakty, prostredia.
  • „Aké sú služby a ich zmluvy?“ - diagram komponentov. Poskytované a vyžadované rozhrania.
  • „Ako je kódová základňa usporiadaná?“ - diagram balíkov. Zoskupenie a povolené závislosti.

05Čím UML nie je#

Nie je to proces. UML nehovorí nič o tom, kedy modelovať, koľko modelovať ani kto to schvaľuje. Je to notácia. Metodiky ako RUP boli okolo neho postavené a často sa s ním zamieňajú; UML sa dá použiť pri akomkoľvek procese, aj pri žiadnom.

Nie je to programovací jazyk. Modely v UML môžu byť dosť podrobné na generovanie kódu a niektoré nástroje presne to robia. Väčšina tímov to nerobí a ani by nemala. Úplné obojsmerné generovanie kódu je najčastejším jediným dôvodom, prečo sa snahy o UML zrútia: z modelu sa stane druhá, horšia kópia zdrojáku, ktorú nikto neaktualizuje.

Nie je to všetko alebo nič. Nič nevyžaduje použiť všetkých štrnásť diagramov ani modelovať každú triedu. Nakresliť jeden sekvenčný diagram na urovnanie sporu o tom, kto koho volá, je úplne legitímne použitie UML a pravdepodobne to najhodnotnejšie.

Nie je to to isté ako ArchiMate. Oboje sú modelovacie jazyky a prekrývajú sa dosť na to, aby to mýlilo. UML modeluje softvér - triedy, komponenty, správy. ArchiMate modeluje podnik okolo neho - podnikové procesy, spôsobilosti, aplikačnú a technologickú vrstvu. Veľká organizácia typicky potrebuje oboje, v rôznych výškach.

06Koľko modelovať#

Úprimná odpoveď znie: oveľa menej, než k čomu nabáda nástroj. Model si zaslúži svoje miesto vtedy, keď sa číta častejšie, než sa upravuje. Spoľahlivo k tomu vedú tri veci.

Modelujte tie časti, ktoré sa ťažko držia v hlave. Stavový automat platby s deviatimi stavmi a dvoma zakázanými prechodmi si diagram zaslúži. DTO s tromi poľami nie.

Modelujte na jednom diagrame v jednej výške. Najčastejším zlyhaním skutočného diagramu tried je miešanie doménových pojmov s inštalatérstvom frameworku na jednom plátne. Dva diagramy, každý vnútorne konzistentný, sú lepšie než jeden, ktorý je technicky úplný.

Modelujte to, čo si necháte. Diagram v prezentácii je kresba s trvanlivosťou jednej porady, a to je v poriadku, pokiaľ viete, že to tak je. Diagram v repozitári, vedľa kódu, ktorý popisuje, je model - a potrebuje vlastníka.

Siahnite po ňom, keď

  • V návrhu je rozhodnutie, o ktorom by sa rozumní ľudia sporili
  • Na rozhraní alebo životnom cykle sa musí zhodnúť viac než jeden tím
  • Niekto sa k tejto kódovej základni pridá neskôr a potrebuje jej tvar
  • Regulátor, audítor alebo architektonická revízia si to vyžiada písomne

Siahnite po niečom inom, keď

  • Kód je kratší a jasnejší, než by bol diagram
  • Kreslíte to, aby ste vyhoveli zoznamu, ktorý nikto nečíta
  • Zdvojovalo by to niečo, čo sa už generuje zo zdrojáku
  • Návrh sa stále denne mení - počkajte, kým sa prestane hýbať

07Kde začať#

Ak ste v notácii noví, prečítajte si najprv článok o diagrame tried. Nesie najväčší podiel slovníka UML - generalizáciu, asociáciu, násobnosť, kompozíciu - a každý ďalší diagram štruktúry tieto značky preberá. Potom si prečítajte článok o sekvenčnom diagrame, ktorý robí to isté pre správanie.

Tie dva pokrývajú väčšinu toho, čo od vás kedy budú chcieť prečítať. Všetko ostatné v tejto sérii je napísané tak, aby sa dalo vziať do ruky v deň, keď to potrebujete, v ľubovoľnom poradí, a každý článok predpokladá len tie dva.

Po jednom riadku na každé

  1. 01UML je notácia s pevným významom, ktorú udržiava OMG; aktuálna verzia je 2.5.1.
  2. 02Štrnásť druhov diagramov, rozdelených na sedem štruktúrnych a sedem správania - štyri z tých druhých sú diagramy interakcie.
  3. 03Diagramy sú pohľadmi na jeden model, nie samostatnými kresbami.
  4. 04Diagram vyberajte podľa otázky, na ktorú potrebujete odpoveď, nie podľa zoznamu.
  5. 05Diagramy tried a sekvenčné pokrývajú veľkú väčšinu skutočného použitia; naučte sa poriadne najprv tie dva.

08Časté otázky#

Koľko je UML diagramov?

UML 2.5.1 definuje štrnásť typov diagramov, rozdelených na sedem diagramov štruktúry a sedem diagramov správania. Štruktúru pokrývajú diagramy tried, objektov, komponentov, nasadenia, balíkov, zloženej štruktúry a profilov; správanie diagramy prípadov použitia, aktivít, stavový, sekvenčný, komunikačný, časový a prehľadu interakcií.

Používa sa UML ešte?

Áno, ale výberovo. Málokto kreslí všetkých štrnásť typov, no diagramy tried, sekvenčné, aktivít a prípadov použitia zostávajú bežné pri návrhových revíziách, v regulovaných odvetviach a všade, kde má architektúra prežiť ľudí, ktorí ju napísali.

Aký je rozdiel medzi diagramami štruktúry a správania?

Diagram štruktúry ukazuje, z čoho sa systém skladá, a v čase sa nemení: triedy, komponenty, uzly. Diagram správania ukazuje, čo sa deje, v akom poradí a za akých podmienok. Ak je vo vašej otázke slovo kedy, potrebujete diagram správania.

Ktorý UML diagram sa mám naučiť ako prvý?

Diagram tried. Nesie väčšinu slovníka UML a šesť ďalších diagramov štruktúry preberá jeho notáciu priamo, takže poriadne sa ho naučiť robí zvyšok lacným. Sekvenčný diagram je prirodzený druhý.

Musím sa naučiť všetkých štrnásť UML diagramov?

Nie. V praxi väčšinu práce odvedú štyri: tried, sekvenčný, prípadov použitia a aktivít. Pri ostatných stačí vedieť ich prečítať, keď na ne narazíte, a to je oveľa menšia investícia než vedieť ich nakresliť od nuly.

V tejto sérii

Súvisiace články

Všetky články