Kapitel 4. Kodeimport og kodegenerering

Umbrello UML Modeller er et UML-modelleringsværktøj, og som sådant er dets hovedformål at hjælpe dig med analyse og konstruktion af dine systemer. For at gøre overgangen fra konstruktion til implementering nemmere, tillader Umbrello UML Modeller dog at generere kildekode i forskellige programmeringssprog for at komme i gang. Hvis du desuden vil begynde på at bruge UML i et projekt som allerede er startet, kan Umbrello UML Modeller hjælpe dig med at oprette en model af systemet fra kildekoden ved at analysere den og importere klasserne som findes i den.

Kodegenerering

Umbrello UML Modeller kan generere kildekode for diverse programmeringssprog, baseret på din UML-model for at hjælpe dig med at komme i gang med implementeringen af projektet. Koden som laves består af klassedeklarationer, med metoder og attributter, så du kan udfylde tomrummet ved at sørge for funktionerne i klassernes operationer.

Umbrello UML Modeller 1.2 levereres med kodegenereringsunderstøttelse for ActionScript, Ada, C++, CORBA IDL, Java™, Javascript, PHP, Perl, Python, SQL and XML Schema.

Generér kode

For at generere kode med Umbrello UML Modeller, skal du først oprette eller indlæse en model som indeholder mindst en klasse. Når du er klar til at begynde at skrive lidt kode, vælges punktet Kodegenereringsguide i menuen Kode, for at starte guiden som leder dig gennem kodegenereringsprocessen.

Det første skridt er at vælge klasser, som du vil oprette kildekode for. Normalt vælges alle klasser i modellen, og du kan fjerne dem du ikke vil generere kode for, ved at flytte dem til listen på venstre side.

Næste skridt i guiden lader dig ændre parametre som kodegeneratoren bruger når den skriver koden. Følgende muligheder er til stede:

Valgmulighed for kodegenereringen i Umbrello UML Modeller

Valgmulighed for kodegenereringen i Umbrello UML Modeller

Kodegenereringsmulighed

Kodeinformationsniveau

Punktet Skriv dokumenteringskommentarer selvom de er tomme instruerer kodegeneratoren til at udskrive kommentarer i stilen /** blaha */, også selv om kommentarblokkene er tomme. Hvis du tilføjede dokumentation i klasser, metoder eller attributter til modellen, udskriver kodegeneratoren kommentarerne som Doxygen-dokumentation, uafhængig af hvad du angiver her, men hvis du vælger dette, udskriver Umbrello UML Modeller kommentarblokkene for alle klasser, metoder og attributter også selvom der ikke er nogen dokumentation i modellen, i hvilket tilfælde du bør dokumentere klasserne senere direkte i kildekoden.

Skriv kommentarer for afsnit selvom afsnittene er tomme: får Umbrello UML Modeller til at skrive kommentarer til kildekoden for at afgrænse de forskellige afsnit i en klasse. For eksempel Public methods eller Attributes før de tilsvarende afsnit. Hvis du vælger dette, så skriver Umbrello UML Modeller kommentarer for alle afsnit i klassen, også selvom afsnittet er tomt. Det ville for eksempel skrive en kommentar som lyder Protected methods, selvom der ikke er nogen sådanne i klassen.

Mapper

Skriv alle filer som laves til mappe: Her skal du vælge mappen hvor du ønsker at Umbrello UML Modeller skal lægge kildekoden som laves.

Punktet Indsætte hovedfiler fra mappe, lader dig indsætte et hovede i begyndelsen af hver fil som genereres. Hovedfiler kan indehold ophavsret- eller licensinformation, og kan indeholde variabler som evalueres når genereringen sker. Du kan tage et kig på skabeloner for hovedfiler som levereres med Umbrello UML Modeller, for at se hvordan man bruger variablerne til at erstatte dit navn eller dagens dato når genereringen sker.

Overskrivningspolitik

Dette fortæller Umbrello UML Modeller hvad der skal ske hvis filen som skal laves allerede findes i destinationsmappen. Umbrello UML Modeller 1.1 kan ikke ændre eksisterende kildekodefiler, så du skal vælge mellem at overskriver den eksisterende fil, springe over at oprette netop denne fil, eller lade Umbrello UML Modeller vælge et andet filnavn. Hvis du vælger at bruge et andet filnavn, tilføjer Umbrello UML Modeller en endelse til filnavnet.

Sprog

Umbrello UML Modeller genererer normalt kode for sproget som du har valgt som aktivt sprog, men du har mulighed for at ændre dette til et andet sprog med kodegenereringsguiden.

Generering med kodegenereringsguiden

Det tredje og sidste skridt i guiden viser status for kodegenereringsprocessen. Du behøver kun klikke på knappen Generér for at få klasserne udskrevet til dig.

Bemærk at de tilvalg som du vælger med kodegenereringsguiden kun gælder for denne generering. Næste gang du kører guiden, skal du vælge alle tilvalg igen (din hovedmappe, overskrivningspolitik, og så videre). Du kan indstille standardværdier som bruges af Umbrello UML Modeller i afsnittet Kodegenerering i Umbrello UML Modellers indstillinger, tilgængelige via IndstillingerIndstil Umbrello UML Modeller....

Hvis du har indstillet kodegenereringstilvalg til de rigtige indstillinger, og vil lave lidt kode direkte uden at gå via guiden, kan du vælge Generér al kode i menuen Kode. Dette genererer kode for alle klasser i modellen med nuværende indstillinger (inklusive uddatamappe og overskrivningspolitik, så brug dette med forsigtighed).