# Import a generovanie zdrojového kódu

Umbrello modelovací nástroj UML a jeho použitie tkvie v analýze a návrhu systémov. Pre zjednodušenie prechodu od návrhu k implementácii dokáže Umbrello vygenerovať zdrojový text pre mnoho programovacích jazykov. Ak však chcete UML nasadiť v už existujúcom projekte, podporuje Umbrello vytvorenie modelu už existujúceho modelu tým, že načíta zdrojový text a vytvorí nájdené triedy.

## Generovanie zdrojového kódu

Umbrello dokáže vygenerovať zdrojový text v mnohých programovacích jazykoch a pomáha pritom pri začiatkoch implementácie. Vygenerovaný zdrojový text pozostáva z deklarácií tried, metód a atribútov. Tieto oddiely musí programátor správne vyplniť, aby pridal funkcionalitu do operácií tried.

Umbrello 1.1 dokáže vygenerovať zdrojový kód pre jazyky C++, Java a PHP. Iné jazyky je možné jednoducho pridať ako zásuvné moduly aj neskôr.

### Pridanie jazyka

Umbrello 1.1 sa dodáva s podporou pre generovanie zdrojového kódu pre jazyky C++, Java a PHP. Tieto jazyky sa pri prvom štarte Umbrello pridajú do zoznamu dostupných jazykov. Neskôr je možné si stiahnuť a prostredníctvom mechanizmu zásuvných modulov do programu pridať.

Pri každom štarte Umbrello testuje, či existujú nové zásuvné moduly. Potom vyžaduje súhlas s pridaním jazykov, ktoré majú byť zavedené ako nové (Jeden zásuvný modul môže obsahovať generátor zdrojového kódu pre viaceré jazyky). Jazyky môžeme pridať alebo odobrať pomocou položky Pridať/odobrať jazyky pre generovanie kódu z menu Kód.

Pridať/odobrať jazyky Odstrániť alebo pridať jazyk pre generovanie zdrojového kódu v Umbrello

Odstrániť alebo pridať jazyk pre generovanie zdrojového kódu v Umbrello

### Generovanie zdrojového kódu

Aby sme mohli vygenerovať zdrojový kód pomocou programu Umbrello, musíme prv načítať model, ktorý obsahuje aspoň jednu triedu. Ak chceme vygenerovať zdrojový kód, musíme spustiť Asistenta pre generovanie zdrojového kódu... z menu Kód. Tým sa spustí asistent, ktorý nás prevedie procesom vytvorenia zdrojového kódu.

V prvom kroku treba vybrať triedy, pre ktoré chceme vygenerovať kód. Na začiatku sú všetky triedy modelu vybrané a je možné ich odstrániť len po jednom. Ak to chceme dosiahnuť, musíme ich premiestniť z pravého zoznamu do ľavého zoznamu.

Ako ďalší krok asistenta môžeme zmeniť parametre generátora zdrojového kódu. Sú dostupné tieto parametre:

Parametre zdrojového kódu Parametre pre generovanie zdrojového kódu pomocou Umbrello

Parametre pre generovanie zdrojového kódu pomocou Umbrello

#### Nastavenia generovania

##### Dokumentácia zdrojového kódu

Parameter Zapísať dokumentačné komentáre, aj keď sú prázdne hovorí generátoru zdrojového kódu, aby vložil komentáre v tvare /** bla-bla */ aj vtedy, ak sú prázdne. Ak triedy, metódy a atribúty boli v modeli dokumentované, vloží generátor zdrojového kódu tieto komentáre vo formáte Doxygen, nezávisle od toho, čo bolo v tomto kroku vybrané. Ak tento parameter je zapnutý, bude pre všetky triedy, metódy a atribúty vložené miesta pre dokumentáciu, aj keď v modeli neboli tieto prvky zdokumentované. Dokumentáciu by mal potom programátor zapísať priamo v zdrojovom kóde na tieto miesta.

