Export UML do XMI
Formát výměny, kterým podle vlastních slov mluví každý UML nástroj, a poctivý popis toho, která polovina vašeho modelu cestu přežije.
6 min čteníXMI 2.5.11 z 3
Krátká odpověď
- XMI nese model - třídy, atributy, operace, vztahy - a ne jeho obrázek.
- Rozvržení se ztrácí proto, že výměna diagramů byla většinu života XMI volitelná, a každý nástroj si mezeru vyplnil vlastním nářečím.
- Exportujte ho tehdy, když je třeba přesunout model. Znovu rozvrhnout diagram je odpoledne; přepsat čtyři sta tříd jsou dva týdny.
- Pokud potřebujete obrázek, exportujte SVG nebo PNG. XMI je možnost nezávislá na dodavateli pro model, a pro nic jiného.
01Co XMI vlastně je#
XMI je XML Metadata Interchange a slovo, které tu dělá práci, je metadata. Je to mechanické pravidlo pro serializaci libovolného metamodelu založeného na MOF do XML a UML je jedním takovým metamodelem - takže XMI soubor je váš model vyjádřený elementy a atributy, které sledují strukturu samotného metamodelu UML. Třída se stane packagedElement s xmi:type="uml:Class", její atributy se stanou vnořenými elementy ownedAttribute a vztah se stane elementemAssociation se dvěma referencemi memberEnd.
To je celá myšlenka a vysvětluje jak silnou stránku, tak tu pověstnou slabinu. Síla: jakýkoli nástroj, který implementuje metamodel UML, tyhle elementy přečte, protože nejsou výmyslem jednoho dodavatele. Slabina z toho vyplývá okamžitě - nic v metamodelu UML neříká, kde na plátně třída sedí. Souřadnice nejsou součástí toho, k čemu bylo XMI navrženo.
02Co projde a co ne#
| Prvek | Notace | Co znamená |
|---|---|---|
| Klasifikátory | Spolehlivé | Třídy, rozhraní, komponenty, aktéři, případy užití - jméno, stereotyp i umístění v balíčku dorazí. |
| Atributy a operace | Spolehlivé | Včetně typů, viditelnosti a násobnosti. Cennější polovina souboru a ta, kterou nikdo nechce přepisovat ručně. |
| Vztahy | Spolehlivé | Asociace s oběma konci, generalizace, realizace i závislosti. |
| Rozvržení diagramu | Nespolehlivé | Pozice a velikosti cestují v dodavatelském rozšíření, které přijímající nástroj obvykle ignoruje. Počítejte s překreslením rozvržení. |
| Poznámky a omezení | Smíšené | Komentáře většinou přežijí; omezení v OCL závisí na tom, zda oba nástroje parsují tutéž verzi OCL. |
| Data specifická pro nástroj | Ztracené | Barvy, vlastní vlastnosti, vazby na požadavky, testovací případy. Nic z toho není UML, takže nic z toho není ani XMI. |
Vzorec se vyplatí říct jednou: XMI nese to, co definuje UML, a nic jiného. Každé zklamání z tohoto formátu pochází z očekávání, že ponese něco, co metamodel nikdy nepopsal. To není ani tak chyba XMI, jako odpověď na otázku, o které si lidé neuvědomili, že ji kladou.
03Jak to používat bez překvapení#
Tři návyky odstraní většinu bolesti. Nejdřív exportujte malý model a otevřete to XML v textovém editoru. Deset minut čtení souboru vám o tom, co váš nástroj vypisuje, řekne víc než jakákoli dokumentace - a právě tam zjistíte, že rozvržení je v bloku rozšíření někde na konci.
Importujte do pokusného projektu, nikdy ne přes skutečný. Import, který částečně sedne na existující model, se vrací zpět mnohem hůř než ten, který dorazí do prázdného kontejneru, co jde zahodit.
Počítejte s překreslením rozvržení místo doufání. Model se sto třídami přeuspořádaný do čitelných pohledů je práce na den a vyplatí se ji nacenit, ne ji brát jako selhání, když nastane. Pokud potřebujete, aby obrázky přežily přesně, odpovědí není XMI - je jí nativní formát souboru nebo export do obrázku.
Po jednom řádku na každé
- 01XMI serializuje metamodel UML, takže nese model a ne obrázek.
- 02Klasifikátory, členy a vztahy procházejí mezi vyhovujícími nástroji spolehlivě.
- 03Rozvržení cestuje v dodavatelských rozšířeních a obvykle nepřežije - počítejte s překreslením.
- 04Cokoli, co není UML - barvy, vlastní pole, vazby na požadavky - v souboru není.
- 05Než se na formát spolehnete, přečtěte si jeden exportovaný soubor v textovém editoru.
04Časté dotazy#
K čemu se XMI používá?
K přesunu UML modelu mezi nástroji, které nesdílejí formát souboru. Je to XML serializace metamodelu UML, takže nese model - třídy, atributy, operace a vztahy - a ne jeho obrázek.
Proč se při importu XMI ztratí rozvržení diagramu?
Protože výměna diagramů byla většinu života XMI volitelnou součástí standardu a nástroje si mezeru vyplnily vlastními rozšířeními. Prvky dorazí; souřadnice, které je umístily na plátno, byly zapsány v nářečí, které přijímající nástroj nečte.
Vyplatí se XMI vůbec exportovat?
Ano, když potřebujete přesunout model. Pro model je to jediná možnost nezávislá na dodavateli a znovu rozvrhnout diagram je práce na odpoledne, zatímco přepsat čtyři sta tříd je práce na dva týdny. Pokud potřebujete obrázek, exportujte raději SVG nebo PNG.
V této sérii
- 01UML do XMI
- 02Sparx .qea tam a zpět
- 03UML do Mermaidu
Související články
Praxe modelování
Praxe modelování
Praxe modelování
Diagramy struktury