UML-modellering voor C++ met UModel
C++ is een van de krachtigste en meest efficiënte programmeertalen die beschikbaar zijn. Het is de standaardkeuze voor high-performance computing, serverapplicaties en complexe architecturen die de meest geavanceerde programmeerconstructies vereisen. De Unified Modeling Language™ (UML®) is de standaard voor het ontwerpen, visualiseren en documenteren van modellen van softwaresystemen die zijn geïmplementeerd in C++ en andere programmeertalen.
Altova UModel concurreert met zelfs de meest geavanceerd UML-modellering Tools met uitgebreide ondersteuning voor codeontwikkeling in UML-modellering voor C++. UModel omvat: het genereren van C-code vanuit UML-diagrammen, het omzetten van bestaande C-code naar UML-modellen (reverse engineering), en een bidirectionele werkwijze om wijzigingen door te voeren in zowel de C++-code als de UML-modellen.
Modeltransformatie stelt ontwikkelaars zelfs in staat om een bestaand UML-model, dat oorspronkelijk bedoeld was voor Java, C# of Visual Basic, aan te passen om ook C++ te ondersteunen.

Ontwikkelaars kunnen op verschillende manieren beginnen met UML voor C++ in UModel:
- Maak een nieuw UModel-project aan en kies C++ als de doelprogrammeertaal
- Importeer code van een bestaand C++-project om een nieuw UML-model te creëren
- Converteer bestaande UML-diagrammen naar C++
- Open een voorbeeldproject voor C++ dat bij UModel is meegeleverd
UModel bevat een voorbeeldproject voor online bankieren, geïmplementeerd voor Java of C#, als een model van een bedrijfsproces, en zelfs een versie in SysML. We hebben de C#-versie aangepast om te werken met C++ en het resultaat opgeslagen als een nieuw project.
Het bankproject omvat een hiërarchie van klassen voor verschillende soorten bankrekeningen, zoals te zien is in dit klassendiagram van het getransformeerde project:

Een ontwikkelaar kan de taak krijgen om de bankapplicatie uit te breiden zodat deze ook een beleggingsrekening kan ondersteunen. We kunnen de nieuwe klasse eenvoudig direct aan het bestaande diagram toevoegen, zoals hieronder te zien is. (Sommige bestaande klassen zijn samengevouwen om ruimte te besparen.)

In de bovenstaande klassendiagrammen geven de UModel-iconen grafisch weer welke toegangsrechten eigenschappen en operaties hebben. Deze kunnen beschermd, publiek of privé zijn. Indien gewenst, kunt u ook de traditionele UML-symbolen gebruiken: #, +, enz.

De enige taak die we nog moeten uitvoeren is het toewijzen van een bestandsnaam aan de nieuwe klasse "BrokerageAccount" in het eigenschappenvenster:
De codegeneratie wordt gestart vanuit het hoofdmenu van het project, waarna een dialoogvenster opent waarin enkele voorkeuren kunnen worden ingesteld.

UModel kan C-code genereren op basis van UML-diagrammen, compatibel met de versies C 98, C++ 11 of C++ 14, en kan een project aanmaken voor de versies 6.0 tot en met Visual Studio 2017. Het "Berichten"-venster geeft aan of de code succesvol is gegenereerd. Hieronder een fragment van de C++-broncode voor onze nieuwe klasse:

De helpbestanden van UModel bevatten gedetailleerde instructies voor het opzetten van uw eigen UML C++ project. Of, als u direct aan de slag wilt met een complexer voorbeeld, is er ook een UML-model voor een praktische toepassing, namelijk een regelsysteem voor verwarming/airconditioning, geïmplementeerd in C++, beschikbaar.

UModel is een betaalbare UML-tool die een uitgebreide visuele interface combineert met geavanceerde functionaliteit, waaronder database- en XML-modellering, uitwisseling van modellen via XMI, ondersteuning voor procesmodellering, genereren van documentatie, samenwerkingstools en meer. Het biedt ontwikkelteams een krachtig hulpmiddel om de uitdagingen van moderne projecten aan te gaan.
Download een gratis proefversie om uw eigen UML-project voor C++ op te starten!