Zapísať komentáre pre sekcie, aj keď sú prázdne: Umbrello zapíše komentáre do zdrojového kódu pre oddelenie jednotlivých sekcií triedy. Tým sa oddelia napr. metódy typu public alebo atribúty a vkladajú sa pred príslušné sekcie. Ak bol tento parameter aktivovaný, bude pre každú sekciu vložený takýto komentár, aj keď je sekcia prázdna. Takto by sa vložil komentár metódy typu protected , aj keď žiadne také metódy v triede neexistujú.

##### Priečinky

Zapísať všetky generované hlavičky do priečinku: tu si môžeme vybrať priečinok, kam sa budú ukladať hlavičkové súbory zdrojového kódu.

Parameter Vložiť hlavičkové súbory z priečinku umožňuje vložiť hlavičku na začiatok každého vygenerovaného súboru. Tieto hlavičky súborov môžu obsahovať informácie o vlastníctve alebo informácie o licencii, ako aj premenných, ktoré budú počas generovania zdrojového kódu. Odporúčame, aby ste sa pozreli prv na vzorovú hlavičku pre súbory, ktorá je dodávaná s programom Umbrello. V nej môžete vidieť, ako je možné pomocou premenných vložiť aktuálny dátum alebo meno.

##### Pravidlá pre prepísanie

Tieto parametre určujú, čo má Umbrello 1.1 robiť, ak chce zapísať súbory počas generovania zdrojového kódu a cieľový priečinok už existuje. Dokáže súbory nezmeniť. Môžeme si vybrať medzi možnosťami Prepísať, Opýtať sa a Použiť iný názov súboru. Ak prikážeme, aby Umbrello našiel iný názov súboru, priloží Umbrello príponu k existujúcemu názvu súboru.

##### Jazyk

Umbrello použije pre generovanie zdrojového kódu práve aktívny jazyk. V každom prípade si môžeme v Asistentovi pre generovanie zdrojového kódu vybrať iný jazyk.

#### Generovanie zdrojového kódu

Tretí a posledný krok asistenta zobrazí status samotného generovania zdrojového kódu. Teraz stlačíme tlačidlo Generovať, aby sa príslušné súbory pre jednotlivé triedy vytvorili.

Musíme si uvedomiť, že nastavené parametre platia len pre aktuálne generovanie zdrojového kódu. Pri ďalšom vyvolaní asistenta musíme všetky parametre, ako aj priečinok pre hlavičkové súbory a nastavenie o prepísaní nastaviť znova. Dlhodobé nastavenie parametrov môžeme vykonať prostredníctvom sekcie Generovanie zdrojového kódu v nastaveniach Umbrello v menu Nastavenia Nastaviť Umbrello... .

Ak sú štandardné nastavenia pre generovanie zdrojového kódu správne, môžeme generovanie spustiť priamo bez asistenta. Robí sa to pomocou položky Generovať všetok zdrojový kód z menu Kód. Tým sa vygeneruje zdrojový kód pre všetky triedy modelu pomocou aktuálnych nastavení, ako sú výstupný priečinok a nastavenia pre prepísanie. Preto treba túto voľbu používať opatrne.

## Import zdrojového kódu

Umbrello dokáže načítať zdrojový text už existujúceho projektu pre vytvorenie systémového modelu. Umbrello 1.1 dokáže načítavať zdrojový kód v jazyku C++, ďalšie jazyky budú nasledovať v neskorších verziách.

Aby bolo možné triedy importovať do aktuálneho modelu, musíme zvoliť položku Importovať triedy... z menu Kód. V dialógu, ktorý sa objaví, si musíme vybrať súbory, ktoré obsahujú deklarácie tried jazyka C++ a potvrdiť stlačením OK. Triedy sa importujú a budú vložené do stromu modelu. Pripomíname, že Umbrello pri načítavaní nevytvára diagramy, len načíta triedy. Tieto môžeme potom použiť pri už existujúcich diagramoch.

Import zdrojového kódu Dialóg pre import zdrojového kódu v Umbrello

Dialóg pre import zdrojového kódu v Umbrello