Kapitel 4. Kodimport och kodgenerering

Umbrello UML Modeller är ett UML-modelleringsverktyg, och som sådant är dess huvudsakliga syfte att hjälpa dig med analys och konstruktion av system. För att åstadkomma övergången från konstruktion till implementering, tillåter Umbrello UML Modeller dock att generera källkod i olika programspråk för att komma igång. Om du dessutom vill börja använda UML i ett projekt som redan har startat, kan Umbrello UML Modeller hjälpa till att skapa en modell av systemet från källkoden genom att analysera den och importera klasserna som hittas i den.

Kodgenerering

Umbrello UML Modeller kan generera källkod för diverse programspråk, baserad på din UML-modell för att hjälpa dig komma igång med implementeringen av projektet. Koden som skapas består av klassdeklarationer, med metoder och attribut, så att du kan fylla i tomrummen genom att tillhandahålla funktionerna i klassernas operationer.

Umbrello UML Modeller 2 levereras med kodgenereringsstöd för ActionScript, Ada, C++, C#, D, IDL, Java™, Javascript, MySQL, Pascal, Perl, PHP, PHP5, PostgreSQL, Python, Ruby, Tcl, Vala och XMLSchema.

Generera kod

För att generera kod med Umbrello UML Modeller, måste du först skapa eller ladda en modell som innehåller minst en klass. När du är klar att börja skriva lite kod, välj då alternativet Kodgenereringsguide i menyn Kod, för att starta guiden som leder dig igenom kodgenereringsprocessen.

Det första steget är att välja klasser, som du vill skapa källkod för. Normalt väljs alla klasser i modellen, och du kan ta bort de som du inte vill generera kod för, genom att flytta dem till listan på vänster sida.

Nästa steg i guiden låter dig ändra parametrar som kodgeneratorn använder när den skriver ut koden. Följande alternativ är tillgängliga:

Alternativ för kodgenereringen i Umbrello UML Modeller

Alternativ för kodgenereringen i Umbrello UML Modeller

Kodgenereringsalternativ

Kommentarnivå

Alternativet Skriv dokumenteringskommentarer även om tomma instruerar kodgeneratorn att skriva ut kommentarar med stilen /** blaha */, även om kommentarblocken är tomma. Om du lagt till dokumentation i klasser, metoder eller attribut i modellen, skriver kodgeneratorn ut kommentarerna som Doxygen-dokumentation, oberoende av vad du anger här, men om du väljer det här alternativet, skriver Umbrello UML Modeller ut kommentarblock för alla klasser, metoder och attribut även om det inte finns någon dokumentation i modellen, då detta är fallet bör du dokumentera klasserna senare direkt i källkoden.

Skriv kommentarer för sektioner även om sektionen är tom: Umbrello UML Modeller skriver kommentarer i källkoden för att avdela de olika sektionerna i en klass. Till exempel Public methods eller Attributes innan motsvarande sektioner. Om du väljer det här alternativet, så skriver Umbrello UML Modeller kommentarer för alla sektioner i klassen, även om sektionen är tom. Det skulle till exempel skriva en kommentar som lyder Protected methods, även om det inte finns några sådana i klassen.

Kataloger

Skriv alla filer som skapas till katalog: Här ska du välja katalogen där du vill att Umbrello UML Modeller ska lägga källkoden som skapas.

Alternativet Infoga huvudfiler från katalog, låter dig infoga ett huvud i början av varje fil som genereras. Huvudfiler kan innehålla upphovsrätts- eller licensinformation, och kan innehålla variabler som utvärderas när genereringen sker. Du kan ta en titt på mallar för huvudfiler som levereras med Umbrello UML Modeller, för att se hur man använder variablerna för att ersätta ditt namn eller dagens datum när genereringen sker.

Överskrivningspolicy

Det här alternativet talar om för Umbrello UML Modeller vad som ska ske om filen som ska skapas redan finns i destinationskatalogen. Umbrello UML Modeller 1.1 kan inte ändra befintliga källkodsfiler, så du måste välja mellan att skriva över den befintliga filen, hoppa över att skapa just den filen, eller låta Umbrello UML Modeller välja ett annat filnamn. Om du väljer alternativet att använda ett annat filnamn, lägger Umbrello UML Modeller till ett suffix till filnamnet.

Språk

Umbrello UML Modeller genererar normalt kod för språket som du har valt som aktivt språk, men du har möjlighet att ändra detta till ett annat språk med kodgenereringsguiden.

Generering med kodgenereringsguiden

Det tredje och sista steget i guiden visar status för kodgenereringsprocessen. Du behöver bara klicka på knappen Generera för att få klasserna utskrivna åt dig.

Observera att de alternativ som du väljer med kodgenereringsguiden bara gäller för aktuell generering. Nästa gång du kör guiden, måste du välja alla alternativ igen (din huvudkatalog, överskrivningspolicy, och så vidare). Du kan ställa in standardvärden som används av Umbrello UML Modeller i avdelningen Kodgenerering i Umbrello UML Modellers inställningar, tillgängliga via InställningarAnpassa Umbrello UML Modeller....

Om du har ställt in kodgenereringsalternativ till riktiga inställningar, och vill skapa lite kod direkt utan att gå via guiden, kan du välja Generera all kod i menyn Kod. Det genererar kod för alla klasser i modellen med nuvarande inställningar (inklusive utdatakatalog och överskrivningspolicy, så använd det med försiktighet).