Modellazione UML per C++ con UModel

C++ è uno dei linguaggi di programmazione più potenti ed efficienti disponibili, ed è la scelta preferita per l'elaborazione ad alte prestazioni, le applicazioni server e le architetture complesse che richiedono le funzionalità più avanzate. Il Unified Modeling Language™ (UML®) è lo standard per progettare, visualizzare e documentare i modelli di sistemi software implementati in C++ e in altri linguaggi di programmazione.

Altova UModel compete con anche i migliori modellazione UML avanzata strumenti che offrono un supporto completo per l'ingegneria del codice all'interno della modellazione UML per C++. UModel include: la generazione di codice C++ a partire dai diagrammi UML, l'analisi inversa del codice C++ per generare modelli UML, e un processo di "round-trip engineering" che consente di aggiornare le revisioni sia del codice C++ che dei modelli UML.

La trasformazione dei modelli consente inoltre agli sviluppatori di convertire un modello UML esistente, progettato per Java, C# o Visual Basic, per supportare il linguaggio C++.

Gli sviluppatori possono iniziare a utilizzare UML per C++ in UModel in diversi modi:

  • Creare un nuovo progetto UModel e selezionare C++ come linguaggio di programmazione di destinazione
  • Importare il codice da un progetto C++ esistente per creare un nuovo modello UML
  • Convertire un diagramma UML esistente in codice C++
  • Aprire un progetto di esempio C++ incluso con UModel

UModel include un progetto di home banking di esempio, implementato in Java o C#, che funge da modello di processo aziendale, e persino una versione SysML. Abbiamo convertito la versione C# per renderla compatibile con C++ e abbiamo salvato il risultato come un nuovo progetto.

Il progetto bancario include una gerarchia di classi per i diversi tipi di conto bancario, come si può vedere nel seguente diagramma di classi del progetto trasformato:

Un sviluppatore potrebbe essere incaricato di estendere l'applicazione bancaria per supportare un conto di intermediazione finanziaria. Possiamo facilmente aggiungere la nuova classe direttamente al diagramma esistente, come mostrato di seguito. (Alcune classi esistenti sono state ripiegate semplicemente per risparmiare spazio.)

Nei diagrammi di classe mostrati sopra, le icone di UModel indicano graficamente le caratteristiche di visibilità delle proprietà e delle operazioni, che possono essere protette, pubbliche o private. Se preferite, potete anche utilizzare i simboli tradizionali di UML: #, +, ecc.

L'unica operazione che ci rimane da svolgere è assegnare un nome al file del codice nella finestra delle proprietà per la nuova classe "BrokerageAccount":

La generazione del codice viene avviata dal menu principale del progetto, che apre una finestra di dialogo per impostare alcune preferenze.

UModel può generare codice C++ a partire da diagrammi UML, compatibile con le versioni C++ 98, C++ 11 o C++ 14, e può creare un progetto per le versioni di Visual Studio dalla 6.0 fino alla 2017. La finestra "Messaggi" indicherà il completamento della generazione del codice. Ecco una parte del codice sorgente C++ per la nostra nuova classe:

Il file di aiuto di UModel include istruzioni dettagliate per configurare il proprio progetto UML in C++. In alternativa, se si desidera iniziare subito con un esempio più complesso, è incluso anche un modello UML per una macchina a stati di un sistema di riscaldamento/condizionamento reale, implementato in C++.

UModel è uno strumento UML economico che combina un'interfaccia visiva avanzata con funzionalità di alto livello, tra cui la modellazione di database e XML, lo scambio di modelli XMI, il supporto per la modellazione dei processi aziendali, la generazione di documentazione, il supporto al lavoro di squadra e molto altro, offrendo ai team di sviluppo uno strumento potente per affrontare le sfide dei progetti odierni.

Scarica una versione di prova gratuita per iniziare subito il tuo progetto UML per C++!