

Umbrello on UMLi modelleerimisvahend ja seepärast on selle põhiülesandeks abistada süsteemi analüüsi ja disaini loomisel. Disainist teostusse liikumise lihtsustamiseks võimaldab Umbrello genereerida lähtekoodi erinevatesse programmeerimiskeeltesse. Kui soovid alustada UMLi kasutamist olemasoleva C++ projekti juures, siis aitab Umbrello luua süsteemi mudelit olemasolevast lähtetekstist, analüüsides lähteteksti ja importides sellest leitud klassid.
Umbrello võimaldab UMLi mudeli põhjal genereerida lähtekoodi erinevate programmeerimiskeeltes. Genereeritud kood koosneb klasside kirjeldustest koos meetodite ja atribuutidega, nii et saad “täita lüngad” kirjutades juurde klasside operatsioonide funktsionaalsuse.
Umbrello 1.2 toetab lähtekoodi genereerimist järgmistesse keeltesse: ActionScript, Ada, C++, CORBA IDL, Java™, JavaScript, PHP, Perl, Python, SQL ja XMLSchema.
Koodi genereerimiseks Umbrello abil pead kõigepealt looma või laadima vähemalt ühte klassi sisaldava mudeli. Kui oled koodikirjutamiseks valmis, siis vali abimehe käivitamiseks menüüst käsk , mis juhatab sind läbi koodigenereerimise protsessi.
Esimene samm on nende klasside valimiseks, mille jaoks soovid koodi genereerida. Vaikimisi on kõik mudeli klassid valitud ja sul on võimalik eemaldada mittevajalikud klassid parempoolses nimekirjas olevast valikust vasakpoolsesse nimekirja.
Järgmises sammus võimaldab abimees muuta koodi genereerimiseks kasutatavaid parameetreid. Saadaval on järgmised parameetrid:

Koodi genereerimise seadistused Umbrellos
Säte Dokumentatsiooni kommentaarid lisatakse isegi siis, kui need on tühjad käseb koodigeneraatoril lisada /** blah */ stiilis kommentaarid isegi siis, kui kommentaariplokid on tühjad. Kui lisasid mudeli klassidele, meetoditele või atribuutidele dokumentatsiooni, siis kirjutab koodigeneraator need, arvestades rakenduse Doxygen reegleid. Märgistades selle sätte lisatakse kõigile klassidele, meetoditele ja atribuutidele kommentaariplokid isegi siis, kui neid puudub mudelis dokumentatsioon. Sellisel juhul pead ise hiljem dokumentatsiooni otse koodi kirjutama.
Sektsioonide kommentaarid lisatakse isegi siis, kui need on tühjad käseb Umbrellol lisada lähtekoodi kommentaarid, mis eraldavad erinevaid klassi sektsioone. Näiteks “public methods” või “Attributes” enne vastava sektsiooni algust. Märgistades selle sätte lisatakse kõik sektsioone märgistavad kommentaarid isegi siis, kui klassi vastavad sektsioonid on tühjad. Näiteks lisatakse kommentaar “protected methods” isegi siis, kui klassis pole ühtegi kaitstud meetodit.
Kirjuta kõik genereeritud failid kataloogi: Siin pead valima kataloogi, millesse Umbrello paneks genereeritud lähtekoodi failid.
Säte Kaasa päisefailid kataloogist võimaldab lisada iga genereeritud faili algusse päiseid. Päisefailid võivad sisaldada näiteks teavet autoriõiguse ja litsenseerimise kohta ning muutujaid, mis asendatakse genereerimise käigus. Täpsema info saamiseks muutujate kasutamise kohta päisefailides vaata Umbrelloga kaasatulevaid näidismallisid.
See säte ütleb Umbrellole, mida teha siis, kui loodav fail on sihtkataloogis juba olemas. Umbrello 1.1 ei oska muuta olemasolevaid koodifaile, seega pead valima, kas kirjutada olemasolev fail üle, jätta selle konkreetse faili genereerimine vahele või käskida Umbrellol kasutada uut nime. Kui valid uue nime kasutamise, siis lisab Umbrello failinimele järelliite.
Kolmandas ja viimases sammus näitab abimees koodi genereerimise protsessi olekut. Klasside failide genereerimiseks pead klõpsama vaid nuppu "Genereeri".
Pane tähele, et koodi genereerimise abimehes valitud seadistused kehtivad vaid selle genereerimise ajal. Koodi genereerimise abimeest järgmine kord käivitades pead valima kõik seadistused uuesti (päisefailide kataloog, ülekirjutamise poliitika jne). Koodi genereerimise vaikeväärtusi saab sättida menüü käsu andmise järel avaneva seadistustedialoogi kaardil Koodi genereerimine.
Kui oled seadistustest kõik parameetrid paika pannud ja soovid genereerida koodi ilma abimeest kasutamata, siis vali menüüst käsk . See käsk genereerib koodi kõigile mudelis olevatele klassidele, kasutades aktiivseid seadistusi (sealhulgas väljundkataloogi ja ülekirjutamise reegleid, nii et tasub olla ettevaatlik).