Archyno
ExportsPrax modelovania

Export UML do XMI

Formát výmeny, ktorým podľa vlastných slov hovorí každý UML nástroj, a poctivý opis toho, ktorá polovica vášho modelu cestu prežije.

6 min čítaniaXMI 2.5.11 z 3

Krátka odpoveď

  • XMI nesie model - triedy, atribúty, operácie, vzťahy - a nie jeho obrázok.
  • Rozloženie sa stráca preto, že výmena diagramov bola väčšinu života XMI voliteľná, a každý nástroj si medzeru vyplnil vlastným nárečím.
  • Exportujte ho vtedy, keď treba presunúť model. Znovu rozložiť diagram je popoludnie; prepísať štyristo tried sú dva týždne.
  • Ak potrebujete obrázok, exportujte SVG alebo PNG. XMI je možnosť nezávislá od dodávateľa pre model, a pre nič iné.

01Čo XMI vlastne je#

XMI je XML Metadata Interchange a slovo, ktoré tu robí prácu, je metadáta. Je to mechanické pravidlo na serializáciu ľubovoľného metamodelu založeného na MOF do XML a UML je jedným takým metamodelom - takže XMI súbor je váš model vyjadrený elementmi a atribútmi, ktoré sledujú štruktúru samotného metamodelu UML. Trieda sa stane packagedElement s xmi:type="uml:Class", jej atribúty sa stanú vnorenými elementmi ownedAttribute a vzťah sa stane elementomAssociation s dvomi referenciami memberEnd.

To je celá myšlienka a vysvetľuje aj silnú stránku, aj tú povestnú slabinu. Sila: akýkoľvek nástroj, ktorý implementuje metamodel UML, tieto elementy prečíta, pretože nie sú výmyslom jedného dodávateľa. Slabina z toho vyplýva okamžite - nič v metamodeli UML nehovorí, kde na plátne trieda sedí. Súradnice nie sú súčasťou toho, na čo bolo XMI navrhnuté.

02Čo prejde a čo nie#

PrvokNotáciaČo znamená
KlasifikátorySpoľahlivéTriedy, rozhrania, komponenty, aktéri, prípady použitia - meno, stereotyp aj umiestnenie v balíku dorazia.
Atribúty a operácieSpoľahlivéVrátane typov, viditeľnosti a násobnosti. Cennejšia polovica súboru a tá, ktorú nikto nechce prepisovať ručne.
VzťahySpoľahlivéAsociácie s oboma koncami, generalizácie, realizácie aj závislosti.
Rozloženie diagramuNespoľahlivéPozície a veľkosti cestujú v dodávateľskom rozšírení, ktoré prijímajúci nástroj zvyčajne ignoruje. Počítajte s prekreslením rozloženia.
Poznámky a obmedzeniaZmiešanéKomentáre väčšinou prežijú; obmedzenia v OCL závisia od toho, či oba nástroje parsujú tú istú verziu OCL.
Dáta špecifické pre nástrojStratenéFarby, vlastné vlastnosti, väzby na požiadavky, testovacie prípady. Nič z toho nie je UML, takže nič z toho nie je ani XMI.

Vzorec sa oplatí povedať raz: XMI nesie to, čo definuje UML, a nič iné. Každé sklamanie z tohto formátu pochádza z očakávania, že ponesie niečo, čo metamodel nikdy nepopísal. To nie je ani tak chyba XMI, ako odpoveď na otázku, o ktorej si ľudia neuvedomili, že ju kladú.

03Ako to používať bez prekvapení#

Tri návyky odstránia väčšinu bolesti. Najprv exportujte malý model a otvorte to XML v textovom editore. Desať minút čítania súboru vám o tom, čo váš nástroj vypisuje, povie viac než akákoľvek dokumentácia - a práve tam zistíte, že rozloženie je v bloku rozšírenia niekde na konci.

Importujte do pokusného projektu, nikdy nie cez skutočný. Import, ktorý čiastočne sadne na existujúci model, sa vracia späť oveľa ťažšie než ten, ktorý dorazí do prázdneho kontajnera, čo sa dá zahodiť.

Rátajte s prekreslením rozloženia namiesto dúfania. Model so sto triedami preusporiadaný do čitateľných pohľadov je práca na deň a oplatí sa ju naceniť, nie ju brať ako zlyhanie, keď nastane. Ak potrebujete, aby obrázky prežili presne, odpoveďou nie je XMI - je ňou natívny formát súboru alebo export do obrázka.

Po jednom riadku na každé

  1. 01XMI serializuje metamodel UML, takže nesie model a nie obrázok.
  2. 02Klasifikátory, členy a vzťahy prechádzajú medzi vyhovujúcimi nástrojmi spoľahlivo.
  3. 03Rozloženie cestuje v dodávateľských rozšíreniach a zvyčajne neprežije - rátajte s prekreslením.
  4. 04Čokoľvek, čo nie je UML - farby, vlastné polia, väzby na požiadavky - v súbore nie je.
  5. 05Skôr než sa na formát spoľahnete, prečítajte si jeden exportovaný súbor v textovom editore.

04Časté otázky#

Na čo sa XMI používa?

Na presun UML modelu medzi nástrojmi, ktoré nezdieľajú formát súboru. Je to XML serializácia metamodelu UML, takže nesie model - triedy, atribúty, operácie a vzťahy - a nie jeho obrázok.

Prečo sa pri importe XMI stratí rozloženie diagramu?

Pretože výmena diagramov bola väčšinu života XMI voliteľnou súčasťou štandardu a nástroje si medzeru vyplnili vlastnými rozšíreniami. Prvky dorazia; súradnice, ktoré ich umiestnili na plátno, boli napísané v nárečí, ktoré prijímajúci nástroj nečíta.

Oplatí sa XMI vôbec exportovať?

Áno, keď potrebujete presunúť model. Pre model je to jediná možnosť nezávislá od dodávateľa a znovu rozložiť diagram je práca na popoludnie, kým prepísať štyristo tried je práca na dva týždne. Ak potrebujete obrázok, exportujte radšej SVG alebo PNG.

V tejto sérii

Súvisiace články

Všetky články