Archyno
UMLDiagramy struktury

UML diagramy profilů

Jak rozšířit samotné UML. Stereotypy, označkované hodnoty a šipka rozšíření - mechanismus za každým «entity», «service» a «microservice», jaké jste kdy na diagramu viděli.

6 min čteníUML 2.5.130 z 35

Krátká odpověď

  • Každé lomené uvozovky, jaké jste na diagramu viděli - entity, service, microservice - byly někde definovány profilem.
  • Stereotypy přidávají význam, označkované hodnoty přidávají data. Stereotyp service se značkou SLA dovolí komponentě nést konkrétní SLA.
  • Šipka rozšíření je to, co váže stereotyp na jednu metatřídu. Rozšíření Class znamená, že platí pro třídy a pro nic jiného.
  • Profil definujte tehdy, když chcete, aby na anotaci reagovaly nástroje. Poznámka je pro každý nástroj neviditelná; stereotyp je součástí modelu.
UML diagram profilu. Stereotyp Microservice se dvěma označenými hodnotami, team a slo, rozšiřuje metatřídu Class. Rozšíření je nakreslené jako plná čára s plným trojúhelníkem mířícím na metatřídu.
Profil s jedním stereotypem. Plný trojúhelník je rozšíření, ne generalizace - Microservice nedědí od Class, přidává k ní.

01Co ukazuje#

Diagram profilu je UML popisující rozšíření sebe sama. Je to jediný diagram v jazyce, jehož předmětem je ten jazyk, a proto působí jinak než ostatních třináct a proto ho většina lidí nikdy nekreslí.

Výsledek jste téměř jistě používali. Pokaždé, když jste na boxu třídy viděli «entity», «service», «controller» nebo «microservice», koukali jste se na aplikovaný stereotyp. Diagram profilu je místo, kde je ten stereotyp definovaný: jak se jmenuje, na co se dá připojit a jaké dodatečné vlastnosti nese.

02Notace#

PrvekNotaceCo znamená
Metatřídabox, «metaclass»Prvek samotného UML - Class, Component, Association. To, co rozšiřujete.
Stereotypbox, «stereotype»Nový pojem, který do jazyka přidáváte.
RozšířeníPlná čára, plnýtrojúhelník u metatřídy. „Tenhle stereotyp se smí aplikovat na tamten druh prvku.“
Označená hodnotaatribut na stereotypuDodatečná vlastnost, kterou vám aplikování stereotypu dá - slo: Duration.
Profilbalíček, «profile»Balíček, který seskupuje sadu stereotypů, aby se daly aplikovat společně.
«apply»Z balíčku na profil: všechno tady smí používat ty stereotypy.
Dvě třídy s aplikovaným stereotypem Microservice, Checkout a Payment orchestrator, každá zobrazující označené hodnoty pro team a SLO. Poznámka vysvětluje, že stereotyp i jeho označené hodnoty pocházejí z profilu.
Profil v použití. Aplikování stereotypu dá jeho název do francouzských uvozovek nad název třídy a dá třídě označené hodnoty z profilu k vyplnění.

03Kdy ho opravdu potřebujete#

Buďte upřímní ohledně toho prahu. Použít stereotyp nepotřebuje profil vůbec - «entity» na boxu komunikuje lidskému čtenáři naprosto dobře, aniž by bylo cokoli formálně definované. Diagram profilu potřebujete tehdy, když stereotyp musí něco znamenat stroji.

To se stává ve třech situacích. Když nástroj musí model validovat - odmítnout aplikovat «microservice» na asociaci, nebo vyžadovat, aby každý z nich deklaroval SLO. Když se z modelu generuje kód nebo dokumenty a generátor se větví podle stereotypu. A když se na slovníku dohodlo celé odvětví: SysML, MARTE, SoaML a jim podobné jsou všechno UML profily a jsou hlavním důvodem, proč ten mechanismus existuje.

04Jak udržet profil užitečným#

Sáhněte po něm, když

  • Nástroj musí ze stereotypu validovat nebo generovat, nejen ho zobrazit
  • Potřebujete na prvcích modelu dodatečná strukturovaná data - vlastníka, SLO, klasifikaci
  • Přijímáte standardní profil jako SysML, který už někdo jiný definoval
  • Tatáž hrstka doménových pojmů se opakuje napříč mnoha diagramy a týmy

Sáhněte po něčem jiném, když

  • Jeden či dva stereotypy použité čistě jako vizuální štítky - prostě je napište
  • Pojmy, které přidáváte, už existují v ArchiMate nebo jiném jazyce
  • Profil nebude nikdo udržovat potom, co člověk, který ho napsal, odejde
  • Rozšiřujete UML, abyste se vyhnuli učení té části UML, která to už pokrývá

Dobrý profil je malý. Pět až deset stereotypů, každý se zřejmým významem a nejvýš párem označených hodnot, aplikovaných konzistentně, má mnohem větší cenu než čtyřicet, které si nikdo nepamatuje. A každá označená hodnota, kterou přidáte, je pole, které musí někdo vyplnit na každém prvku, navždy - takže ať si každá zaslouží své místo.

Jedno praktické varování o přenositelnosti: profily jsou tou částí UML, která mezi nástroji cestuje nejhůř. Definice stereotypů přežijí cestu tam a zpět přes XMI podstatně méně spolehlivě než obyčejné prvky modelu a označené hodnoty často doputují jako netypované řetězce nebo vůbec. Pokud se váš model musí přesouvat mezi nástroji, držte profil tak malý, jak snesete.

Po jednom řádku na každé

  1. 01Jediný UML diagram, jehož předmětem je samotné UML.
  2. 02Stereotyp rozšiřuje metatřídu; šipka je plná čára s PLNÝM trojúhelníkem.
  3. 03Dutý trojúhelník generalizace znamená něco jiného a je to obvyklá chyba.
  4. 04Označené hodnoty jsou dodatečné vlastnosti, které aplikování stereotypu poskytne.
  5. 05Formální profil potřebujete, jen když musí na stereotyp jednat nástroj.
  6. 06Profily držte malé - jsou také tou částí modelu, která se exportuje nejméně spolehlivě.

05Časté dotazy#

Co je stereotyp v UML?

Pojmenované rozšíření existujícího prvku UML, psané ve francouzských uvozovkách: entity, service, controller. Umožňuje přizpůsobit jazyk doméně bez vymýšlení nové notace a každý, který jste viděli, byl někde definován profilem.

Co je označkovaná hodnota?

Vlastnost přidaná prvku stereotypem. Stereotyp service může definovat značku SLA; jeho použití na komponentu dovolí této komponentě nést konkrétní hodnotu SLA. Označkované hodnoty jsou to, čím profil přidává data, tak jako stereotypy jsou to, čím přidává význam.

Co je vztah rozšíření?

Šipka od stereotypu k metatřídě, kterou rozšiřuje, kreslená plnou čarou s vyplněným trojúhelníkem. Právě to dělá stereotyp použitelným na jeden konkrétní druh prvku: rozšíření třídy Class znamená, že jde použít na třídy a na nic jiného.

Kdy definovat profil místo poznámek?

Když se táž anotace objevuje dost často na to, abyste chtěli, aby na ni nástroje reagovaly: ověřily ji, filtrovaly podle ní nebo ji přetransformovaly při exportu. Poznámka je pro každý nástroj neviditelná; stereotyp je plnohodnotnou součástí modelu.

V této sérii

Související články

Všechny články