---
title: Modelagem UML para C++ com o UModel
date: 2019-08-21
categories:
  - software
  - tools
tags:
  - c
  - software-modeling
  - uml
  - uml-tool
  - umodel
description: A Altova UModel compete com as ferramentas de modelação UML mais avançadas, oferecendo suporte completo para a engenharia de código em C++ a partir de diagramas UML.
---
Status: #blog

Tags:  #c #software-modeling #uml #uml-tool #umodel

Categories: [uml](/blog/pt/category/uml.md) | [development](/blog/pt/category/development.md)
# Modelagem UML para C++ com o UModel

C++ é uma das linguagens de programação mais poderosas e eficientes disponíveis, sendo a escolha preferencial para computação de alto desempenho, aplicações de servidor e arquiteturas complexas que exigem as funcionalidades mais avançadas. A Linguagem de Modelagem Unificada™ (UML®) é o padrão para projetar, visualizar e documentar modelos de sistemas de software implementados em C++ e outras linguagens de código fonte.

A Altova UModel compete com as soluções mais avançadas do mercado [modelagem UML avançada](https://www.altova.com/pt/umodel) Ferramentas com suporte completo para engenharia de código em modelagem UML para C++. O UModel inclui: geração de código C++ a partir de diagramas UML, engenharia reversa de código C++ para gerar modelos UML, e engenharia bidirecional para atualizar versões tanto do código C++ como dos modelos UML.

A transformação de modelos permite ainda que os programadores convertam um modelo UML existente, originalmente concebido para Java, C# ou Visual Basic, para que suporte a linguagem C++.

[![](/blog/images/BLOG_State_machine02.png)](BLOG_State_machine02.png)

<!--more-->

Os programadores podem começar a usar o UML para C++ no UModel de várias maneiras:

- Crie um novo projeto UModel e selecione C++ como a linguagem de programação de destino
- Importar código de um projeto C++ existente para criar um novo modelo UML
- Converter diagramas UML existentes para código C++
- Abra um projeto de exemplo em C++ que está incluído com o UModel

O [UModel](https://www.altova.com/pt/umodel) inclui um projeto de exemplo de banca online, implementado em Java ou C#, que serve como um modelo de processo de negócio, e até mesmo uma versão em SysML. Transformámos a versão em C# para que fosse compatível com C++ e guardámos o resultado como um novo projeto.

O projeto do banco inclui uma hierarquia de classes para diferentes tipos de contas bancárias, como se pode ver neste diagrama de classes do projeto transformado:

[![Modelagem UML para o diagrama de classes original em C++](/blog/images/UML-class-diagram.png)](UML-class-diagram.png)

Um desenvolvedor pode ser designado para expandir a aplicação bancária de forma a suportar uma conta de corretagem. Podemos adicionar facilmente a nova classe diretamente ao diagrama existente, como mostrado abaixo. (Algumas classes existentes estão recolhidas apenas para poupar espaço.)

[![Modelagem UML para um diagrama de classes revisado em C++ num projeto UModel](/blog/images/revised-UML-class-diagram.png)](revised-UML-class-diagram.png)

Nos diagramas de classes acima, os ícones do UModel indicam graficamente as características de visibilidade das propriedades e operações, que podem ser protegidas, públicas ou privadas. Se preferir, também pode utilizar os caracteres tradicionais do UML: #, +, etc.

[![Diagrama de classes UML no estilo tradicional, utilizado num projeto de modelagem UML para C++](/blog/images/traditional-style-UML-class.png)](traditional-style-UML-class.png)

A nossa única tarefa restante é atribuir um nome de ficheiro de código na janela de propriedades para a nova classe "BrokerageAccount":

A geração de código é iniciada a partir do menu principal do projeto, o que abre uma janela de diálogo para definir algumas preferências.

[![Opções de geração de código UModel em modelagem UML para projetos C++](/blog/images/generate-code.png)](generate-code.png)

O UModel pode gerar código C++ a partir de diagramas UML, compatível com as versões C++ 98, C++ 11 ou C++ 14, e pode criar um projeto para as versões 6.0 até a versão Visual Studio 2017. A janela de mensagens indicará a geração bem-sucedida do código. Aqui está uma parte do código-fonte C++ para a nossa nova classe:

[![O UModel gera código-fonte para modelagem UML em C++](/blog/images/code-file.png)](code-file.png)

O manual de ajuda do UModel inclui instruções detalhadas para configurar o seu próprio projeto UML em C++. Ou, se preferir começar diretamente com um exemplo mais complexo, também está incluído um modelo UML para uma máquina de estados de aquecimento/ar condicionado do mundo real, implementada em C++.

[![Diagrama de máquina de estados UModel em modelagem UML para um projeto de exemplo em C++](/blog/images/UModel-aircondition.png)](UModel-aircondition.png)

O UModel é uma ferramenta UML acessível que combina uma interface visual rica com funcionalidades avançadas, incluindo modelagem de bases de dados e XML, intercâmbio de modelos XMI, suporte para modelagem de processos de negócio, geração de documentação, suporte para trabalho em equipa, e muito mais, proporcionando às equipas de desenvolvimento uma ferramenta poderosa para enfrentar os desafios dos projetos atuais.

[Descarregue uma versão de avaliação gratuita](https://www.altova.com/pt/umodel/download) para dar início ao seu próprio projeto em UML para C++!
