Hoofdstuk 4. Code-import en code-generatie

Umbrello UML Modeller is een UML modelling gereedschap en als zodanig is zijn voornaamste doel u te helpen bij de analyse en het ontwerp van uw systemen. Echter, om de overgang van uw ontwerp naar uw implementatie te maken, kunt u met Umbrello UML Modeller broncode genereren in verschillende programmeertalen om u van start te laten gaan. Ook, als u UML wilt gaan toepassen in een reeds gestart C++ project, kan Umbrello UML Modeller u helpen bij het maken van een model van uw systeem op basis van uw broncode door deze te analyseren en de daarin gevonden klassen te importeren.

Code-generatie

Umbrello UML Modeller kan broncode genereren voor talrijke programmeertalen op basis van uw UML model om u te helpen van start te gaan met de implementatie van uw project. De gegenereerde code bestaat uit klasse declaraties, met hun methoden en attributen, dus u kunt de blanke ruimte invullen door de functionaliteit van uw klassen-operaties te verschaffen.

Umbrello UML Modeller 2 komt met code-generatie ondersteuning voor ActionScript, Ada, C++, C#, D, IDL, Java™, JavaScript, MySQL, Pascal, Perl, PHP, PHP5, PostgreSQL, Python, Ruby, Tcl, Vala en XMLSchema.

Code genereren

Om code te kunnen genereren met Umbrello UML Modeller, dient u eerst een model te maken, of er een te laden, met minimaal één klasse erin. Als u gereed bent om te beginnen met het schrijven van enigerlei code, dan selecteert u de Code Generatie Wizard menukeuze in het Code menu om een assistent te starten die u door het code-generatie proces zal loodsen.

De eerste stap is het selecteren van de klassen waarvoor u broncode wilt genereren. Standaard worden alle klassen van uw model geselecteerd, selected, en u kunt diegene, waarvoor u geen code wilt genereren, verwijderen, door ze naar lijst aan de linkerkant te verplaatsen.

In de volgende stap van de assistent kunt u de parameters wijzigen welke de codegenerator gebruikt bij het schrijven van uw code. De volgende keuzemogelijkheden zijn beschikbaar:

Keuzemogelijkheden voor de codegeneratie in Umbrello UML Modeller

Keuzemogelijkheden voor de codegeneratie in Umbrello UML Modeller

Generatie keuzemogelijkheden

Uitvoerigheid commentaar

De keuzemogelijkheid Schrijf documentatie commentaar zelfs indien leeg instrueert de codegenerator om commentaar van de vorm /** blah */ te schrijven, zelfs als de commentaarblokken leeg zijn. Als u documentatie heeft toegevoegd aan uw klassen, methoden en attibuten in uw model, dan zal de codegenerator deze commentaren als Doxygen documentatie wegschrijven, ongeacht wat u daar formuleerde, maar als u deze keuzemogelijkheid selecteert dan zal Umbrello UML Modeller commentaarblokken schrijven voor alle klasses, methoden en attributen, zelfs wanneer er geen documentatie in het model is, in welk geval u uw klassen later dient te documenteren, rechtstreeks in de broncode.

Schrijf commentaar voor secties zelfs indien sectie leeg is zorgt ervoor dat Umbrello UML Modeller commentaar schrijf in de broncode om de verschillende secties van en klasse af te bakenen. Bijvoorbeeld public methoden of Attributen voor de corresponderende sections. Als u deze keuzemogelijkheid selecteert, dan zal Umbrello UML Modeller commentaar wegschrijven voor alle klasse-secties ook als de sectie leeg is. Bijvoorbeeld, het zou commentaar met de tekst protected methoden wegschrijven ook als er geen protected methoden in uw klasse zijn.

Mappen

Schrijf alle gegenereerde files naar map. Hier dient u de map te selecteren waarin Umbrello UML Modeller de gegenereerde bronnen van u moet plaatsen.

De Voeg heading-files toe uit map keuzemogelijkheid geeft u de mogelijkheid om een heading aan het begin van iedere gegenereerde file toe te voegen. Headingfiles kunnen auteursrecht of licentie informatie bevatten maar ook variabelen die op het moment van genereren geëvalueerd worden. U kunt eens kijken naar het sjabloon headingfiles zoals die met Umbrello UML Modeller meegeleverd worden om te zien hoe dit soort variabelen gebruikt moeten worden, om uw naam en/of de huidige datum te vervangen ten tijde van het genereren.

Overschrijvingsprotocol

Deze keuzemogelijkheid vertelt tegen Umbrello UML Modeller wat het moet doen als het bestand dat het wil maken, reeds in de bestemmingsmap voorkomt. Umbrello UML Modeller kan bestaande bestanden niet wijzigen, derhalve moet u een keuze maken uit: of het bestaande bestand overschijven, of het genereren van dat ene aparte bestand overslaan, of Umbrello UML Modeller een andere bestandsnaam laten kiezen.Als u kiest voor de mogelijkheid van een andere bestandsnaam, dan zal Umbrello UML Modeller de bestandsnaam van een achtervoegsel voorzien.

Taal

Umbrello UML Modeller zal standaard code genereren in de taal die u als actieve taal heeft geselecteerd, echter met de codegenererings-assistent heeft u de keuzemogelijkheid om dit naar een andere taal te veranderen.

Genererings-assistent genereren

De derde en laatste stap van de assistent toont de status van het codegenererings proces. U hoeft alleen nog maar op de knop genereren te klikken om de klassen voor u te laten wegschrijven.

Merk op dat de keuzemogelijkheden die u selecteert in de codegenererings-assistent alleen gelden voor de huidige generering. Wanneer u de assistent een volgende keer gebruikt, dan moet u alle keuzemogelijkheden opnieuw selecteren (de map voor uw headers, overschrijvings protocol, enz.). U kunt de standaarden die Umbrello UML Modeller aamhoudt, instellen in de sectie code genereren van de Umbrello UML Modeller settings, beschikbaar in InstellingenUmbrello UML Modeller instellen...

Als u uw codegenererings keuzemogelijkheden op de juiste waarden heeft ingesteld, en u zomaar enige code wilt genereren zonder door de assistent heen te moeten gaan, dan selecteert u het Genereer alle code in het code-menu. Dit zal code genereren voor alle klassen in uw model met gebruikmaking van de huidige instellingen (inclusief uitvoermap en overschrijvings-protocol, dus pas op met het gebruik ervan).