---
title: Modellazione UML per C++ con UModel
date: 2019-08-21
categories:
  - software
  - tools
tags:
  - c
  - software-modeling
  - uml
  - uml-tool
  - umodel
description: Altova UModel compete con gli strumenti di modellazione UML più avanzati, offrendo un supporto completo per l'ingegneria del codice, consentendo di generare codice C++ direttamente dai diagrammi UML.
---
Status: #blog

Tags:  #c #software-modeling #uml #uml-tool #umodel

Categories: [uml](/blog/it/category/uml.md) | [development](/blog/it/category/development.md)
# 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](https://www.altova.com/it/umodel) 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++.

[![](/blog/images/BLOG_State_machine02.png)](BLOG_State_machine02.png)

<!--more-->

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](https://www.altova.com/it/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:

[![Modellazione UML per il diagramma di classe originale in C++](/blog/images/UML-class-diagram.png)](UML-class-diagram.png)

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.)

[![Modellazione UML per un diagramma di classi C++ rivisto all'interno di un progetto UModel](/blog/images/revised-UML-class-diagram.png)](revised-UML-class-diagram.png)

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.

[![Diagramma di classe UML in stile tradizionale, utilizzato in un progetto per la modellazione UML in C++](/blog/images/traditional-style-UML-class.png)](traditional-style-UML-class.png)

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.

[![Opzioni di generazione del codice UModel nella modellazione UML per progetti C++](/blog/images/generate-code.png)](generate-code.png)

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:

[![UModel genera codice sorgente per la modellazione UML in C++](/blog/images/code-file.png)](code-file.png)

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++.

[![Diagramma a stati UModel in UML, esempio di progetto per C++](/blog/images/UModel-aircondition.png)](UModel-aircondition.png)

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](https://www.altova.com/it/umodel/download) per iniziare subito il tuo progetto UML per C++!
